[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:15:28 PST 2026
Am Sonntag, 22. Februar 2026, 14:11:26 Mitteleuropäische Normalzeit schrieb Heiko Stuebner:
> 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?
Ah, I take everything back. The pmdomain patch in
https://lore.kernel.org/r/1770891364-52147-1-git-send-email-shawn.lin@rock-chips.com
is the actual fix.
With that patch applied all board should work correctly by deferring
the vdec probe until each board adds its domain-supply.
To not cause too much disturbance, this then counts as feature :-)
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