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;