[alsa-devel] Wolfson 5102 on Beaglebone Black using ALSA

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Sun May 15 12:29:31 CEST 2016


On Sat, May 14, 2016 at 03:16:18PM -0700, Clark Dunson wrote:
> Hey everybody!
> 
> We have been working on integrating the Wolfson 5102 codec with
> the Beaglebone Black.  We’ve made pretty decent progress,
> got the arizona code in kernel 4.4 registering the wm5102
> as ALSA sound card (both player and recorder), have McAsp0
> as 24.576 MHz clock source, and have 12 IRQs showing up in
> /proc/interrupts.
>
> We have been working with sound{compatible =
> "simple-audio-card”}, but now have hit our first
> real question. sysclk is hard coded to ‘0’ under
> simple-audio-card, and we had to hack the kernel and change
> that to ‘1’ to achieve ALSA sound card registration.
> We’d all like for this work to proceed without having to hack
> the kernel, and wondered if one of you might recommend another
> approach or selection for device tree sound{compatible} that
> might work out better?

Yes unfortunately this part doesn't map that well onto simple
card at the moment. Apart from the clock options you mention,
simple card currently only calls dai_set_sysclk, which will tie
audio interfaces to a clock domain on wm5102 but you also will
need to call codec_set_sysclk to configure the clocking domains
themselves. Possibly even set_pll as well if you need to
configure the PLL.

There are basically two options here, you could improve simple
card to add support needed for wm5102, although I am not
entirely clear at what point one would consider a part too
complex for simple card. Or write a machine driver for wm5102 on
Beaglebone Black, a good example to start from for this would be
sound/soc/samsung/bells.c.

Thanks,
Charles


More information about the Alsa-devel mailing list