All of lore.kernel.org
 help / color / mirror / Atom feed
* Cherry Trail + RT5645 devices with a mono speaker ?
@ 2017-10-14 18:12 Hans de Goede
  2017-10-16 11:31 ` Bard Liao
  0 siblings, 1 reply; 8+ messages in thread
From: Hans de Goede @ 2017-10-14 18:12 UTC (permalink / raw)
  To: Pierre-Louis Bossart, Bard Liao; +Cc: alsa-devel

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@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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-14 18:12 Cherry Trail + RT5645 devices with a mono speaker ? Hans de Goede
@ 2017-10-16 11:31 ` Bard Liao
  2017-10-26 15:08   ` Hans de Goede
  0 siblings, 1 reply; 8+ messages in thread
From: Bard Liao @ 2017-10-16 11:31 UTC (permalink / raw)
  To: Hans de Goede, Pierre-Louis Bossart; +Cc: alsa-devel

> -----Original Message-----
> From: Hans de Goede [mailto:hdegoede@redhat.com]
> Sent: Sunday, October 15, 2017 2:12 AM
> To: Pierre-Louis Bossart; Bard Liao
> Cc: alsa-devel@alsa-project.org
> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
> 
> 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@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.

Could you dump all registers for us?


> 
> Regards,
> 
> Hans
> 
> ------Please consider the environment before printing this e-mail.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-16 11:31 ` Bard Liao
@ 2017-10-26 15:08   ` Hans de Goede
  2017-10-27  6:39     ` Bard Liao
  0 siblings, 1 reply; 8+ messages in thread
From: Hans de Goede @ 2017-10-26 15:08 UTC (permalink / raw)
  To: Bard Liao, Pierre-Louis Bossart; +Cc: alsa-devel

Hi,

On 16-10-17 13:31, Bard Liao wrote:
>> -----Original Message-----
>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>> Sent: Sunday, October 15, 2017 2:12 AM
>> To: Pierre-Louis Bossart; Bard Liao
>> Cc: alsa-devel@alsa-project.org
>> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
>>
>> 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@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.
> 
> Could you dump all registers for us?

Here you go:

      0,8  1,9  2,a  3,b  4,c  5,d  6,e  7,f
00: 0000 0808 c8c8 c8c8 0ac8 0000 0000 0000
08: 0000 0000 0200 2738 00e0 0000 0000 0000
10: 0000 0000 0000 0000 3333 0000 004b 0000
18: 8b01 afaf afaf 1100 3f3f 7f7f 00f0 0000
20: 00a0 0000 0000 0000 0000 0000 0000 2038
28: 3030 8080 1616 4444 a0aa 0000 0000 0210
30: 0000 0050 0000 0000 0000 0000 0000 0000
38: 0000 0000 0000 0000 7d00 0000 7d00 0000
40: 1c00 0000 1c00 0000 0000 0050 3800 3800
48: 06c8 0000 0400 0000 1f03 0000 0000 ff01
50: 0000 0000 ff01 00f0 0000 0000 1101 6400
58: 0eef f0f0 0eef f0f0 0eef f0f0 00f0 0000
60: 0000 019b 0008 1ae8 0402 0230 00c0 0000
68: 0000 0000 0000 0000 aa0a 0000 0000 0000
70: 8380 0080 0080 7017 003e 0924 0a00 0058
78: 0000 2301 0080 0000 0000 0000 0000 0000
80: 0040 030f 0030 000c 1111 0000 0800 0000
88: 0000 0000 2001 0000 0300 0000 0000 4011
90: 3606 060c 0000 0801 0202 0000 0000 0000
98: 0000 0000 8421 0a01 ea0a 0c00 0004 0000
a0: e8a0 5900 0100 0000 0000 0000 0000 0000
a8: 0000 0000 0000 0000 0000 0000 0060 0000
b0: 0060 0000 0000 1f00 0c02 001f 0000 0040
b8: 0000 0000 0000 0000 0000 8002 0000 8011
c0: 0080 0000 0000 0020 0000 0000 0000 0000
c8: 0000 0000 0000 0000 0000 0000 0000 1418
d0: 9006 171c 0000 20b3 0000 0000 0004 0000
d8: 0000 0908 0000 0300 4900 1b00 0000 0000
e0: 0000 0000 0000 0000 0000 0000 0080 0007
e8: 0080 0007 200f 0000 00b3 0000 0000 0000
f0: 1f00 0c02 001f 0000 0040 0000 0000 0000
f8: 0000 0000 6120 4040 001a 0400 ec10 0863

