Friday, July 13, 2018

Reboot: Alpine Linux and Ardour 5.12

Alpine Linux has a Raspberry Pi distribution with a modern kernel (4.14.52).  I installed this on a 32GB SD card and will be compiling and running Ardour 5.12 on this using the Cirrus Logic Audio Card which appears to be unavailable since 2016.   Perhaps the Blokas PiSound would work even better.

Installing Alpine Linux was not hard, following the Classic installation instructions.  To get the Cirrus Logic Audio Card driver working, the device tree overlay for wm5102 needs to be loaded.  There also is a modprobe dependency, put this in /etc/modprobe.d/cirrus.conf

softdep arizona-spi pre: arizona-ldo1

The file  /media/mmcblk0p1/config.txt needs to have the overlay added:
head /media/mmcblk0p1/config.txt
disable_splash=1
boot_delay=0
dtoverlay=vc4-kms-v3d
dtoverlay=rpi-cirrus-wm5102
dtoverlay=pi3-disable-bt
gpu_mem=256
gpu_mem_256=64

This successfully adds the device tree overlay at boot and loads the appropriate modules.

dmesg | tail -19
[ 2271.440909] snd-rpi-cirrus soc:sound: ASoC: CODEC DAI wm5102-aif1 not registered - will retry
[ 2271.444327] wm8804 1-003b: revision E
[ 2271.445857] snd-rpi-cirrus soc:sound: ASoC: CODEC DAI wm5102-aif1 not registered - will retry
[ 2271.483599] arizona spi0.1: Failed to get mclk1: -2
[ 2271.483615] arizona spi0.1: Failed to get mclk2: -2
[ 2271.483939] LDO1: supplied by RPi-Cirrus 1v8
[ 2271.484938] snd-rpi-cirrus soc:sound: ASoC: CODEC DAI wm5102-aif1 not registered - will retry
[ 2271.492410] arizona spi0.1: WM5102 revision C
[ 2271.520832] MICVDD: supplied by RPi-Cirrus 1v8
[ 2271.521795] Adding alias for supply MICVDD,(null) -> MICVDD,spi0.1
[ 2271.522102] Adding alias for supply MICVDD,(null) -> MICVDD,spi0.1
[ 2271.522109] Adding alias for supply DBVDD2,(null) -> DBVDD2,spi0.1
[ 2271.522115] Adding alias for supply DBVDD3,(null) -> DBVDD3,spi0.1
[ 2271.522121] Adding alias for supply CPVDD,(null) -> CPVDD,spi0.1
[ 2271.522130] Adding alias for supply SPKVDDL,(null) -> SPKVDDL,spi0.1
[ 2271.522144] Adding alias for supply SPKVDDR,(null) -> SPKVDDR,spi0.1
[ 2271.523659] snd-rpi-cirrus soc:sound: ASoC: CODEC DAI wm5102-aif1 not registered - will retry
[ 2271.553689] snd-rpi-cirrus soc:sound: ASoC: CODEC DAI wm5102-aif1 not registered - will retry
[ 2271.681956] snd-rpi-cirrus soc:sound: wm5102-aif1 <-> 3f203000.i2s mapping ok

aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: RPiCirrus [RPi-Cirrus], device 0: WM5102 AiFi wm5102-aif1-0 []

  Subdevices: 1/1
  Subdevice #0: subdevice #0

lsmod
Module                  Size  Used by
snd_soc_wm5102        385024  1
snd_soc_wm_adsp        40960  1 snd_soc_wm5102
gpio_arizona           16384  0
snd_soc_arizona        45056  1 snd_soc_wm5102
arizona_micsupp        16384  1
arizona_spi            16384  0
arizona_ldo1           16384  1
snd_soc_wm8804_i2c     16384  1
snd_soc_rpi_cirrus     20480  0
snd_soc_wm8804         16384  1 snd_soc_wm8804_i2c
snd_soc_bcm2835_i2s    16384  2
snd_soc_core          180224  7 snd_soc_wm8804,snd_soc_rpi_cirrus,snd_soc_wm5102,arizona_micsupp,snd_soc_bcm2835_i2s,snd_soc_arizona,snd_soc_wm_adsp
snd_compress           20480  2 snd_soc_core,snd_soc_wm_adsp
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm                94208  6 snd_soc_wm8804,snd_soc_rpi_cirrus,snd_pcm_dmaengine,snd_soc_bcm2835_i2s,snd_soc_arizona,snd_soc_core
spi_bcm2835            16384  0
snd_timer              32768  1 snd_pcm
i2c_bcm2835            16384  0
snd                    65536  5 snd_compress,snd_soc_rpi_cirrus,snd_timer,snd_soc_core,snd_pcm
...

The modprobe.d file can be found on my audiopi gitlab repository.


No comments:

Post a Comment