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.