On Thu, Jan 24, 2013 at 15:43:03, Mark Brown wrote:
On Thu, Jan 24, 2013 at 10:06:42AM +0000, Hebbar, Gururaja wrote:
What I meant was that by using this macro (SND_SOC_DAPM_POST_PMU & SND_SOC_DAPM_PRE_PMD) I can just save and restore existing voltage values inside the event. They will not be user configurable (available to user through some widget).
Well, you *could* add separate register control for that
That’s what I am doing using a different register control
+static const char *mic_bias_level_txt[] = { "off", "2V", "2.5V", "AVDD" }; + +static const struct soc_enum mic_bias_level = +SOC_ENUM_SINGLE(MICBIAS_CTRL, 6, 4, mic_bias_level_txt); + static const struct snd_kcontrol_new aic3x_snd_controls[] = { /* Output */ SOC_DOUBLE_R_TLV("PCM Playback Volume", @@ -391,6 +396,9 @@ static const struct snd_kcontrol_new aic3x_snd_controls[] = { SOC_DOUBLE_R("PGA Capture Switch", LADC_VOL, RADC_VOL, 7, 0x01, 1), SOC_ENUM("ADC HPF Cut-off", aic3x_enum[ADC_HPF_ENUM]), + + /* Mic Bias Level */ + SOC_ENUM("Mic Bias Level", mic_bias_level),
but it's not really something that should obviously be exposed to users; usually that'd be something that is fixed by the platform via platform data.
Will look into this angle.
Going by the way of using extra register control, will my method (code change attached in prev mail) be sufficient?
Regards, Gururaja