atsaml21g18b/usb/
device.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct DEVICE {
4    #[doc = "0x00 - Control A"]
5    pub ctrla: CTRLA,
6    _reserved1: [u8; 0x01],
7    #[doc = "0x02 - Synchronization Busy"]
8    pub syncbusy: SYNCBUSY,
9    #[doc = "0x03 - USB Quality Of Service"]
10    pub qosctrl: QOSCTRL,
11    _reserved3: [u8; 0x04],
12    #[doc = "0x08 - DEVICE Control B"]
13    pub ctrlb: CTRLB,
14    #[doc = "0x0a - DEVICE Device Address"]
15    pub dadd: DADD,
16    _reserved5: [u8; 0x01],
17    #[doc = "0x0c - DEVICE Status"]
18    pub status: STATUS,
19    #[doc = "0x0d - Finite State Machine Status"]
20    pub fsmstatus: FSMSTATUS,
21    _reserved7: [u8; 0x02],
22    #[doc = "0x10 - DEVICE Device Frame Number"]
23    pub fnum: FNUM,
24    _reserved8: [u8; 0x02],
25    #[doc = "0x14 - DEVICE Device Interrupt Enable Clear"]
26    pub intenclr: INTENCLR,
27    _reserved9: [u8; 0x02],
28    #[doc = "0x18 - DEVICE Device Interrupt Enable Set"]
29    pub intenset: INTENSET,
30    _reserved10: [u8; 0x02],
31    #[doc = "0x1c - DEVICE Device Interrupt Flag"]
32    pub intflag: INTFLAG,
33    _reserved11: [u8; 0x02],
34    #[doc = "0x20 - DEVICE End Point Interrupt Summary"]
35    pub epintsmry: EPINTSMRY,
36    _reserved12: [u8; 0x02],
37    #[doc = "0x24 - Descriptor Address"]
38    pub descadd: DESCADD,
39    #[doc = "0x28 - USB PAD Calibration"]
40    pub padcal: PADCAL,
41    _reserved14: [u8; 0xd6],
42    #[doc = "0x100 - DEVICE End Point Configuration"]
43    pub epcfg0: EPCFG,
44    _reserved15: [u8; 0x03],
45    #[doc = "0x104 - DEVICE End Point Pipe Status Clear"]
46    pub epstatusclr0: EPSTATUSCLR,
47    #[doc = "0x105 - DEVICE End Point Pipe Status Set"]
48    pub epstatusset0: EPSTATUSSET,
49    #[doc = "0x106 - DEVICE End Point Pipe Status"]
50    pub epstatus0: EPSTATUS,
51    #[doc = "0x107 - DEVICE End Point Interrupt Flag"]
52    pub epintflag0: EPINTFLAG,
53    #[doc = "0x108 - DEVICE End Point Interrupt Clear Flag"]
54    pub epintenclr0: EPINTENCLR,
55    #[doc = "0x109 - DEVICE End Point Interrupt Set Flag"]
56    pub epintenset0: EPINTENSET,
57    _reserved21: [u8; 0x16],
58    #[doc = "0x120 - DEVICE End Point Configuration"]
59    pub epcfg1: EPCFG,
60    _reserved22: [u8; 0x03],
61    #[doc = "0x124 - DEVICE End Point Pipe Status Clear"]
62    pub epstatusclr1: EPSTATUSCLR,
63    #[doc = "0x125 - DEVICE End Point Pipe Status Set"]
64    pub epstatusset1: EPSTATUSSET,
65    #[doc = "0x126 - DEVICE End Point Pipe Status"]
66    pub epstatus1: EPSTATUS,
67    #[doc = "0x127 - DEVICE End Point Interrupt Flag"]
68    pub epintflag1: EPINTFLAG,
69    #[doc = "0x128 - DEVICE End Point Interrupt Clear Flag"]
70    pub epintenclr1: EPINTENCLR,
71    #[doc = "0x129 - DEVICE End Point Interrupt Set Flag"]
72    pub epintenset1: EPINTENSET,
73    _reserved28: [u8; 0x16],
74    #[doc = "0x140 - DEVICE End Point Configuration"]
75    pub epcfg2: EPCFG,
76    _reserved29: [u8; 0x03],
77    #[doc = "0x144 - DEVICE End Point Pipe Status Clear"]
78    pub epstatusclr2: EPSTATUSCLR,
79    #[doc = "0x145 - DEVICE End Point Pipe Status Set"]
80    pub epstatusset2: EPSTATUSSET,
81    #[doc = "0x146 - DEVICE End Point Pipe Status"]
82    pub epstatus2: EPSTATUS,
83    #[doc = "0x147 - DEVICE End Point Interrupt Flag"]
84    pub epintflag2: EPINTFLAG,
85    #[doc = "0x148 - DEVICE End Point Interrupt Clear Flag"]
86    pub epintenclr2: EPINTENCLR,
87    #[doc = "0x149 - DEVICE End Point Interrupt Set Flag"]
88    pub epintenset2: EPINTENSET,
89    _reserved35: [u8; 0x16],
90    #[doc = "0x160 - DEVICE End Point Configuration"]
91    pub epcfg3: EPCFG,
92    _reserved36: [u8; 0x03],
93    #[doc = "0x164 - DEVICE End Point Pipe Status Clear"]
94    pub epstatusclr3: EPSTATUSCLR,
95    #[doc = "0x165 - DEVICE End Point Pipe Status Set"]
96    pub epstatusset3: EPSTATUSSET,
97    #[doc = "0x166 - DEVICE End Point Pipe Status"]
98    pub epstatus3: EPSTATUS,
99    #[doc = "0x167 - DEVICE End Point Interrupt Flag"]
100    pub epintflag3: EPINTFLAG,
101    #[doc = "0x168 - DEVICE End Point Interrupt Clear Flag"]
102    pub epintenclr3: EPINTENCLR,
103    #[doc = "0x169 - DEVICE End Point Interrupt Set Flag"]
104    pub epintenset3: EPINTENSET,
105    _reserved42: [u8; 0x16],
106    #[doc = "0x180 - DEVICE End Point Configuration"]
107    pub epcfg4: EPCFG,
108    _reserved43: [u8; 0x03],
109    #[doc = "0x184 - DEVICE End Point Pipe Status Clear"]
110    pub epstatusclr4: EPSTATUSCLR,
111    #[doc = "0x185 - DEVICE End Point Pipe Status Set"]
112    pub epstatusset4: EPSTATUSSET,
113    #[doc = "0x186 - DEVICE End Point Pipe Status"]
114    pub epstatus4: EPSTATUS,
115    #[doc = "0x187 - DEVICE End Point Interrupt Flag"]
116    pub epintflag4: EPINTFLAG,
117    #[doc = "0x188 - DEVICE End Point Interrupt Clear Flag"]
118    pub epintenclr4: EPINTENCLR,
119    #[doc = "0x189 - DEVICE End Point Interrupt Set Flag"]
120    pub epintenset4: EPINTENSET,
121    _reserved49: [u8; 0x16],
122    #[doc = "0x1a0 - DEVICE End Point Configuration"]
123    pub epcfg5: EPCFG,
124    _reserved50: [u8; 0x03],
125    #[doc = "0x1a4 - DEVICE End Point Pipe Status Clear"]
126    pub epstatusclr5: EPSTATUSCLR,
127    #[doc = "0x1a5 - DEVICE End Point Pipe Status Set"]
128    pub epstatusset5: EPSTATUSSET,
129    #[doc = "0x1a6 - DEVICE End Point Pipe Status"]
130    pub epstatus5: EPSTATUS,
131    #[doc = "0x1a7 - DEVICE End Point Interrupt Flag"]
132    pub epintflag5: EPINTFLAG,
133    #[doc = "0x1a8 - DEVICE End Point Interrupt Clear Flag"]
134    pub epintenclr5: EPINTENCLR,
135    #[doc = "0x1a9 - DEVICE End Point Interrupt Set Flag"]
136    pub epintenset5: EPINTENSET,
137    _reserved56: [u8; 0x16],
138    #[doc = "0x1c0 - DEVICE End Point Configuration"]
139    pub epcfg6: EPCFG,
140    _reserved57: [u8; 0x03],
141    #[doc = "0x1c4 - DEVICE End Point Pipe Status Clear"]
142    pub epstatusclr6: EPSTATUSCLR,
143    #[doc = "0x1c5 - DEVICE End Point Pipe Status Set"]
144    pub epstatusset6: EPSTATUSSET,
145    #[doc = "0x1c6 - DEVICE End Point Pipe Status"]
146    pub epstatus6: EPSTATUS,
147    #[doc = "0x1c7 - DEVICE End Point Interrupt Flag"]
148    pub epintflag6: EPINTFLAG,
149    #[doc = "0x1c8 - DEVICE End Point Interrupt Clear Flag"]
150    pub epintenclr6: EPINTENCLR,
151    #[doc = "0x1c9 - DEVICE End Point Interrupt Set Flag"]
152    pub epintenset6: EPINTENSET,
153    _reserved63: [u8; 0x16],
154    #[doc = "0x1e0 - DEVICE End Point Configuration"]
155    pub epcfg7: EPCFG,
156    _reserved64: [u8; 0x03],
157    #[doc = "0x1e4 - DEVICE End Point Pipe Status Clear"]
158    pub epstatusclr7: EPSTATUSCLR,
159    #[doc = "0x1e5 - DEVICE End Point Pipe Status Set"]
160    pub epstatusset7: EPSTATUSSET,
161    #[doc = "0x1e6 - DEVICE End Point Pipe Status"]
162    pub epstatus7: EPSTATUS,
163    #[doc = "0x1e7 - DEVICE End Point Interrupt Flag"]
164    pub epintflag7: EPINTFLAG,
165    #[doc = "0x1e8 - DEVICE End Point Interrupt Clear Flag"]
166    pub epintenclr7: EPINTENCLR,
167    #[doc = "0x1e9 - DEVICE End Point Interrupt Set Flag"]
168    pub epintenset7: EPINTENSET,
169}
170#[doc = "CTRLA (rw) register accessor: an alias for `Reg<CTRLA_SPEC>`"]
171pub type CTRLA = crate::Reg<ctrla::CTRLA_SPEC>;
172#[doc = "Control A"]
173pub mod ctrla;
174#[doc = "SYNCBUSY (r) register accessor: an alias for `Reg<SYNCBUSY_SPEC>`"]
175pub type SYNCBUSY = crate::Reg<syncbusy::SYNCBUSY_SPEC>;
176#[doc = "Synchronization Busy"]
177pub mod syncbusy;
178#[doc = "QOSCTRL (rw) register accessor: an alias for `Reg<QOSCTRL_SPEC>`"]
179pub type QOSCTRL = crate::Reg<qosctrl::QOSCTRL_SPEC>;
180#[doc = "USB Quality Of Service"]
181pub mod qosctrl;
182#[doc = "CTRLB (rw) register accessor: an alias for `Reg<CTRLB_SPEC>`"]
183pub type CTRLB = crate::Reg<ctrlb::CTRLB_SPEC>;
184#[doc = "DEVICE Control B"]
185pub mod ctrlb;
186#[doc = "DADD (rw) register accessor: an alias for `Reg<DADD_SPEC>`"]
187pub type DADD = crate::Reg<dadd::DADD_SPEC>;
188#[doc = "DEVICE Device Address"]
189pub mod dadd;
190#[doc = "STATUS (r) register accessor: an alias for `Reg<STATUS_SPEC>`"]
191pub type STATUS = crate::Reg<status::STATUS_SPEC>;
192#[doc = "DEVICE Status"]
193pub mod status;
194#[doc = "FSMSTATUS (r) register accessor: an alias for `Reg<FSMSTATUS_SPEC>`"]
195pub type FSMSTATUS = crate::Reg<fsmstatus::FSMSTATUS_SPEC>;
196#[doc = "Finite State Machine Status"]
197pub mod fsmstatus;
198#[doc = "FNUM (r) register accessor: an alias for `Reg<FNUM_SPEC>`"]
199pub type FNUM = crate::Reg<fnum::FNUM_SPEC>;
200#[doc = "DEVICE Device Frame Number"]
201pub mod fnum;
202#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
203pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
204#[doc = "DEVICE Device Interrupt Enable Clear"]
205pub mod intenclr;
206#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
207pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
208#[doc = "DEVICE Device Interrupt Enable Set"]
209pub mod intenset;
210#[doc = "INTFLAG (rw) register accessor: an alias for `Reg<INTFLAG_SPEC>`"]
211pub type INTFLAG = crate::Reg<intflag::INTFLAG_SPEC>;
212#[doc = "DEVICE Device Interrupt Flag"]
213pub mod intflag;
214#[doc = "EPINTSMRY (r) register accessor: an alias for `Reg<EPINTSMRY_SPEC>`"]
215pub type EPINTSMRY = crate::Reg<epintsmry::EPINTSMRY_SPEC>;
216#[doc = "DEVICE End Point Interrupt Summary"]
217pub mod epintsmry;
218#[doc = "DESCADD (rw) register accessor: an alias for `Reg<DESCADD_SPEC>`"]
219pub type DESCADD = crate::Reg<descadd::DESCADD_SPEC>;
220#[doc = "Descriptor Address"]
221pub mod descadd;
222#[doc = "PADCAL (rw) register accessor: an alias for `Reg<PADCAL_SPEC>`"]
223pub type PADCAL = crate::Reg<padcal::PADCAL_SPEC>;
224#[doc = "USB PAD Calibration"]
225pub mod padcal;
226#[doc = "EPCFG (rw) register accessor: an alias for `Reg<EPCFG_SPEC>`"]
227pub type EPCFG = crate::Reg<epcfg::EPCFG_SPEC>;
228#[doc = "DEVICE End Point Configuration"]
229pub mod epcfg;
230#[doc = "EPSTATUSCLR (w) register accessor: an alias for `Reg<EPSTATUSCLR_SPEC>`"]
231pub type EPSTATUSCLR = crate::Reg<epstatusclr::EPSTATUSCLR_SPEC>;
232#[doc = "DEVICE End Point Pipe Status Clear"]
233pub mod epstatusclr;
234#[doc = "EPSTATUSSET (w) register accessor: an alias for `Reg<EPSTATUSSET_SPEC>`"]
235pub type EPSTATUSSET = crate::Reg<epstatusset::EPSTATUSSET_SPEC>;
236#[doc = "DEVICE End Point Pipe Status Set"]
237pub mod epstatusset;
238#[doc = "EPSTATUS (r) register accessor: an alias for `Reg<EPSTATUS_SPEC>`"]
239pub type EPSTATUS = crate::Reg<epstatus::EPSTATUS_SPEC>;
240#[doc = "DEVICE End Point Pipe Status"]
241pub mod epstatus;
242#[doc = "EPINTFLAG (rw) register accessor: an alias for `Reg<EPINTFLAG_SPEC>`"]
243pub type EPINTFLAG = crate::Reg<epintflag::EPINTFLAG_SPEC>;
244#[doc = "DEVICE End Point Interrupt Flag"]
245pub mod epintflag;
246#[doc = "EPINTENCLR (rw) register accessor: an alias for `Reg<EPINTENCLR_SPEC>`"]
247pub type EPINTENCLR = crate::Reg<epintenclr::EPINTENCLR_SPEC>;
248#[doc = "DEVICE End Point Interrupt Clear Flag"]
249pub mod epintenclr;
250#[doc = "EPINTENSET (rw) register accessor: an alias for `Reg<EPINTENSET_SPEC>`"]
251pub type EPINTENSET = crate::Reg<epintenset::EPINTENSET_SPEC>;
252#[doc = "DEVICE End Point Interrupt Set Flag"]
253pub mod epintenset;