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
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - This register contains the offset value towards the start of the operational register space and the version number of the IP block"] pub caplength_chipid: CAPLENGTH_CHIPID, #[doc = "0x04 - Host Controller Structural Parameters"] pub hcsparams: HCSPARAMS, #[doc = "0x08 - Host Controller Capability Parameters"] pub hccparams: HCCPARAMS, #[doc = "0x0c - Frame Length Adjustment"] pub fladj_frindex: FLADJ_FRINDEX, #[doc = "0x10 - Memory base address where ATL PTD0 is stored"] pub atl_ptd_base_addr: ATL_PTD_BASE_ADDR, #[doc = "0x14 - Memory base address where ISO PTD0 is stored"] pub iso_ptd_base_addr: ISO_PTD_BASE_ADDR, #[doc = "0x18 - Memory base address where INT PTD0 is stored"] pub int_ptd_base_addr: INT_PTD_BASE_ADDR, #[doc = "0x1c - Memory base address that indicates the start of the data payload buffers"] pub data_payload_base_addr: DATA_PAYLOAD_BASE_ADDR, #[doc = "0x20 - USB Command register"] pub usbcmd: USBCMD, #[doc = "0x24 - USB Interrupt Status register"] pub usbsts: USBSTS, #[doc = "0x28 - USB Interrupt Enable register"] pub usbintr: USBINTR, #[doc = "0x2c - Port Status and Control register"] pub portsc1: PORTSC1, #[doc = "0x30 - Done map for each ATL PTD"] pub atl_ptd_done_map: ATL_PTD_DONE_MAP, #[doc = "0x34 - Skip map for each ATL PTD"] pub atl_ptd_skip_map: ATL_PTD_SKIP_MAP, #[doc = "0x38 - Done map for each ISO PTD"] pub iso_ptd_done_map: ISO_PTD_DONE_MAP, #[doc = "0x3c - Skip map for each ISO PTD"] pub iso_ptd_skip_map: ISO_PTD_SKIP_MAP, #[doc = "0x40 - Done map for each INT PTD"] pub int_ptd_done_map: INT_PTD_DONE_MAP, #[doc = "0x44 - Skip map for each INT PTD"] pub int_ptd_skip_map: INT_PTD_SKIP_MAP, #[doc = "0x48 - Marks the last PTD in the list for ISO, INT and ATL"] pub last_ptd_inuse: LAST_PTD_INUSE, #[doc = "0x4c - Register to read/write registers in the attached USB PHY"] pub utmiplus_ulpi_debug: UTMIPLUS_ULPI_DEBUG, #[doc = "0x50 - Controls the port if it is attached to the host block or the device block"] pub portmode: PORTMODE, } #[doc = "This register contains the offset value towards the start of the operational register space and the version number of the IP block"] pub struct CAPLENGTH_CHIPID { register: ::vcell::VolatileCell<u32>, } #[doc = "This register contains the offset value towards the start of the operational register space and the version number of the IP block"] pub mod caplength_chipid; #[doc = "Host Controller Structural Parameters"] pub struct HCSPARAMS { register: ::vcell::VolatileCell<u32>, } #[doc = "Host Controller Structural Parameters"] pub mod hcsparams; #[doc = "Host Controller Capability Parameters"] pub struct HCCPARAMS { register: ::vcell::VolatileCell<u32>, } #[doc = "Host Controller Capability Parameters"] pub mod hccparams; #[doc = "Frame Length Adjustment"] pub struct FLADJ_FRINDEX { register: ::vcell::VolatileCell<u32>, } #[doc = "Frame Length Adjustment"] pub mod fladj_frindex; #[doc = "Memory base address where ATL PTD0 is stored"] pub struct ATL_PTD_BASE_ADDR { register: ::vcell::VolatileCell<u32>, } #[doc = "Memory base address where ATL PTD0 is stored"] pub mod atl_ptd_base_addr; #[doc = "Memory base address where ISO PTD0 is stored"] pub struct ISO_PTD_BASE_ADDR { register: ::vcell::VolatileCell<u32>, } #[doc = "Memory base address where ISO PTD0 is stored"] pub mod iso_ptd_base_addr; #[doc = "Memory base address where INT PTD0 is stored"] pub struct INT_PTD_BASE_ADDR { register: ::vcell::VolatileCell<u32>, } #[doc = "Memory base address where INT PTD0 is stored"] pub mod int_ptd_base_addr; #[doc = "Memory base address that indicates the start of the data payload buffers"] pub struct DATA_PAYLOAD_BASE_ADDR { register: ::vcell::VolatileCell<u32>, } #[doc = "Memory base address that indicates the start of the data payload buffers"] pub mod data_payload_base_addr; #[doc = "USB Command register"] pub struct USBCMD { register: ::vcell::VolatileCell<u32>, } #[doc = "USB Command register"] pub mod usbcmd; #[doc = "USB Interrupt Status register"] pub struct USBSTS { register: ::vcell::VolatileCell<u32>, } #[doc = "USB Interrupt Status register"] pub mod usbsts; #[doc = "USB Interrupt Enable register"] pub struct USBINTR { register: ::vcell::VolatileCell<u32>, } #[doc = "USB Interrupt Enable register"] pub mod usbintr; #[doc = "Port Status and Control register"] pub struct PORTSC1 { register: ::vcell::VolatileCell<u32>, } #[doc = "Port Status and Control register"] pub mod portsc1; #[doc = "Done map for each ATL PTD"] pub struct ATL_PTD_DONE_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Done map for each ATL PTD"] pub mod atl_ptd_done_map; #[doc = "Skip map for each ATL PTD"] pub struct ATL_PTD_SKIP_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Skip map for each ATL PTD"] pub mod atl_ptd_skip_map; #[doc = "Done map for each ISO PTD"] pub struct ISO_PTD_DONE_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Done map for each ISO PTD"] pub mod iso_ptd_done_map; #[doc = "Skip map for each ISO PTD"] pub struct ISO_PTD_SKIP_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Skip map for each ISO PTD"] pub mod iso_ptd_skip_map; #[doc = "Done map for each INT PTD"] pub struct INT_PTD_DONE_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Done map for each INT PTD"] pub mod int_ptd_done_map; #[doc = "Skip map for each INT PTD"] pub struct INT_PTD_SKIP_MAP { register: ::vcell::VolatileCell<u32>, } #[doc = "Skip map for each INT PTD"] pub mod int_ptd_skip_map; #[doc = "Marks the last PTD in the list for ISO, INT and ATL"] pub struct LAST_PTD_INUSE { register: ::vcell::VolatileCell<u32>, } #[doc = "Marks the last PTD in the list for ISO, INT and ATL"] pub mod last_ptd_inuse; #[doc = "Register to read/write registers in the attached USB PHY"] pub struct UTMIPLUS_ULPI_DEBUG { register: ::vcell::VolatileCell<u32>, } #[doc = "Register to read/write registers in the attached USB PHY"] pub mod utmiplus_ulpi_debug; #[doc = "Controls the port if it is attached to the host block or the device block"] pub struct PORTMODE { register: ::vcell::VolatileCell<u32>, } #[doc = "Controls the port if it is attached to the host block or the device block"] pub mod portmode;