Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dai_driver_api Struct Reference

Driver Operations DAI driver operations More...

#include <zephyr/drivers/dai.h>

Data Fields

int(* probe )(const struct device *dev)
  REQ Probe operation of DAI driver.
int(* remove )(const struct device *dev)
  REQ Remove operation of DAI driver.
int(* config_set )(const struct device *dev, const struct dai_config *cfg, const void *bespoke_cfg, size_t size)
  REQ Configure operation of a DAI driver.
int(* config_get )(const struct device *dev, struct dai_config *cfg, enum dai_dir dir)
  REQ Fetch configuration information of a DAI driver.
const struct dai_properties *(* get_properties )(const struct device *dev, enum dai_dir dir, int stream_id)
  OPT Fetch properties of a DAI driver.
int(* get_properties_copy )(const struct device *dev, enum dai_dir dir, int stream_id, struct dai_properties *dst)
  OPT Fetch properties of a DAI driver.
int(* trigger )(const struct device *dev, enum dai_dir dir, enum dai_trigger_cmd cmd)
  REQ Send a trigger command.
int(* ts_config )(const struct device *dev, struct dai_ts_cfg *cfg)
  OPT Configures timestamping in attached DAI.
int(* ts_start )(const struct device *dev, struct dai_ts_cfg *cfg)
  OPT Starts timestamping.
int(* ts_stop )(const struct device *dev, struct dai_ts_cfg *cfg)
  OPT Stops timestamping.
int(* ts_get )(const struct device *dev, struct dai_ts_cfg *cfg, struct dai_ts_data *tsd)
  OPT Gets timestamp.
int(* config_update )(const struct device *dev, const void *bespoke_cfg, size_t size)
  OPT Update DAI configuration at runtime.

Detailed Description

Driver Operations DAI driver operations

This is the driver API structure any DAI driver needs to define. It contains function pointers to the operations the driver implements, as well as any other driver-specific constant data.

Members marked with REQ MUST be set by the driver, whereas those marked with OPT are optional.

See also
DEVICE_DT_INST_DEFINE()
DEVICE_DT_DEFINE()
DEVICE_API()

Field Documentation

◆ config_get

int(* dai_driver_api::config_get) (const struct device *dev, struct dai_config *cfg, enum dai_dir dir)

REQ Fetch configuration information of a DAI driver.

◆ config_set

int(* dai_driver_api::config_set) (const struct device *dev, const struct dai_config *cfg, const void *bespoke_cfg, size_t size)

REQ Configure operation of a DAI driver.

◆ config_update

int(* dai_driver_api::config_update) (const struct device *dev, const void *bespoke_cfg, size_t size)

OPT Update DAI configuration at runtime.

◆ get_properties

const struct dai_properties *(* dai_driver_api::get_properties) (const struct device *dev, enum dai_dir dir, int stream_id)

OPT Fetch properties of a DAI driver.

◆ get_properties_copy

int(* dai_driver_api::get_properties_copy) (const struct device *dev, enum dai_dir dir, int stream_id, struct dai_properties *dst)

OPT Fetch properties of a DAI driver.

◆ probe

int(* dai_driver_api::probe) (const struct device *dev)

REQ Probe operation of DAI driver.

◆ remove

int(* dai_driver_api::remove) (const struct device *dev)

REQ Remove operation of DAI driver.

◆ trigger

int(* dai_driver_api::trigger) (const struct device *dev, enum dai_dir dir, enum dai_trigger_cmd cmd)

REQ Send a trigger command.

◆ ts_config

int(* dai_driver_api::ts_config) (const struct device *dev, struct dai_ts_cfg *cfg)

OPT Configures timestamping in attached DAI.

◆ ts_get

int(* dai_driver_api::ts_get) (const struct device *dev, struct dai_ts_cfg *cfg, struct dai_ts_data *tsd)

OPT Gets timestamp.

◆ ts_start

int(* dai_driver_api::ts_start) (const struct device *dev, struct dai_ts_cfg *cfg)

OPT Starts timestamping.

◆ ts_stop

int(* dai_driver_api::ts_stop) (const struct device *dev, struct dai_ts_cfg *cfg)

OPT Stops timestamping.


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