Message ID | 20250203171925.126309-3-detlev.casanova@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add HDMI audio on the rk3588 SoC | expand |
Hi Detlev, On 2/3/25 6:16 PM, Detlev Casanova wrote: > Use the simple-audio-card driver with the hdmi0 QP node as CODEC and > the i2s5 device as CPU. > > The simple-audio-card,mclk-fs value is set to 128 as it is done in > the downstream driver. > > The #sound-dai-cells value is set to 0 in the hdmi0 node so that it can be > used as an audio codec node. > > Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com> > --- > arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > index 8cfa30837ce72..767bdfc06b7ec 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > @@ -1369,6 +1369,22 @@ i2s9_8ch: i2s@fddfc000 { > status = "disabled"; > }; > > + hdmi0_sound: hdmi0-sound { > + compatible = "simple-audio-card"; > + simple-audio-card,format = "i2s"; > + simple-audio-card,mclk-fs = <128>; > + simple-audio-card,name = "hdmi0"; > + status = "disabled"; > + > + simple-audio-card,codec { > + sound-dai = <&hdmi0>; > + }; > + > + simple-audio-card,cpu { > + sound-dai = <&i2s5_8ch>; > + }; > + }; > + This is an address/bus-less device, so I believe it needs to be put among other address/bus-less devices, which for Rockchip SoCs is at the top of the DT? c.f. https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html **I** would put it between the firmware and the pmu-a55 nodes. Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger Haikou Thanks! Quentin
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index 8cfa30837ce72..767bdfc06b7ec 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -1369,6 +1369,22 @@ i2s9_8ch: i2s@fddfc000 { status = "disabled"; }; + hdmi0_sound: hdmi0-sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,mclk-fs = <128>; + simple-audio-card,name = "hdmi0"; + status = "disabled"; + + simple-audio-card,codec { + sound-dai = <&hdmi0>; + }; + + simple-audio-card,cpu { + sound-dai = <&i2s5_8ch>; + }; + }; + hdmi0: hdmi@fde80000 { compatible = "rockchip,rk3588-dw-hdmi-qp"; reg = <0x0 0xfde80000 0x0 0x20000>; @@ -1394,6 +1410,7 @@ hdmi0: hdmi@fde80000 { reset-names = "ref", "hdp"; rockchip,grf = <&sys_grf>; rockchip,vo-grf = <&vo1_grf>; + #sound-dai-cells = <0>; status = "disabled"; ports {
Use the simple-audio-card driver with the hdmi0 QP node as CODEC and the i2s5 device as CPU. The simple-audio-card,mclk-fs value is set to 128 as it is done in the downstream driver. The #sound-dai-cells value is set to 0 in the hdmi0 node so that it can be used as an audio codec node. Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com> --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)