Note that i2cdump swaps the low and high bytes
in all the 16 bit words.

Regards,

Hans

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-26 15:08   ` Hans de Goede
@ 2017-10-27  6:39     ` Bard Liao
  2017-10-27 10:18       ` Hans de Goede
  0 siblings, 1 reply; 8+ messages in thread
From: Bard Liao @ 2017-10-27  6:39 UTC (permalink / raw)
  To: Hans de Goede, Pierre-Louis Bossart
  Cc: Oder Chiou, Shuming [范書銘], alsa-devel, Albert Chen

> -----Original Message-----
> From: Hans de Goede [mailto:hdegoede@redhat.com]
> Sent: Thursday, October 26, 2017 11:09 PM
> To: Bard Liao; Pierre-Louis Bossart
> Cc: alsa-devel@alsa-project.org
> Subject: Re: Cherry Trail + RT5645 devices with a mono speaker ?
> 
> Hi,
> 
> On 16-10-17 13:31, Bard Liao wrote:
> >> -----Original Message-----
> >> From: Hans de Goede [mailto:hdegoede@redhat.com]
> >> Sent: Sunday, October 15, 2017 2:12 AM
> >> To: Pierre-Louis Bossart; Bard Liao
> >> Cc: alsa-devel@alsa-project.org
> >> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
> >>
> >> 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@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.
> >
> > Could you dump all registers for us?
> 
> Here you go:
> 
>       0,8  1,9  2,a  3,b  4,c  5,d  6,e  7,f
> 00: 0000 0808 c8c8 c8c8 0ac8 0000 0000 0000
> 08: 0000 0000 0200 2738 00e0 0000 0000 0000
> 10: 0000 0000 0000 0000 3333 0000 004b 0000
> 18: 8b01 afaf afaf 1100 3f3f 7f7f 00f0 0000
> 20: 00a0 0000 0000 0000 0000 0000 0000 2038
> 28: 3030 8080 1616 4444 a0aa 0000 0000 0210
> 30: 0000 0050 0000 0000 0000 0000 0000 0000
> 38: 0000 0000 0000 0000 7d00 0000 7d00 0000
> 40: 1c00 0000 1c00 0000 0000 0050 3800 3800
> 48: 06c8 0000 0400 0000 1f03 0000 0000 ff01
> 50: 0000 0000 ff01 00f0 0000 0000 1101 6400
> 58: 0eef f0f0 0eef f0f0 0eef f0f0 00f0 0000
> 60: 0000 019b 0008 1ae8 0402 0230 00c0 0000
> 68: 0000 0000 0000 0000 aa0a 0000 0000 0000
> 70: 8380 0080 0080 7017 003e 0924 0a00 0058
> 78: 0000 2301 0080 0000 0000 0000 0000 0000
> 80: 0040 030f 0030 000c 1111 0000 0800 0000
> 88: 0000 0000 2001 0000 0300 0000 0000 4011
> 90: 3606 060c 0000 0801 0202 0000 0000 0000
> 98: 0000 0000 8421 0a01 ea0a 0c00 0004 0000
> a0: e8a0 5900 0100 0000 0000 0000 0000 0000
> a8: 0000 0000 0000 0000 0000 0000 0060 0000
> b0: 0060 0000 0000 1f00 0c02 001f 0000 0040
> b8: 0000 0000 0000 0000 0000 8002 0000 8011
> c0: 0080 0000 0000 0020 0000 0000 0000 0000
> c8: 0000 0000 0000 0000 0000 0000 0000 1418
> d0: 9006 171c 0000 20b3 0000 0000 0004 0000
> d8: 0000 0908 0000 0300 4900 1b00 0000 0000
> e0: 0000 0000 0000 0000 0000 0000 0080 0007
> e8: 0080 0007 200f 0000 00b3 0000 0000 0000
> f0: 1f00 0c02 001f 0000 0040 0000 0000 0000
> f8: 0000 0000 6120 4040 001a 0400 ec10 0863
> 
> Note that i2cdump swaps the low and high bytes
> in all the 16 bit words.

Could you dump registers by regmap?
cat /sys/kernel/debug/regmap/<bus name>/registers
It will be more readable for me.
Also, could you do a loopback test?
Open capture and playback simultaneously, then
set 0x78 register bit 12 = 1.
It will record what codec received. It is to make sure
there is no problem on Intel side.

> 
> Regards,
> 
> Hans
> 
> ------Please consider the environment before printing this e-mail.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-27  6:39     ` Bard Liao
@ 2017-10-27 10:18       ` Hans de Goede
  2017-10-30  3:29         ` Bard Liao
  0 siblings, 1 reply; 8+ messages in thread
