I posted the kernel source for +Raspberry Pi with +Wolfson Microelectronics beta driver patches for the Wolfson Audio Card applied as a git repository, so you don't need to do it yourself ;)

Note that for now it's only the source code obtained following original +Wolfson Microelectronics pdf guide from Andy Laing here:
http://www.element14.com/community/thread/31714/l/instructions-for-compiling-the-wolfson-audio-card-kernel-drivers-and-supported-use-cases

+Wolfson Microelectronics patches have conflicts with latest repository state. I didn't tried to merge latest commits for now but let me know if you do!

https://github.com/supercurio/linux-raspberry-pi/tree/rpi-3.10.y-wolfsonmicro-beta

#supercurioBlog #pi #audio



supercurio/linux-raspberry-pi

Source post on Google+

Published by

François Simond

Mobile engineer & analyst specialized in, display, camera color calibration, audio tuning

7 thoughts on “I posted the kernel source for +Raspberry Pi with +Wolfson Microelectronics beta driver patches for the Wolfson Audio Card applied as a git repository, so you don't need to do it yourself ;)”

  1. Pretty cool, I managed to change the sampling rate live to trip the built-in ASRC (up and down).
    ASRC quality is good from 44.1 to 48k., 44.1 to 96k not bad but not 100% perfect, and down to low sample rate it sounds good overall on normal sources but behaves badly on stress tests (doesn't seem to apply a good low-pass or first in my testing scenario)
    I'm also playing a bit with the clock generators that was making a great difference in Voodoo Sound on WM8994. Great thing, FLL is much better configured by default. Not sure quite sure I'll be able to improve anything ^^)

  2. Hi Francois, could I ask you how you set up the ASRC? I tried the following, with a Raspberry-Pi B+ running the latest Cirrus Logic kernel (3.12.33 from 3 December 2014). I also tried ASRC1, but both times got no sound output. Connecting AIF1RX directly to HPOUT1 works fine. Many thanks,

    # RPi to ASRC1
    amixer $1 -Dhw:sndrpiwsp cset name='ASRC2L Input' AIF1RX1
    amixer $1 -Dhw:sndrpiwsp cset name='ASRC2R Input' AIF1RX2

    # ASRC1 to HPOUT1.1
    amixer $1 -Dhw:sndrpiwsp cset name='HPOUT1L Input 1' ASRC2L
    amixer $1 -Dhw:sndrpiwsp cset name='HPOUT1L Input 1 Volume' 32
    amixer $1 -Dhw:sndrpiwsp cset name='HPOUT1R Input 1' ASRC2R
    amixer $1 -Dhw:sndrpiwsp cset name='HPOUT1R Input 1 Volume' 32

  3. +Tim Giles Hello!
    I don't use ASRC actually, what runs here is a pulseaudio daemon running at 44.1k 24bit listening on network, and my computers connecting directly to it remotely.
    Thanks for telling me there's an updated kernel tho, I'm still using the first one I built untouched 😊
    What motivates you to use the ASRC?

  4. Ah, I see. At the moment I'm doing software rate-conversion in PulseAudio, but it heavily loads the CPU and other tasks can cause audio glitches or drop-outs. I noticed that there's a hardware ASRC on the Wolfson / Cirrus-Logic audio card's WM5102 chip, but found no information on if/how this can be used with the Linux ALSA drivers.

  5. +Tim Giles​ Yes this is the same reason why I set pulse daemon to 44.1k.
    I use the Pi Audio as a USB DAC/amp to drive my headphones when listening to music. Which is usually of this sampling rate.
    Keeping everything at this sampling rate is the easiest solution and introduces no artifacts ☺

Leave a Reply to François Simond (supercurio) Cancel reply