[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