]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: rockchip: Add power controller for RK3528
authorJonas Karlman <jonas@kwiboo.se>
Sun, 18 May 2025 22:06:51 +0000 (22:06 +0000)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 19 Jun 2025 22:07:31 +0000 (00:07 +0200)
Add power-domain nodes for the power controller on RK3528.

Only PD_GPU can fully be powered down. PD_RKVDEC, PD_RKVENC, PD_VO and
PD_VPU are idle only power domains used by miscellaneous devices.

Because multiple of the miscellaneous device types currently complain
about the use of a power-domains prop, only PD_GPU is enabled.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Link: https://lore.kernel.org/r/20250518220707.669515-5-jonas@kwiboo.se
[changed to using numeric values, until the next merge-window]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3528.dtsi

index 50c8cb5048856738a2303c3558186417b1992c93..829f980ea353a2267408d8a4b034fbf3b4d76b66 100644 (file)
                        reg = <0x0 0xff540000 0x0 0x40000>;
                };
 
+               pmu: power-management@ff600000 {
+                       compatible = "rockchip,rk3528-pmu", "syscon", "simple-mfd";
+                       reg = <0x0 0xff600000 0x0 0x2000>;
+
+                       power: power-controller {
+                               compatible = "rockchip,rk3528-power-controller";
+                               #power-domain-cells = <1>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               /* These power domains are grouped by VD_GPU */
+                               power-domain@4 {
+                                       reg = <4>;
+                                       clocks = <&cru ACLK_GPU_MALI>,
+                                                <&cru PCLK_GPU_ROOT>;
+                                       pm_qos = <&qos_gpu_m0>,
+                                                <&qos_gpu_m1>;
+                                       #power-domain-cells = <0>;
+                               };
+
+                               /* These power domains are grouped by VD_LOGIC */
+                               power-domain@5 {
+                                       reg = <5>;
+                                       pm_qos = <&qos_rkvdec>;
+                                       #power-domain-cells = <0>;
+                                       status = "disabled";
+                               };
+                               power-domain@6 {
+                                       reg = <6>;
+                                       pm_qos = <&qos_rkvenc>;
+                                       #power-domain-cells = <0>;
+                                       status = "disabled";
+                               };
+                               power-domain@7 {
+                                       reg = <7>;
+                                       pm_qos = <&qos_gmac0>,
+                                                <&qos_hdcp>,
+                                                <&qos_jpegdec>,
+                                                <&qos_rga2_m0ro>,
+                                                <&qos_rga2_m0wo>,
+                                                <&qos_sdmmc0>,
+                                                <&qos_usb2host>,
+                                                <&qos_vdpp>,
+                                                <&qos_vop>;
+                                       #power-domain-cells = <0>;
+                                       status = "disabled";
+                               };
+                               power-domain@8 {
+                                       reg = <8>;
+                                       pm_qos = <&qos_emmc>,
+                                                <&qos_fspi>,
+                                                <&qos_gmac1>,
+                                                <&qos_pcie>,
+                                                <&qos_sdio0>,
+                                                <&qos_sdio1>,
+                                                <&qos_tsp>,
+                                                <&qos_usb3otg>,
+                                                <&qos_vpu>;
+                                       #power-domain-cells = <0>;
+                                       status = "disabled";
+                               };
+                       };
+               };
+
                spi0: spi@ff9c0000 {
                        compatible = "rockchip,rk3528-spi",
                                     "rockchip,rk3066-spi";