Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
udc_data Struct Reference

Common UDC driver data structure. More...

#include <zephyr/drivers/usb/udc.h>

Data Fields

struct udc_ep_configep_lut [32]
 LUT for endpoint management.
struct udc_device_caps caps
 Controller capabilities.
struct k_mutex mutex
 Driver access mutex.
udc_event_cb_t event_cb
 Callback to submit an UDC event to higher layer.
const void * event_ctx
 Opaque pointer to store higher layer context.
atomic_t status
 USB device controller status.
void * priv
 Driver private data.
uint8_t setup [8]
 Last cached setup data (not necessarily last received setup data).
bool setup_pending
 Cached setup data is waiting for USB stack.
bool setup_valid
 Last cached setup data is valid (8 bytes, CRC OK).

Detailed Description

Common UDC driver data structure.

Mandatory structure for each UDC controller driver. To be implemented as device's private data (device->data).

Field Documentation

◆ caps

struct udc_device_caps udc_data::caps

Controller capabilities.

◆ ep_lut

struct udc_ep_config* udc_data::ep_lut[32]

LUT for endpoint management.

◆ event_cb

udc_event_cb_t udc_data::event_cb

Callback to submit an UDC event to higher layer.

◆ event_ctx

const void* udc_data::event_ctx

Opaque pointer to store higher layer context.

◆ mutex

struct k_mutex udc_data::mutex

Driver access mutex.

◆ priv

void* udc_data::priv

Driver private data.

◆ setup

uint8_t udc_data::setup[8]

Last cached setup data (not necessarily last received setup data).

◆ setup_pending

bool udc_data::setup_pending

Cached setup data is waiting for USB stack.

◆ setup_valid

bool udc_data::setup_valid

Last cached setup data is valid (8 bytes, CRC OK).

◆ status

atomic_t udc_data::status

USB device controller status.


The documentation for this struct was generated from the following file:
  • zephyr/drivers/usb/udc.h