[PATCH 1/2] arm64: dts: rockchip: drop unused i2s0 from rk3399-firefly

Yaozhong Li yaozhonguwl at gmail.com
Thu Sep 3 01:27:12 PDT 2026


rk3399-firefly.dts enables i2s0, but no sound card on this board
references it: the on-board rt5640 codec is wired to i2s1 and the
S/PDIF transmitter has its own controller. i2s0 is left over and
serves no purpose here.

Leaving it enabled is not free. The pl330 instance that serves the
audio block only has six channels:

  dma-pl330 ff6d0000.dma-controller: DBUFF-32x8bytes Num_Chans-6 \
    Num_Peri-12 Num_Events-12

i2s0 claims two of them for its unused tx/rx pair, so only four are
left for i2s1 (2), i2s2 (2) and spdif (1). i2s2 loses out and cannot
get a channel for capture:

  rockchip-i2s ff8a0000.i2s: Missing dma channel for stream: 1
  rockchip-i2s ff8a0000.i2s: ASoC error (-22): at \
    snd_soc_pcm_component_new() on ff8a0000.i2s

which makes any card bound to i2s2 fail to probe. This is what
currently prevents HDMI audio from working on this board.

i2s0 is disabled in rk3399-base.dtsi, so simply drop the override.
With it gone, i2s1, i2s2 and spdif all get the channels they ask for.

Tested on a Firefly-RK3399 board.

Signed-off-by: Yaozhong Li <yaozhonguwl at gmail.com>
---
 arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
index 0568dfa..fa1b8b8 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -618,12 +618,6 @@ accelerometer at 68 {
 	};
 };
 
-&i2s0 {
-	rockchip,playback-channels = <8>;
-	rockchip,capture-channels = <8>;
-	status = "okay";
-};
-
 &i2s1 {
 	rockchip,playback-channels = <2>;
 	rockchip,capture-channels = <2>;
-- 
2.55.0.windows.3




More information about the linux-arm-kernel mailing list