From: Marcus Cooper <codekip...@gmail.com>

Add the new DAI block for I2S2 which is used for HDMI audio and
a simple-soundcard to link audio between HDMI and I2S.

Note that the HDMI codec requires an inverted frame clock and
a fixed I2S width. As there is no such option for I2S we use
TDM property of the simple-soundcard to do that.

Signed-off-by: Jernej Skrabec <jernej.skra...@siol.net>
Signed-off-by: Marcus Cooper <codekip...@gmail.com>
Signed-off-by: Clément Péron <peron.c...@gmail.com>
---
 arch/arm/boot/dts/sunxi-h3-h5.dtsi | 33 ++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi 
b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index 22d533d18992..7168e9412410 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -105,6 +105,25 @@ de: display-engine {
                status = "disabled";
        };
 
+       hdmi_sound: hdmi-sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,name = "sun8i-h3-hdmi";
+               simple-audio-card,mclk-fs = <128>;
+               simple-audio-card,frame-inversion;
+               status = "disabled";
+
+               simple-audio-card,codec {
+                       sound-dai = <&hdmi>;
+               };
+
+               simple-audio-card,cpu {
+                       sound-dai = <&i2s2>;
+                       dai-tdm-slot-num = <2>;
+                       dai-tdm-slot-width = <32>;
+               };
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <1>;
@@ -662,6 +681,19 @@ i2s1: i2s@1c22400 {
                        status = "disabled";
                };
 
+               i2s2: i2s@1c22800 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun8i-h3-i2s";
+                       reg = <0x01c22800 0x400>;
+                       interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma 27>, <&dma 27>;
+                       resets = <&ccu RST_BUS_I2S2>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
                codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-h3-codec";
@@ -793,6 +825,7 @@ csi: camera@1cb0000 {
                };
 
                hdmi: hdmi@1ee0000 {
+                       #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-h3-dw-hdmi",
                                     "allwinner,sun8i-a83t-dw-hdmi";
                        reg = <0x01ee0000 0x10000>;
-- 
2.25.1

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/20200927192912.46323-12-peron.clem%40gmail.com.

Reply via email to