ASoC: 88pm860x-codec - Allow independent use of both I2S playback and capture
authorBas Vermeulen <bas.vermeulen@novero.com>
Mon, 19 Sep 2011 10:57:09 +0000 (12:57 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 21 Sep 2011 14:52:28 +0000 (15:52 +0100)
Introduce a I2S CLK supply so playback and capture can operate independently.

Signed-off-by: Bas Vermeulen <bas.vermeulen@novero.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/88pm860x-codec.c

index 1924157..0198dbb 100644 (file)
@@ -772,11 +772,12 @@ static const struct snd_soc_dapm_widget pm860x_dapm_widgets[] = {
 
 
        SND_SOC_DAPM_AIF_IN("I2S DIN", "I2S Playback", 0,
-                           PM860X_DAC_EN_2, 0, 0),
+                           SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_IN("I2S DIN1", "I2S Playback", 0,
-                           PM860X_DAC_EN_2, 0, 0),
+                           SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_OUT("I2S DOUT", "I2S Capture", 0,
                             PM860X_I2S_IFACE_3, 5, 1),
+       SND_SOC_DAPM_SUPPLY("I2S CLK", PM860X_DAC_EN_2, 0, 0, NULL, 0),
        SND_SOC_DAPM_MUX("I2S Mic Mux", SND_SOC_NOPM, 0, 0, &i2s_mic_mux),
        SND_SOC_DAPM_MUX("ADC Left Mux", SND_SOC_NOPM, 0, 0, &adcl_mux),
        SND_SOC_DAPM_MUX("ADC Right Mux", SND_SOC_NOPM, 0, 0, &adcr_mux),
@@ -868,6 +869,11 @@ static const struct snd_soc_dapm_route audio_map[] = {
        {"Left ADC", NULL, "Left ADC MOD"},
        {"Right ADC", NULL, "Right ADC MOD"},
 
+       /* I2S Clock */
+       {"I2S DIN", NULL, "I2S CLK"},
+       {"I2S DIN1", NULL, "I2S CLK"},
+       {"I2S DOUT", NULL, "I2S CLK"},
+
        /* PCM/AIF1 Inputs */
        {"PCM SDO", NULL, "ADC Left Mux"},
        {"PCM SDO", NULL, "ADCR EC Mux"},