I've been working on a major driver rework, removing the need to add a ton of patches to upstream Linux code, fixing several outstanding issues and adding some new features.
Here are builds based on LibreELEC 7.0.3:
RPi: LibreELEC-RPi.arm-7.0.3-HiassofT.tar
RPi2/3: LibreELEC-RPi2.arm-7.0.3-HiassofT.tar
Source code: GitHub - HiassofT/LibreELEC.tv at 7.0.3-cirrus-ng
Note: the name of the soundcard has changed from "snd_rpi_wsp" to "RPi-Cirrus".
One of the new features is proper AC3/DTS passthrough support via S/PDIF, including setting the S/PDIF channel status bits. Choose "RPi-Cirrus, S/PDIF" for that, this device will mute all other analog outputs.
To use the analog outputs (plus S/PDIF) choose "RPi-Cirrus Analog" - this works as before in the previous versions and you can customize the mixer routing (mixing line-in into the signal etc).
Customizing the mixer settings is now done via a shell script (instead of the udev rule):
Use .config/rpi-cirrus-config.sh.sample as a template. This scripts makes use of a bunch of helper functions and definitons in /usr/lib/alsa/rpi-cirrus-functions.sh to simplify setup - you can either use these functions or simply add amixer statements as before (but note that you need to change the soundcard name).
Note: These builds use the rather new Linux kernel 4.9. The current LibreELEC alpha builds also use this kernel but it's still possible that there are some (yet unknown) issues. Just drop me a line if something doesn't quite work as excpected.
so long,
Hias