This patch adds HDMI sound (I2S0) node and remove dma properties
from UART2 node for rock64.

The DMAC of rk3328 can use 8 channels at same time. Currently, total
7 channels are used as follows:
  - I2S1  2ch
  - UART2 2ch
  - SPDIF 1ch
  - SPI0  2ch

HDMI audio using I2S0 that requires 2ch but DMAC has only 1 channel.

UART2 can work without DMA resources, so this patch removes dma
allocation for UART2 and reuses it to I2S0.

Signed-off-by: Katsuhiro Suzuki <katsuh...@katsuster.net>
---
 .../arm64/boot/dts/rockchip/rk3328-rock64.dts | 24 ++++++++++++++++++-
 arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  1 +
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts 
b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 2157a528276b..e21645aa3fa5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -68,7 +68,8 @@
        sound {
                compatible = "audio-graph-card";
                label = "rockchip,rk3328";
-               dais = <&i2s1_p0
+               dais = <&i2s0_p0
+                       &i2s1_p0
                        &spdif_p0>;
        };
 
@@ -141,6 +142,12 @@
 
 &hdmi {
        status = "okay";
+
+       port@0 {
+               hdmi_p0_0: endpoint {
+                       remote-endpoint = <&i2s0_p0_0>;
+               };
+       };
 };
 
 &hdmiphy {
@@ -256,6 +263,18 @@
        };
 };
 
+&i2s0 {
+       status = "okay";
+
+       i2s0_p0: port {
+               i2s0_p0_0: endpoint {
+                       dai-format = "i2s";
+                       mclk-fs = <256>;
+                       remote-endpoint = <&hdmi_p0_0>;
+               };
+       };
+};
+
 &i2s1 {
        status = "okay";
 
@@ -343,6 +362,9 @@
 
 &uart2 {
        status = "okay";
+
+       /delete-property/ dmas;
+       /delete-property/ dma-names;
 };
 
 &u2phy {
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 84f14b132e8f..374b5da93a35 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -665,6 +665,7 @@
                pinctrl-names = "default";
                pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
                rockchip,grf = <&grf>;
+               #sound-dai-cells = <0>;
                status = "disabled";
 
                ports {
-- 
2.20.1

Reply via email to