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 <katsuh...@katsuster.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