[alsa-devel] WM8741 DAC with AT91SAM9G20

Michael Lathion m.lathion at gmail.com
Thu Jun 20 23:40:16 CEST 2013


Hi all,

I'm trying to use a WM8742 dac instead of WM8731 on a custom board based on
AT91SAM9G20EK (developpment board from Atmel for AT91SAM9G20 soc) with
Linux Kernel 2.6.38.

I have the driver working in alsa (driver compiled, mixer up in alsa, ...)
but I can't have the ssc interface working. When trying to play sound with
aplay I get only the masterclock and  bitclock but no frame clock (LRCLK),
see output below.

What I've done is modifying the /sound/soc/atmel/sam9g20_wm8731.c file  but
it seems something is not configured as it should (probably related to
WM8742 being slave and the WM8731 used on original dev board was master for
clock distribution).

My modified sam9g20_wm8741.c is enclosed to this mail, i suspect something
is wrongly setup in CPU DAI configuration but can't find what.

I'm trying to set this up from some weeks now but can't find the right
config so if someone have any idea on what can has to be done it could be
great!

Thanks for help

Regards
Michael

Linux kernel 2.6.38
AT91SAM9G20 processor
WM8741 DAC

Kernel boot output :

ASoC: Mclk set to 22579200
wm8741-codec 0-001b: Successful registration
FOX_Board_wm8741 : PB1003A: wm8741__init() called
wm8741-codec 0-001b: wm8741_set_dai_sysclk info: freq=22579200
asoc: wm8741 <-> atmel-ssc-dai.0 mapping ok
ALSA device list:
  #0: DAISY16

When trying play sound  kernel driver print:

wm8741-codec 0-001b: wm8741_set_dai_fmt:    Format=0, Clock Inv=0
wm8741-codec 0-001b: wm8741_hw_params:    bit size param = 2


More information about the Alsa-devel mailing list