Changelog of Wolfson / Cirrus Logic linux driver for Raspberry Pi 2017-01-20 cirrus-ng-linux-4.9.4.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-ng-4.9.4 - Fixed noise on line in when micbias is off 2016-12-18 cirrus-ng-linux-4.9.0.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-ng-4.9.0 - Initial release of reworked Wolfson/Cirrus driver Important Note: The sound card name has changed from "snd_rpi_wsp" to "RPi-Cirrus". Thus the old "usecase" and "listen" scripts no longer work. Use the updated scripts from "cirrus-ng-scripts.tgz" instead. 2016-07-04 cirrus-linux-4.4.14.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.4.14 - Drop local I2S/DMA fixes, these issues have been fixed in the RPi kernel 2016-04-12 cirrus-linux-4.4.6.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.4.6 - Switch to kernel 4.4 series, version 4.4.6 - Remove now obsolete non-devicetree code from driver Important notes if you update from kernel 4.1.y: - Update the GPU firmware using "sudo SKIP_KERNEL=1 rpi-update" before installing the 4.4 kernel. Failing to do this may result in various errors or a non-booting system! - Check that you have "dtoverlay=rpi-cirrus-wm5102" in your config.txt, the old variant "dtoverlay=rpi-cirrus-wm5102-overlay" is no longer supported. 2016-03-11 cirrus-linux-4.1.19.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.19 - Included I2S fixes for RPi 3 - Add missing .owner field in snd_soc_card - Silence probe deferral messages from register card 2016-02-18 cirrus-linux-4.1.18.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.18 - Rebased driver on top of current RPi 4.1 kernel tree 2016-01-24 cirrus-linux-4.1.16.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.16 - Added proper fix for 44.1kHz/48kHz switching bug - Reworked DAPM code - Added several WM5102/Arizona related commits from kernel 4.4 and 4.5 2015-11-21 cirrus-linux-4.1.13.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.13 - Removed the rather ugly custom wm8804 one-time-init code and use the in-kernel wm8804 driver's hardware reset feature instead. You can now remove the following lines from /etc/modprobe.d/cirrus.conf softdep snd-soc-wm8804-i2c pre: snd-soc-rpi-wsp-preinit softdep snd-soc-rpi-wsp pre: snd-soc-wm8804-i2c - Fixed a bug in the bcm2708-dmaengine driver that caused the physical period/buffer layout to be different than the one requested from ALSA. - Bumped the maximum DMA transfer limit from 32k to 64k-4 as in the 4.3 kernel bcm2835-dma driver - Set the maximum period size of the I2S driver to the limit of the DMA driver (64k-4 bytes) to ensure the physical period/buffer allocation will always be as requested by ALSA 2015-10-30 cirrus-linux-4.1.12.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.12 - No major changes, just rebased onto rpi-4.1.12 kernel 2015-08-22 cirrus-linux-4.1.6.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.1.6 - Move one-time wm8804 init code from card driver into a separate module. This fixes wm8804 detection problems. You have to add the following two lines to your /etc/modprobe.d/cirrus.conf file: softdep snd-soc-wm8804-i2c pre: snd-soc-rpi-wsp-preinit softdep snd-soc-rpi-wsp pre: snd-soc-wm8804-i2c 2015-07-30 cirrus-linux-4.0.9.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-4.0.9 - Configure wm5102 interrupt pin in devicetree 2015-06-16 cirrus-linux-3.18.16.tgz source: https://github.com/HiassofT/rpi-linux/tree/cirrus-3.18.16 - Add FLL1 setup back to snd_rpi_wsp_config_5102_clks to fix switching between 44.1kHz and 48kHz related rates - Add DCVDD commits from Cirrus linux tree - Disable spidev 0 in DT overlay - Don't register arizona irq if it's 0 - Remove direct w->codec access, use snd_soc_dapm_to_codec instead