[PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1
Shawn Lin
shawn.lin at rock-chips.com
Thu Feb 12 18:35:13 PST 2026
The power domains pd_rkvdec0/1 and pd_venc0/1 depend on two voltage supplies,
vdd_vdenc_s0 and vdd_vdenc_mem_s0. These supplies might be missing or cause probe
deferral. Since the Rockchip power domain management code currently supports managing
only one power supply, and both supplies belong to the same PMIC (making it highly
unlikely for one to be available while the other is not), a practical solution is
implemented.
Both supplies are configured with the boot-on and always-on properties. Only one
of them is assigned as the domain-supply for pd_rkvdec0/1 and pd_venc0/1. This allows
the power domain code to perform a nominal enable operation on this single supply,
thereby successfully acquiring a reference to both supplies (as they are from the same
PMIC). The system then relies on their boot-on and always-on flags to maintain the
correct state.
Crucially, this approach handles cases like probe deferral correctly:
if the PMIC is not yet ready, enabling the power domain will be deferred until the
necessary supplies become available.
Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com>
---
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts | 17 +++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
index c9d284c..09bc7b6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
@@ -568,6 +568,22 @@
domain-supply = <&vdd_gpu_s0>;
};
+&pd_rkvdec0 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_rkvdec1 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_venc0 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_venc1 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
&pinctrl {
audio {
hp_detect: headphone-detect {
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
index f820505..25d80b6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
@@ -381,6 +381,22 @@
domain-supply = <&vdd_gpu_s0>;
};
+&pd_rkvdec0 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_rkvdec1 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_venc0 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
+&pd_venc1 {
+ domain-supply = <&vdd_vdenc_s0>;
+};
+
&pinctrl {
audio {
hp_detect: headphone-detect {
@@ -580,6 +596,7 @@
vdd_gpu_mem_s0: dcdc-reg5 {
regulator-name = "vdd_gpu_mem_s0";
regulator-boot-on;
+ regulator-always-on;
regulator-min-microvolt = <675000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
--
2.7.4
More information about the Linux-rockchip
mailing list