37#define HOST_HCD_XFER_INTERRUPT
38#define OHCI_PERIODIC_LIST (defined HOST_HCD_XFER_INTERRUPT || defined HOST_HCD_XFER_ISOCHRONOUS)
45#define ED_MAX (CFG_TUH_DEVICE_MAX*CFG_TUH_ENDPOINT_MAX)
55 uint32_t interrupt_table[32];
59 uint8_t reserved[116+4];
68 volatile uint32_t next;
78 uint32_t buffer_rounding : 1;
80 uint32_t delay_interrupt : 3;
81 volatile uint32_t data_toggle : 2;
82 volatile uint32_t error_count : 2;
83 volatile uint32_t condition_code : 4;
86 uint8_t*
volatile current_buffer_pointer;
89 volatile uint32_t next;
101 uint32_t ep_number : 4;
106 uint32_t max_packet_size : 11;
109 uint32_t is_interrupt_xfer : 1;
110 uint32_t is_stalled : 1;
135 uint32_t starting_frame : 16;
137 uint32_t delay_interrupt : 3;
138 uint32_t frame_count : 3;
140 volatile uint32_t condition_code : 4;
143 uint32_t buffer_page0;
146 volatile uint32_t next;
152 volatile uint16_t offset_packetstatus[8];
172 } control[CFG_TUH_DEVICE_MAX + CFG_TUH_HUB + 1];
182 volatile uint16_t frame_number_hi;
193typedef volatile struct
254 } rh_descriptorA_bit;
262 } rh_descriptorB_bit;
280 uint32_t rhport_status[TUP_OHCI_RHPORTS];
296 uint32_t TU_RESERVED : 11;
297 }rhport_status_bit[TUP_OHCI_RHPORTS];
TU_VERIFY_STATIC(ED_MAX<=256, "Reduce CFG_TUH_DEVICE_MAX or CFG_TUH_ENDPOINT_MAX")
struct TU_ATTR_ALIGNED(16)
volatile uint32_t done_head
volatile uint16_t frame_number
volatile uint16_t frame_pad
uint32_t number_downstream_ports
uint32_t periodic_list_enable
uint32_t port_suspend_status_change
uint32_t interrupt_disable
uint32_t no_over_current_protection
uint32_t port_enable_status
uint32_t port_reset_status_change
uint32_t control_bulk_service_ratio
uint32_t interrupt_enable
uint32_t port_enable_status_change
uint32_t interrupt_routing
uint32_t device_remote_wakeup_enable
uint32_t no_power_switching
uint32_t local_power_status
uint32_t port_over_current_indicator_change
uint32_t current_connect_status
uint32_t control_current_ed
uint32_t port_suspend_status
uint32_t port_power_status
uint32_t control_list_filled
uint32_t over_current_indicator_change
uint32_t port_over_current_indicator
uint32_t ownership_change_request
uint32_t control_list_enable
uint32_t bulk_list_enable
uint32_t low_speed_device_attached
uint32_t power_on_to_good_time
uint32_t clear_remote_wakeup_enable
uint32_t lowspeed_threshold
uint32_t isochronous_enable
uint32_t over_current_indicator
uint32_t port_power_control_mask
uint32_t scheduling_overrun_count
uint32_t connect_status_change
uint32_t device_removable
uint32_t period_current_ed
uint32_t remote_wakeup_enale
uint32_t bulk_list_filled
uint32_t local_power_status_change
uint32_t power_switching_mode
uint32_t overcurrent_protection_mode
uint32_t hc_functional_state
uint32_t interrupt_status
uint32_t controller_reset
uint32_t remote_wakeup_connected
uint32_t port_reset_status