[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:42:07 PST 2026


在 2026/02/13 星期五 10:35, Shawn Lin 写道:
> 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;

Oops, I sent the wrong version. Should remove the this line change.
Will fix it if v2 needed.

>   				regulator-min-microvolt = <675000>;
>   				regulator-max-microvolt = <950000>;
>   				regulator-ramp-delay = <12500>;
> 



More information about the Linux-rockchip mailing list