1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - USB Hardware Control"]
    pub uhwcon: UHWCON,
    #[doc = "0x01 - USB Control"]
    pub usbcon: USBCON,
    #[doc = "0x02 - USB Status"]
    pub usbsta: USBSTA,
    #[doc = "0x03 - USB Interrupt"]
    pub usbint: USBINT,
    _reserved0: [u8; 5usize],
    #[doc = "0x09 - USB Device Control"]
    pub udcon: UDCON,
    #[doc = "0x0a - USB Device Interrupt"]
    pub udint: UDINT,
    #[doc = "0x0b - USB Device Interrupt Enable"]
    pub udien: UDIEN,
    #[doc = "0x0c - USB Device Address"]
    pub udaddr: UDADDR,
    #[doc = "0x0d - USB Frame Number Low"]
    pub udfnuml: UDFNUML,
    #[doc = "0x0e - USB Frame Number High"]
    pub udfnumh: UDFNUMH,
    #[doc = "0x0f - USB Frame Number CRC Error Flag"]
    pub udmfn: UDMFN,
    _reserved1: [u8; 1usize],
    #[doc = "0x11 - USB Endpoint Interrupt"]
    pub ueintx: UEINTX,
    #[doc = "0x12 - USB Endpoint Number"]
    pub uenum: UENUM,
    #[doc = "0x13 - USB Endpoint Reset"]
    pub uerst: UERST,
    #[doc = "0x14 - USB Endpoint Control"]
    pub ueconx: UECONX,
    #[doc = "0x15 - USB Endpoint Configuration 0"]
    pub uecfg0x: UECFG0X,
    #[doc = "0x16 - USB Endpoint Configuration 1"]
    pub uecfg1x: UECFG1X,
    #[doc = "0x17 - USB Endpoint Status 0"]
    pub uesta0x: UESTA0X,
    #[doc = "0x18 - USB Endpoint Status 1"]
    pub uesta1x: UESTA1X,
    #[doc = "0x19 - USB Endpoint Interrupt Enable"]
    pub ueienx: UEIENX,
    #[doc = "0x1a - USB Endpoint Data"]
    pub uedatx: UEDATX,
    #[doc = "0x1b - USB Endpoint Byte Count Low"]
    pub uebclx: UEBCLX,
    #[doc = "0x1c - USB Endpoint Byte Count High"]
    pub uebchx: UEBCHX,
    #[doc = "0x1d - USB Endpoint Interrupts"]
    pub ueint: UEINT,
}
#[doc = "USB Hardware Control"]
pub struct UHWCON {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Hardware Control"]
pub mod uhwcon;
#[doc = "USB Control"]
pub struct USBCON {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Control"]
pub mod usbcon;
#[doc = "USB Status"]
pub struct USBSTA {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Status"]
pub mod usbsta;
#[doc = "USB Interrupt"]
pub struct USBINT {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Interrupt"]
pub mod usbint;
#[doc = "USB Device Control"]
pub struct UDCON {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Device Control"]
pub mod udcon;
#[doc = "USB Device Interrupt"]
pub struct UDINT {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Device Interrupt"]
pub mod udint;
#[doc = "USB Device Interrupt Enable"]
pub struct UDIEN {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Device Interrupt Enable"]
pub mod udien;
#[doc = "USB Device Address"]
pub struct UDADDR {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Device Address"]
pub mod udaddr;
#[doc = "USB Frame Number Low"]
pub struct UDFNUML {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Frame Number Low"]
pub mod udfnuml;
#[doc = "USB Frame Number High"]
pub struct UDFNUMH {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Frame Number High"]
pub mod udfnumh;
#[doc = "USB Frame Number CRC Error Flag"]
pub struct UDMFN {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Frame Number CRC Error Flag"]
pub mod udmfn;
#[doc = "USB Endpoint Interrupt"]
pub struct UEINTX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Interrupt"]
pub mod ueintx;
#[doc = "USB Endpoint Number"]
pub struct UENUM {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Number"]
pub mod uenum;
#[doc = "USB Endpoint Reset"]
pub struct UERST {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Reset"]
pub mod uerst;
#[doc = "USB Endpoint Control"]
pub struct UECONX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Control"]
pub mod ueconx;
#[doc = "USB Endpoint Configuration 0"]
pub struct UECFG0X {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Configuration 0"]
pub mod uecfg0x;
#[doc = "USB Endpoint Configuration 1"]
pub struct UECFG1X {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Configuration 1"]
pub mod uecfg1x;
#[doc = "USB Endpoint Status 0"]
pub struct UESTA0X {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Status 0"]
pub mod uesta0x;
#[doc = "USB Endpoint Status 1"]
pub struct UESTA1X {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Status 1"]
pub mod uesta1x;
#[doc = "USB Endpoint Interrupt Enable"]
pub struct UEIENX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Interrupt Enable"]
pub mod ueienx;
#[doc = "USB Endpoint Data"]
pub struct UEDATX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Data"]
pub mod uedatx;
#[doc = "USB Endpoint Byte Count Low"]
pub struct UEBCLX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Byte Count Low"]
pub mod uebclx;
#[doc = "USB Endpoint Byte Count High"]
pub struct UEBCHX {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Byte Count High"]
pub mod uebchx;
#[doc = "USB Endpoint Interrupts"]
pub struct UEINT {
    register: ::vcell::VolatileCell<u8>,
}
#[doc = "USB Endpoint Interrupts"]
pub mod ueint;