14#ifndef ZEPHYR_INCLUDE_USBH_H_
15#define ZEPHYR_INCLUDE_USBH_H_
48#define USBH_CONTROLLER_DEFINE(device_name, uhc_dev) \
49 static STRUCT_SECTION_ITERABLE(usbh_contex, device_name) = { \
50 .name = STRINGIFY(device_name), \
51 .mutex = Z_MUTEX_INITIALIZER(device_name.mutex), \
107#define USBH_DEFINE_CLASS(name) \
108 static STRUCT_SECTION_ITERABLE(usbh_class_data, name)
Doubly-linked list implementation.
int usbh_shutdown(struct usbh_contex *const uhs_ctx)
Shutdown the USB host support.
int usbh_disable(struct usbh_contex *uhs_ctx)
Disable the USB host support.
int usbh_init(struct usbh_contex *uhs_ctx)
Initialize the USB host support;.
int usbh_enable(struct usbh_contex *uhs_ctx)
Enable the USB host support and class instances.
struct _dnode sys_dnode_t
Definition: dlist.h:49
struct _dnode sys_dlist_t
Definition: dlist.h:48
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
Definition: kernel.h:2764
Class Code.
Definition: usbh.h:70
uint8_t sub
Definition: usbh.h:74
uint8_t dclass
Definition: usbh.h:72
uint8_t reserved
Definition: usbh.h:78
uint8_t proto
Definition: usbh.h:76
USB host class data and class instance API.
Definition: usbh.h:84
int(* request)(struct usbh_contex *const uhs_ctx, struct uhc_transfer *const xfer, int err)
Definition: usbh.h:91
struct usbh_class_code code
Definition: usbh.h:86
int(* rwup)(struct usbh_contex *const uhs_ctx)
Definition: usbh.h:98
int(* connected)(struct usbh_contex *const uhs_ctx)
Definition: usbh.h:94
int(* resumed)(struct usbh_contex *const uhs_ctx)
Definition: usbh.h:102
int(* suspended)(struct usbh_contex *const uhs_ctx)
Definition: usbh.h:100
int(* removed)(struct usbh_contex *const uhs_ctx)
Definition: usbh.h:96
const struct device * dev
Definition: usbh.h:43
sys_dlist_t peripherals
Definition: usbh.h:45
const char * name
Definition: usbh.h:39
struct k_mutex mutex
Definition: usbh.h:41
USB host peripheral structure.
Definition: usbh.h:58
uint8_t speed
Definition: usbh.h:64
sys_dnode_t node
Definition: usbh.h:60
uint8_t addr
Definition: usbh.h:62
USB host controller (UHC) driver API.