[PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1
Heiko Stuebner
heiko at sntech.de
Sun Feb 22 05:11:26 PST 2026
Hi Shawn,
Am Freitag, 13. Februar 2026, 03:42:07 Mitteleuropäische Normalzeit schrieb Shawn Lin:
> 在 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.
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
> > 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-arm-kernel
mailing list