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;