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