This patch adds the sound over HDMI feature to the Juno Device Tree.

Signed-off-by: Joao Pinto <jpi...@synopsys.com>
---
 arch/arm64/boot/dts/arm/juno-base.dtsi | 92 +++++++++++++++++++----
 1 file changed, 78 insertions(+), 14 deletions(-)

diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi 
b/arch/arm64/boot/dts/arm/juno-base.dtsi
index 68ccc39..50c0c9a 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -105,17 +105,17 @@
                clocks {
                        compatible = "arm,scpi-clocks";
 
-                       scpi_dvfs: scpi-dvfs {
+                       scpi_dvfs: scpi_clocks@0 {
                                compatible = "arm,scpi-dvfs-clocks";
                                #clock-cells = <1>;
                                clock-indices = <0>, <1>, <2>;
-                               clock-output-names = "atlclk", 
"aplclk","gpuclk";
+                               clock-output-names = "atlclk", 
"aplclk","clk_mali";
                        };
-                       scpi_clk: scpi-clk {
+                       scpi_clk: scpi_clocks@3 {
                                compatible = "arm,scpi-variable-clocks";
                                #clock-cells = <1>;
-                               clock-indices = <3>;
-                               clock-output-names = "pxlclk";
+                               clock-indices = <3>, <4>, <5>;
+                               clock-output-names = "pxlclk0", "pxlclk1", 
"i2sclk";
                        };
                };
 
@@ -127,7 +127,7 @@
 
        /include/ "juno-clocks.dtsi"
 
-       dma@7ff00000 {
+       dma0: dma@7ff00000 {
                compatible = "arm,pl330", "arm,primecell";
                reg = <0x0 0x7ff00000 0 0x1000>;
                #dma-cells = <1>;
@@ -144,8 +144,10 @@
                             <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&soc_faxiclk>;
                clock-names = "apb_pclk";
+               dmas = <&dma0 1>, <&dma0 2>;
+               dma-names = "rx", "tx";
        };
-
+/*
        hdlcd@7ff50000 {
                compatible = "arm,hdlcd";
                reg = <0 0x7ff50000 0 0x1000>;
@@ -154,21 +156,21 @@
                clock-names = "pxlclk";
 
                port {
-                       hdlcd1_output: hdlcd1-endpoint {
+                       hdlcd1_output: endpoint@0 {
                                remote-endpoint = <&tda998x_1_input>;
                        };
                };
        };
-
+*/
        hdlcd@7ff60000 {
                compatible = "arm,hdlcd";
                reg = <0 0x7ff60000 0 0x1000>;
                interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&scpi_clk 3>;
+               clocks = <&scpi_clk 4>;
                clock-names = "pxlclk";
 
                port {
-                       hdlcd0_output: hdlcd0-endpoint {
+                       hdlcd0_output: endpoint@0 {
                                remote-endpoint = <&tda998x_0_input>;
                        };
                };
@@ -192,13 +194,20 @@
                i2c-sda-hold-time-ns = <500>;
                clocks = <&soc_smc50mhz>;
 
-               hdmi-transmitter@70 {
+               hdmi_transmitter0: hdmi-transmitter@70 {
                        compatible = "nxp,tda998x";
                        reg = <0x70>;
+                       audio-ports = <0x03>, <0x04>;
+                       audio-port-names = "i2s", "spdif";
+                       #sound-dai-cells = <1>;
                        port {
-                               tda998x_0_input: tda998x-0-endpoint {
+                               tda998x_0_input: endpoint@0 {
                                        remote-endpoint = <&hdlcd0_output>;
                                };
+
+                               tda998x_0_output: endpoint@1 {
+                                       remote-endpoint = 
<&hdmi0_connector_output>;
+                               };
                        };
                };
 
@@ -206,9 +215,64 @@
                        compatible = "nxp,tda998x";
                        reg = <0x71>;
                        port {
-                               tda998x_1_input: tda998x-1-endpoint {
+/*                             tda998x_1_input: endpoint@0 {
                                        remote-endpoint = <&hdlcd1_output>;
                                };
+*/
+                               tda998x_1_output: endpoint@1 {
+                                       remote-endpoint = 
<&hdmi1_connector_output>;
+                               };
+                       };
+               };
+       };
+
+       soc_i2s: i2s@7ff90000 {
+               compatible = "snps,designware-i2s";
+               reg = <0x0 0x7ff90000 0x0 0x1000>;
+               clocks = <&scpi_clk 5>, <&soc_refclk100mhz>;
+               clock-names = "i2sclk", "apb_pclk";
+               #sound-dai-cells = <0>;
+               dmas = <&dma0 5>;
+               dma-names = "tx";
+       };
+
+       hdmi_audio: hdmi_audio@0 {
+               compatible = "linux,hdmi-audio";
+               #sound-dai-cells = <0>;
+               status = "okay";
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+
+               simple-audio-card,format = "i2s";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&soc_i2s>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&hdmi_transmitter0 0>;
+               };
+
+       };
+
+       hdmi0: connector@0 {
+               compatible = "hdmi-connector";
+               type = "a";
+               port {
+                       hdmi0_connector_output: endpoint {
+                               remote-endpoint = <&tda998x_0_output>;
+                       };
+               };
+       };
+
+       hdmi1: connector@1 {
+               compatible = "hdmi-connector";
+               type = "a";
+               port {
+                       hdmi1_connector_output: endpoint {
+                               remote-endpoint = <&tda998x_1_output>;
                        };
                };
        };
-- 
1.8.1.5

Reply via email to