diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
index 235ed00808b71133e8d3ab99d5db6196a70d27cd..550dc9d8e6c858e10f09e097f3b2296df21b350d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
@@ -52,20 +52,6 @@ led_rgb_b {
 		};
 	};
 
-	reserved-memory {
-		#address-cells = <2>;
-		#size-cells = <2>;
-		ranges;
-
-		/* 4k HDMI capture controller */
-		hdmirx_cma: hdmirx_cma {
-			compatible = "shared-dma-pool";
-			alloc-ranges = <0x0 0x0 0x0 0xffffffff>;
-			size = <0x0 (160 * 0x100000)>; /* 160MiB */
-			no-map;
-		};
-	};
-
 	fan: pwm-fan {
 		compatible = "pwm-fan";
 		cooling-levels = <0 95 145 195 255>;
@@ -226,7 +212,10 @@ &hdptxphy_hdmi0 {
 	status = "okay";
 };
 
-/* Should work with at least 160MiB cma reserved above. */
+&hdmirx_cma {
+	status = "okay";
+};
+
 &hdmirx_ctrler {
 	status = "okay";
 	hdmirx-5v-detection-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3588.dtsi b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
index bf3178f405da16d732bfe863b5a1baa9dcf0d7d8..c1ab6fb949e5728aa3378be66bdfcede92eb0de4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
@@ -7,6 +7,25 @@
 #include "rk3588-pinctrl.dtsi"
 
 / {
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		/*
+		 * The 4k HDMI capture controller works only with 32bit
+		 * phys addresses and doesn't support IOMMU. HDMI RX CMA
+		 * must be reserved below 4GB.
+		 */
+		hdmirx_cma: hdmirx_cma {
+			compatible = "shared-dma-pool";
+			alloc-ranges = <0x0 0x0 0x0 0xffffffff>;
+			size = <0x0 (160 * 0x100000)>; /* 160MiB */
+			no-map;
+			status = "disabled";
+		};
+	};
+
 	usb_host1_xhci: usb@fc400000 {
 		compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
 		reg = <0x0 0xfc400000 0x0 0x400000>;