diff options
Diffstat (limited to 'common/usb_hc.h')
| -rw-r--r-- | common/usb_hc.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/common/usb_hc.h b/common/usb_hc.h index aa411eef..f24c337e 100644 --- a/common/usb_hc.h +++ b/common/usb_hc.h @@ -59,6 +59,23 @@ struct usbh_urb { }; /** + * @brief USB host controller driver. + * + * Structure containing the USB host controller driver. + */ +struct usbh_hc_driver { + const char *driver_name; + const char *driver_desc; + int (*init)(struct usbh_bus *bus); + int (*deinit)(struct usbh_bus *bus); + uint16_t (*get_frame_number)(struct usbh_bus *bus); + int (*roothub_control)(struct usbh_bus *bus, struct usb_setup_packet *setup, uint8_t *buf); + int (*submit_urb)(struct usbh_urb *urb); + int (*kill_urb)(struct usbh_urb *urb); + void (*irq_handler)(uint8_t busid); +}; + +/** * @brief usb host controller hardware init. * * @return On success will return 0, and others indicate fail. |
