ASoC: rt5677: Add the MICBIAS VDD setting in the platform data
authorOder Chiou <oder_chiou@realtek.com>
Thu, 8 Jan 2015 02:31:06 +0000 (10:31 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 8 Jan 2015 18:36:02 +0000 (18:36 +0000)
The patch adds the MICBIAS VDD setting in the platform data. It can be set to
1V8 or 3V3 in the MICBIAS VDD.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/rt5677.h
sound/soc/codecs/rt5677.c

index d9eb7d8..a620704 100644 (file)
@@ -37,6 +37,9 @@ struct rt5677_platform_data {
                OFF, GPIO4, GPIO5 and GPIO6 respectively */
        unsigned int jd2_gpio;
        unsigned int jd3_gpio;
+
+       /* Set MICBIAS1 VDD 1v8 or 3v3 */
+       bool micbias1_vdd_3v3;
 };
 
 #endif
index cf39fe6..3b32c3e 100644 (file)
@@ -4912,6 +4912,11 @@ static int rt5677_i2c_probe(struct i2c_client *i2c,
                                        RT5677_GPIO5_DIR_OUT);
        }
 
+       if (rt5677->pdata.micbias1_vdd_3v3)
+               regmap_update_bits(rt5677->regmap, RT5677_MICBIAS,
+                       RT5677_MICBIAS1_CTRL_VDD_MASK,
+                       RT5677_MICBIAS1_CTRL_VDD_3_3V);
+
        rt5677_init_gpio(i2c);
        rt5677_init_irq(i2c);