Lines Matching +full:clock +full:- +full:falling +full:- +full:edge
1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-dai.h -- ALSA SoC Layer
5 * Copyright: 2005-2008 Wolfson Microelectronics. PLC.
40 * DAI Clock gating.
45 #define SND_SOC_DAIFMT_CONT (1 << 4) /* continuous clock */
46 #define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */
55 * - "normal" polarity means signal is available at rising edge of BCLK
56 * - "inverted" polarity means signal is available at falling edge of BCLK
59 * - I2S: frame consists of left then right channel data. Left channel starts
60 * with falling FSYNC edge, right channel starts with rising FSYNC edge.
61 * - Left/Right Justified: frame consists of left then right channel data.
62 * Left channel starts with rising FSYNC edge, right channel starts with
63 * falling FSYNC edge.
64 * - DSP A/B: Frame starts with rising FSYNC edge.
65 * - AC97: Frame starts with rising FSYNC edge.
69 #define SND_SOC_DAIFMT_NB_NF (0 << 8) /* normal bit clock + frame */
75 * DAI hardware clock masters.
92 * Master Clock Directions
175 snd_soc_dai_action(dai, stream, -1); in snd_soc_dai_deactivate()
247 * DAI digital mute - optional.
248 * Called by soc-core to minimise any pops.
253 * ALSA PCM audio operations - all optional.
254 * Called by soc-core during audio PCM operations.
349 /* probe ordering - for components with runtime dependencies */
377 /* Symmetry data - only valid if symmetry is being enforced */
402 &dai->driver->playback : &dai->driver->capture; in snd_soc_dai_get_pcm_stream()
410 dai->playback_widget : dai->capture_widget; in snd_soc_dai_get_widget()
416 return (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) ? in snd_soc_dai_get_dma_data()
417 dai->playback_dma_data : dai->capture_dma_data; in snd_soc_dai_get_dma_data()
424 if (ss->stream == SNDRV_PCM_STREAM_PLAYBACK) in snd_soc_dai_set_dma_data()
425 dai->playback_dma_data = data; in snd_soc_dai_set_dma_data()
427 dai->capture_dma_data = data; in snd_soc_dai_set_dma_data()
433 dai->playback_dma_data = playback; in snd_soc_dai_init_dma_data()
434 dai->capture_dma_data = capture; in snd_soc_dai_init_dma_data()
440 dev_set_drvdata(dai->dev, data); in snd_soc_dai_set_drvdata()
445 return dev_get_drvdata(dai->dev); in snd_soc_dai_get_drvdata()
449 * snd_soc_dai_set_stream() - Configures a DAI for stream operation
463 if (dai->driver->ops->set_stream) in snd_soc_dai_set_stream()
464 return dai->driver->ops->set_stream(dai, stream, direction); in snd_soc_dai_set_stream()
466 return -ENOTSUPP; in snd_soc_dai_set_stream()
470 * snd_soc_dai_get_stream() - Retrieves stream from DAI
478 * ERR_PTR(-ENOTSUPP) if callback is not supported;
483 if (dai->driver->ops->get_stream) in snd_soc_dai_get_stream()
484 return dai->driver->ops->get_stream(dai, direction); in snd_soc_dai_get_stream()
486 return ERR_PTR(-ENOTSUPP); in snd_soc_dai_get_stream()
492 return dai->stream_active[stream]; in snd_soc_dai_stream_active()