* [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1
@ 2026-02-13 2:35 Shawn Lin
2026-02-13 2:35 ` [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 Shawn Lin
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Shawn Lin @ 2026-02-13 2:35 UTC (permalink / raw)
To: Heiko Stuebner; +Cc: linux-rockchip, devicetree, linux-arm-kernel, Shawn Lin
Thus the board dts files could add property for these nodes.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index 7fe9593..4fb8888 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -907,7 +907,7 @@
#size-cells = <0>;
#power-domain-cells = <0>;
- power-domain@RK3588_PD_RKVDEC0 {
+ pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 {
reg = <RK3588_PD_RKVDEC0>;
clocks = <&cru HCLK_RKVDEC0>,
<&cru HCLK_VDPU_ROOT>,
@@ -917,7 +917,7 @@
pm_qos = <&qos_rkvdec0>;
#power-domain-cells = <0>;
};
- power-domain@RK3588_PD_RKVDEC1 {
+ pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 {
reg = <RK3588_PD_RKVDEC1>;
clocks = <&cru HCLK_RKVDEC1>,
<&cru HCLK_VDPU_ROOT>,
@@ -926,7 +926,7 @@
pm_qos = <&qos_rkvdec1>;
#power-domain-cells = <0>;
};
- power-domain@RK3588_PD_VENC0 {
+ pd_venc0: power-domain@RK3588_PD_VENC0 {
reg = <RK3588_PD_VENC0>;
clocks = <&cru HCLK_RKVENC0>,
<&cru ACLK_RKVENC0>;
@@ -937,7 +937,7 @@
#size-cells = <0>;
#power-domain-cells = <0>;
- power-domain@RK3588_PD_VENC1 {
+ pd_venc1: power-domain@RK3588_PD_VENC1 {
reg = <RK3588_PD_VENC1>;
clocks = <&cru HCLK_RKVENC1>,
<&cru HCLK_RKVENC0>,
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 2026-02-13 2:35 [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Shawn Lin @ 2026-02-13 2:35 ` Shawn Lin 2026-02-13 2:42 ` Shawn Lin 2026-02-13 10:32 ` [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Chaoyi Chen 2026-02-22 22:39 ` Heiko Stuebner 2 siblings, 1 reply; 11+ messages in thread From: Shawn Lin @ 2026-02-13 2:35 UTC (permalink / raw) To: Heiko Stuebner; +Cc: linux-rockchip, devicetree, linux-arm-kernel, 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@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; regulator-min-microvolt = <675000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>; -- 2.7.4 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 2026-02-13 2:35 ` [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 Shawn Lin @ 2026-02-13 2:42 ` Shawn Lin 2026-02-22 13:11 ` Heiko Stuebner 0 siblings, 1 reply; 11+ messages in thread From: Shawn Lin @ 2026-02-13 2:42 UTC (permalink / raw) To: Heiko Stuebner, linux-rockchip; +Cc: shawn.lin, devicetree, linux-arm-kernel 在 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@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>; > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 2026-02-13 2:42 ` Shawn Lin @ 2026-02-22 13:11 ` Heiko Stuebner 2026-02-22 13:15 ` Heiko Stuebner 0 siblings, 1 reply; 11+ messages in thread From: Heiko Stuebner @ 2026-02-22 13:11 UTC (permalink / raw) To: linux-rockchip, Shawn Lin; +Cc: shawn.lin, devicetree, linux-arm-kernel 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@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>; > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 2026-02-22 13:11 ` Heiko Stuebner @ 2026-02-22 13:15 ` Heiko Stuebner 0 siblings, 0 replies; 11+ messages in thread From: Heiko Stuebner @ 2026-02-22 13:15 UTC (permalink / raw) To: linux-rockchip, Shawn Lin; +Cc: shawn.lin, devicetree, linux-arm-kernel 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@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>; > > > > > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-13 2:35 [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Shawn Lin 2026-02-13 2:35 ` [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 Shawn Lin @ 2026-02-13 10:32 ` Chaoyi Chen 2026-02-13 11:11 ` Shawn Lin 2026-02-22 22:39 ` Heiko Stuebner 2 siblings, 1 reply; 11+ messages in thread From: Chaoyi Chen @ 2026-02-13 10:32 UTC (permalink / raw) To: Shawn Lin; +Cc: Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel Hello Shawn, On 2/13/2026 10:35 AM, Shawn Lin wrote: > Thus the board dts files could add property for these nodes. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- You should also add pmdomain driver. I've encountered a similar issue before. Finley told me to use the new PMIC, and that would solve the problem. Maybe you're using the same old PMIC as I did :) > > arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > index 7fe9593..4fb8888 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi > @@ -907,7 +907,7 @@ > #size-cells = <0>; > #power-domain-cells = <0>; > > - power-domain@RK3588_PD_RKVDEC0 { > + pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 { > reg = <RK3588_PD_RKVDEC0>; > clocks = <&cru HCLK_RKVDEC0>, > <&cru HCLK_VDPU_ROOT>, > @@ -917,7 +917,7 @@ > pm_qos = <&qos_rkvdec0>; > #power-domain-cells = <0>; > }; > - power-domain@RK3588_PD_RKVDEC1 { > + pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 { > reg = <RK3588_PD_RKVDEC1>; > clocks = <&cru HCLK_RKVDEC1>, > <&cru HCLK_VDPU_ROOT>, > @@ -926,7 +926,7 @@ > pm_qos = <&qos_rkvdec1>; > #power-domain-cells = <0>; > }; > - power-domain@RK3588_PD_VENC0 { > + pd_venc0: power-domain@RK3588_PD_VENC0 { > reg = <RK3588_PD_VENC0>; > clocks = <&cru HCLK_RKVENC0>, > <&cru ACLK_RKVENC0>; > @@ -937,7 +937,7 @@ > #size-cells = <0>; > #power-domain-cells = <0>; > > - power-domain@RK3588_PD_VENC1 { > + pd_venc1: power-domain@RK3588_PD_VENC1 { > reg = <RK3588_PD_VENC1>; > clocks = <&cru HCLK_RKVENC1>, > <&cru HCLK_RKVENC0>, -- Best, Chaoyi ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-13 10:32 ` [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Chaoyi Chen @ 2026-02-13 11:11 ` Shawn Lin 2026-02-24 1:42 ` Chaoyi Chen 0 siblings, 1 reply; 11+ messages in thread From: Shawn Lin @ 2026-02-13 11:11 UTC (permalink / raw) To: Chaoyi Chen Cc: shawn.lin, Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel Hi Chaoyi 在 2026/02/13 星期五 18:32, Chaoyi Chen 写道: > Hello Shawn, > > On 2/13/2026 10:35 AM, Shawn Lin wrote: >> Thus the board dts files could add property for these nodes. >> >> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> >> --- > You should also add pmdomain driver. > > I've encountered a similar issue before. > Finley told me to use the new PMIC, and that would solve the problem. > Maybe you're using the same old PMIC as I did :) > I don't know what does new PMIC mean? New RK806 driver or new RK806 hardware? The problem is these power domains rely on voltage supply which could be probed late after pmdomain driver, then the system enables the PD and access the IP without PD actually enabled(even w/o voltage supply enabled). > >> >> arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >> index 7fe9593..4fb8888 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >> +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >> @@ -907,7 +907,7 @@ >> #size-cells = <0>; >> #power-domain-cells = <0>; >> >> - power-domain@RK3588_PD_RKVDEC0 { >> + pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 { >> reg = <RK3588_PD_RKVDEC0>; >> clocks = <&cru HCLK_RKVDEC0>, >> <&cru HCLK_VDPU_ROOT>, >> @@ -917,7 +917,7 @@ >> pm_qos = <&qos_rkvdec0>; >> #power-domain-cells = <0>; >> }; >> - power-domain@RK3588_PD_RKVDEC1 { >> + pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 { >> reg = <RK3588_PD_RKVDEC1>; >> clocks = <&cru HCLK_RKVDEC1>, >> <&cru HCLK_VDPU_ROOT>, >> @@ -926,7 +926,7 @@ >> pm_qos = <&qos_rkvdec1>; >> #power-domain-cells = <0>; >> }; >> - power-domain@RK3588_PD_VENC0 { >> + pd_venc0: power-domain@RK3588_PD_VENC0 { >> reg = <RK3588_PD_VENC0>; >> clocks = <&cru HCLK_RKVENC0>, >> <&cru ACLK_RKVENC0>; >> @@ -937,7 +937,7 @@ >> #size-cells = <0>; >> #power-domain-cells = <0>; >> >> - power-domain@RK3588_PD_VENC1 { >> + pd_venc1: power-domain@RK3588_PD_VENC1 { >> reg = <RK3588_PD_VENC1>; >> clocks = <&cru HCLK_RKVENC1>, >> <&cru HCLK_RKVENC0>, > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-13 11:11 ` Shawn Lin @ 2026-02-24 1:42 ` Chaoyi Chen 2026-02-24 3:14 ` Shawn Lin 0 siblings, 1 reply; 11+ messages in thread From: Chaoyi Chen @ 2026-02-24 1:42 UTC (permalink / raw) To: Shawn Lin; +Cc: Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel On 2/13/2026 7:11 PM, Shawn Lin wrote: > Hi Chaoyi > > 在 2026/02/13 星期五 18:32, Chaoyi Chen 写道: >> Hello Shawn, >> >> On 2/13/2026 10:35 AM, Shawn Lin wrote: >>> Thus the board dts files could add property for these nodes. >>> >>> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> >>> --- >> You should also add pmdomain driver. >> >> I've encountered a similar issue before. >> Finley told me to use the new PMIC, and that would solve the problem. >> Maybe you're using the same old PMIC as I did :) >> > > I don't know what does new PMIC mean? New RK806 driver or new RK806 > hardware? It is new RK806 hardware. According to Finley, end users are currently using this new type of PMIC. > > The problem is these power domains rely on voltage supply which could > be probed late after pmdomain driver, then the system enables the PD and > access the IP without PD actually enabled(even w/o voltage supply > enabled). > If I'm not mistaken, the new hardware will automatically powers up the supply corresponding to VDEC/VNEC. > > >> >>> >>> arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++---- >>> 1 file changed, 4 insertions(+), 4 deletions(-) >>> >>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>> index 7fe9593..4fb8888 100644 >>> --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>> @@ -907,7 +907,7 @@ >>> #size-cells = <0>; >>> #power-domain-cells = <0>; >>> - power-domain@RK3588_PD_RKVDEC0 { >>> + pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 { >>> reg = <RK3588_PD_RKVDEC0>; >>> clocks = <&cru HCLK_RKVDEC0>, >>> <&cru HCLK_VDPU_ROOT>, >>> @@ -917,7 +917,7 @@ >>> pm_qos = <&qos_rkvdec0>; >>> #power-domain-cells = <0>; >>> }; >>> - power-domain@RK3588_PD_RKVDEC1 { >>> + pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 { >>> reg = <RK3588_PD_RKVDEC1>; >>> clocks = <&cru HCLK_RKVDEC1>, >>> <&cru HCLK_VDPU_ROOT>, >>> @@ -926,7 +926,7 @@ >>> pm_qos = <&qos_rkvdec1>; >>> #power-domain-cells = <0>; >>> }; >>> - power-domain@RK3588_PD_VENC0 { >>> + pd_venc0: power-domain@RK3588_PD_VENC0 { >>> reg = <RK3588_PD_VENC0>; >>> clocks = <&cru HCLK_RKVENC0>, >>> <&cru ACLK_RKVENC0>; >>> @@ -937,7 +937,7 @@ >>> #size-cells = <0>; >>> #power-domain-cells = <0>; >>> - power-domain@RK3588_PD_VENC1 { >>> + pd_venc1: power-domain@RK3588_PD_VENC1 { >>> reg = <RK3588_PD_VENC1>; >>> clocks = <&cru HCLK_RKVENC1>, >>> <&cru HCLK_RKVENC0>, >> > > > -- Best, Chaoyi ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-24 1:42 ` Chaoyi Chen @ 2026-02-24 3:14 ` Shawn Lin 2026-02-24 8:51 ` Chaoyi Chen 0 siblings, 1 reply; 11+ messages in thread From: Shawn Lin @ 2026-02-24 3:14 UTC (permalink / raw) To: Chaoyi Chen Cc: shawn.lin, Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel, finley.xiao 在 2026/02/24 星期二 9:42, Chaoyi Chen 写道: > On 2/13/2026 7:11 PM, Shawn Lin wrote: >> Hi Chaoyi >> >> 在 2026/02/13 星期五 18:32, Chaoyi Chen 写道: >>> Hello Shawn, >>> >>> On 2/13/2026 10:35 AM, Shawn Lin wrote: >>>> Thus the board dts files could add property for these nodes. >>>> >>>> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> >>>> --- >>> You should also add pmdomain driver. >>> >>> I've encountered a similar issue before. >>> Finley told me to use the new PMIC, and that would solve the problem. >>> Maybe you're using the same old PMIC as I did :) >>> >> >> I don't know what does new PMIC mean? New RK806 driver or new RK806 >> hardware? > > It is new RK806 hardware. According to Finley, end users are currently using > this new type of PMIC. > > >> >> The problem is these power domains rely on voltage supply which could >> be probed late after pmdomain driver, then the system enables the PD and >> access the IP without PD actually enabled(even w/o voltage supply >> enabled). >> > > If I'm not mistaken, the new hardware will automatically powers up the supply > corresponding to VDEC/VNEC. > Thanks for the clarification on the hardware update. I'm currently using the EVB board for SoC bring-up and post-silicon validation, which I believe carries the old RK806 hardware. It's also apparent that many developers (as opposed to end users) are still relying on the old hardware in the field. Generally speaking, upstream code has no way to distinguish between the old and new PMIC variants solely from the DTS, correct? Given this, I think we should aim to keep both hardware versions workable in the upstream code. > >> >> >>> >>>> >>>> arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++---- >>>> 1 file changed, 4 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>> index 7fe9593..4fb8888 100644 >>>> --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>> @@ -907,7 +907,7 @@ >>>> #size-cells = <0>; >>>> #power-domain-cells = <0>; >>>> - power-domain@RK3588_PD_RKVDEC0 { >>>> + pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 { >>>> reg = <RK3588_PD_RKVDEC0>; >>>> clocks = <&cru HCLK_RKVDEC0>, >>>> <&cru HCLK_VDPU_ROOT>, >>>> @@ -917,7 +917,7 @@ >>>> pm_qos = <&qos_rkvdec0>; >>>> #power-domain-cells = <0>; >>>> }; >>>> - power-domain@RK3588_PD_RKVDEC1 { >>>> + pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 { >>>> reg = <RK3588_PD_RKVDEC1>; >>>> clocks = <&cru HCLK_RKVDEC1>, >>>> <&cru HCLK_VDPU_ROOT>, >>>> @@ -926,7 +926,7 @@ >>>> pm_qos = <&qos_rkvdec1>; >>>> #power-domain-cells = <0>; >>>> }; >>>> - power-domain@RK3588_PD_VENC0 { >>>> + pd_venc0: power-domain@RK3588_PD_VENC0 { >>>> reg = <RK3588_PD_VENC0>; >>>> clocks = <&cru HCLK_RKVENC0>, >>>> <&cru ACLK_RKVENC0>; >>>> @@ -937,7 +937,7 @@ >>>> #size-cells = <0>; >>>> #power-domain-cells = <0>; >>>> - power-domain@RK3588_PD_VENC1 { >>>> + pd_venc1: power-domain@RK3588_PD_VENC1 { >>>> reg = <RK3588_PD_VENC1>; >>>> clocks = <&cru HCLK_RKVENC1>, >>>> <&cru HCLK_RKVENC0>, >>> >> >> >> > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-24 3:14 ` Shawn Lin @ 2026-02-24 8:51 ` Chaoyi Chen 0 siblings, 0 replies; 11+ messages in thread From: Chaoyi Chen @ 2026-02-24 8:51 UTC (permalink / raw) To: Shawn Lin Cc: Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel, finley.xiao On 2/24/2026 11:14 AM, Shawn Lin wrote: > > > 在 2026/02/24 星期二 9:42, Chaoyi Chen 写道: >> On 2/13/2026 7:11 PM, Shawn Lin wrote: >>> Hi Chaoyi >>> >>> 在 2026/02/13 星期五 18:32, Chaoyi Chen 写道: >>>> Hello Shawn, >>>> >>>> On 2/13/2026 10:35 AM, Shawn Lin wrote: >>>>> Thus the board dts files could add property for these nodes. >>>>> >>>>> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> >>>>> --- >>>> You should also add pmdomain driver. >>>> >>>> I've encountered a similar issue before. >>>> Finley told me to use the new PMIC, and that would solve the problem. >>>> Maybe you're using the same old PMIC as I did :) >>>> >>> >>> I don't know what does new PMIC mean? New RK806 driver or new RK806 >>> hardware? >> >> It is new RK806 hardware. According to Finley, end users are currently using >> this new type of PMIC. >> >> >>> >>> The problem is these power domains rely on voltage supply which could >>> be probed late after pmdomain driver, then the system enables the PD and >>> access the IP without PD actually enabled(even w/o voltage supply >>> enabled). >>> >> >> If I'm not mistaken, the new hardware will automatically powers up the supply >> corresponding to VDEC/VNEC. >> > > Thanks for the clarification on the hardware update. > > I'm currently using the EVB board for SoC bring-up and post-silicon > validation, which I believe carries the old RK806 hardware. It's also > apparent that many developers (as opposed to end users) are still > relying on the old hardware in the field. > > Generally speaking, upstream code has no way to distinguish between the old and new PMIC variants solely from the DTS, correct? Given this, I > think we should aim to keep both hardware versions workable in the > upstream code. > As far as I know, only early EVBs internal to Rockchip used them. I think your approach also makes sense :) >> >>> >>> >>>> >>>>> >>>>> arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 8 ++++---- >>>>> 1 file changed, 4 insertions(+), 4 deletions(-) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>>> index 7fe9593..4fb8888 100644 >>>>> --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi >>>>> @@ -907,7 +907,7 @@ >>>>> #size-cells = <0>; >>>>> #power-domain-cells = <0>; >>>>> - power-domain@RK3588_PD_RKVDEC0 { >>>>> + pd_rkvdec0: power-domain@RK3588_PD_RKVDEC0 { >>>>> reg = <RK3588_PD_RKVDEC0>; >>>>> clocks = <&cru HCLK_RKVDEC0>, >>>>> <&cru HCLK_VDPU_ROOT>, >>>>> @@ -917,7 +917,7 @@ >>>>> pm_qos = <&qos_rkvdec0>; >>>>> #power-domain-cells = <0>; >>>>> }; >>>>> - power-domain@RK3588_PD_RKVDEC1 { >>>>> + pd_rkvdec1: power-domain@RK3588_PD_RKVDEC1 { >>>>> reg = <RK3588_PD_RKVDEC1>; >>>>> clocks = <&cru HCLK_RKVDEC1>, >>>>> <&cru HCLK_VDPU_ROOT>, >>>>> @@ -926,7 +926,7 @@ >>>>> pm_qos = <&qos_rkvdec1>; >>>>> #power-domain-cells = <0>; >>>>> }; >>>>> - power-domain@RK3588_PD_VENC0 { >>>>> + pd_venc0: power-domain@RK3588_PD_VENC0 { >>>>> reg = <RK3588_PD_VENC0>; >>>>> clocks = <&cru HCLK_RKVENC0>, >>>>> <&cru ACLK_RKVENC0>; >>>>> @@ -937,7 +937,7 @@ >>>>> #size-cells = <0>; >>>>> #power-domain-cells = <0>; >>>>> - power-domain@RK3588_PD_VENC1 { >>>>> + pd_venc1: power-domain@RK3588_PD_VENC1 { >>>>> reg = <RK3588_PD_VENC1>; >>>>> clocks = <&cru HCLK_RKVENC1>, >>>>> <&cru HCLK_RKVENC0>, >>>> >>> >>> >>> >> > -- Best, Chaoyi ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 2026-02-13 2:35 [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Shawn Lin 2026-02-13 2:35 ` [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 Shawn Lin 2026-02-13 10:32 ` [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Chaoyi Chen @ 2026-02-22 22:39 ` Heiko Stuebner 2 siblings, 0 replies; 11+ messages in thread From: Heiko Stuebner @ 2026-02-22 22:39 UTC (permalink / raw) To: Shawn Lin; +Cc: Heiko Stuebner, linux-rockchip, devicetree, linux-arm-kernel On Fri, 13 Feb 2026 10:35:12 +0800, Shawn Lin wrote: > Thus the board dts files could add property for these nodes. > > Applied, thanks! [1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 commit: 9e79dcc4d8681df3ea1a0665dce5e35a37ece4b6 [2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 commit: 52ad35272559db09ad571d698665fe33d93534a8 Best regards, -- Heiko Stuebner <heiko@sntech.de> ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-02-24 8:52 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-13 2:35 [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Shawn Lin 2026-02-13 2:35 ` [PATCH 2/2] arm64: dts: rockchip: Add domain-supply for pd_rkvdec0/1 and pd_venc0/1 Shawn Lin 2026-02-13 2:42 ` Shawn Lin 2026-02-22 13:11 ` Heiko Stuebner 2026-02-22 13:15 ` Heiko Stuebner 2026-02-13 10:32 ` [PATCH 1/2] arm64: dts: rockchip: add node name for RK3588_PD_RKVDEC0/1 and RK3588_PD_VENC0/1 Chaoyi Chen 2026-02-13 11:11 ` Shawn Lin 2026-02-24 1:42 ` Chaoyi Chen 2026-02-24 3:14 ` Shawn Lin 2026-02-24 8:51 ` Chaoyi Chen 2026-02-22 22:39 ` Heiko Stuebner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox