summaryrefslogtreecommitdiffstats
path: root/Documentation/sound/alsa
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2016-11-11 16:55:29 +0100
committerTakashi Iwai <tiwai@suse.de>2016-11-11 17:35:10 +0100
commitc6ab9e57e84ee015bb9c5de213d9f85e5fd4e085 (patch)
treeadcc13f5864783da1342be5be836447a75d03b54 /Documentation/sound/alsa
parent76228a2b541daebcc8f6d5d7dd65bdea90d173f1 (diff)
downloadtalos-obmc-linux-c6ab9e57e84ee015bb9c5de213d9f85e5fd4e085.tar.gz
talos-obmc-linux-c6ab9e57e84ee015bb9c5de213d9f85e5fd4e085.zip
ASoC: doc: ReSTize codec_to_codec.txt
Yet another simple conversion from a plain text file. Renamed to codec-to-codec.rst to align with others. Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'Documentation/sound/alsa')
-rw-r--r--Documentation/sound/alsa/soc/codec_to_codec.txt103
1 files changed, 0 insertions, 103 deletions
diff --git a/Documentation/sound/alsa/soc/codec_to_codec.txt b/Documentation/sound/alsa/soc/codec_to_codec.txt
deleted file mode 100644
index 704a6483652c..000000000000
--- a/Documentation/sound/alsa/soc/codec_to_codec.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-Creating codec to codec dai link for ALSA dapm
-===================================================
-
-Mostly the flow of audio is always from CPU to codec so your system
-will look as below:
-
- --------- ---------
-| | dai | |
- CPU -------> codec
-| | | |
- --------- ---------
-
-In case your system looks as below:
- ---------
- | |
- codec-2
- | |
- ---------
- |
- dai-2
- |
- ---------- ---------
-| | dai-1 | |
- CPU -------> codec-1
-| | | |
- ---------- ---------
- |
- dai-3
- |
- ---------
- | |
- codec-3
- | |
- ---------
-
-Suppose codec-2 is a bluetooth chip and codec-3 is connected to
-a speaker and you have a below scenario:
-codec-2 will receive the audio data and the user wants to play that
-audio through codec-3 without involving the CPU.This
-aforementioned case is the ideal case when codec to codec
-connection should be used.
-
-Your dai_link should appear as below in your machine
-file:
-
-/*
- * this pcm stream only supports 24 bit, 2 channel and
- * 48k sampling rate.
- */
-static const struct snd_soc_pcm_stream dsp_codec_params = {
- .formats = SNDRV_PCM_FMTBIT_S24_LE,
- .rate_min = 48000,
- .rate_max = 48000,
- .channels_min = 2,
- .channels_max = 2,
-};
-
-{
- .name = "CPU-DSP",
- .stream_name = "CPU-DSP",
- .cpu_dai_name = "samsung-i2s.0",
- .codec_name = "codec-2,
- .codec_dai_name = "codec-2-dai_name",
- .platform_name = "samsung-i2s.0",
- .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
- | SND_SOC_DAIFMT_CBM_CFM,
- .ignore_suspend = 1,
- .params = &dsp_codec_params,
-},
-{
- .name = "DSP-CODEC",
- .stream_name = "DSP-CODEC",
- .cpu_dai_name = "wm0010-sdi2",
- .codec_name = "codec-3,
- .codec_dai_name = "codec-3-dai_name",
- .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
- | SND_SOC_DAIFMT_CBM_CFM,
- .ignore_suspend = 1,
- .params = &dsp_codec_params,
-},
-
-Above code snippet is motivated from sound/soc/samsung/speyside.c.
-
-Note the "params" callback which lets the dapm know that this
-dai_link is a codec to codec connection.
-
-In dapm core a route is created between cpu_dai playback widget
-and codec_dai capture widget for playback path and vice-versa is
-true for capture path. In order for this aforementioned route to get
-triggered, DAPM needs to find a valid endpoint which could be either
-a sink or source widget corresponding to playback and capture path
-respectively.
-
-In order to trigger this dai_link widget, a thin codec driver for
-the speaker amp can be created as demonstrated in wm8727.c file, it
-sets appropriate constraints for the device even if it needs no control.
-
-Make sure to name your corresponding cpu and codec playback and capture
-dai names ending with "Playback" and "Capture" respectively as dapm core
-will link and power those dais based on the name.
-
-Note that in current device tree there is no way to mark a dai_link
-as codec to codec. However, it may change in future.
OpenPOWER on IntegriCloud