atsaml21e18a/usb/
host.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct HOST {
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 - HOST Control B"]
13    pub ctrlb: CTRLB,
14    #[doc = "0x0a - HOST Host Start Of Frame Control"]
15    pub hsofc: HSOFC,
16    _reserved5: [u8; 0x01],
17    #[doc = "0x0c - HOST Status"]
18    pub status: STATUS,
19    #[doc = "0x0d - Finite State Machine Status"]
20    pub fsmstatus: FSMSTATUS,
21    _reserved7: [u8; 0x02],
22    #[doc = "0x10 - HOST Host Frame Number"]
23    pub fnum: FNUM,
24    #[doc = "0x12 - HOST Host Frame Length"]
25    pub flenhigh: FLENHIGH,
26    _reserved9: [u8; 0x01],
27    #[doc = "0x14 - HOST Host Interrupt Enable Clear"]
28    pub intenclr: INTENCLR,
29    _reserved10: [u8; 0x02],
30    #[doc = "0x18 - HOST Host Interrupt Enable Set"]
31    pub intenset: INTENSET,
32    _reserved11: [u8; 0x02],
33    #[doc = "0x1c - HOST Host Interrupt Flag"]
34    pub intflag: INTFLAG,
35    _reserved12: [u8; 0x02],
36    #[doc = "0x20 - HOST Pipe Interrupt Summary"]
37    pub pintsmry: PINTSMRY,
38    _reserved13: [u8; 0x02],
39    #[doc = "0x24 - Descriptor Address"]
40    pub descadd: DESCADD,
41    #[doc = "0x28 - USB PAD Calibration"]
42    pub padcal: PADCAL,
43    _reserved15: [u8; 0xd6],
44    #[doc = "0x100 - HOST End Point Configuration"]
45    pub pcfg0: PCFG,
46    _reserved16: [u8; 0x02],
47    #[doc = "0x103 - HOST Bus Access Period of Pipe"]
48    pub binterval0: BINTERVAL,
49    #[doc = "0x104 - HOST End Point Pipe Status Clear"]
50    pub pstatusclr0: PSTATUSCLR,
51    #[doc = "0x105 - HOST End Point Pipe Status Set"]
52    pub pstatusset0: PSTATUSSET,
53    #[doc = "0x106 - HOST End Point Pipe Status"]
54    pub pstatus0: PSTATUS,
55    #[doc = "0x107 - HOST Pipe Interrupt Flag"]
56    pub pintflag0: PINTFLAG,
57    #[doc = "0x108 - HOST Pipe Interrupt Flag Clear"]
58    pub pintenclr0: PINTENCLR,
59    #[doc = "0x109 - HOST Pipe Interrupt Flag Set"]
60    pub pintenset0: PINTENSET,
61    _reserved23: [u8; 0x16],
62    #[doc = "0x120 - HOST End Point Configuration"]
63    pub pcfg1: PCFG,
64    _reserved24: [u8; 0x02],
65    #[doc = "0x123 - HOST Bus Access Period of Pipe"]
66    pub binterval1: BINTERVAL,
67    #[doc = "0x124 - HOST End Point Pipe Status Clear"]
68    pub pstatusclr1: PSTATUSCLR,
69    #[doc = "0x125 - HOST End Point Pipe Status Set"]
70    pub pstatusset1: PSTATUSSET,
71    #[doc = "0x126 - HOST End Point Pipe Status"]
72    pub pstatus1: PSTATUS,
73    #[doc = "0x127 - HOST Pipe Interrupt Flag"]
74    pub pintflag1: PINTFLAG,
75    #[doc = "0x128 - HOST Pipe Interrupt Flag Clear"]
76    pub pintenclr1: PINTENCLR,
77    #[doc = "0x129 - HOST Pipe Interrupt Flag Set"]
78    pub pintenset1: PINTENSET,
79    _reserved31: [u8; 0x16],
80    #[doc = "0x140 - HOST End Point Configuration"]
81    pub pcfg2: PCFG,
82    _reserved32: [u8; 0x02],
83    #[doc = "0x143 - HOST Bus Access Period of Pipe"]
84    pub binterval2: BINTERVAL,
85    #[doc = "0x144 - HOST End Point Pipe Status Clear"]
86    pub pstatusclr2: PSTATUSCLR,
87    #[doc = "0x145 - HOST End Point Pipe Status Set"]
88    pub pstatusset2: PSTATUSSET,
89    #[doc = "0x146 - HOST End Point Pipe Status"]
90    pub pstatus2: PSTATUS,
91    #[doc = "0x147 - HOST Pipe Interrupt Flag"]
92    pub pintflag2: PINTFLAG,
93    #[doc = "0x148 - HOST Pipe Interrupt Flag Clear"]
94    pub pintenclr2: PINTENCLR,
95    #[doc = "0x149 - HOST Pipe Interrupt Flag Set"]
96    pub pintenset2: PINTENSET,
97    _reserved39: [u8; 0x16],
98    #[doc = "0x160 - HOST End Point Configuration"]
99    pub pcfg3: PCFG,
100    _reserved40: [u8; 0x02],
101    #[doc = "0x163 - HOST Bus Access Period of Pipe"]
102    pub binterval3: BINTERVAL,
103    #[doc = "0x164 - HOST End Point Pipe Status Clear"]
104    pub pstatusclr3: PSTATUSCLR,
105    #[doc = "0x165 - HOST End Point Pipe Status Set"]
106    pub pstatusset3: PSTATUSSET,
107    #[doc = "0x166 - HOST End Point Pipe Status"]
108    pub pstatus3: PSTATUS,
109    #[doc = "0x167 - HOST Pipe Interrupt Flag"]
110    pub pintflag3: PINTFLAG,
111    #[doc = "0x168 - HOST Pipe Interrupt Flag Clear"]
112    pub pintenclr3: PINTENCLR,
113    #[doc = "0x169 - HOST Pipe Interrupt Flag Set"]
114    pub pintenset3: PINTENSET,
115    _reserved47: [u8; 0x16],
116    #[doc = "0x180 - HOST End Point Configuration"]
117    pub pcfg4: PCFG,
118    _reserved48: [u8; 0x02],
119    #[doc = "0x183 - HOST Bus Access Period of Pipe"]
120    pub binterval4: BINTERVAL,
121    #[doc = "0x184 - HOST End Point Pipe Status Clear"]
122    pub pstatusclr4: PSTATUSCLR,
123    #[doc = "0x185 - HOST End Point Pipe Status Set"]
124    pub pstatusset4: PSTATUSSET,
125    #[doc = "0x186 - HOST End Point Pipe Status"]
126    pub pstatus4: PSTATUS,
127    #[doc = "0x187 - HOST Pipe Interrupt Flag"]
128    pub pintflag4: PINTFLAG,
129    #[doc = "0x188 - HOST Pipe Interrupt Flag Clear"]
130    pub pintenclr4: PINTENCLR,
131    #[doc = "0x189 - HOST Pipe Interrupt Flag Set"]
132    pub pintenset4: PINTENSET,
133    _reserved55: [u8; 0x16],
134    #[doc = "0x1a0 - HOST End Point Configuration"]
135    pub pcfg5: PCFG,
136    _reserved56: [u8; 0x02],
137    #[doc = "0x1a3 - HOST Bus Access Period of Pipe"]
138    pub binterval5: BINTERVAL,
139    #[doc = "0x1a4 - HOST End Point Pipe Status Clear"]
140    pub pstatusclr5: PSTATUSCLR,
141    #[doc = "0x1a5 - HOST End Point Pipe Status Set"]
142    pub pstatusset5: PSTATUSSET,
143    #[doc = "0x1a6 - HOST End Point Pipe Status"]
144    pub pstatus5: PSTATUS,
145    #[doc = "0x1a7 - HOST Pipe Interrupt Flag"]
146    pub pintflag5: PINTFLAG,
147    #[doc = "0x1a8 - HOST Pipe Interrupt Flag Clear"]
148    pub pintenclr5: PINTENCLR,
149    #[doc = "0x1a9 - HOST Pipe Interrupt Flag Set"]
150    pub pintenset5: PINTENSET,
151    _reserved63: [u8; 0x16],
152    #[doc = "0x1c0 - HOST End Point Configuration"]
153    pub pcfg6: PCFG,
154    _reserved64: [u8; 0x02],
155    #[doc = "0x1c3 - HOST Bus Access Period of Pipe"]
156    pub binterval6: BINTERVAL,
157    #[doc = "0x1c4 - HOST End Point Pipe Status Clear"]
158    pub pstatusclr6: PSTATUSCLR,
159    #[doc = "0x1c5 - HOST End Point Pipe Status Set"]
160    pub pstatusset6: PSTATUSSET,
161    #[doc = "0x1c6 - HOST End Point Pipe Status"]
162    pub pstatus6: PSTATUS,
163    #[doc = "0x1c7 - HOST Pipe Interrupt Flag"]
164    pub pintflag6: PINTFLAG,
165    #[doc = "0x1c8 - HOST Pipe Interrupt Flag Clear"]
166    pub pintenclr6: PINTENCLR,
167    #[doc = "0x1c9 - HOST Pipe Interrupt Flag Set"]
168    pub pintenset6: PINTENSET,
169    _reserved71: [u8; 0x16],
170    #[doc = "0x1e0 - HOST End Point Configuration"]
171    pub pcfg7: PCFG,
172    _reserved72: [u8; 0x02],
173    #[doc = "0x1e3 - HOST Bus Access Period of Pipe"]
174    pub binterval7: BINTERVAL,
175    #[doc = "0x1e4 - HOST End Point Pipe Status Clear"]
176    pub pstatusclr7: PSTATUSCLR,
177    #[doc = "0x1e5 - HOST End Point Pipe Status Set"]
178    pub pstatusset7: PSTATUSSET,
179    #[doc = "0x1e6 - HOST End Point Pipe Status"]
180    pub pstatus7: PSTATUS,
181    #[doc = "0x1e7 - HOST Pipe Interrupt Flag"]
182    pub pintflag7: PINTFLAG,
183    #[doc = "0x1e8 - HOST Pipe Interrupt Flag Clear"]
184    pub pintenclr7: PINTENCLR,
185    #[doc = "0x1e9 - HOST Pipe Interrupt Flag Set"]
186    pub pintenset7: PINTENSET,
187}
188#[doc = "CTRLA (rw) register accessor: an alias for `Reg<CTRLA_SPEC>`"]
189pub type CTRLA = crate::Reg<ctrla::CTRLA_SPEC>;
190#[doc = "Control A"]
191pub mod ctrla;
192#[doc = "SYNCBUSY (r) register accessor: an alias for `Reg<SYNCBUSY_SPEC>`"]
193pub type SYNCBUSY = crate::Reg<syncbusy::SYNCBUSY_SPEC>;
194#[doc = "Synchronization Busy"]
195pub mod syncbusy;
196#[doc = "QOSCTRL (rw) register accessor: an alias for `Reg<QOSCTRL_SPEC>`"]
197pub type QOSCTRL = crate::Reg<qosctrl::QOSCTRL_SPEC>;
198#[doc = "USB Quality Of Service"]
199pub mod qosctrl;
200#[doc = "CTRLB (rw) register accessor: an alias for `Reg<CTRLB_SPEC>`"]
201pub type CTRLB = crate::Reg<ctrlb::CTRLB_SPEC>;
202#[doc = "HOST Control B"]
203pub mod ctrlb;
204#[doc = "HSOFC (rw) register accessor: an alias for `Reg<HSOFC_SPEC>`"]
205pub type HSOFC = crate::Reg<hsofc::HSOFC_SPEC>;
206#[doc = "HOST Host Start Of Frame Control"]
207pub mod hsofc;
208#[doc = "STATUS (rw) register accessor: an alias for `Reg<STATUS_SPEC>`"]
209pub type STATUS = crate::Reg<status::STATUS_SPEC>;
210#[doc = "HOST Status"]
211pub mod status;
212#[doc = "FSMSTATUS (r) register accessor: an alias for `Reg<FSMSTATUS_SPEC>`"]
213pub type FSMSTATUS = crate::Reg<fsmstatus::FSMSTATUS_SPEC>;
214#[doc = "Finite State Machine Status"]
215pub mod fsmstatus;
216#[doc = "FNUM (rw) register accessor: an alias for `Reg<FNUM_SPEC>`"]
217pub type FNUM = crate::Reg<fnum::FNUM_SPEC>;
218#[doc = "HOST Host Frame Number"]
219pub mod fnum;
220#[doc = "FLENHIGH (r) register accessor: an alias for `Reg<FLENHIGH_SPEC>`"]
221pub type FLENHIGH = crate::Reg<flenhigh::FLENHIGH_SPEC>;
222#[doc = "HOST Host Frame Length"]
223pub mod flenhigh;
224#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
225pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
226#[doc = "HOST Host Interrupt Enable Clear"]
227pub mod intenclr;
228#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
229pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
230#[doc = "HOST Host Interrupt Enable Set"]
231pub mod intenset;
232#[doc = "INTFLAG (rw) register accessor: an alias for `Reg<INTFLAG_SPEC>`"]
233pub type INTFLAG = crate::Reg<intflag::INTFLAG_SPEC>;
234#[doc = "HOST Host Interrupt Flag"]
235pub mod intflag;
236#[doc = "PINTSMRY (r) register accessor: an alias for `Reg<PINTSMRY_SPEC>`"]
237pub type PINTSMRY = crate::Reg<pintsmry::PINTSMRY_SPEC>;
238#[doc = "HOST Pipe Interrupt Summary"]
239pub mod pintsmry;
240#[doc = "DESCADD (rw) register accessor: an alias for `Reg<DESCADD_SPEC>`"]
241pub type DESCADD = crate::Reg<descadd::DESCADD_SPEC>;
242#[doc = "Descriptor Address"]
243pub mod descadd;
244#[doc = "PADCAL (rw) register accessor: an alias for `Reg<PADCAL_SPEC>`"]
245pub type PADCAL = crate::Reg<padcal::PADCAL_SPEC>;
246#[doc = "USB PAD Calibration"]
247pub mod padcal;
248#[doc = "PCFG (rw) register accessor: an alias for `Reg<PCFG_SPEC>`"]
249pub type PCFG = crate::Reg<pcfg::PCFG_SPEC>;
250#[doc = "HOST End Point Configuration"]
251pub mod pcfg;
252#[doc = "BINTERVAL (rw) register accessor: an alias for `Reg<BINTERVAL_SPEC>`"]
253pub type BINTERVAL = crate::Reg<binterval::BINTERVAL_SPEC>;
254#[doc = "HOST Bus Access Period of Pipe"]
255pub mod binterval;
256#[doc = "PSTATUSCLR (w) register accessor: an alias for `Reg<PSTATUSCLR_SPEC>`"]
257pub type PSTATUSCLR = crate::Reg<pstatusclr::PSTATUSCLR_SPEC>;
258#[doc = "HOST End Point Pipe Status Clear"]
259pub mod pstatusclr;
260#[doc = "PSTATUSSET (w) register accessor: an alias for `Reg<PSTATUSSET_SPEC>`"]
261pub type PSTATUSSET = crate::Reg<pstatusset::PSTATUSSET_SPEC>;
262#[doc = "HOST End Point Pipe Status Set"]
263pub mod pstatusset;
264#[doc = "PSTATUS (r) register accessor: an alias for `Reg<PSTATUS_SPEC>`"]
265pub type PSTATUS = crate::Reg<pstatus::PSTATUS_SPEC>;
266#[doc = "HOST End Point Pipe Status"]
267pub mod pstatus;
268#[doc = "PINTFLAG (rw) register accessor: an alias for `Reg<PINTFLAG_SPEC>`"]
269pub type PINTFLAG = crate::Reg<pintflag::PINTFLAG_SPEC>;
270#[doc = "HOST Pipe Interrupt Flag"]
271pub mod pintflag;
272#[doc = "PINTENCLR (rw) register accessor: an alias for `Reg<PINTENCLR_SPEC>`"]
273pub type PINTENCLR = crate::Reg<pintenclr::PINTENCLR_SPEC>;
274#[doc = "HOST Pipe Interrupt Flag Clear"]
275pub mod pintenclr;
276#[doc = "PINTENSET (rw) register accessor: an alias for `Reg<PINTENSET_SPEC>`"]
277pub type PINTENSET = crate::Reg<pintenset::PINTENSET_SPEC>;
278#[doc = "HOST Pipe Interrupt Flag Set"]
279pub mod pintenset;