Merge remote-tracking branches 'asoc/fix/adsp', 'asoc/fix/arizona', 'asoc/fix/atmel...
authorMark Brown <broonie@linaro.org>
Thu, 19 Dec 2013 10:25:27 +0000 (10:25 +0000)
committerMark Brown <broonie@linaro.org>
Thu, 19 Dec 2013 10:25:27 +0000 (10:25 +0000)
1  2  3  4  5  6  7  8  9 
sound/soc/codecs/wm5110.c
sound/soc/fsl/imx-wm8962.c

index 99b359e19d35f46a3c95946d976b294300c6ea70,c3c7396a618115d06171bb87314b363cc8ac9f6d,b3d0b284cca19d50229d004ebc315ae7aa8ec0ab,c3c7396a618115d06171bb87314b363cc8ac9f6d,8c91be5d67e3c51d87166c03c6b2855c4e22ad16,99b359e19d35f46a3c95946d976b294300c6ea70,c3c7396a618115d06171bb87314b363cc8ac9f6d,c3c7396a618115d06171bb87314b363cc8ac9f6d,c3c7396a618115d06171bb87314b363cc8ac9f6d..0ab2dc296474373e1e407abf0762afeeffead4c6
@@@@@@@@@@ -37,47 -37,47 -37,47 -37,47 -37,6 -37,47 -37,47 -37,47 -37,47 +37,47 @@@@@@@@@@ struct wm5110_priv 
                struct arizona_fll fll[2];
         };
         
    +    static const struct reg_default wm5110_sysclk_revd_patch[] = {
    +           { 0x3093, 0x1001 },
    +           { 0x30E3, 0x1301 },
    +           { 0x3133, 0x1201 },
    +           { 0x3183, 0x1501 },
    +           { 0x31D3, 0x1401 },
    +    };
    +    
    +    static int wm5110_sysclk_ev(struct snd_soc_dapm_widget *w,
    +                               struct snd_kcontrol *kcontrol, int event)
    +    {
    +           struct snd_soc_codec *codec = w->codec;
    +           struct arizona *arizona = dev_get_drvdata(codec->dev->parent);
    +           struct regmap *regmap = codec->control_data;
    +           const struct reg_default *patch = NULL;
    +           int i, patch_size;
    +    
    +           switch (arizona->rev) {
    +           case 3:
    +                   patch = wm5110_sysclk_revd_patch;
    +                   patch_size = ARRAY_SIZE(wm5110_sysclk_revd_patch);
    +                   break;
    +           default:
    +                   return 0;
    +           }
    +    
    +           switch (event) {
    +           case SND_SOC_DAPM_POST_PMU:
    +                   if (patch)
    +                           for (i = 0; i < patch_size; i++)
    +                                   regmap_write(regmap, patch[i].reg,
    +                                                patch[i].def);
    +                   break;
    +    
    +           default:
    +                   break;
    +           }
    +    
    +           return 0;
    +    }
    +    
         static DECLARE_TLV_DB_SCALE(ana_tlv, 0, 100, 0);
         static DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0);
         static DECLARE_TLV_DB_SCALE(digital_tlv, -6400, 50, 0);