From: Hans de Goede @ 2017-10-27 10:18 UTC (permalink / raw)
  To: Bard Liao, Pierre-Louis Bossart
  Cc: Oder Chiou, Shuming [范書銘], alsa-devel, Albert Chen

Hi,

On 27-10-17 08:39, Bard Liao wrote:
>> -----Original Message-----
>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>> Sent: Thursday, October 26, 2017 11:09 PM
>> To: Bard Liao; Pierre-Louis Bossart
>> Cc: alsa-devel@alsa-project.org
>> Subject: Re: Cherry Trail + RT5645 devices with a mono speaker ?
>>
>> Hi,
>>
>> On 16-10-17 13:31, Bard Liao wrote:
>>>> -----Original Message-----
>>>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>>>> Sent: Sunday, October 15, 2017 2:12 AM
>>>> To: Pierre-Louis Bossart; Bard Liao
>>>> Cc: alsa-devel@alsa-project.org
>>>> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
>>>>
>>>> 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@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.
>>>
>>> Could you dump all registers for us?
>>
>> Here you go:
>>
>>        0,8  1,9  2,a  3,b  4,c  5,d  6,e  7,f
>> 00: 0000 0808 c8c8 c8c8 0ac8 0000 0000 0000
>> 08: 0000 0000 0200 2738 00e0 0000 0000 0000
>> 10: 0000 0000 0000 0000 3333 0000 004b 0000
>> 18: 8b01 afaf afaf 1100 3f3f 7f7f 00f0 0000
>> 20: 00a0 0000 0000 0000 0000 0000 0000 2038
>> 28: 3030 8080 1616 4444 a0aa 0000 0000 0210
>> 30: 0000 0050 0000 0000 0000 0000 0000 0000
>> 38: 0000 0000 0000 0000 7d00 0000 7d00 0000
>> 40: 1c00 0000 1c00 0000 0000 0050 3800 3800
>> 48: 06c8 0000 0400 0000 1f03 0000 0000 ff01
>> 50: 0000 0000 ff01 00f0 0000 0000 1101 6400
>> 58: 0eef f0f0 0eef f0f0 0eef f0f0 00f0 0000
>> 60: 0000 019b 0008 1ae8 0402 0230 00c0 0000
>> 68: 0000 0000 0000 0000 aa0a 0000 0000 0000
>> 70: 8380 0080 0080 7017 003e 0924 0a00 0058
>> 78: 0000 2301 0080 0000 0000 0000 0000 0000
>> 80: 0040 030f 0030 000c 1111 0000 0800 0000
>> 88: 0000 0000 2001 0000 0300 0000 0000 4011
>> 90: 3606 060c 0000 0801 0202 0000 0000 0000
>> 98: 0000 0000 8421 0a01 ea0a 0c00 0004 0000
>> a0: e8a0 5900 0100 0000 0000 0000 0000 0000
>> a8: 0000 0000 0000 0000 0000 0000 0060 0000
>> b0: 0060 0000 0000 1f00 0c02 001f 0000 0040
>> b8: 0000 0000 0000 0000 0000 8002 0000 8011
>> c0: 0080 0000 0000 0020 0000 0000 0000 0000
>> c8: 0000 0000 0000 0000 0000 0000 0000 1418
>> d0: 9006 171c 0000 20b3 0000 0000 0004 0000
>> d8: 0000 0908 0000 0300 4900 1b00 0000 0000
>> e0: 0000 0000 0000 0000 0000 0000 0080 0007
>> e8: 0080 0007 200f 0000 00b3 0000 0000 0000
>> f0: 1f00 0c02 001f 0000 0040 0000 0000 0000
>> f8: 0000 0000 6120 4040 001a 0400 ec10 0863
>>
>> Note that i2cdump swaps the low and high bytes
>> in all the 16 bit words.
> 
> Could you dump registers by regmap?
> cat /sys/kernel/debug/regmap/<bus name>/registers
> It will be more readable for me.

Ok here you go:

