[alsa-devel] [PATCH] ASoC: lm49453: Fix analog and digital volume ranges

Vinod Koul vinod.koul at linux.intel.com
Wed Dec 5 20:29:02 CET 2012


On Wed, 2012-12-05 at 16:18 +0530, MR.Swami.Reddy at ti.com wrote:

>  /* TLV Declarations */
>  static const DECLARE_TLV_DB_SCALE(digital_tlv, -7650, 150, 1);
> -static const DECLARE_TLV_DB_SCALE(port_tlv, 0, 600, 0);
> +static const DECLARE_TLV_DB_SCALE(analog_tlv, 0, 200, 1);
The spec says your analog gain are 0 to 30dB in steps of 2dB, this
doesnt sound right to me.
> +static const DECLARE_TLV_DB_SCALE(port_tlv, -1800, 600, 0);
>  
>  static const struct snd_kcontrol_new lm49453_sidetone_mixer_controls[] = {
>  /* Sidetone supports mono only */
> @@ -516,9 +517,9 @@ SOC_DAPM_SINGLE_TLV("Sidetone DMIC2R Volume", LM49453_P0_STN_VOL_DMIC2R_REG,
>  static const struct snd_kcontrol_new lm49453_snd_controls[] = {
>  	/* mic1 and mic2 supports mono only */
>  	SOC_SINGLE_TLV("Mic1 Volume", LM49453_P0_ADC_LEVELL_REG, 0, 6,
> -			0, digital_tlv),
> +			0, analog_tlv),
now i see a  problem.
You have hidden the MIC gains and exposed only ADC gains. The name is
wrong causing the confusion. Please make this ADC gain and add new
control for MIC gain!
Your ADC gain is -76 to 18db, with 0.5dB steps, how does this reflect
that?

>  	SOC_SINGLE_TLV("Mic2 Volume", LM49453_P0_ADC_LEVELR_REG, 0, 6,
> -			0, digital_tlv),
> +			0, analog_tlv),
Ditto.....
>  
>  	SOC_DOUBLE_R_TLV("DMIC1 Volume", LM49453_P0_DMIC1_LEVELL_REG,
>  			  LM49453_P0_DMIC1_LEVELR_REG, 0, 6, 0, digital_tlv),
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


-- 
~Vinod



More information about the Alsa-devel mailing list