[PATCH v3 0/6] Add support for Rpi4b + Cirrus Lochnagar2 and CS47L15

From: Richard Fitzgerald
Date: Thu Dec 17 2020 - 10:42:49 EST


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. These are not specific to CS47L15 - several
Cirrus and non-Cirrus codecs also require component clock setup, typically
for larger codecs with multiple internal clocking options and clock domains.

The codec sysclks and plls cannot be placed under the clock framework because
they are typically I2C/SPI/Soundwire-connected peripherals and access to the
registers would cause a nested get of the bus clock. The clock framework does
not support this and it would result in a deadlock.

Richard Fitzgerald (6):
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: madera: Allow codecs to be selected from kernel config
ASoC: madera: Export clock config defines to dt-bindings
ARM: dts: Add dts for RPi4b + Cirrus Logic Lochnagar2 + CS47L15

.../bindings/sound/audio-graph-card.txt | 72 ++++++
MAINTAINERS | 1 +
arch/arm/boot/dts/Makefile | 1 +
...bcm2711-rpi4b-cirrus-lochnagar-cs47l15.dts | 186 ++++++++++++++
.../dts/bcm2711-rpi4b-cirrus-lochnagar.dtsi | 201 +++++++++++++++
drivers/of/base.c | 73 ++++--
include/dt-bindings/sound/madera.h | 60 +++++
include/linux/of.h | 9 +
include/sound/simple_card_utils.h | 25 ++
sound/soc/codecs/Kconfig | 10 +-
sound/soc/codecs/madera.h | 56 +----
sound/soc/generic/audio-graph-card.c | 16 +-
sound/soc/generic/simple-card-utils.c | 236 ++++++++++++++++++
13 files changed, 861 insertions(+), 85 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

--
2.20.1