[alsa-devel] Audio codec volume control
Peter Ujfalusi
peter.ujfalusi at ti.com
Thu Sep 20 12:46:57 CEST 2012
On 09/20/2012 01:39 PM, Rajeev kumar wrote:
> Hello Peter,
>
> On 9/20/2012 3:49 PM, Peter Ujfalusi wrote:
> Thanks for the info.
>
> Please find below the controls I have provided
>
> static const char *pwm_mode_text[] = { "Binary", "Headphone", "Ternary",
> "Phase-shift"};
>
> static const DECLARE_TLV_DB_SCALE(out_gain_tlv, -9150, 50, 0);
> static const DECLARE_TLV_DB_SCALE(master_vol_tlv, -12750, 50, 0);
> static const SOC_ENUM_SINGLE_DECL(pwm_src, STA529_FFXCFG1, 4, pwm_mode_text);
>
> static const struct snd_kcontrol_new sta529_snd_controls[] = {
> SOC_DOUBLE_R_TLV("Digital Playback Volume", STA529_LVOL, STA529_RVOL, 0,
> 127, 0, out_gain_tlv),
> SOC_SINGLE_TLV("Master Playback Volume", STA529_MVOL, 0, 127, 1,
> master_vol_tlv),
> SOC_ENUM("PWM Select", pwm_src),
> };
>
> So in our amixer output I am not getting any separate numid for left/right
> volume, so that user can control it.
You should have single numid for the stereo control:
amixer sget Digital
amixer sget Master
You should see something like this with the stereo control:
beagle-gentoo dapm # amixer sget Headset
Simple mixer control 'Headset',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 3
Mono:
Front Left: Playback 2 [67%] [0.00dB]
Front Right: Playback 2 [67%] [0.00dB]
>
> Is there something I am missing in my code.
Looks fine for me.
--
Péter
More information about the Alsa-devel
mailing list