1 * Rockchip Power Domains
3 Rockchip processors include support for multiple power domains which can be
4 powered up/down by software based on different application scenes to save power.
6 Required properties for power domain controller:
7 - compatible: Should be one of the following.
8 "rockchip,rk3288-power-controller" - for RK3288 SoCs.
9 "rockchip,rk3368-power-controller" - for RK3368 SoCs.
10 "rockchip,rk3399-power-controller" - for RK3399 SoCs.
11 - #power-domain-cells: Number of cells in a power-domain specifier.
12 Should be 1 for multiple PM domains.
13 - #address-cells: Should be 1.
14 - #size-cells: Should be 0.
16 Required properties for power domain sub nodes:
17 - reg: index of the power domain, should use macros in:
18 "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain.
19 "include/dt-bindings/power/rk3368-power.h" - for RK3368 type power domain.
20 "include/dt-bindings/power/rk3399-power.h" - for RK3399 type power domain.
21 - clocks (optional): phandles to clocks which need to be enabled while power domain
23 - pm_qos (optional): phandles to qos blocks which need to be saved and restored
24 while power domain switches state.
28 qos_gpu: qos_gpu@ffaf0000 {
30 reg = <0x0 0xffaf0000 0x0 0x20>;
35 power: power-controller {
36 compatible = "rockchip,rk3288-power-controller";
37 #power-domain-cells = <1>;
42 reg = <RK3288_PD_GPU>;
43 clocks = <&cru ACLK_GPU>;
48 power: power-controller {
49 compatible = "rockchip,rk3368-power-controller";
50 #power-domain-cells = <1>;
55 reg = <RK3368_PD_GPU_1>;
56 clocks = <&cru ACLK_GPU_CFG>;
61 power: power-controller {
62 compatible = "rockchip,rk3399-power-controller";
63 #power-domain-cells = <1>;
70 reg = <RK3399_PD_VIO>;
78 reg = <RK3399_PD_VOPB>;
82 reg = <RK3399_PD_VOPL>;
88 Node of a device using power domains must have a power-domains property,
89 containing a phandle to the power device node and an index specifying which
91 The index should use macros in:
92 "include/dt-bindings/power/rk3288-power.h" - for rk3288 type power domain.
93 "include/dt-bindings/power/rk3368-power.h" - for rk3368 type power domain.
94 "include/dt-bindings/power/rk3399-power.h" - for rk3399 type power domain.
96 Example of the node using power domain:
100 power-domains = <&power RK3288_PD_GPU>;
106 power-domains = <&power RK3368_PD_GPU_1>;
112 power-domains = <&power RK3399_PD_VOPB>;