000: 0000
001: 0808
002: c8c8
003: c8c8
00a: 0002
00b: 3827
00c: e000
00d: 0000
00e: 0000
00f: 0000
014: 3333
016: 4b00
018: 018b
019: afaf
01a: afaf
01b: 0011
01c: 3f3f
01d: 7f7f
01e: f000
020: a000
027: 3820
028: 3030
029: 8080
02a: 1616
02b: 4444
02c: aaa0
02d: 0000
02f: 1002
031: 5000
032: 0000
033: 0000
034: 0000
035: 0000
03b: 0000
03c: 007d
03d: 0000
03e: 007d
03f: 0000
040: 001c
041: 0000
042: 001c
045: 5000
046: 0038
047: 0038
048: c806
04a: 0004
04d: 0000
04e: 0000
04f: 01ff
050: 0000
051: 0000
052: 01ff
053: f000
056: 0111
057: 0064
058: ef0e
059: f0f0
05a: ef0e
05b: f0f0
05c: ef0e
05d: f0f0
05e: f000
05f: 0000
061: 9b01
062: 0800
063: e81a
064: 0204
065: 3002
066: c000
06a: 0037
06c: fc00
070: 8083
071: 8000
072: 8000
073: 1770
074: 3e00
075: 2409
076: 000a
077: 5800
078: 0000
079: 0123
07a: 8000
080: 4000
081: 0f03
082: 3000
083: 0c00
084: 1111
085: 0000
08a: 0120
08e: 0000
08f: 1140
090: 0636
091: 0c06
093: 0108
094: 0202
095: 0000
09a: 2184
09b: 010a
09c: 0aea
09d: 000c
09e: 0400
0a0: a0e8
0a1: 0059
0a2: 0001
0ae: 6000
0af: 0000
0b0: 6000
0b1: 0000
0b2: 0000
0b3: 001f
0b4: 020c
0b5: 1f00
0b6: 0000
0b7: 4000
0bb: 0000
0bc: 0000
0bd: 0280
0be: 0000
0bf: 1180
0c0: 8000
0c1: 0000
0c2: 0000
0c3: 2000
0cd: 0000
0ce: 0000
0cf: 1814
0d0: 0690
0d1: 1c17
0d3: b320
0d4: 0000
0d6: 0400
0d9: 0809
0da: 0000
0db: 0003
0dc: 0049
0dd: 001b
0df: 0000
0e0: 4000
0e6: 8000
0e7: 0200
0e9: 0700
0ec: b300
0ed: 0000
0f0: 001f
0f1: 020c
0f2: 1f00
0f3: 0000
0f4: 4000
0f8: 0000
0f9: 0000
0fa: 2061
0fb: 4040
0fc: 1a00
0fd: 0004
0fe: 10ec
0ff: 6308
100: 0aaa
101: 2e60
102: a680
103: 7418
104: 0000
105: 0306
106: ffff
107: c7c0
108: 2e60
109: a680
10a: 7418
10b: 0000
10c: 0306
10d: ffff
10e: c7c0
10f: 0000
110: 0000
111: a814
112: 0002
113: 8aaa
114: 1aaa
115: aaa0
116: 0000
117: 0000
118: 0000
119: 0000
11a: 0000
11b: 0200
11c: fd70
11d: 0247
11e: 0000
11f: 0155
120: 611f
121: 4040
122: 0052
123: c004
124: 0430
125: 7530
126: 0000
127: 0000
128: 0000
129: 0000
12a: 0000
12b: 0000
12c: 0000
12d: 0000
12e: 0000
12f: 0000
130: 0000
131: 0ddd
132: 0ddd
133: 0000
134: 0000
135: 5155
136: 0000
137: fc00
138: 79a1
139: 0000
13a: 0002
13b: 0000
13c: 0000
13d: 3600
13e: 1f80
13f: 0000
140: 6883
141: d3ce
142: 352d
143: 00eb
144: 0000
145: 0000
146: 0000
147: 0000
148: 0000
149: 0000
14a: 0000
14b: 0000
14c: 0000
14d: 0000
14e: 0000
14f: 0000
150: 0000
151: 0000
152: 0000
153: 0000
154: 0000
155: 0000
156: 0000
157: 0000
158: 0000
159: 0000
15a: 0000
15b: 0000
15c: 0000
15d: 0000
15e: 0000
15f: 0000
160: 0000
161: 0000
162: 0000
163: 3717
164: 4c6a
165: e41b
166: 2a13
167: b600
168: c730
169: 35d4
16a: 00bf
16b: 0000
16c: 0000
16d: 0000
16e: 0000
16f: 0000
170: 0000
171: 0000
172: 0000
173: 0000
174: 0000
175: 0000
176: 0000
177: 1f01
178: 4040
179: 0000
17a: 3f3f
17b: 0000
17c: 0000
17d: 0000
17e: 0000
17f: 0000
180: 3f3f
181: 0000
182: 0000
183: 0000
184: 0000
185: 0000
186: 004c
187: 0000
188: 0000
189: 0000
18a: 0000
18b: 0000
18c: 0000
18d: 0000
18e: 0000
18f: 0000
190: 3300
191: 2200
192: 0000
193: 0000
194: 8700
195: 7dc2
196: a178
197: 5383
198: 7dc2
199: a178
19a: 5383
19b: 003e
19c: 02c1
19d: d37d
19e: 0000
19f: 0000
1a0: 0000
1a1: 0000
1a2: 0000
1a3: 0000
1a4: 1c10
1a5: 01f4
1a6: 1c10
1a7: 01f4
1a8: 0000
1a9: 0000
1aa: 0000
1ab: 0000
1ac: 0000
1ad: 0000
1ae: c882
1af: 1c10
1b0: 01f4
1b1: c882
1b2: 1c10
1b3: 01f4
1b4: e904
1b5: 1c10
1b6: 01f4
1b7: e904
1b8: 1c10
1b9: 01f4
1ba: e904
1bb: 1c10
1bc: 01f4
1bd: e904
1be: 1c10
1bf: 01f4
1c0: 1c10
1c1: 01f4
1c2: 1c10
1c3: 01f4
1c4: 2000
1c5: 0000
1c6: 2000
1c7: 2000
1c8: 0000
1c9: 2000
1ca: 0800
1cb: 0800
1cc: 0800
1cd: 0800
1ce: 1c10
1cf: 01f4
1d0: e904
1d1: 1c10
1d2: 01f4
1d3: e904
1d4: 1c10
1d5: 01f4
1d6: e904
1d7: 1c10
1d8: 01f4
1d9: e904
1da: 1c10
1db: 01f4
1dc: 1c10
1dd: 01f4
1de: 0000
1df: 0000
1e0: 0000
1e1: 0800
1e2: 0800
1e3: 0000
1e4: 0000
1e5: 0200
1e6: 0000
1e7: 0000
1e8: 0000
1e9: 0000
1ea: 0000
1eb: 0000
1ec: 0000
1ed: 0000
1ee: 0000
1ef: 0200
1f0: 0000
1f1: 0000
1f2: 0000
1f3: 0000
1f4: 0000
1f5: 0000
1f6: 0000
1f7: 0000
1f8: 0000

