[alsa-devel] Cherry Trail + RT5645 devices with a mono speaker ?

Hans de Goede hdegoede at redhat.com
Sat Oct 14 20:12:29 CEST 2017


Hi Pierre-Louis, Bard,

I've been looking into getting some Cherry Trail + RT5645
devices with a mono speaker I have to work properly.

Specifically the goal is to mix the right channel into
the left output, so that sounds which are only played
over the right channel do not get lost.

I'm using this UCM file:
https://github.com/plbossart/UCM/blob/master/byt-rt5640/HiFi

Looking at the rtl5640 UCM file, getting the mono speaker
to work (in a first simple attempt) should be as simple
as replacing:

                 cset "name='SPOR MIX SPKVOL R Switch' on"

With

                 cset "name='SPOL MIX SPKVOL R Switch' on"

But this does not work, the speaker test sound for the
right speaker is still silent (works with headphones).

I've also looked into directly poking the
RT5645_SPO_MIXER i2c register for testing, but when
checking its value with the original unmodified UCM
file:

[root at localhost ~]# i2cget -y -f 1 0x1a 0x48  w
0x06c8

That is: 0xc806 as the output of i2cget "w" mode
needs byteswapping. Note that both the
RT5645_M_SV_L_SPM_L and RT5645_M_SV_R_SPM_L bits
are already cleared, which is weird as this is
before I've modified anything. Also the
RT5645_M_SV_R_SPM_R bit is cleared, but that is
expected.

Even if I manually set reg 0x48 to 0x07c8 which AFAIK
should enable output of both left and right channels
on the left speaker I still only get sounds played
on the left channel.

Any insights / help with this would be very much
welcome.

Regards,

Hans


More information about the Alsa-devel mailing list