[alsa-devel] [PATCH] ASoC: wm8962: Correct the bit offset to enable mono speaker output

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon Aug 11 15:19:49 CEST 2014


On Fri, Aug 08, 2014 at 09:55:43AM +0000, Peter Chan wrote:
> I have a question about the wm8962 mono speaker mode. In SPK_MONO description at table 73, it says "When SPK_MONO is enabled, both speakers output the signal from the left channel". Does it mean only the left channel control the output in mono speaker mode?
> 
> Thanks,
> Peter
> 
> -----Original Message-----
> From: Nicolin Chen [mailto:Guangyu.Chen at freescale.com] 
> Sent: Friday, August 08, 2014 4:21 PM
> To: Mark Brown
> Cc: Nicolin Chen; alsa-devel at alsa-project.org; tiwai at suse.de; patches at opensource.wolfsonmicro.com; Wang Shengjiu-B02247; lgirdwood at gmail.com; linux-kernel at vger.kernel.org; CHAN Peter-B18700; ckeepax at opensource.wolfsonmicro.com; rf at opensource.wolfsonmicro.com
> Subject: Re: [alsa-devel] [PATCH] ASoC: wm8962: Correct the bit offset to enable mono speaker output
> 
> On Thu, Aug 07, 2014 at 05:58:36PM +0100, Mark Brown wrote:
> > On Thu, Aug 07, 2014 at 07:55:49PM +0800, Nicolin Chen wrote:
> > > As WM8962 datasheet describes for SPK_MONO bit of R51: When SPK_MONO 
> > > is set to '1', both speakers output the signal from the left channel.
> > 
> > > So for mono speaker widget, we shall enable Left Channel whose 
> > > enable bit is 6 instead of 7 (Right Channel).
> > > 
> > > This patches just simply corrects the bit offset.
> > 
> > >  		   spkmixl, ARRAY_SIZE(spkmixl)),  SND_SOC_DAPM_MUX_E("Speaker 
> > > PGA", WM8962_PWR_MGMT_2, 4, 0, &spkoutl_mux,
> > >  		   out_pga_event, SND_SOC_DAPM_POST_PMU), 
> > > -SND_SOC_DAPM_PGA("Speaker Output", WM8962_CLASS_D_CONTROL_1, 7, 0, 
> > > NULL, 0),
> > > +SND_SOC_DAPM_PGA("Speaker Output", WM8962_CLASS_D_CONTROL_1, 6, 0, 
> > > +NULL, 0),
> > >  SND_SOC_DAPM_OUTPUT("SPKOUT"),
> > >  };
> > 
> > Someone who's name I'd need to look up submitted an identical fix off 
> > list recently - I checked the datasheet and it seems that in mono mode 
> > the speaker output actually wants both left and right channels active 
> > so there is a bug here but this isn't the fix.
> 
> I rechecked the datasheet and found that the hardware needs to tie both outputs and enable both bits. So the patch should be invalid.
> 
> But our customer reported that they did try to set both SPKOUTR_ENA and SPKOUTL_ENA bits in mono mode but the sound is lousy. If setting SPKOUTR_ENA alone, the speaker has no sound. Only setting SPKOUTL_ENA bit get the correct speaker output in mono mode.

>From the wording of "tie both outputs together" in the datasheet
I would assume that means both should be fed the same audio? Was
this done? I will try to give the hardware guys here a shout and
see if I can get some clarification on mono mode on this device.

Thanks,
Charles


More information about the Alsa-devel mailing list