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;