Re: [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1
From: Heiko Stuebner <heiko@sntech.de>
Date: 2026-02-22 13:11:31
Also in:
linux-devicetree, linux-rockchip
Hi Shawn, Am Freitag, 13. Februar 2026, 03:42:07 Mitteleuropäische Normalzeit schrieb Shawn Lin:
在 2026/02/13 星期五 10:35, Shawn Lin 写道:quoted
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.
just as a question, does the board have problems without these supplies? Aka, is this a fix for a problem, or "just" future proofing the board? Thanks Heiko
quoted
Signed-off-by: Shawn Lin <shawn.lin@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;Oops, I sent the wrong version. Should remove the this line change. Will fix it if v2 needed.quoted
regulator-min-microvolt = <675000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>;