> Also, could you do a loopback test?
> Open capture and playback simultaneously, then
> set 0x78 register bit 12 = 1.
> It will record what codec received. It is to make sure
> there is no problem on Intel side.

Stereo playing works fine on the headphones
output, so I do believe that me being unable to get the
right channel to be played on the left speaker because
there is only a left (mono) speaker really is a codec
routing problem.

Regards,

Hans

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-27 10:18       ` Hans de Goede
@ 2017-10-30  3:29         ` Bard Liao
  2017-10-30 13:17           ` Hans de Goede
  2017-12-08 18:44           ` Hans de Goede
  0 siblings, 2 replies; 8+ messages in thread
From: Bard Liao @ 2017-10-30  3:29 UTC (permalink / raw)
  To: Hans de Goede, Pierre-Louis Bossart
  Cc: Oder Chiou, Shuming [范書銘], alsa-devel, Albert Chen

> -----Original Message-----
> From: Hans de Goede [mailto:hdegoede@redhat.com]
> Sent: Friday, October 27, 2017 6:18 PM
> To: Bard Liao; Pierre-Louis Bossart
> Cc: alsa-devel@alsa-project.org; Oder Chiou; Shuming [范書銘]; Albert Chen
> Subject: Re: Cherry Trail + RT5645 devices with a mono speaker ?
> 
> >>
> >> On 16-10-17 13:31, Bard Liao wrote:
> >>>> -----Original Message-----
> >>>> From: Hans de Goede [mailto:hdegoede@redhat.com]
> >>>> Sent: Sunday, October 15, 2017 2:12 AM
> >>>> To: Pierre-Louis Bossart; Bard Liao
> >>>> Cc: alsa-devel@alsa-project.org
> >>>> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
> >>>>
> >>>> 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@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.
> >>>

