Messages in this thread | | | Subject | Re: [PATCH v2] arm64: dts: rockchip: add SPDIF node for rk3399-rockpro64 | From | Katsuhiro Suzuki <> | Date | Mon, 31 Aug 2020 10:10:29 +0900 |
| |
Hello Heiko,
On 2020/08/31 4:08, Heiko Stuebner wrote: > Hi, > > Am Montag, 10. August 2020, 11:16:19 CEST schrieb Katsuhiro Suzuki: >> This patch adds 'disabled' SPDIF sound node and related settings >> for rk3399-rockpro64. >> >> There are 2 reasons: >> - All RK3399 dma-bus channels have been already used by I2S0/1/2 >> - RockPro64 does not have SPDIF optical nor coaxial connector, >> just have 3pins > > I don't really understand what you mean here. > > Like is there spdif on the board or not? Because you call it "disabled" > and also indicate that no i2s is available anymore, yet you mention 3 pins. > What do they do then? >
RockPro64 has output pins for SPDIF Tx. But RK3399 does not have enough DMA channel for enabling SPDIF tx. Current settings are:
- I2S0 (Req number 0, 1): Enabled : Output to 40pin headers (CON40) - I2S1 (Req number 2, 3): Enabled : Output to ES8316 on board - I2S2 (Req number 4, 5): Enabled : Output to internal HDMI core - SPDIF Tx (Req number 7) : Disabled : Output to other connector (J10)
If we want to enable ALL sound I/Os, we need 7 DMA channels for it. But... Unfortunately, RK3399 has only 6 DMA channels for sounds, PWM and SPIs.
So users of RockPro64 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
> Thanks > Heiko > >
Best Regards, Katsuhiro Suzuki
>> Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net> >> >> --- >> >> 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"; >> >> > > > >
| |