]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: rockchip: Add supply for pd_rkvdec and pd_venc on rk3388-evbs
authorShawn Lin <shawn.lin@rock-chips.com>
Fri, 13 Feb 2026 02:35:13 +0000 (10:35 +0800)
committerHeiko Stuebner <heiko@sntech.de>
Sun, 22 Feb 2026 22:28:49 +0000 (23:28 +0100)
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>
Link: https://patch.msgid.link/1770950113-19802-2-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts

index c9d284cb738b7e184a0864787f1398270f36ca14..09bc7b68dcc057d1cc1c0c72b0778bc743c1acad 100644 (file)
        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 {
index f82050597ab31f995b60332f2b8d4b4a04b92363..d6b62cd1b90b5667b37708bd9d0428043d0d37db 100644 (file)
        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 {