Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
udc_api Struct Reference

UDC driver API This is the mandatory API any USB device controller driver needs to expose with exception of: device_speed(), test_mode() are only required for HS controllers. More...

#include <udc.h>

Data Fields

enum udc_bus_speed(* device_speed )(const struct device *dev)
 
int(* ep_enqueue )(const struct device *dev, struct udc_ep_config *const cfg, struct net_buf *const buf)
 
int(* ep_dequeue )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* ep_set_halt )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* ep_clear_halt )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* ep_try_config )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* ep_enable )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* ep_disable )(const struct device *dev, struct udc_ep_config *const cfg)
 
int(* host_wakeup )(const struct device *dev)
 
int(* set_address )(const struct device *dev, const uint8_t addr)
 
int(* test_mode )(const struct device *dev, const uint8_t mode, const bool dryrun)
 
int(* enable )(const struct device *dev)
 
int(* disable )(const struct device *dev)
 
int(* init )(const struct device *dev)
 
int(* shutdown )(const struct device *dev)
 
int(* lock )(const struct device *dev)
 
int(* unlock )(const struct device *dev)
 

Detailed Description

UDC driver API This is the mandatory API any USB device controller driver needs to expose with exception of: device_speed(), test_mode() are only required for HS controllers.

Field Documentation

◆ device_speed

enum udc_bus_speed(* udc_api::device_speed) (const struct device *dev)

◆ disable

int(* udc_api::disable) (const struct device *dev)

◆ enable

int(* udc_api::enable) (const struct device *dev)

◆ ep_clear_halt

int(* udc_api::ep_clear_halt) (const struct device *dev, struct udc_ep_config *const cfg)

◆ ep_dequeue

int(* udc_api::ep_dequeue) (const struct device *dev, struct udc_ep_config *const cfg)

◆ ep_disable

int(* udc_api::ep_disable) (const struct device *dev, struct udc_ep_config *const cfg)

◆ ep_enable

int(* udc_api::ep_enable) (const struct device *dev, struct udc_ep_config *const cfg)

◆ ep_enqueue

int(* udc_api::ep_enqueue) (const struct device *dev, struct udc_ep_config *const cfg, struct net_buf *const buf)

◆ ep_set_halt

int(* udc_api::ep_set_halt) (const struct device *dev, struct udc_ep_config *const cfg)

◆ ep_try_config

int(* udc_api::ep_try_config) (const struct device *dev, struct udc_ep_config *const cfg)

◆ host_wakeup

int(* udc_api::host_wakeup) (const struct device *dev)

◆ init

int(* udc_api::init) (const struct device *dev)

◆ lock

int(* udc_api::lock) (const struct device *dev)

◆ set_address

int(* udc_api::set_address) (const struct device *dev, const uint8_t addr)

◆ shutdown

int(* udc_api::shutdown) (const struct device *dev)

◆ test_mode

int(* udc_api::test_mode) (const struct device *dev, const uint8_t mode, const bool dryrun)

◆ unlock

int(* udc_api::unlock) (const struct device *dev)

The documentation for this struct was generated from the following file: