| * Rockchip Power Domains |
| |
| Rockchip processors include support for multiple power domains which can be |
| powered up/down by software based on different application scenes to save power. |
| |
| Required properties for power domain controller: |
| - compatible: Should be one of the following. |
| "rockchip,rk3288-power-controller" - for RK3288 SoCs. |
| - #power-domain-cells: Number of cells in a power-domain specifier. |
| Should be 1 for multiple PM domains. |
| - #address-cells: Should be 1. |
| - #size-cells: Should be 0. |
| |
| Required properties for power domain sub nodes: |
| - reg: index of the power domain, should use macros in: |
| "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain. |
| - clocks (optional): phandles to clocks which need to be enabled while power domain |
| switches state. |
| |
| Example: |
| |
| power: power-controller { |
| compatible = "rockchip,rk3288-power-controller"; |
| #power-domain-cells = <1>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pd_gpu { |
| reg = <RK3288_PD_GPU>; |
| clocks = <&cru ACLK_GPU>; |
| }; |
| }; |
| |
| Node of a device using power domains must have a power-domains property, |
| containing a phandle to the power device node and an index specifying which |
| power domain to use. |
| The index should use macros in: |
| "include/dt-bindings/power/rk3288-power.h" - for rk3288 type power domain. |
| |
| Example of the node using power domain: |
| |
| node { |
| /* ... */ |
| power-domains = <&power RK3288_PD_GPU>; |
| /* ... */ |
| }; |