[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201005140311.2507530-1-katsuhiro@katsuster.net>
Date: Mon, 5 Oct 2020 23:03:11 +0900
From: Katsuhiro Suzuki <katsuhiro@...suster.net>
To: Heiko Stuebner <heiko@...ech.de>,
linux-rockchip@...ts.infradead.org
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Katsuhiro Suzuki <katsuhiro@...suster.net>
Subject: [PATCH v3] arm64: dts: rockchip: add SPDIF node for rk3399-rockpro64
This patch adds 'disabled' SPDIF sound node and related settings
of SPDIF for rk3399-rockpro64.
RockPro64 has output pins for SPDIF Tx. But RK3399 does not have
enough DMA channel for enabling SPDIF tx. Current settings are:
- I2S0 (Req num 0, 1): Enabled : Output to 40pins header CON40
- I2S1 (Req num 2, 3): Enabled : Output to ES8316 on board
- I2S2 (Req num 4, 5): Enabled : Output to internal HDMI core
- SPDIF Tx (Req num 7) : Disabled: Output to connector J10
If users want to enable ALL sound I/Os, we need 7 DMA channels for
it. But unfortunately, RK3399 has only 6 DMA channels. So users have
to choose from the following:
- Disable one of I2S (Ex. I2S0) and enable SPDIF tx
- Keep enable I2S0/1/2 and disable SPDIF tx
Signed-off-by: Katsuhiro Suzuki <katsuhiro@...suster.net>
---
Changes in v3:
- Refine commit description why adding disabled node
Changes in v2:
- Remove redundant status property
---
.../boot/dts/rockchip/rk3399-rockpro64.dtsi | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
index 6e553ff47534..58097245994a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -76,6 +76,23 @@ sound {
dais = <&i2s1_p0>;
};
+ sound-dit {
+ compatible = "audio-graph-card";
+ label = "rockchip,rk3399";
+ dais = <&spdif_p0>;
+ };
+
+ spdif-dit {
+ compatible = "linux,spdif-dit";
+ #sound-dai-cells = <0>;
+
+ port {
+ dit_p0_0: endpoint {
+ remote-endpoint = <&spdif_p0_0>;
+ };
+ };
+ };
+
vcc12v_dcin: vcc12v-dcin {
compatible = "regulator-fixed";
regulator-name = "vcc12v_dcin";
@@ -698,6 +715,16 @@ &sdhci {
status = "okay";
};
+&spdif {
+ pinctrl-0 = <&spdif_bus_1>;
+
+ spdif_p0: port {
+ spdif_p0_0: endpoint {
+ remote-endpoint = <&dit_p0_0>;
+ };
+ };
+};
+
&spi1 {
status = "okay";
--
2.28.0
Powered by blists - more mailing lists