|
| #define | USBD_DEVICE_DESCR_DEFINE(p) static __in_section(usb, descriptor_##p, 0) __used __aligned(1) |
| |
| #define | USBD_CLASS_DESCR_DEFINE(p, instance) static __in_section(usb, descriptor_##p.1, instance) __used __aligned(1) |
| |
| #define | USBD_MISC_DESCR_DEFINE(p) static __in_section(usb, descriptor_##p, 2) __used __aligned(1) |
| |
| #define | USBD_USER_DESCR_DEFINE(p) static __in_section(usb, descriptor_##p, 3) __used __aligned(1) |
| |
| #define | USBD_STRING_DESCR_DEFINE(p) static __in_section(usb, descriptor_##p, 4) __used __aligned(1) |
| |
| #define | USBD_STRING_DESCR_USER_DEFINE(p) static __in_section(usb, descriptor_##p, 5) __used __aligned(1) |
| |
| #define | USBD_TERM_DESCR_DEFINE(p) static __in_section(usb, descriptor_##p, 6) __used __aligned(1) |
| |
| #define | USBD_DEFINE_CFG_DATA(name) static STRUCT_SECTION_ITERABLE(usb_cfg_data, name) |
| |
| #define | USBD_CFG_DATA_DEFINE(p, name) |
| |
| #define | USB_MAX_CTRL_MPS 64 |
| | maximum packet size (MPS) for EP 0
|
| |
| #define | USB_MAX_FS_BULK_MPS 64 |
| | full speed MPS for bulk EP
|
| |
| #define | USB_MAX_FS_INT_MPS 64 |
| | full speed MPS for interrupt EP
|
| |
| #define | USB_MAX_FS_ISO_MPS 1023 |
| | full speed MPS for isochronous EP
|
| |
| #define | USB_TRANS_READ BIT(0) /** Read transfer flag */ |
| |
| #define | USB_TRANS_WRITE BIT(1) /** Write transfer flag */ |
| |
| #define | USB_TRANS_NO_ZLP BIT(2) /** No zero-length packet flag */ |
| |
| #define | USB_DEVICE_BOS_DESC_DEFINE_CAP static __in_section(usb, bos_desc_area, 1) __aligned(1) __used |
| | Helper macro to place the BOS compatibility descriptor in the right memory section.
|
| |
|
| int | usb_set_config (const uint8_t *usb_descriptor) |
| | Configure USB controller.
|
| |
| int | usb_deconfig (void) |
| | Deconfigure USB controller.
|
| |
| int | usb_enable (usb_dc_status_callback status_cb) |
| | Enable the USB subsystem and associated hardware.
|
| |
| int | usb_disable (void) |
| | Disable the USB device.
|
| |
| int | usb_write (uint8_t ep, const uint8_t *data, uint32_t data_len, uint32_t *bytes_ret) |
| | Write data to the specified endpoint.
|
| |
| int | usb_read (uint8_t ep, uint8_t *data, uint32_t max_data_len, uint32_t *ret_bytes) |
| | Read data from the specified endpoint.
|
| |
| int | usb_ep_set_stall (uint8_t ep) |
| | Set STALL condition on the specified endpoint.
|
| |
| int | usb_ep_clear_stall (uint8_t ep) |
| | Clears STALL condition on the specified endpoint.
|
| |
| int | usb_ep_read_wait (uint8_t ep, uint8_t *data, uint32_t max_data_len, uint32_t *read_bytes) |
| | Read data from the specified endpoint.
|
| |
| int | usb_ep_read_continue (uint8_t ep) |
| | Continue reading data from the endpoint.
|
| |
| void | usb_transfer_ep_callback (uint8_t ep, enum usb_dc_ep_cb_status_code) |
| | Transfer management endpoint callback.
|
| |
| int | usb_transfer (uint8_t ep, uint8_t *data, size_t dlen, unsigned int flags, usb_transfer_callback cb, void *priv) |
| | Start a transfer.
|
| |
| int | usb_transfer_sync (uint8_t ep, uint8_t *data, size_t dlen, unsigned int flags) |
| | Start a transfer and block-wait for completion.
|
| |
| void | usb_cancel_transfer (uint8_t ep) |
| | Cancel any ongoing transfer on the specified endpoint.
|
| |
| void | usb_cancel_transfers (void) |
| | Cancel all ongoing transfers.
|
| |
| bool | usb_transfer_is_busy (uint8_t ep) |
| | Check that transfer is ongoing for the endpoint.
|
| |
| int | usb_wakeup_request (void) |
| | Start the USB remote wakeup procedure.
|
| |
| bool | usb_get_remote_wakeup_status (void) |
| | Get status of the USB remote wakeup feature.
|
| |
| void | usb_bos_register_cap (void *hdr) |
| | Register BOS capability descriptor.
|
| |
USB device core layer APIs and structures.
This file contains the USB device core layer APIs and structures.