https://github.com/CirrusLogic/rpi-linux/wiki/Building-the-code has a good guide for getting the Cirrus Logic Audio Card working with the Raspberry Pi. There is a complication if used with a NOOBS installation which it doesn't address, I hope the information here will help others to work around that easily.
The problem is that when you have started Raspbian from NOOBS, the /boot directory is the NOOBS boot, not the Raspbian one. https://github.com/raspberrypi/noobs/wiki/NOOBS-partitioning-explained has a good explanation of how NOOBS partitions the SD card to make it work.
In any of the stages in the CirrusLogic guide where you have to copy files to '/boot/...', you need to change that with Raspbian run through NOOBS. Typically, the Raspbian boot will be /dev/mmcblk0p5 , so first of all you need to mount it to make it accessible:
mkdir /home/pi/rasp_boot
mount /dev/mmcblk0p5 /home/pi/rasp_boot
Then, for the various other commands, replace '/boot' with '/home/pi/rasp_boot'- e.g.
sudo cp kernel7.img /home/pi/rasp_boot/kernel.img
sudo cp ~/code/rpi-linux/arch/arm/boot/dts/rpi-cirrus-wm5102-overlay.dtb /home/pi/rasp_boot/overlays/
sudo nano /home/pi/rasp_boot/config.txt
Hope that helps someone!
N