[PATCH RFC v2 11/11] arm64: dts: amlogic: odroid-c2: add support for I2S audio input

Valerio Setti
2026-04-11T14:58:32Z

- Enable AUDIN I2S decoder and all FIFO components;
- Add AUDIN I2S Decoder as AUX device to the GX sound card;
- Add AUDIN Capture frontend DAIs in the GX sound card;
- Add I2S input data routing to the GX sound card.

Note: in the routing part, usage of "AIU I2S Encoder Capture" as source
for "AUDIN I2S Decoder IN" is fine (despite the Encoder/Decoder mismatch).
This belong to the fact that the interface is implemented by "AIU I2S
Encoder", which was already existing (and named) before the AUDIN addition.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
---
.../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 34 ++++++++++++++++++++++
1 file changed, 34 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
index 5943bc810678edc81fe1a8e3eeae69786e27010c..54798e5b631fdc594cabc5876ab73a3a85944ab0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
@@ -188,6 +188,12 @@ sound {
<270950400>,
<393216000>;

+ audio-aux-devs = <&audin_decoder_i2s>;
+ audio-routing = "AUDIN I2S Decoder IN", "AIU I2S Encoder Capture",
+ "AUDIN FIFO0 I2S IN", "AUDIN I2S Decoder OUT",
+ "AUDIN FIFO1 I2S IN", "AUDIN I2S Decoder OUT",
+ "AUDIN FIFO2 I2S IN", "AUDIN I2S Decoder OUT";
+
dai-link-0 {
sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
};
@@ -209,6 +215,18 @@ codec-0 {
sound-dai = <&hdmi_tx>;
};
};
+
+ dai-link-3 {
+ sound-dai = <&audin_fifo0>;
+ };
+
+ dai-link-4 {
+ sound-dai = <&audin_fifo1>;
+ };
+
+ dai-link-5 {
+ sound-dai = <&audin_fifo2>;
+ };
};
};

@@ -216,6 +234,22 @@ &aiu {
status = "okay";
};

+&audin_decoder_i2s {
+ status = "okay";
+};
+
+&audin_fifo0 {
+ status = "okay";
+};
+
+&audin_fifo1 {
+ status = "okay";
+};
+
+&audin_fifo2 {
+ status = "okay";
+};
+
&cec_AO {
status = "okay";
pinctrl-0 = <&ao_cec_pins>;

--
2.39.5