17#ifndef ZEPHYR_INCLUDE_USB_CLASS_USBD_UAC2_H_
18#define ZEPHYR_INCLUDE_USB_CLASS_USBD_UAC2_H_
34#define UAC2_ENTITY_ID(node) \
36 BUILD_ASSERT(DT_NODE_HAS_COMPAT(DT_PARENT(node), zephyr_uac2)); \
37 UTIL_INC(DT_NODE_CHILD_IDX(node)); \
65 bool enabled,
bool microframes,
95 void *buf,
uint16_t size,
void *user_data);
108 void *buf,
void *user_data);
136 const struct uac2_ops *ops,
void *user_data);
void usbd_uac2_set_ops(const struct device *dev, const struct uac2_ops *ops, void *user_data)
Register USB Audio 2 application callbacks.
int usbd_uac2_send(const struct device *dev, uint8_t terminal, void *data, uint16_t size)
Send audio data to output terminal.
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Runtime device structure (in ROM) per driver instance.
Definition: device.h:403
void * data
Address of the device instance private data.
Definition: device.h:413
USB Audio 2 application event handlers.
Definition: usbd_uac2.h:43
void(* sof_cb)(const struct device *dev, void *user_data)
Start of Frame callback.
Definition: usbd_uac2.h:52
void(* buf_release_cb)(const struct device *dev, uint8_t terminal, void *buf, void *user_data)
Transmit buffer release callback.
Definition: usbd_uac2.h:107
void(* data_recv_cb)(const struct device *dev, uint8_t terminal, void *buf, uint16_t size, void *user_data)
Data received.
Definition: usbd_uac2.h:94
uint32_t(* feedback_cb)(const struct device *dev, uint8_t terminal, void *user_data)
Get Explicit Feedback value.
Definition: usbd_uac2.h:124
void(* terminal_update_cb)(const struct device *dev, uint8_t terminal, bool enabled, bool microframes, void *user_data)
Terminal update callback.
Definition: usbd_uac2.h:64