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.