efm32pg1b200_pac/
crypto.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - Wide Arithmetic Configuration"]
7    pub wac: crate::Reg<wac::WAC_SPEC>,
8    #[doc = "0x08 - Command Register"]
9    pub cmd: crate::Reg<cmd::CMD_SPEC>,
10    _reserved3: [u8; 0x04],
11    #[doc = "0x10 - Status Register"]
12    pub status: crate::Reg<status::STATUS_SPEC>,
13    #[doc = "0x14 - Data Status Register"]
14    pub dstatus: crate::Reg<dstatus::DSTATUS_SPEC>,
15    #[doc = "0x18 - Control Status Register"]
16    pub cstatus: crate::Reg<cstatus::CSTATUS_SPEC>,
17    _reserved6: [u8; 0x04],
18    #[doc = "0x20 - KEY Register Access"]
19    pub key: crate::Reg<key::KEY_SPEC>,
20    #[doc = "0x24 - KEY Buffer Register Access"]
21    pub keybuf: crate::Reg<keybuf::KEYBUF_SPEC>,
22    _reserved8: [u8; 0x08],
23    #[doc = "0x30 - Sequence Control"]
24    pub seqctrl: crate::Reg<seqctrl::SEQCTRL_SPEC>,
25    #[doc = "0x34 - Sequence Control B"]
26    pub seqctrlb: crate::Reg<seqctrlb::SEQCTRLB_SPEC>,
27    _reserved10: [u8; 0x08],
28    #[doc = "0x40 - AES Interrupt Flags"]
29    pub if_: crate::Reg<if_::IF_SPEC>,
30    #[doc = "0x44 - Interrupt Flag Set Register"]
31    pub ifs: crate::Reg<ifs::IFS_SPEC>,
32    #[doc = "0x48 - Interrupt Flag Clear Register"]
33    pub ifc: crate::Reg<ifc::IFC_SPEC>,
34    #[doc = "0x4c - Interrupt Enable Register"]
35    pub ien: crate::Reg<ien::IEN_SPEC>,
36    #[doc = "0x50 - Sequence Register 0"]
37    pub seq0: crate::Reg<seq0::SEQ0_SPEC>,
38    #[doc = "0x54 - Sequence Register 1"]
39    pub seq1: crate::Reg<seq1::SEQ1_SPEC>,
40    #[doc = "0x58 - Sequence Register 2"]
41    pub seq2: crate::Reg<seq2::SEQ2_SPEC>,
42    #[doc = "0x5c - Sequence Register 3"]
43    pub seq3: crate::Reg<seq3::SEQ3_SPEC>,
44    #[doc = "0x60 - Sequence Register 4"]
45    pub seq4: crate::Reg<seq4::SEQ4_SPEC>,
46    _reserved19: [u8; 0x1c],
47    #[doc = "0x80 - DATA0 Register Access"]
48    pub data0: crate::Reg<data0::DATA0_SPEC>,
49    #[doc = "0x84 - DATA1 Register Access"]
50    pub data1: crate::Reg<data1::DATA1_SPEC>,
51    #[doc = "0x88 - DATA2 Register Access"]
52    pub data2: crate::Reg<data2::DATA2_SPEC>,
53    #[doc = "0x8c - DATA3 Register Access"]
54    pub data3: crate::Reg<data3::DATA3_SPEC>,
55    _reserved23: [u8; 0x10],
56    #[doc = "0xa0 - DATA0XOR Register Access"]
57    pub data0xor: crate::Reg<data0xor::DATA0XOR_SPEC>,
58    _reserved24: [u8; 0x0c],
59    #[doc = "0xb0 - DATA0 Register Byte Access"]
60    pub data0byte: crate::Reg<data0byte::DATA0BYTE_SPEC>,
61    #[doc = "0xb4 - DATA1 Register Byte Access"]
62    pub data1byte: crate::Reg<data1byte::DATA1BYTE_SPEC>,
63    _reserved26: [u8; 0x04],
64    #[doc = "0xbc - DATA0 Register Byte XOR Access"]
65    pub data0xorbyte: crate::Reg<data0xorbyte::DATA0XORBYTE_SPEC>,
66    #[doc = "0xc0 - DATA0 Register Byte 12 Access"]
67    pub data0byte12: crate::Reg<data0byte12::DATA0BYTE12_SPEC>,
68    #[doc = "0xc4 - DATA0 Register Byte 13 Access"]
69    pub data0byte13: crate::Reg<data0byte13::DATA0BYTE13_SPEC>,
70    #[doc = "0xc8 - DATA0 Register Byte 14 Access"]
71    pub data0byte14: crate::Reg<data0byte14::DATA0BYTE14_SPEC>,
72    #[doc = "0xcc - DATA0 Register Byte 15 Access"]
73    pub data0byte15: crate::Reg<data0byte15::DATA0BYTE15_SPEC>,
74    _reserved31: [u8; 0x30],
75    #[doc = "0x100 - DDATA0 Register Access"]
76    pub ddata0: crate::Reg<ddata0::DDATA0_SPEC>,
77    #[doc = "0x104 - DDATA1 Register Access"]
78    pub ddata1: crate::Reg<ddata1::DDATA1_SPEC>,
79    #[doc = "0x108 - DDATA2 Register Access"]
80    pub ddata2: crate::Reg<ddata2::DDATA2_SPEC>,
81    #[doc = "0x10c - DDATA3 Register Access"]
82    pub ddata3: crate::Reg<ddata3::DDATA3_SPEC>,
83    #[doc = "0x110 - DDATA4 Register Access"]
84    pub ddata4: crate::Reg<ddata4::DDATA4_SPEC>,
85    _reserved36: [u8; 0x1c],
86    #[doc = "0x130 - DDATA0 Register Big Endian Access"]
87    pub ddata0big: crate::Reg<ddata0big::DDATA0BIG_SPEC>,
88    _reserved37: [u8; 0x0c],
89    #[doc = "0x140 - DDATA0 Register Byte Access"]
90    pub ddata0byte: crate::Reg<ddata0byte::DDATA0BYTE_SPEC>,
91    #[doc = "0x144 - DDATA1 Register Byte Access"]
92    pub ddata1byte: crate::Reg<ddata1byte::DDATA1BYTE_SPEC>,
93    #[doc = "0x148 - DDATA0 Register Byte 32 Access"]
94    pub ddata0byte32: crate::Reg<ddata0byte32::DDATA0BYTE32_SPEC>,
95    _reserved40: [u8; 0x34],
96    #[doc = "0x180 - QDATA0 Register Access"]
97    pub qdata0: crate::Reg<qdata0::QDATA0_SPEC>,
98    #[doc = "0x184 - QDATA1 Register Access"]
99    pub qdata1: crate::Reg<qdata1::QDATA1_SPEC>,
100    _reserved42: [u8; 0x1c],
101    #[doc = "0x1a4 - QDATA1 Register Big Endian Access"]
102    pub qdata1big: crate::Reg<qdata1big::QDATA1BIG_SPEC>,
103    _reserved43: [u8; 0x18],
104    #[doc = "0x1c0 - QDATA0 Register Byte Access"]
105    pub qdata0byte: crate::Reg<qdata0byte::QDATA0BYTE_SPEC>,
106    #[doc = "0x1c4 - QDATA1 Register Byte Access"]
107    pub qdata1byte: crate::Reg<qdata1byte::QDATA1BYTE_SPEC>,
108}
109#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
110pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
111#[doc = "Control Register"]
112pub mod ctrl;
113#[doc = "WAC register accessor: an alias for `Reg<WAC_SPEC>`"]
114pub type WAC = crate::Reg<wac::WAC_SPEC>;
115#[doc = "Wide Arithmetic Configuration"]
116pub mod wac;
117#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
118pub type CMD = crate::Reg<cmd::CMD_SPEC>;
119#[doc = "Command Register"]
120pub mod cmd;
121#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
122pub type STATUS = crate::Reg<status::STATUS_SPEC>;
123#[doc = "Status Register"]
124pub mod status;
125#[doc = "DSTATUS register accessor: an alias for `Reg<DSTATUS_SPEC>`"]
126pub type DSTATUS = crate::Reg<dstatus::DSTATUS_SPEC>;
127#[doc = "Data Status Register"]
128pub mod dstatus;
129#[doc = "CSTATUS register accessor: an alias for `Reg<CSTATUS_SPEC>`"]
130pub type CSTATUS = crate::Reg<cstatus::CSTATUS_SPEC>;
131#[doc = "Control Status Register"]
132pub mod cstatus;
133#[doc = "KEY register accessor: an alias for `Reg<KEY_SPEC>`"]
134pub type KEY = crate::Reg<key::KEY_SPEC>;
135#[doc = "KEY Register Access"]
136pub mod key;
137#[doc = "KEYBUF register accessor: an alias for `Reg<KEYBUF_SPEC>`"]
138pub type KEYBUF = crate::Reg<keybuf::KEYBUF_SPEC>;
139#[doc = "KEY Buffer Register Access"]
140pub mod keybuf;
141#[doc = "SEQCTRL register accessor: an alias for `Reg<SEQCTRL_SPEC>`"]
142pub type SEQCTRL = crate::Reg<seqctrl::SEQCTRL_SPEC>;
143#[doc = "Sequence Control"]
144pub mod seqctrl;
145#[doc = "SEQCTRLB register accessor: an alias for `Reg<SEQCTRLB_SPEC>`"]
146pub type SEQCTRLB = crate::Reg<seqctrlb::SEQCTRLB_SPEC>;
147#[doc = "Sequence Control B"]
148pub mod seqctrlb;
149#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
150pub type IF = crate::Reg<if_::IF_SPEC>;
151#[doc = "AES Interrupt Flags"]
152pub mod if_;
153#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
154pub type IFS = crate::Reg<ifs::IFS_SPEC>;
155#[doc = "Interrupt Flag Set Register"]
156pub mod ifs;
157#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
158pub type IFC = crate::Reg<ifc::IFC_SPEC>;
159#[doc = "Interrupt Flag Clear Register"]
160pub mod ifc;
161#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
162pub type IEN = crate::Reg<ien::IEN_SPEC>;
163#[doc = "Interrupt Enable Register"]
164pub mod ien;
165#[doc = "SEQ0 register accessor: an alias for `Reg<SEQ0_SPEC>`"]
166pub type SEQ0 = crate::Reg<seq0::SEQ0_SPEC>;
167#[doc = "Sequence Register 0"]
168pub mod seq0;
169#[doc = "SEQ1 register accessor: an alias for `Reg<SEQ1_SPEC>`"]
170pub type SEQ1 = crate::Reg<seq1::SEQ1_SPEC>;
171#[doc = "Sequence Register 1"]
172pub mod seq1;
173#[doc = "SEQ2 register accessor: an alias for `Reg<SEQ2_SPEC>`"]
174pub type SEQ2 = crate::Reg<seq2::SEQ2_SPEC>;
175#[doc = "Sequence Register 2"]
176pub mod seq2;
177#[doc = "SEQ3 register accessor: an alias for `Reg<SEQ3_SPEC>`"]
178pub type SEQ3 = crate::Reg<seq3::SEQ3_SPEC>;
179#[doc = "Sequence Register 3"]
180pub mod seq3;
181#[doc = "SEQ4 register accessor: an alias for `Reg<SEQ4_SPEC>`"]
182pub type SEQ4 = crate::Reg<seq4::SEQ4_SPEC>;
183#[doc = "Sequence Register 4"]
184pub mod seq4;
185#[doc = "DATA0 register accessor: an alias for `Reg<DATA0_SPEC>`"]
186pub type DATA0 = crate::Reg<data0::DATA0_SPEC>;
187#[doc = "DATA0 Register Access"]
188pub mod data0;
189#[doc = "DATA1 register accessor: an alias for `Reg<DATA1_SPEC>`"]
190pub type DATA1 = crate::Reg<data1::DATA1_SPEC>;
191#[doc = "DATA1 Register Access"]
192pub mod data1;
193#[doc = "DATA2 register accessor: an alias for `Reg<DATA2_SPEC>`"]
194pub type DATA2 = crate::Reg<data2::DATA2_SPEC>;
195#[doc = "DATA2 Register Access"]
196pub mod data2;
197#[doc = "DATA3 register accessor: an alias for `Reg<DATA3_SPEC>`"]
198pub type DATA3 = crate::Reg<data3::DATA3_SPEC>;
199#[doc = "DATA3 Register Access"]
200pub mod data3;
201#[doc = "DATA0XOR register accessor: an alias for `Reg<DATA0XOR_SPEC>`"]
202pub type DATA0XOR = crate::Reg<data0xor::DATA0XOR_SPEC>;
203#[doc = "DATA0XOR Register Access"]
204pub mod data0xor;
205#[doc = "DATA0BYTE register accessor: an alias for `Reg<DATA0BYTE_SPEC>`"]
206pub type DATA0BYTE = crate::Reg<data0byte::DATA0BYTE_SPEC>;
207#[doc = "DATA0 Register Byte Access"]
208pub mod data0byte;
209#[doc = "DATA1BYTE register accessor: an alias for `Reg<DATA1BYTE_SPEC>`"]
210pub type DATA1BYTE = crate::Reg<data1byte::DATA1BYTE_SPEC>;
211#[doc = "DATA1 Register Byte Access"]
212pub mod data1byte;
213#[doc = "DATA0XORBYTE register accessor: an alias for `Reg<DATA0XORBYTE_SPEC>`"]
214pub type DATA0XORBYTE = crate::Reg<data0xorbyte::DATA0XORBYTE_SPEC>;
215#[doc = "DATA0 Register Byte XOR Access"]
216pub mod data0xorbyte;
217#[doc = "DATA0BYTE12 register accessor: an alias for `Reg<DATA0BYTE12_SPEC>`"]
218pub type DATA0BYTE12 = crate::Reg<data0byte12::DATA0BYTE12_SPEC>;
219#[doc = "DATA0 Register Byte 12 Access"]
220pub mod data0byte12;
221#[doc = "DATA0BYTE13 register accessor: an alias for `Reg<DATA0BYTE13_SPEC>`"]
222pub type DATA0BYTE13 = crate::Reg<data0byte13::DATA0BYTE13_SPEC>;
223#[doc = "DATA0 Register Byte 13 Access"]
224pub mod data0byte13;
225#[doc = "DATA0BYTE14 register accessor: an alias for `Reg<DATA0BYTE14_SPEC>`"]
226pub type DATA0BYTE14 = crate::Reg<data0byte14::DATA0BYTE14_SPEC>;
227#[doc = "DATA0 Register Byte 14 Access"]
228pub mod data0byte14;
229#[doc = "DATA0BYTE15 register accessor: an alias for `Reg<DATA0BYTE15_SPEC>`"]
230pub type DATA0BYTE15 = crate::Reg<data0byte15::DATA0BYTE15_SPEC>;
231#[doc = "DATA0 Register Byte 15 Access"]
232pub mod data0byte15;
233#[doc = "DDATA0 register accessor: an alias for `Reg<DDATA0_SPEC>`"]
234pub type DDATA0 = crate::Reg<ddata0::DDATA0_SPEC>;
235#[doc = "DDATA0 Register Access"]
236pub mod ddata0;
237#[doc = "DDATA1 register accessor: an alias for `Reg<DDATA1_SPEC>`"]
238pub type DDATA1 = crate::Reg<ddata1::DDATA1_SPEC>;
239#[doc = "DDATA1 Register Access"]
240pub mod ddata1;
241#[doc = "DDATA2 register accessor: an alias for `Reg<DDATA2_SPEC>`"]
242pub type DDATA2 = crate::Reg<ddata2::DDATA2_SPEC>;
243#[doc = "DDATA2 Register Access"]
244pub mod ddata2;
245#[doc = "DDATA3 register accessor: an alias for `Reg<DDATA3_SPEC>`"]
246pub type DDATA3 = crate::Reg<ddata3::DDATA3_SPEC>;
247#[doc = "DDATA3 Register Access"]
248pub mod ddata3;
249#[doc = "DDATA4 register accessor: an alias for `Reg<DDATA4_SPEC>`"]
250pub type DDATA4 = crate::Reg<ddata4::DDATA4_SPEC>;
251#[doc = "DDATA4 Register Access"]
252pub mod ddata4;
253#[doc = "DDATA0BIG register accessor: an alias for `Reg<DDATA0BIG_SPEC>`"]
254pub type DDATA0BIG = crate::Reg<ddata0big::DDATA0BIG_SPEC>;
255#[doc = "DDATA0 Register Big Endian Access"]
256pub mod ddata0big;
257#[doc = "DDATA0BYTE register accessor: an alias for `Reg<DDATA0BYTE_SPEC>`"]
258pub type DDATA0BYTE = crate::Reg<ddata0byte::DDATA0BYTE_SPEC>;
259#[doc = "DDATA0 Register Byte Access"]
260pub mod ddata0byte;
261#[doc = "DDATA1BYTE register accessor: an alias for `Reg<DDATA1BYTE_SPEC>`"]
262pub type DDATA1BYTE = crate::Reg<ddata1byte::DDATA1BYTE_SPEC>;
263#[doc = "DDATA1 Register Byte Access"]
264pub mod ddata1byte;
265#[doc = "DDATA0BYTE32 register accessor: an alias for `Reg<DDATA0BYTE32_SPEC>`"]
266pub type DDATA0BYTE32 = crate::Reg<ddata0byte32::DDATA0BYTE32_SPEC>;
267#[doc = "DDATA0 Register Byte 32 Access"]
268pub mod ddata0byte32;
269#[doc = "QDATA0 register accessor: an alias for `Reg<QDATA0_SPEC>`"]
270pub type QDATA0 = crate::Reg<qdata0::QDATA0_SPEC>;
271#[doc = "QDATA0 Register Access"]
272pub mod qdata0;
273#[doc = "QDATA1 register accessor: an alias for `Reg<QDATA1_SPEC>`"]
274pub type QDATA1 = crate::Reg<qdata1::QDATA1_SPEC>;
275#[doc = "QDATA1 Register Access"]
276pub mod qdata1;
277#[doc = "QDATA1BIG register accessor: an alias for `Reg<QDATA1BIG_SPEC>`"]
278pub type QDATA1BIG = crate::Reg<qdata1big::QDATA1BIG_SPEC>;
279#[doc = "QDATA1 Register Big Endian Access"]
280pub mod qdata1big;
281#[doc = "QDATA0BYTE register accessor: an alias for `Reg<QDATA0BYTE_SPEC>`"]
282pub type QDATA0BYTE = crate::Reg<qdata0byte::QDATA0BYTE_SPEC>;
283#[doc = "QDATA0 Register Byte Access"]
284pub mod qdata0byte;
285#[doc = "QDATA1BYTE register accessor: an alias for `Reg<QDATA1BYTE_SPEC>`"]
286pub type QDATA1BYTE = crate::Reg<qdata1byte::QDATA1BYTE_SPEC>;
287#[doc = "QDATA1 Register Byte Access"]
288pub mod qdata1byte;