43 DCD_EVENT_INVALID = 0,
49 DCD_EVENT_SETUP_RECEIVED,
50 DCD_EVENT_XFER_COMPLETE,
174#ifdef TUP_DCD_EDPT_ISO_ALLOC
177bool dcd_edpt_iso_alloc(uint8_t rhport, uint8_t ep_addr, uint16_t largest_packet_size);
198 event.rhport = rhport;
199 event.event_id = eid;
206 event.rhport = rhport;
207 event.event_id = DCD_EVENT_BUS_RESET;
208 event.bus_reset.speed = speed;
215 event.rhport = rhport;
216 event.event_id = DCD_EVENT_SETUP_RECEIVED;
224 event.rhport = rhport;
225 event.event_id = DCD_EVENT_XFER_COMPLETE;
226 event.xfer_complete.ep_addr = ep_addr;
227 event.xfer_complete.len = xferred_bytes;
228 event.xfer_complete.result = result;
232TU_ATTR_ALWAYS_INLINE
static inline void dcd_event_sof(uint8_t rhport, uint32_t frame_count,
bool in_isr) {
234 event.rhport = rhport;
235 event.event_id = DCD_EVENT_SOF;
236 event.sof.frame_count = frame_count;
bool dcd_edpt_iso_activate(uint8_t rhport, tusb_desc_endpoint_t const *desc_ep)
static TU_ATTR_ALWAYS_INLINE void dcd_event_bus_signal(uint8_t rhport, dcd_eventid_t eid, bool in_isr)
static TU_ATTR_ALWAYS_INLINE void dcd_event_xfer_complete(uint8_t rhport, uint8_t ep_addr, uint32_t xferred_bytes, uint8_t result, bool in_isr)
bool dcd_edpt_xfer_fifo(uint8_t rhport, uint8_t ep_addr, tu_fifo_t *ff, uint16_t total_bytes) TU_ATTR_WEAK
void dcd_edpt_stall(uint8_t rhport, uint8_t ep_addr)
static TU_ATTR_ALWAYS_INLINE void dcd_event_sof(uint8_t rhport, uint32_t frame_count, bool in_isr)
void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr)
void dcd_enter_test_mode(uint8_t rhport, tusb_feature_test_mode_t test_selector)
void dcd_int_handler(uint8_t rhport)
void dcd_dcache_invalidate(void const *addr, uint32_t data_size) TU_ATTR_WEAK
void dcd_disconnect(uint8_t rhport)
void dcd_dcache_clean_invalidate(void const *addr, uint32_t data_size) TU_ATTR_WEAK
void dcd_dcache_clean(void const *addr, uint32_t data_size) TU_ATTR_WEAK
void dcd_edpt_close_all(uint8_t rhport)
static TU_ATTR_ALWAYS_INLINE void dcd_event_setup_received(uint8_t rhport, uint8_t const *setup, bool in_isr)
void dcd_int_disable(uint8_t rhport)
void dcd_edpt_clear_stall(uint8_t rhport, uint8_t ep_addr)
void dcd_connect(uint8_t rhport)
bool dcd_deinit(uint8_t rhport)
bool dcd_edpt_xfer(uint8_t rhport, uint8_t ep_addr, uint8_t *buffer, uint16_t total_bytes)
void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const *request)
void dcd_event_handler(dcd_event_t const *event, bool in_isr)
void dcd_set_address(uint8_t rhport, uint8_t dev_addr)
static TU_ATTR_ALWAYS_INLINE void dcd_event_bus_reset(uint8_t rhport, tusb_speed_t speed, bool in_isr)
bool dcd_init(uint8_t rhport, const tusb_rhport_init_t *rh_init)
bool dcd_edpt_iso_alloc(uint8_t rhport, uint8_t ep_addr, uint16_t largest_packet_size)
struct TU_ATTR_ALIGNED(4)
void dcd_int_enable(uint8_t rhport)
void dcd_remote_wakeup(uint8_t rhport)
void dcd_sof_enable(uint8_t rhport, bool en)
bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const *desc_ep)
static void xfer_complete(xfer_ctl_t *xfer, uint8_t result, bool in_isr)
static void * memcpy(void *dst, const void *src, size_t n)
AUDIO Channel Cluster Descriptor (4.1)
tusb_speed_t
defined base on EHCI specs value for Endpoint Speed
CFG_TUH_MEM_ALIGN tusb_control_request_t request