[alsa-devel] [PATCH v2] ASoC: codecs: Add DA9055 codec driver
Ashish Chavan
ashish.chavan at kpitcummins.com
Thu Sep 20 13:58:55 CEST 2012
> > + /* DAC Routing control */
> > + SOC_ENUM("DAC Left Select", da9055_dac_l_select),
> > + SOC_ENUM("DAC Right Select", da9055_dac_r_select),
>
> DAPM. This even says its a routing control...
Yes, let me see if I can make it DAPM based.
>
> > + /* To select if MIC Bias powers MIC 1 or MIC 2 */
> > + SOC_ENUM("Mic Bias Select", da9055_mic_bias_select),
>
> This would normally be something controlled by the board... what
> exactly is this doing? How does the MICBIAS relate to the microphone
> inputs?
Yes, it should be controlled by the board.
This control selects which of the two MIC Bias pins acts as the BIAS
source. Earlier we misinterpreted it because of a hardware modification
which was present on the board without our knowledge.
>
> > + case SND_SOC_BIAS_STANDBY:
> > + if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
> > + /* Enable VMID reference & master bias */
> > + snd_soc_update_bits(codec, DA9055_REFERENCES,
> > + DA9055_VMID_EN | DA9055_BIAS_EN,
> > + DA9055_VMID_EN | DA9055_BIAS_EN);
> > + }
> > + regcache_sync(da9055->regmap);
>
> Doing the sync every time is very odd, why is it only done on
> transitions from _OFF?
It was a typo :-( I intend to put the sync inside if().
> Given that there's no regulator support here
> it's also a bit surprising that you need to do a sync outside of system
> suspend...
>
I am not sure if I understood this fully. Do you mean a sync is not
required here?
> > + da9055->mclk_rate = 0; /* This will be set from set_sysclk() */
> > + da9055->master = 0; /* This will be set from set_fmt() */
>
> You use kzalloc...
>
Yeah!
More information about the Alsa-devel
mailing list