[alsa-devel] WM5102 - Help to make baytrail machine driver work

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon May 9 16:22:10 CEST 2016


On Sun, May 08, 2016 at 08:44:09AM -0300, Paulo Sergio wrote:
> Hi Charles, how are you?

Good thanks.

> 
> > A quick look through your machine driver looks like the parts
> > relating the CODEC look ok.
> >
> > I am not so sure about the AP side routing but for the CODEC,
> >
> > 'HPOUT1L Input 1' AIF1RX1
> > 'HPOUT1R Input 1' AIF1RX2
> > 'HPOUT1 Digital Switch' 1
> >
> > Should be enough to route some audio out the headphones, assuming
> > AIF1 is connected to the AP and HPOUT1L is the headphones (it is
> > very rare for people to not wire things up that way so its quite
> > a good bet, and your machine driver suggests this is how it is
> > connected).
> 
> Tried these cmds/routes to enable headphones (got from Raspberry PI
> wolfson card), but we got no output (except static noise and some
> "clicks")
> 
> alsa_amixer -Dhw:0 cset name='HPOUT1 Digital Switch' on
> # Set path gain to -6dB for safety. ie mav 0.5Vrms output level.
> alsa_amixer -Dhw:0 cset name='HPOUT1 Digital Volume' 116
> # do we want to clear the HPOUT mixers inputs?
> alsa_amixer -Dhw:0 cset name='HPOUT1L Input 1' None
> alsa_amixer -Dhw:0 cset name='HPOUT1R Input 1' None
> alsa_amixer -Dhw:0 cset name='HPOUT1L Input 2' None
> alsa_amixer -Dhw:0 cset name='HPOUT1R Input 2' None
> alsa_amixer -Dhw:0 cset name='HPOUT1L Input 1' AIF1RX1
> alsa_amixer -Dhw:0 cset name='HPOUT1L Input 1 Volume' 32
> alsa_amixer -Dhw:0 cset name='HPOUT1R Input 1' AIF1RX2
> alsa_amixer -Dhw:0 cset name='HPOUT1R Input 1 Volume' 32
> alsa_amixer -Dhw:0 cset name='Headset Mic Switch' on

>From your machine driver I would have expected this last control
to be "Headphone Switch", although I do appear to see things
turning on in your log so I guess that switch is already on?

> 
> Tried also some other controls for speakers, but no audio output
> 
> >
> > If you provide some kernel logs with the LOG_DEVICE in
> > drivers/base/regmap/regmap.c set to the CODEC spi device, I am
> > happy to sanity check what is going to the CODEC. Although at the
> > moment I think your issue looks mostly like getting through the
> > AP side.
> 
> Appreciate your help. Thanks in advance
> 
> Here's dmesg with LOG_DEVICE set (in this case to "spi-WM510204:00") [1]
> 
> [1] - https://drive.google.com/file/d/0BxO6THtB865fS2NxUkdOa18zUlE/view?usp=sharing

[   52.859420] arizona spi-WM510204:00: 173 <= a8d
[   52.859451] arizona spi-WM510204:00: 174 <= c35
[   52.859458] arizona spi-WM510204:00: 176 <= 40
[   52.859466] arizona spi-WM510204:00: 179 <= 10
[   52.871213] arizona spi-WM510204:00: 172 <= 8007
[   52.871245] arizona spi-WM510204:00: 171 <= 1

Your FLL setting here look right, assuming a 25MHz MCLK1 and a
48k playback and no sign that the FLL failed to lock, so we very
likely have a clock.

[   52.873069] arizona spi-WM510204:00: 500 <= b
[   52.873082] arizona spi-WM510204:00: 505 <= 20
[   52.873089] arizona spi-WM510204:00: 506 <= 20
[   52.873096] arizona spi-WM510204:00: 507 <= 1010
[   52.873104] arizona spi-WM510204:00: 508 <= 1010

The audio interface looks like it is setup for 16bit 48k I2S.

Looks like both the HPOUTs are being unmuted:

[  157.115973] arizona spi-WM510204:00: 411 <= 280
[  157.126963] arizona spi-WM510204:00: 415 <= 280

The left headphone output appears to be powering up:

[  280.668563] arizona spi-WM510204:00: 400 <= 2

The mixer source appears to be applying (HPOUT1L <= AIF1RX1)

[  280.686634] arizona spi-WM510204:00: 680 <= 20

Overall, I would say it looks good. One thing I would perhaps
try, connect up this path as you have been doing, but whilst the
audio is playing (or attempting to at least) connect the route:

'HPOUT1R Input 1' 'Tone Generator 1'

This will hook the right headphone channel up to the chips
internal 1k tone generator. Careful it will be loud, but its
a good check to make sure the clocks are all happy inside the
chip. If you hear that tone, I would say the CODEC side looks
happy, but let me know how you get on.

Thanks,
Charles


More information about the Alsa-devel mailing list