185typedef volatile struct
192 uint32_t control_bulk_service_ratio : 2;
193 uint32_t periodic_list_enable : 1;
194 uint32_t isochronous_enable : 1;
195 uint32_t control_list_enable : 1;
196 uint32_t bulk_list_enable : 1;
197 uint32_t hc_functional_state : 2;
198 uint32_t interrupt_routing : 1;
199 uint32_t remote_wakeup_connected : 1;
200 uint32_t remote_wakeup_enale : 1;
201 uint32_t TU_RESERVED : 21;
206 uint32_t command_status;
208 uint32_t controller_reset : 1;
209 uint32_t control_list_filled : 1;
210 uint32_t bulk_list_filled : 1;
211 uint32_t ownership_change_request : 1;
213 uint32_t scheduling_overrun_count : 2;
217 uint32_t interrupt_status;
218 uint32_t interrupt_enable;
219 uint32_t interrupt_disable;
222 uint32_t period_current_ed;
223 uint32_t control_head_ed;
224 uint32_t control_current_ed;
225 uint32_t bulk_head_ed;
226 uint32_t bulk_current_ed;
229 uint32_t frame_interval;
230 uint32_t frame_remaining;
231 uint32_t frame_number;
232 uint32_t periodic_start;
233 uint32_t lowspeed_threshold;
236 uint32_t rh_descriptorA;
238 uint32_t number_downstream_ports : 8;
239 uint32_t power_switching_mode : 1;
240 uint32_t no_power_switching : 1;
241 uint32_t device_type : 1;
242 uint32_t overcurrent_protection_mode : 1;
243 uint32_t no_over_current_protection : 1;
244 uint32_t reserved : 11;
245 uint32_t power_on_to_good_time : 8;
246 } rh_descriptorA_bit;
250 uint32_t rh_descriptorB;
252 uint32_t device_removable : 16;
253 uint32_t port_power_control_mask : 16;
254 } rh_descriptorB_bit;
260 uint32_t local_power_status : 1;
261 uint32_t over_current_indicator : 1;
263 uint32_t device_remote_wakeup_enable : 1;
264 uint32_t local_power_status_change : 1;
265 uint32_t over_current_indicator_change : 1;
267 uint32_t clear_remote_wakeup_enable : 1;
272 uint32_t rhport_status[TUP_OHCI_RHPORTS];
274 uint32_t current_connect_status : 1;
275 uint32_t port_enable_status : 1;
276 uint32_t port_suspend_status : 1;
277 uint32_t port_over_current_indicator : 1;
278 uint32_t port_reset_status : 1;
280 uint32_t port_power_status : 1;
281 uint32_t low_speed_device_attached : 1;
283 uint32_t connect_status_change : 1;
284 uint32_t port_enable_status_change : 1;
285 uint32_t port_suspend_status_change : 1;
286 uint32_t port_over_current_indicator_change : 1;
287 uint32_t port_reset_status_change : 1;
288 uint32_t TU_RESERVED : 11;
289 }rhport_status_bit[TUP_OHCI_RHPORTS];