@@@@@@@@@@ -142,13 -142,13 -142,13 -142,13 -101,13 -142,13 -142,13 -142,13 -142,13 +142,13 @@@@@@@@@@ ARIZONA_MIXER_CONTROLS("EQ2", ARIZONA_E
         ARIZONA_MIXER_CONTROLS("EQ3", ARIZONA_EQ3MIX_INPUT_1_SOURCE),
         ARIZONA_MIXER_CONTROLS("EQ4", ARIZONA_EQ4MIX_INPUT_1_SOURCE),
         
    -    SND_SOC_BYTES_MASK("EQ1 Coefficeints", ARIZONA_EQ1_1, 21,
    +    SND_SOC_BYTES_MASK("EQ1 Coefficients", ARIZONA_EQ1_1, 21,
                           ARIZONA_EQ1_ENA_MASK),
    -    SND_SOC_BYTES_MASK("EQ2 Coefficeints", ARIZONA_EQ2_1, 21,
    +    SND_SOC_BYTES_MASK("EQ2 Coefficients", ARIZONA_EQ2_1, 21,
                           ARIZONA_EQ2_ENA_MASK),
    -    SND_SOC_BYTES_MASK("EQ3 Coefficeints", ARIZONA_EQ3_1, 21,
    +    SND_SOC_BYTES_MASK("EQ3 Coefficients", ARIZONA_EQ3_1, 21,
                           ARIZONA_EQ3_ENA_MASK),
    -    SND_SOC_BYTES_MASK("EQ4 Coefficeints", ARIZONA_EQ4_1, 21,
    +    SND_SOC_BYTES_MASK("EQ4 Coefficients", ARIZONA_EQ4_1, 21,
                           ARIZONA_EQ4_ENA_MASK),
         
         SOC_SINGLE_TLV("EQ1 B1 Volume", ARIZONA_EQ1_1, ARIZONA_EQ1_B1_GAIN_SHIFT,
@@@@@@@@@@ -248,6 -248,19 -248,19 -248,19 -207,19 -248,6 -248,19 -248,19 -248,19 +248,6 @@@@@@@@@@ ARIZONA_MIXER_CONTROLS("SPKDAT1R", ARIZ
         ARIZONA_MIXER_CONTROLS("SPKDAT2L", ARIZONA_OUT6LMIX_INPUT_1_SOURCE),
         ARIZONA_MIXER_CONTROLS("SPKDAT2R", ARIZONA_OUT6RMIX_INPUT_1_SOURCE),
         
 ---- ---SOC_SINGLE("HPOUT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_1L,
 ---- ---          ARIZONA_OUT1_OSR_SHIFT, 1, 0),
 ---- ---SOC_SINGLE("HPOUT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_2L,
 ---- ---          ARIZONA_OUT2_OSR_SHIFT, 1, 0),
 ---- ---SOC_SINGLE("HPOUT3 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_3L,
 ---- ---          ARIZONA_OUT3_OSR_SHIFT, 1, 0),
 ---- ---SOC_SINGLE("Speaker High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_4L,
 ---- ---          ARIZONA_OUT4_OSR_SHIFT, 1, 0),
 ---- ---SOC_SINGLE("SPKDAT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_5L,
 ---- ---          ARIZONA_OUT5_OSR_SHIFT, 1, 0),
 ---- ---SOC_SINGLE("SPKDAT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_6L,
 ---- ---          ARIZONA_OUT6_OSR_SHIFT, 1, 0),
 ---- ---
         SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L,
                     ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1),
         SOC_DOUBLE_R("HPOUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L,
@@@@@@@@@@ -280,6 -293,18 -293,18 -293,18 -252,18 -280,6 -293,18 -293,18 -293,18 +280,6 @@@@@@@@@@ SOC_DOUBLE_R_TLV("SPKDAT2 Digital Volum
                         ARIZONA_DAC_DIGITAL_VOLUME_6R, ARIZONA_OUT6L_VOL_SHIFT,
                         0xbf, 0, digital_tlv),
         
 ---- ---SOC_DOUBLE_R_RANGE_TLV("HPOUT1 Volume", ARIZONA_OUTPUT_PATH_CONFIG_1L,
 ---- ---                      ARIZONA_OUTPUT_PATH_CONFIG_1R,
 ---- ---                      ARIZONA_OUT1L_PGA_VOL_SHIFT,
 ---- ---                      0x34, 0x40, 0, ana_tlv),
 ---- ---SOC_DOUBLE_R_RANGE_TLV("HPOUT2 Volume", ARIZONA_OUTPUT_PATH_CONFIG_2L,
 ---- ---                      ARIZONA_OUTPUT_PATH_CONFIG_2R,
 ---- ---                      ARIZONA_OUT2L_PGA_VOL_SHIFT,
 ---- ---                      0x34, 0x40, 0, ana_tlv),
 ---- ---SOC_DOUBLE_R_RANGE_TLV("HPOUT3 Volume", ARIZONA_OUTPUT_PATH_CONFIG_3L,
 ---- ---                      ARIZONA_OUTPUT_PATH_CONFIG_3R,
 ---- ---                      ARIZONA_OUT3L_PGA_VOL_SHIFT, 0x34, 0x40, 0, ana_tlv),
 ---- ---
         SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT,
                   ARIZONA_SPK1R_MUTE_SHIFT, 1, 1),
         SOC_DOUBLE("SPKDAT2 Switch", ARIZONA_PDM_SPK2_CTRL_1, ARIZONA_SPK2L_MUTE_SHIFT,
@@@@@@@@@@ -416,7 -441,7 -441,7 -441,7 -400,7 -416,7 -441,7 -441,7 -441,7 +416,7 @@@@@@@@@@ static const struct snd_kcontrol_new wm
         
         static const struct snd_soc_dapm_widget wm5110_dapm_widgets[] = {
         SND_SOC_DAPM_SUPPLY("SYSCLK", ARIZONA_SYSTEM_CLOCK_1, ARIZONA_SYSCLK_ENA_SHIFT,
    -                       0, NULL, 0),
    +                       0, wm5110_sysclk_ev, SND_SOC_DAPM_POST_PMU),
         SND_SOC_DAPM_SUPPLY("ASYNCCLK", ARIZONA_ASYNC_CLOCK_1,
                            ARIZONA_ASYNC_CLK_ENA_SHIFT, 0, NULL, 0),
         SND_SOC_DAPM_SUPPLY("OPCLK", ARIZONA_OUTPUT_SYSTEM_CLOCK,
@@@@@@@@@@ -1012,7 -1037,7 -1037,7 -1037,7 -996,7 -1012,7 -1037,7 -1037,7 -1037,7 +1012,7 @@@@@@@@@@ static const struct snd_soc_dapm_route 
                { "AEC Loopback", "HPOUT3L", "OUT3L" },
                { "AEC Loopback", "HPOUT3R", "OUT3R" },
                { "HPOUT3L", NULL, "OUT3L" },
-- ------       { "HPOUT3R", NULL, "OUT3L" },
++ ++++++       { "HPOUT3R", NULL, "OUT3R" },
         
                { "AEC Loopback", "SPKOUTL", "OUT4L" },
                { "SPKOUTLN", NULL, "OUT4L" },
index 61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,72718e19a3c76855ec66e9ff02dc9c5dcb4067d6,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145,61e48852b9e8bd21b26eec98cca4fc9ba0eea145..3fd76bc391de19a2431dd320d0abfbdcd9616cf5
@@@@@@@@@@ -130,8 -130,8 -130,8 -130,8 -130,6 -130,8 -130,8 -130,8 -130,8 +130,6 @@@@@@@@@@ static int imx_wm8962_set_bias_level(st
                        break;
                }
         
---- ----       dapm->bias_level = level;
---- ----
                return 0;
         }
         
@@@@@@@@@@ -215,7 -215,7 -215,7 -215,7 -213,7 -215,7 -215,7 -215,7 -215,7 +213,7 @@@@@@@@@@ static int imx_wm8962_probe(struct plat
                        goto fail;
                }
                codec_dev = of_find_i2c_device_by_node(codec_np);
    -           if (!codec_dev || !codec_dev->driver) {
    +           if (!codec_dev || !codec_dev->dev.driver) {
                        dev_err(&pdev->dev, "failed to find codec platform device\n");
                        ret = -EINVAL;
                        goto fail;
                return 0;
         
         clk_fail:
    -           if (!IS_ERR(data->codec_clk))
    -                   clk_disable_unprepare(data->codec_clk);
    +           clk_disable_unprepare(data->codec_clk);
         fail:
                if (ssi_np)
                        of_node_put(ssi_np);