Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
USB device controller APIs. More...
#include <zephyr/device.h>
Go to the source code of this file.
Data Structures | |
struct | usb_dc_ep_cfg_data |
USB Endpoint Configuration. More... | |
Typedefs | |
typedef void(* | usb_dc_ep_callback) (uint8_t ep, enum usb_dc_ep_cb_status_code cb_status) |
Callback function signature for the USB Endpoint status. | |
typedef void(* | usb_dc_status_callback) (enum usb_dc_status_code cb_status, const uint8_t *param) |
Callback function signature for the device. | |
Enumerations | |
enum | usb_dc_status_code { USB_DC_ERROR , USB_DC_RESET , USB_DC_CONNECTED , USB_DC_CONFIGURED , USB_DC_DISCONNECTED , USB_DC_SUSPEND , USB_DC_RESUME , USB_DC_INTERFACE , USB_DC_SET_HALT , USB_DC_CLEAR_HALT , USB_DC_SOF , USB_DC_UNKNOWN } |
USB Driver Status Codes. More... | |
enum | usb_dc_ep_cb_status_code { USB_DC_EP_SETUP , USB_DC_EP_DATA_OUT , USB_DC_EP_DATA_IN } |
USB Endpoint Callback Status Codes. More... | |
enum | usb_dc_ep_transfer_type { USB_DC_EP_CONTROL = 0 , USB_DC_EP_ISOCHRONOUS , USB_DC_EP_BULK , USB_DC_EP_INTERRUPT } |
USB Endpoint Transfer Type. More... | |
enum | usb_dc_ep_synchronozation_type { USB_DC_EP_NO_SYNCHRONIZATION = (0U << 2U) , USB_DC_EP_ASYNCHRONOUS = (1U << 2U) , USB_DC_EP_ADAPTIVE = (2U << 2U) , USB_DC_EP_SYNCHRONOUS = (3U << 2U) } |
USB Endpoint Synchronization Type. More... | |
Functions | |
int | usb_dc_attach (void) |
Attach USB for device connection. | |
int | usb_dc_detach (void) |
Detach the USB device. | |
int | usb_dc_reset (void) |
Reset the USB device. | |
int | usb_dc_set_address (const uint8_t addr) |
Set USB device address. | |
void | usb_dc_set_status_callback (const usb_dc_status_callback cb) |
Set USB device controller status callback. | |
int | usb_dc_ep_check_cap (const struct usb_dc_ep_cfg_data *const cfg) |
check endpoint capabilities | |
int | usb_dc_ep_configure (const struct usb_dc_ep_cfg_data *const cfg) |
Configure endpoint. | |
int | usb_dc_ep_set_stall (const uint8_t ep) |
Set stall condition for the selected endpoint. | |
int | usb_dc_ep_clear_stall (const uint8_t ep) |
Clear stall condition for the selected endpoint. | |
int | usb_dc_ep_is_stalled (const uint8_t ep, uint8_t *const stalled) |
Check if the selected endpoint is stalled. | |
int | usb_dc_ep_halt (const uint8_t ep) |
Halt the selected endpoint. | |
int | usb_dc_ep_enable (const uint8_t ep) |
Enable the selected endpoint. | |
int | usb_dc_ep_disable (const uint8_t ep) |
Disable the selected endpoint. | |
int | usb_dc_ep_flush (const uint8_t ep) |
Flush the selected endpoint. | |
int | usb_dc_ep_write (const uint8_t ep, const uint8_t *const data, const uint32_t data_len, uint32_t *const ret_bytes) |
Write data to the specified endpoint. | |
int | usb_dc_ep_read (const uint8_t ep, uint8_t *const data, const uint32_t max_data_len, uint32_t *const read_bytes) |
Read data from the specified endpoint. | |
int | usb_dc_ep_set_callback (const uint8_t ep, const usb_dc_ep_callback cb) |
Set callback function for the specified endpoint. | |
int | usb_dc_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_dc_ep_read_continue (uint8_t ep) |
Continue reading data from the endpoint. | |
int | usb_dc_ep_mps (uint8_t ep) |
Get endpoint max packet size. | |
int | usb_dc_wakeup_request (void) |
Start the host wake up procedure. | |
USB device controller APIs.
This file contains the USB device controller APIs. All device controller drivers should implement the APIs described in this file.