diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index a337f3fb8377e4a3a200d4d3a3773a237de2bd6e..24823621721ed8adda65a8056771c8b8e3414da2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1378,8 +1378,21 @@ hdmi0: hdmi@fde80000 {
 			 <&cru CLK_HDMITX0_REF>,
 			 <&cru MCLK_I2S5_8CH_TX>,
 			 <&cru CLK_HDMIHDP0>,
-			 <&cru HCLK_VO1>;
-		clock-names = "pclk", "earc", "ref", "aud", "hdp", "hclk_vo1";
+			 <&cru HCLK_VO1>,
+			 <&cru DCLK_VOP0>,
+			 <&cru DCLK_VOP1>,
+			 <&cru DCLK_VOP2>,
+			 <&cru DCLK_VOP3>;
+		clock-names = "pclk",
+			      "earc",
+			      "ref",
+			      "aud",
+			      "hdp",
+			      "hclk_vo1",
+			      "dclk_vp0",
+			      "dclk_vp1",
+			      "dclk_vp2",
+			      "dclk_vp3";
 		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>,
 			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>,
 			     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>,
@@ -1395,6 +1408,7 @@ hdmi0: hdmi@fde80000 {
 		reset-names = "ref", "hdp";
 		rockchip,grf = <&sys_grf>;
 		rockchip,vo-grf = <&vo1_grf>;
+		#sound-dai-cells = <0>;
 		status = "disabled";
 
 		ports {
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
index d597112f1d5b8ee0b6a4fa17086c8671a5102583..7929a2038950d250aa2cd653349f39c9e54a4e41 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
@@ -153,6 +153,21 @@ vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
 		regulator-max-microvolt = <1100000>;
 		vin-supply = <&vcc5v0_sys>;
 	};
+
+	hdmi0-sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "hdmi0";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,mclk-fs = <128>;
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s5_8ch>;
+		};
+
+		simple-audio-card,codec {
+			sound-dai = <&hdmi0>;
+		};
+	};
 };
 
 &combphy0_ps {
@@ -318,6 +333,10 @@ i2s0_8ch_p0_0: endpoint {
 	};
 };
 
+&i2s5_8ch {
+	status = "okay";
+};
+
 &package_thermal {
 	polling-delay = <1000>;