aboutsummaryrefslogtreecommitdiffstats
path: root/os/common/ext/TivaWare/inc/hw_shamd5.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/common/ext/TivaWare/inc/hw_shamd5.h')
-rw-r--r--os/common/ext/TivaWare/inc/hw_shamd5.h548
1 files changed, 548 insertions, 0 deletions
diff --git a/os/common/ext/TivaWare/inc/hw_shamd5.h b/os/common/ext/TivaWare/inc/hw_shamd5.h
new file mode 100644
index 0000000..1f697fe
--- /dev/null
+++ b/os/common/ext/TivaWare/inc/hw_shamd5.h
@@ -0,0 +1,548 @@
+//*****************************************************************************
+//
+// hw_shamd5.h - Macros used when accessing the SHA/MD5 hardware.
+//
+// Copyright (c) 2012-2016 Texas Instruments Incorporated. All rights reserved.
+// Software License Agreement
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the
+// distribution.
+//
+// Neither the name of Texas Instruments Incorporated nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// This is part of revision 2.1.3.156 of the Tiva Firmware Development Package.
+//
+//*****************************************************************************
+
+#ifndef __HW_SHAMD5_H__
+#define __HW_SHAMD5_H__
+
+//*****************************************************************************
+//
+// The following are defines for the SHA/MD5 register offsets.
+//
+//*****************************************************************************
+#define SHAMD5_O_ODIGEST_A 0x00000000 // SHA Outer Digest A
+#define SHAMD5_O_ODIGEST_B 0x00000004 // SHA Outer Digest B
+#define SHAMD5_O_ODIGEST_C 0x00000008 // SHA Outer Digest C
+#define SHAMD5_O_ODIGEST_D 0x0000000C // SHA Outer Digest D
+#define SHAMD5_O_ODIGEST_E 0x00000010 // SHA Outer Digest E
+#define SHAMD5_O_ODIGEST_F 0x00000014 // SHA Outer Digest F
+#define SHAMD5_O_ODIGEST_G 0x00000018 // SHA Outer Digest G
+#define SHAMD5_O_ODIGEST_H 0x0000001C // SHA Outer Digest H
+#define SHAMD5_O_IDIGEST_A 0x00000020 // SHA Inner Digest A
+#define SHAMD5_O_IDIGEST_B 0x00000024 // SHA Inner Digest B
+#define SHAMD5_O_IDIGEST_C 0x00000028 // SHA Inner Digest C
+#define SHAMD5_O_IDIGEST_D 0x0000002C // SHA Inner Digest D
+#define SHAMD5_O_IDIGEST_E 0x00000030 // SHA Inner Digest E
+#define SHAMD5_O_IDIGEST_F 0x00000034 // SHA Inner Digest F
+#define SHAMD5_O_IDIGEST_G 0x00000038 // SHA Inner Digest G
+#define SHAMD5_O_IDIGEST_H 0x0000003C // SHA Inner Digest H
+#define SHAMD5_O_DIGEST_COUNT 0x00000040 // SHA Digest Count
+#define SHAMD5_O_MODE 0x00000044 // SHA Mode
+#define SHAMD5_O_LENGTH 0x00000048 // SHA Length
+#define SHAMD5_O_DATA_0_IN 0x00000080 // SHA Data 0 Input
+#define SHAMD5_O_DATA_1_IN 0x00000084 // SHA Data 1 Input
+#define SHAMD5_O_DATA_2_IN 0x00000088 // SHA Data 2 Input
+#define SHAMD5_O_DATA_3_IN 0x0000008C // SHA Data 3 Input
+#define SHAMD5_O_DATA_4_IN 0x00000090 // SHA Data 4 Input
+#define SHAMD5_O_DATA_5_IN 0x00000094 // SHA Data 5 Input
+#define SHAMD5_O_DATA_6_IN 0x00000098 // SHA Data 6 Input
+#define SHAMD5_O_DATA_7_IN 0x0000009C // SHA Data 7 Input
+#define SHAMD5_O_DATA_8_IN 0x000000A0 // SHA Data 8 Input
+#define SHAMD5_O_DATA_9_IN 0x000000A4 // SHA Data 9 Input
+#define SHAMD5_O_DATA_10_IN 0x000000A8 // SHA Data 10 Input
+#define SHAMD5_O_DATA_11_IN 0x000000AC // SHA Data 11 Input
+#define SHAMD5_O_DATA_12_IN 0x000000B0 // SHA Data 12 Input
+#define SHAMD5_O_DATA_13_IN 0x000000B4 // SHA Data 13 Input
+#define SHAMD5_O_DATA_14_IN 0x000000B8 // SHA Data 14 Input
+#define SHAMD5_O_DATA_15_IN 0x000000BC // SHA Data 15 Input
+#define SHAMD5_O_REVISION 0x00000100 // SHA Revision
+#define SHAMD5_O_SYSCONFIG 0x00000110 // SHA System Configuration
+#define SHAMD5_O_SYSSTATUS 0x00000114 // SHA System Status
+#define SHAMD5_O_IRQSTATUS 0x00000118 // SHA Interrupt Status
+#define SHAMD5_O_IRQENABLE 0x0000011C // SHA Interrupt Enable
+#define SHAMD5_O_DMAIM 0xFFFFC010 // SHA DMA Interrupt Mask
+#define SHAMD5_O_DMARIS 0xFFFFC014 // SHA DMA Raw Interrupt Status
+#define SHAMD5_O_DMAMIS 0xFFFFC018 // SHA DMA Masked Interrupt Status
+#define SHAMD5_O_DMAIC 0xFFFFC01C // SHA DMA Interrupt Clear
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_A
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_A_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_A_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_B
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_B_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_B_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_C
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_C_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_C_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_D
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_D_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_D_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_E
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_E_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_E_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_F
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_F_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_F_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_G
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_G_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_G_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_ODIGEST_H
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_ODIGEST_H_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_ODIGEST_H_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_A
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_A_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_A_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_B
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_B_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_B_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_C
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_C_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_C_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_D
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_D_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_D_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_E
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_E_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_E_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_F
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_F_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_F_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_G
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_G_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_G_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IDIGEST_H
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IDIGEST_H_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_IDIGEST_H_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DIGEST_COUNT
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DIGEST_COUNT_M 0xFFFFFFFF // Digest Count
+#define SHAMD5_DIGEST_COUNT_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_MODE register.
+//
+//*****************************************************************************
+#define SHAMD5_MODE_HMAC_OUTER_HASH \
+ 0x00000080 // HMAC Outer Hash Processing
+ // Enable
+#define SHAMD5_MODE_HMAC_KEY_PROC \
+ 0x00000020 // HMAC Key Processing Enable
+#define SHAMD5_MODE_CLOSE_HASH 0x00000010 // Performs the padding, the
+ // Hash/HMAC will be 'closed' at
+ // the end of the block, as per
+ // MD5/SHA-1/SHA-2 specification
+#define SHAMD5_MODE_ALGO_CONSTANT \
+ 0x00000008 // The initial digest register will
+ // be overwritten with the
+ // algorithm constants for the
+ // selected algorithm when hashing
+ // and the initial digest count
+ // register will be reset to 0
+#define SHAMD5_MODE_ALGO_M 0x00000007 // Hash Algorithm
+#define SHAMD5_MODE_ALGO_MD5 0x00000000 // MD5
+#define SHAMD5_MODE_ALGO_SHA1 0x00000002 // SHA-1
+#define SHAMD5_MODE_ALGO_SHA224 0x00000004 // SHA-224
+#define SHAMD5_MODE_ALGO_SHA256 0x00000006 // SHA-256
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_LENGTH
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_LENGTH_M 0xFFFFFFFF // Block Length/Remaining Byte
+ // Count
+#define SHAMD5_LENGTH_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_0_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_0_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_0_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_1_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_1_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_1_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_2_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_2_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_2_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_3_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_3_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_3_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_4_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_4_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_4_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_5_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_5_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_5_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_6_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_6_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_6_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_7_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_7_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_7_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_8_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_8_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_8_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_9_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_9_IN_DATA_M 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_9_IN_DATA_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_10_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_10_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_10_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_11_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_11_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_11_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_12_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_12_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_12_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_13_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_13_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_13_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_14_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_14_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_14_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DATA_15_IN
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DATA_15_IN_DATA_M \
+ 0xFFFFFFFF // Digest/Key Data
+#define SHAMD5_DATA_15_IN_DATA_S \
+ 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_REVISION
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_REVISION_M 0xFFFFFFFF // Revision Number
+#define SHAMD5_REVISION_S 0
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_SYSCONFIG
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_SYSCONFIG_SADVANCED \
+ 0x00000080 // Advanced Mode Enable
+#define SHAMD5_SYSCONFIG_SIDLE_M \
+ 0x00000030 // Sidle mode
+#define SHAMD5_SYSCONFIG_SIDLE_FORCE \
+ 0x00000000 // Force-idle mode
+#define SHAMD5_SYSCONFIG_DMA_EN 0x00000008 // uDMA Request Enable
+#define SHAMD5_SYSCONFIG_IT_EN 0x00000004 // Interrupt Enable
+#define SHAMD5_SYSCONFIG_SOFTRESET \
+ 0x00000002 // Soft reset
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_SYSSTATUS
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_SYSSTATUS_RESETDONE \
+ 0x00000001 // Reset done status
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IRQSTATUS
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IRQSTATUS_CONTEXT_READY \
+ 0x00000008 // Context Ready Status
+#define SHAMD5_IRQSTATUS_INPUT_READY \
+ 0x00000002 // Input Ready Status
+#define SHAMD5_IRQSTATUS_OUTPUT_READY \
+ 0x00000001 // Output Ready Status
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_IRQENABLE
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_IRQENABLE_CONTEXT_READY \
+ 0x00000008 // Mask for context ready interrupt
+#define SHAMD5_IRQENABLE_INPUT_READY \
+ 0x00000002 // Mask for input ready interrupt
+#define SHAMD5_IRQENABLE_OUTPUT_READY \
+ 0x00000001 // Mask for output ready interrupt
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DMAIM register.
+//
+//*****************************************************************************
+#define SHAMD5_DMAIM_COUT 0x00000004 // Context Out DMA Done Interrupt
+ // Mask
+#define SHAMD5_DMAIM_DIN 0x00000002 // Data In DMA Done Interrupt Mask
+#define SHAMD5_DMAIM_CIN 0x00000001 // Context In DMA Done Interrupt
+ // Mask
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DMARIS
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DMARIS_COUT 0x00000004 // Context Out DMA Done Raw
+ // Interrupt Status
+#define SHAMD5_DMARIS_DIN 0x00000002 // Data In DMA Done Raw Interrupt
+ // Status
+#define SHAMD5_DMARIS_CIN 0x00000001 // Context In DMA Done Raw
+ // Interrupt Status
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DMAMIS
+// register.
+//
+//*****************************************************************************
+#define SHAMD5_DMAMIS_COUT 0x00000004 // Context Out DMA Done Masked
+ // Interrupt Status
+#define SHAMD5_DMAMIS_DIN 0x00000002 // Data In DMA Done Masked
+ // Interrupt Status
+#define SHAMD5_DMAMIS_CIN 0x00000001 // Context In DMA Done Raw
+ // Interrupt Status
+
+//*****************************************************************************
+//
+// The following are defines for the bit fields in the SHAMD5_O_DMAIC register.
+//
+//*****************************************************************************
+#define SHAMD5_DMAIC_COUT 0x00000004 // Context Out DMA Done Masked
+ // Interrupt Status
+#define SHAMD5_DMAIC_DIN 0x00000002 // Data In DMA Done Interrupt Clear
+#define SHAMD5_DMAIC_CIN 0x00000001 // Context In DMA Done Raw
+ // Interrupt Status
+
+#endif // __HW_SHAMD5_H__