14#ifndef ZEPHYR_INCLUDE_AUDIO_CODEC_H_ 
   15#define ZEPHYR_INCLUDE_AUDIO_CODEC_H_ 
  118struct audio_codec_api {
 
  119        int (*configure)(
const struct device *dev,
 
  121        void (*start_output)(
const struct device *dev);
 
  122        void (*stop_output)(
const struct device *dev);
 
  123        int (*set_property)(
const struct device *dev,
 
  127        int (*apply_properties)(
const struct device *dev);
 
  147        const struct audio_codec_api *api =
 
  148                (
const struct audio_codec_api *)dev->
api;
 
  150        return api->configure(dev, cfg);
 
  162        const struct audio_codec_api *api =
 
  163                (
const struct audio_codec_api *)dev->
api;
 
  165        api->start_output(dev);
 
  177        const struct audio_codec_api *api =
 
  178                (
const struct audio_codec_api *)dev->
api;
 
  180        api->stop_output(dev);
 
  200        const struct audio_codec_api *api =
 
  201                (
const struct audio_codec_api *)dev->
api;
 
  203        return api->set_property(dev, property, channel, val);
 
  219        const struct audio_codec_api *api =
 
  220                (
const struct audio_codec_api *)dev->
api;
 
  222        return api->apply_properties(dev);
 
static int audio_codec_configure(const struct device *dev, struct audio_codec_cfg *cfg)
Configure the audio codec.
Definition: codec.h:144
 
audio_dai_type_t
Definition: codec.h:58
 
static void audio_codec_start_output(const struct device *dev)
Set codec to start output audio playback.
Definition: codec.h:160
 
audio_pcm_width_t
Definition: codec.h:48
 
audio_property_t
Definition: codec.h:66
 
static int audio_codec_set_property(const struct device *dev, audio_property_t property, audio_channel_t channel, audio_property_value_t val)
Set a codec property defined by audio_property_t.
Definition: codec.h:195
 
static void audio_codec_stop_output(const struct device *dev)
Set codec to stop output audio playback.
Definition: codec.h:175
 
audio_pcm_rate_t
Definition: codec.h:34
 
audio_channel_t
Definition: codec.h:74
 
static int audio_codec_apply_properties(const struct device *dev)
Atomically apply any cached properties.
Definition: codec.h:217
 
@ AUDIO_DAI_TYPE_I2S
Definition: codec.h:59
 
@ AUDIO_DAI_TYPE_INVALID
Definition: codec.h:60
 
@ AUDIO_PCM_WIDTH_16_BITS
Definition: codec.h:49
 
@ AUDIO_PCM_WIDTH_32_BITS
Definition: codec.h:52
 
@ AUDIO_PCM_WIDTH_20_BITS
Definition: codec.h:50
 
@ AUDIO_PCM_WIDTH_24_BITS
Definition: codec.h:51
 
@ AUDIO_PROPERTY_OUTPUT_VOLUME
Definition: codec.h:67
 
@ AUDIO_PROPERTY_OUTPUT_MUTE
Definition: codec.h:68
 
@ AUDIO_PCM_RATE_32K
Definition: codec.h:38
 
@ AUDIO_PCM_RATE_192K
Definition: codec.h:42
 
@ AUDIO_PCM_RATE_8K
Definition: codec.h:35
 
@ AUDIO_PCM_RATE_48K
Definition: codec.h:40
 
@ AUDIO_PCM_RATE_44P1K
Definition: codec.h:39
 
@ AUDIO_PCM_RATE_96K
Definition: codec.h:41
 
@ AUDIO_PCM_RATE_16K
Definition: codec.h:36
 
@ AUDIO_PCM_RATE_24K
Definition: codec.h:37
 
@ AUDIO_CHANNEL_FRONT_LEFT
Definition: codec.h:75
 
@ AUDIO_CHANNEL_FRONT_RIGHT
Definition: codec.h:76
 
@ AUDIO_CHANNEL_ALL
Definition: codec.h:84
 
@ AUDIO_CHANNEL_REAR_RIGHT
Definition: codec.h:80
 
@ AUDIO_CHANNEL_REAR_LEFT
Definition: codec.h:79
 
@ AUDIO_CHANNEL_LFE
Definition: codec.h:77
 
@ AUDIO_CHANNEL_SIDE_RIGHT
Definition: codec.h:83
 
@ AUDIO_CHANNEL_FRONT_CENTER
Definition: codec.h:78
 
@ AUDIO_CHANNEL_SIDE_LEFT
Definition: codec.h:82
 
@ AUDIO_CHANNEL_REAR_CENTER
Definition: codec.h:81
 
Public APIs for the I2S (Inter-IC Sound) bus drivers.
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
audio_dai_type_t dai_type
Definition: codec.h:101
 
uint32_t mclk_freq
Definition: codec.h:100
 
audio_dai_cfg_t dai_cfg
Definition: codec.h:102
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384
 
Interface configuration options.
Definition: i2s.h:301
 
bool mute
Definition: codec.h:110
 
int vol
Definition: codec.h:109