boards: arm: nrf5340_audio_dk_nrf5340: add bindings for audio codec
The board embeds an audio codec IC, Cirrus CS42L73. While there is no
in-tree driver for it, we need a binding to describe how it is wired in
the board, e.g. for IRQ/RESET lines.
Following Linux binding for the same IC, create one in
dts/bindings/sound. Note that Linux binding is less complete/outdated.
Ref. https://statics.cirrus.com/pubs/proDatasheet/CS47L63_DS1249F2.pdf
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
diff --git a/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_common.dtsi b/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_common.dtsi
index d45db34..b56846f 100644
--- a/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_common.dtsi
+++ b/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_common.dtsi
@@ -184,8 +184,14 @@
spi-max-frequency = <8000000>;
};
+
cs47l63: cs47l63@1 {
+ compatible = "cirrus,cs47l63";
reg = <1>;
+ spi-max-frequency = <8000000>;
+ irq-gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
+ gpio9-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
};
};
diff --git a/dts/bindings/sound/cirrus,cs47l63.yaml b/dts/bindings/sound/cirrus,cs47l63.yaml
new file mode 100644
index 0000000..24940a9
--- /dev/null
+++ b/dts/bindings/sound/cirrus,cs47l63.yaml
@@ -0,0 +1,82 @@
+# Copyright (c) 2023 Nordic Semiconductor ASA
+# SPDX-License-Identifier: Apache-2.0
+
+description: Cirrus Logic CS47L63 Low-Power Audio DSP
+
+compatible: "cirrus,cs47l63"
+
+include: spi-device.yaml
+
+properties:
+ reg:
+ required: true
+
+ irq-gpios:
+ type: phandle-array
+ description:
+ Interrupt request (IRQ) output.
+
+ reset-gpios:
+ type: phandle-array
+ description:
+ Digital reset input.
+
+ gpio1-gpios:
+ type: phandle-array
+ description:
+ GPIO1 input with bus-keeper
+
+ gpio2-gpios:
+ type: phandle-array
+ description:
+ GPIO2 input with bus-keeper
+
+ gpio3-gpios:
+ type: phandle-array
+ description:
+ GPIO3 input with bus-keeper
+
+ gpio4-gpios:
+ type: phandle-array
+ description:
+ GPIO4 input with bus-keeper
+
+ gpio5-gpios:
+ type: phandle-array
+ description:
+ GPIO5 input with bus-keeper
+
+ gpio6-gpios:
+ type: phandle-array
+ description:
+ GPIO6 input with bus-keeper
+
+ gpio7-gpios:
+ type: phandle-array
+ description:
+ GPIO7 input with bus-keeper
+
+ gpio8-gpios:
+ type: phandle-array
+ description:
+ GPIO8 input with bus-keeper
+
+ gpio9-gpios:
+ type: phandle-array
+ description:
+ GPIO9 input with bus-keeper
+
+ gpio10-gpios:
+ type: phandle-array
+ description:
+ GPIO10 input with bus-keeper
+
+ gpio11-gpios:
+ type: phandle-array
+ description:
+ GPIO11 input with bus-keeper
+
+ gpio12-gpios:
+ type: phandle-array
+ description:
+ GPIO12 input with bus-keeper