* [PATCH 1/2] arm64: dts: rockchip: drop unused i2s0 from rk3399-firefly
@ 2026-09-03 8:27 Yaozhong Li
2026-09-03 8:27 ` [PATCH 2/2] arm64: dts: rockchip: enable HDMI audio on rk3399-firefly Yaozhong Li
0 siblings, 1 reply; 2+ messages in thread
From: Yaozhong Li @ 2026-09-03 8:27 UTC (permalink / raw)
To: heiko; +Cc: linux-rockchip, linux-arm-kernel, Yaozhong Li
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@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@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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 2/2] arm64: dts: rockchip: enable HDMI audio on rk3399-firefly
2026-09-03 8:27 [PATCH 1/2] arm64: dts: rockchip: drop unused i2s0 from rk3399-firefly Yaozhong Li
@ 2026-09-03 8:27 ` Yaozhong Li
0 siblings, 0 replies; 2+ messages in thread
From: Yaozhong Li @ 2026-09-03 8:27 UTC (permalink / raw)
To: heiko; +Cc: linux-rockchip, linux-arm-kernel, Yaozhong Li
The Firefly-RK3399 exposes audio over its HDMI 2.0 connector, but
hdmi_sound is left disabled, so the only outputs available are the
analog rt5640 jacks and S/PDIF.
Enable it. This depends on i2s0 no longer being enabled, otherwise
i2s2 cannot get a DMA channel for capture and the card fails to
probe.
Tested on a Firefly-RK3399 board with a 1920x1080 display attached:
the hdmi-sound card is registered and plays at both 44.1 and 48 kHz,
alongside the existing rt5640 and S/PDIF cards.
Signed-off-by: Yaozhong Li <yaozhonguwl@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
index fa1b8b8..3d1f84f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -311,6 +311,10 @@ &hdmi {
status = "okay";
};
+&hdmi_sound {
+ status = "okay";
+};
+
&i2c0 {
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <168>;
--
2.55.0.windows.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-03 8:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-03 8:27 [PATCH 1/2] arm64: dts: rockchip: drop unused i2s0 from rk3399-firefly Yaozhong Li
2026-09-03 8:27 ` [PATCH 2/2] arm64: dts: rockchip: enable HDMI audio on rk3399-firefly Yaozhong Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox