SAME54P20A Test Project
aes.h
Go to the documentation of this file.
1 
30 #ifndef _SAME54_AES_INSTANCE_
31 #define _SAME54_AES_INSTANCE_
32 
33 /* ========== Register definition for AES peripheral ========== */
34 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
35 #define REG_AES_CTRLA (0x42002400)
36 #define REG_AES_CTRLB (0x42002404)
37 #define REG_AES_INTENCLR (0x42002405)
38 #define REG_AES_INTENSET (0x42002406)
39 #define REG_AES_INTFLAG (0x42002407)
40 #define REG_AES_DATABUFPTR (0x42002408)
41 #define REG_AES_DBGCTRL (0x42002409)
42 #define REG_AES_KEYWORD0 (0x4200240C)
43 #define REG_AES_KEYWORD1 (0x42002410)
44 #define REG_AES_KEYWORD2 (0x42002414)
45 #define REG_AES_KEYWORD3 (0x42002418)
46 #define REG_AES_KEYWORD4 (0x4200241C)
47 #define REG_AES_KEYWORD5 (0x42002420)
48 #define REG_AES_KEYWORD6 (0x42002424)
49 #define REG_AES_KEYWORD7 (0x42002428)
50 #define REG_AES_INDATA (0x42002438)
51 #define REG_AES_INTVECTV0 (0x4200243C)
52 #define REG_AES_INTVECTV1 (0x42002440)
53 #define REG_AES_INTVECTV2 (0x42002444)
54 #define REG_AES_INTVECTV3 (0x42002448)
55 #define REG_AES_HASHKEY0 (0x4200245C)
56 #define REG_AES_HASHKEY1 (0x42002460)
57 #define REG_AES_HASHKEY2 (0x42002464)
58 #define REG_AES_HASHKEY3 (0x42002468)
59 #define REG_AES_GHASH0 (0x4200246C)
60 #define REG_AES_GHASH1 (0x42002470)
61 #define REG_AES_GHASH2 (0x42002474)
62 #define REG_AES_GHASH3 (0x42002478)
63 #define REG_AES_CIPLEN (0x42002480)
64 #define REG_AES_RANDSEED (0x42002484)
65 #else
66 #define REG_AES_CTRLA (*(RwReg *)0x42002400UL)
67 #define REG_AES_CTRLB (*(RwReg8 *)0x42002404UL)
68 #define REG_AES_INTENCLR (*(RwReg8 *)0x42002405UL)
69 #define REG_AES_INTENSET (*(RwReg8 *)0x42002406UL)
70 #define REG_AES_INTFLAG (*(RwReg8 *)0x42002407UL)
71 #define REG_AES_DATABUFPTR (*(RwReg8 *)0x42002408UL)
72 #define REG_AES_DBGCTRL (*(RwReg8 *)0x42002409UL)
73 #define REG_AES_KEYWORD0 (*(WoReg *)0x4200240CUL)
74 #define REG_AES_KEYWORD1 (*(WoReg *)0x42002410UL)
75 #define REG_AES_KEYWORD2 (*(WoReg *)0x42002414UL)
76 #define REG_AES_KEYWORD3 (*(WoReg *)0x42002418UL)
77 #define REG_AES_KEYWORD4 (*(WoReg *)0x4200241CUL)
78 #define REG_AES_KEYWORD5 (*(WoReg *)0x42002420UL)
79 #define REG_AES_KEYWORD6 (*(WoReg *)0x42002424UL)
80 #define REG_AES_KEYWORD7 (*(WoReg *)0x42002428UL)
81 #define REG_AES_INDATA (*(RwReg *)0x42002438UL)
82 #define REG_AES_INTVECTV0 (*(WoReg *)0x4200243CUL)
83 #define REG_AES_INTVECTV1 (*(WoReg *)0x42002440UL)
84 #define REG_AES_INTVECTV2 (*(WoReg *)0x42002444UL)
85 #define REG_AES_INTVECTV3 (*(WoReg *)0x42002448UL)
86 #define REG_AES_HASHKEY0 (*(RwReg *)0x4200245CUL)
87 #define REG_AES_HASHKEY1 (*(RwReg *)0x42002460UL)
88 #define REG_AES_HASHKEY2 (*(RwReg *)0x42002464UL)
89 #define REG_AES_HASHKEY3 (*(RwReg *)0x42002468UL)
90 #define REG_AES_GHASH0 (*(RwReg *)0x4200246CUL)
91 #define REG_AES_GHASH1 (*(RwReg *)0x42002470UL)
92 #define REG_AES_GHASH2 (*(RwReg *)0x42002474UL)
93 #define REG_AES_GHASH3 (*(RwReg *)0x42002478UL)
94 #define REG_AES_CIPLEN (*(RwReg *)0x42002480UL)
95 #define REG_AES_RANDSEED (*(RwReg *)0x42002484UL)
96 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
97 
98 /* ========== Instance parameters for AES peripheral ========== */
99 #define AES_DMAC_ID_RD 82 // DMA DATA Read trigger
100 #define AES_DMAC_ID_WR 81 // DMA DATA Write trigger
101 #define AES_FOUR_BYTE_OPERATION 1 // Byte Operation
102 #define AES_GCM 1 // GCM
103 #define AES_KEYLEN 2 // Key Length
104 
105 #endif /* _SAME54_AES_INSTANCE_ */