summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOder Chiou <oder_chiou@realtek.com>2015-01-08 10:31:06 +0800
committerMark Brown <broonie@kernel.org>2015-01-08 18:36:02 +0000
commit277880a356c10adcb43604f6ab9ec9b2d64db8b2 (patch)
treeb2ba380212e71c14a84b656f888a64e855910dd1
parent38d595e2e09ede17712b2d4909339e691fff3f85 (diff)
ASoC: rt5677: Add the MICBIAS VDD setting in the platform data
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>
-rw-r--r--include/sound/rt5677.h3
-rw-r--r--sound/soc/codecs/rt5677.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/include/sound/rt5677.h b/include/sound/rt5677.h
index d9eb7d861cd0..a6207043ac3c 100644
--- a/include/sound/rt5677.h
+++ b/include/sound/rt5677.h
@@ -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
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index cf39fe6d0601..3b32c3ecbe05 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -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);