This set of patches provides support for using the Raspberry Pi 4b with a Cirrus Logic Lochnagar 2 audio development platform plus Cirrus Logic CS47L15 codec.
Patches are needed to audio-graph-card to enable support for setting the component sysclks and plls. The codec sysclks and plls cannot be placed under the clock framwork because they are I2C/SPI-connected peripherals and access to the registers would cause a nested get of the I2C/SPI bus clock. The clock framework does not support this and it would result in a deadlock.
Richard Fitzgerald (7): of: base: Add of_count_phandle_with_fixed_args() ASoC: audio-graph-card: Add plls and sysclks DT bindings ASoC: audio-graph-card: Support setting component plls and sysclks ASoC: arizona: Allow codecs to be selected from kernel config ASoC: madera: Allow codecs to be selected from kernel config ARM: dts: Add dts for RPi4b + Cirrus Logic Lochnagar2 + CS47L15 MAINTAINERS: Add dts for Cirrus Logic Lochnagar on RPi4
.../bindings/sound/audio-graph-card.txt | 44 ++++ MAINTAINERS | 1 + arch/arm/boot/dts/Makefile | 1 + ...bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dts | 166 +++++++++++++++ .../dts/bcm2711-rpi4b-cirrus-lochnagar.dtsi | 201 ++++++++++++++++++ drivers/of/base.c | 73 +++++-- include/linux/of.h | 9 + include/sound/simple_card_utils.h | 24 +++ sound/soc/codecs/Kconfig | 18 +- sound/soc/generic/audio-graph-card.c | 16 +- sound/soc/generic/simple-card-utils.c | 184 ++++++++++++++++ 11 files changed, 703 insertions(+), 34 deletions(-) create mode 100644 arch/arm/boot/dts/bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dts create mode 100644 arch/arm/boot/dts/bcm2711-rpi4b-cirrus-lochnagar.dtsi