Unfortunately, "SPOL MIX DAC R1 Switch" and "SPOL MIX SPKVOL R Switch"
are no longer valid. I will send a patch for that. Please use
"Stereo DAC MIXL DAC R1 Switch" to do L/R channel mix.

> 
> Regards,
> 
> Hans
> 
> ------Please consider the environment before printing this e-mail.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-30  3:29         ` Bard Liao
@ 2017-10-30 13:17           ` Hans de Goede
  2017-12-08 18:44           ` Hans de Goede
  1 sibling, 0 replies; 8+ messages in thread
From: Hans de Goede @ 2017-10-30 13:17 UTC (permalink / raw)
  To: Bard Liao, Pierre-Louis Bossart
  Cc: Oder Chiou, Shuming [范書銘], alsa-devel, Albert Chen

HI,

On 30-10-17 04:29, Bard Liao wrote:
>> -----Original Message-----
>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>> Sent: Friday, October 27, 2017 6:18 PM
>> To: Bard Liao; Pierre-Louis Bossart
>> Cc: alsa-devel@alsa-project.org; Oder Chiou; Shuming [范書銘]; Albert Chen
>> Subject: Re: Cherry Trail + RT5645 devices with a mono speaker ?
>>
>>>>
>>>> On 16-10-17 13:31, Bard Liao wrote:
>>>>>> -----Original Message-----
>>>>>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>>>>>> Sent: Sunday, October 15, 2017 2:12 AM
>>>>>> To: Pierre-Louis Bossart; Bard Liao
>>>>>> Cc: alsa-devel@alsa-project.org
>>>>>> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
>>>>>>
>>>>>> 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@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.
>>>>>
> 
> Unfortunately, "SPOL MIX DAC R1 Switch" and "SPOL MIX SPKVOL R Switch"
> are no longer valid. I will send a patch for that. Please use
> "Stereo DAC MIXL DAC R1 Switch" to do L/R channel mix.

Ok, thank you I will give this a try.

Regards,

Hans
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cherry Trail + RT5645 devices with a mono speaker ?
  2017-10-30  3:29         ` Bard Liao
  2017-10-30 13:17           ` Hans de Goede
@ 2017-12-08 18:44           ` Hans de Goede
  1 sibling, 0 replies; 8+ messages in thread
From: Hans de Goede @ 2017-12-08 18:44 UTC (permalink / raw)
  To: Bard Liao, Pierre-Louis Bossart
  Cc: Oder Chiou, Shuming [范書銘], alsa-devel, Albert Chen

Hi,

On 10/30/2017 04:29 AM, Bard Liao wrote:
>> -----Original Message-----
>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>> Sent: Friday, October 27, 2017 6:18 PM
>> To: Bard Liao; Pierre-Louis Bossart
>> Cc: alsa-devel@alsa-project.org; Oder Chiou; Shuming [范書銘]; Albert Chen
>> Subject: Re: Cherry Trail + RT5645 devices with a mono speaker ?
>>
>>>>
>>>> On 16-10-17 13:31, Bard Liao wrote:
>>>>>> -----Original Message-----
>>>>>> From: Hans de Goede [mailto:hdegoede@redhat.com]
>>>>>> Sent: Sunday, October 15, 2017 2:12 AM
>>>>>> To: Pierre-Louis Bossart; Bard Liao
>>>>>> Cc: alsa-devel@alsa-project.org
>>>>>> Subject: Cherry Trail + RT5645 devices with a mono speaker ?
>>>>>>
>>>>>> 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@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.
>>>>>
> 
> Unfortunately, "SPOL MIX DAC R1 Switch" and "SPOL MIX SPKVOL R Switch"
> are no longer valid. I will send a patch for that. Please use
> "Stereo DAC MIXL DAC R1 Switch" to do L/R channel mix.

Thank you, that did the trick.

Regards,

Hans
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-12-08 18:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-14 18:12 Cherry Trail + RT5645 devices with a mono speaker ? Hans de Goede
2017-10-16 11:31 ` Bard Liao
2017-10-26 15:08   ` Hans de Goede
2017-10-27  6:39     ` Bard Liao
2017-10-27 10:18       ` Hans de Goede
2017-10-30  3:29         ` Bard Liao
2017-10-30 13:17           ` Hans de Goede
2017-12-08 18:44           ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.