Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
[linux-2.6-microblaze.git] / drivers / crypto / atmel-tdes-regs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ATMEL_TDES_REGS_H__
3 #define __ATMEL_TDES_REGS_H__
4
5 #define TDES_CR                 0x00
6 #define TDES_CR_START                   (1 << 0)
7 #define TDES_CR_SWRST                   (1 << 8)
8 #define TDES_CR_LOADSEED                (1 << 16)
9
10 #define TDES_MR                 0x04
11 #define TDES_MR_CYPHER_DEC              (0 << 0)
12 #define TDES_MR_CYPHER_ENC              (1 << 0)
13 #define TDES_MR_TDESMOD_MASK    (0x3 << 1)
14 #define TDES_MR_TDESMOD_DES             (0x0 << 1)
15 #define TDES_MR_TDESMOD_TDES    (0x1 << 1)
16 #define TDES_MR_TDESMOD_XTEA    (0x2 << 1)
17 #define TDES_MR_KEYMOD_3KEY             (0 << 4)
18 #define TDES_MR_KEYMOD_2KEY             (1 << 4)
19 #define TDES_MR_SMOD_MASK               (0x3 << 8)
20 #define TDES_MR_SMOD_MANUAL             (0x0 << 8)
21 #define TDES_MR_SMOD_AUTO               (0x1 << 8)
22 #define TDES_MR_SMOD_PDC                (0x2 << 8)
23 #define TDES_MR_OPMOD_MASK              (0x3 << 12)
24 #define TDES_MR_OPMOD_ECB               (0x0 << 12)
25 #define TDES_MR_OPMOD_CBC               (0x1 << 12)
26 #define TDES_MR_OPMOD_OFB               (0x2 << 12)
27 #define TDES_MR_OPMOD_CFB               (0x3 << 12)
28 #define TDES_MR_LOD                             (0x1 << 15)
29 #define TDES_MR_CFBS_MASK               (0x3 << 16)
30 #define TDES_MR_CFBS_64b                (0x0 << 16)
31 #define TDES_MR_CFBS_32b                (0x1 << 16)
32 #define TDES_MR_CFBS_16b                (0x2 << 16)
33 #define TDES_MR_CFBS_8b                 (0x3 << 16)
34 #define TDES_MR_CKEY_MASK               (0xF << 20)
35 #define TDES_MR_CKEY_OFFSET             20
36 #define TDES_MR_CTYPE_MASK              (0x3F << 24)
37 #define TDES_MR_CTYPE_OFFSET    24
38
39 #define TDES_IER                0x10
40 #define TDES_IDR                0x14
41 #define TDES_IMR                0x18
42 #define TDES_ISR                0x1C
43 #define TDES_INT_DATARDY                (1 << 0)
44 #define TDES_INT_ENDRX                  (1 << 1)
45 #define TDES_INT_ENDTX                  (1 << 2)
46 #define TDES_INT_RXBUFF                 (1 << 3)
47 #define TDES_INT_TXBUFE                 (1 << 4)
48 #define TDES_INT_URAD                   (1 << 8)
49 #define TDES_ISR_URAT_MASK              (0x3 << 12)
50 #define TDES_ISR_URAT_IDR               (0x0 << 12)
51 #define TDES_ISR_URAT_ODR               (0x1 << 12)
52 #define TDES_ISR_URAT_MR                (0x2 << 12)
53 #define TDES_ISR_URAT_WO                (0x3 << 12)
54
55
56 #define TDES_KEY1W1R    0x20
57 #define TDES_KEY1W2R    0x24
58 #define TDES_KEY2W1R    0x28
59 #define TDES_KEY2W2R    0x2C
60 #define TDES_KEY3W1R    0x30
61 #define TDES_KEY3W2R    0x34
62 #define TDES_IDATA1R    0x40
63 #define TDES_IDATA2R    0x44
64 #define TDES_ODATA1R    0x50
65 #define TDES_ODATA2R    0x54
66 #define TDES_IV1R               0x60
67 #define TDES_IV2R               0x64
68
69 #define TDES_XTEARNDR   0x70
70 #define TDES_XTEARNDR_XTEA_RNDS_MASK    (0x3F << 0)
71 #define TDES_XTEARNDR_XTEA_RNDS_OFFSET  0
72
73 #define TDES_HW_VERSION 0xFC
74
75 #define TDES_RPR                0x100
76 #define TDES_RCR                0x104
77 #define TDES_TPR                0x108
78 #define TDES_TCR                0x10C
79 #define TDES_RNPR               0x118
80 #define TDES_RNCR               0x11C
81 #define TDES_TNPR               0x118
82 #define TDES_TNCR               0x11C
83 #define TDES_PTCR               0x120
84 #define TDES_PTCR_RXTEN                 (1 << 0)
85 #define TDES_PTCR_RXTDIS                (1 << 1)
86 #define TDES_PTCR_TXTEN                 (1 << 8)
87 #define TDES_PTCR_TXTDIS                (1 << 9)
88 #define TDES_PTSR               0x124
89 #define TDES_PTSR_RXTEN                 (1 << 0)
90 #define TDES_PTSR_TXTEN                 (1 << 8)
91
92 #endif /* __ATMEL_TDES_REGS_H__ */