0001
0002 #ifndef __ATMEL_TDES_REGS_H__
0003 #define __ATMEL_TDES_REGS_H__
0004
0005 #define TDES_CR 0x00
0006 #define TDES_CR_START (1 << 0)
0007 #define TDES_CR_SWRST (1 << 8)
0008 #define TDES_CR_LOADSEED (1 << 16)
0009
0010 #define TDES_MR 0x04
0011 #define TDES_MR_CYPHER_DEC (0 << 0)
0012 #define TDES_MR_CYPHER_ENC (1 << 0)
0013 #define TDES_MR_TDESMOD_MASK (0x3 << 1)
0014 #define TDES_MR_TDESMOD_DES (0x0 << 1)
0015 #define TDES_MR_TDESMOD_TDES (0x1 << 1)
0016 #define TDES_MR_TDESMOD_XTEA (0x2 << 1)
0017 #define TDES_MR_KEYMOD_3KEY (0 << 4)
0018 #define TDES_MR_KEYMOD_2KEY (1 << 4)
0019 #define TDES_MR_SMOD_MASK (0x3 << 8)
0020 #define TDES_MR_SMOD_MANUAL (0x0 << 8)
0021 #define TDES_MR_SMOD_AUTO (0x1 << 8)
0022 #define TDES_MR_SMOD_PDC (0x2 << 8)
0023 #define TDES_MR_OPMOD_MASK (0x3 << 12)
0024 #define TDES_MR_OPMOD_ECB (0x0 << 12)
0025 #define TDES_MR_OPMOD_CBC (0x1 << 12)
0026 #define TDES_MR_OPMOD_OFB (0x2 << 12)
0027 #define TDES_MR_OPMOD_CFB (0x3 << 12)
0028 #define TDES_MR_LOD (0x1 << 15)
0029 #define TDES_MR_CFBS_MASK (0x3 << 16)
0030 #define TDES_MR_CFBS_64b (0x0 << 16)
0031 #define TDES_MR_CFBS_32b (0x1 << 16)
0032 #define TDES_MR_CFBS_16b (0x2 << 16)
0033 #define TDES_MR_CFBS_8b (0x3 << 16)
0034 #define TDES_MR_CKEY_MASK (0xF << 20)
0035 #define TDES_MR_CKEY_OFFSET 20
0036 #define TDES_MR_CTYPE_MASK (0x3F << 24)
0037 #define TDES_MR_CTYPE_OFFSET 24
0038
0039 #define TDES_IER 0x10
0040 #define TDES_IDR 0x14
0041 #define TDES_IMR 0x18
0042 #define TDES_ISR 0x1C
0043 #define TDES_INT_DATARDY (1 << 0)
0044 #define TDES_INT_ENDRX (1 << 1)
0045 #define TDES_INT_ENDTX (1 << 2)
0046 #define TDES_INT_RXBUFF (1 << 3)
0047 #define TDES_INT_TXBUFE (1 << 4)
0048 #define TDES_INT_URAD (1 << 8)
0049 #define TDES_ISR_URAT_MASK (0x3 << 12)
0050 #define TDES_ISR_URAT_IDR (0x0 << 12)
0051 #define TDES_ISR_URAT_ODR (0x1 << 12)
0052 #define TDES_ISR_URAT_MR (0x2 << 12)
0053 #define TDES_ISR_URAT_WO (0x3 << 12)
0054
0055
0056 #define TDES_KEY1W1R 0x20
0057 #define TDES_KEY1W2R 0x24
0058 #define TDES_KEY2W1R 0x28
0059 #define TDES_KEY2W2R 0x2C
0060 #define TDES_KEY3W1R 0x30
0061 #define TDES_KEY3W2R 0x34
0062 #define TDES_IDATA1R 0x40
0063 #define TDES_IDATA2R 0x44
0064 #define TDES_ODATA1R 0x50
0065 #define TDES_ODATA2R 0x54
0066 #define TDES_IV1R 0x60
0067 #define TDES_IV2R 0x64
0068
0069 #define TDES_XTEARNDR 0x70
0070 #define TDES_XTEARNDR_XTEA_RNDS_MASK (0x3F << 0)
0071 #define TDES_XTEARNDR_XTEA_RNDS_OFFSET 0
0072
0073 #define TDES_HW_VERSION 0xFC
0074
0075 #define TDES_RPR 0x100
0076 #define TDES_RCR 0x104
0077 #define TDES_TPR 0x108
0078 #define TDES_TCR 0x10C
0079 #define TDES_RNPR 0x118
0080 #define TDES_RNCR 0x11C
0081 #define TDES_TNPR 0x118
0082 #define TDES_TNCR 0x11C
0083 #define TDES_PTCR 0x120
0084 #define TDES_PTCR_RXTEN (1 << 0)
0085 #define TDES_PTCR_RXTDIS (1 << 1)
0086 #define TDES_PTCR_TXTEN (1 << 8)
0087 #define TDES_PTCR_TXTDIS (1 << 9)
0088 #define TDES_PTSR 0x124
0089 #define TDES_PTSR_RXTEN (1 << 0)
0090 #define TDES_PTSR_TXTEN (1 << 8)
0091
0092 #endif