|
Files |
| file | hc.c |
| | OHCI Host controller driver routines.
|
| file | ohci_regs.h |
| | OHCI host controller register structure.
|
Data Structures |
| struct | ohci_regs |
| | OHCI memory mapped registers structure. More...
|
Defines |
|
#define | OHCI_USED_INTERRUPTS (I_SO | I_WDH | I_UE | I_RHSC) |
Typedefs |
|
typedef ohci_regs | ohci_regs_t |
| | OHCI memory mapped registers structure.
|
Functions |
| int | hc_add_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_speed_t speed, usb_transfer_type_t type, usb_direction_t direction, size_t mps, size_t size, unsigned interval) |
| | Create end register endpoint structures.
|
| static void | hc_gain_control (hc_t *instance) |
| | Turn off any (BIOS)driver that might be in control of the device.
|
| endpoint_t * | hc_get_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_direction_t direction, size_t *bw) |
| | Get access to endpoint structures.
|
| int | hc_init (hc_t *instance, uintptr_t regs, size_t reg_size, bool interrupts) |
| | Initialize OHCI hc driver structure.
|
| static int | hc_init_memory (hc_t *instance) |
| | Initialize memory structures used by the OHCI hcd.
|
| static int | hc_init_transfer_lists (hc_t *instance) |
| | Initialize schedule queues.
|
| void | hc_interrupt (hc_t *instance, uint32_t status) |
| | Interrupt handling routine.
|
| int | hc_register_hub (hc_t *instance, ddf_fun_t *hub_fun) |
| | Announce OHCI root hub to the DDF.
|
| int | hc_remove_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_direction_t direction) |
| | Dequeue and delete endpoint structures.
|
| int | hc_schedule (hc_t *instance, usb_transfer_batch_t *batch) |
| | Add USB transfer to the schedule.
|
| void | hc_start_hw (hc_t *instance) |
| | OHCI hw initialization routine.
|
| static int | interrupt_emulator (hc_t *instance) |
| | Check status register regularly.
|