The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/soc/rockchip/power_domain.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * Rockchip Power Domains
    2 
    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.
    5 
    6 Required properties for power domain controller:
    7 - compatible: Should be one of the following.
    8         "rockchip,px30-power-controller" - for PX30 SoCs.
    9         "rockchip,rk3036-power-controller" - for RK3036 SoCs.
   10         "rockchip,rk3066-power-controller" - for RK3066 SoCs.
   11         "rockchip,rk3128-power-controller" - for RK3128 SoCs.
   12         "rockchip,rk3188-power-controller" - for RK3188 SoCs.
   13         "rockchip,rk3228-power-controller" - for RK3228 SoCs.
   14         "rockchip,rk3288-power-controller" - for RK3288 SoCs.
   15         "rockchip,rk3328-power-controller" - for RK3328 SoCs.
   16         "rockchip,rk3366-power-controller" - for RK3366 SoCs.
   17         "rockchip,rk3368-power-controller" - for RK3368 SoCs.
   18         "rockchip,rk3399-power-controller" - for RK3399 SoCs.
   19 - #power-domain-cells: Number of cells in a power-domain specifier.
   20         Should be 1 for multiple PM domains.
   21 - #address-cells: Should be 1.
   22 - #size-cells: Should be 0.
   23 
   24 Required properties for power domain sub nodes:
   25 - reg: index of the power domain, should use macros in:
   26         "include/dt-bindings/power/px30-power.h" - for PX30 type power domain.
   27         "include/dt-bindings/power/rk3036-power.h" - for RK3036 type power domain.
   28         "include/dt-bindings/power/rk3066-power.h" - for RK3066 type power domain.
   29         "include/dt-bindings/power/rk3128-power.h" - for RK3128 type power domain.
   30         "include/dt-bindings/power/rk3188-power.h" - for RK3188 type power domain.
   31         "include/dt-bindings/power/rk3228-power.h" - for RK3228 type power domain.
   32         "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain.
   33         "include/dt-bindings/power/rk3328-power.h" - for RK3328 type power domain.
   34         "include/dt-bindings/power/rk3366-power.h" - for RK3366 type power domain.
   35         "include/dt-bindings/power/rk3368-power.h" - for RK3368 type power domain.
   36         "include/dt-bindings/power/rk3399-power.h" - for RK3399 type power domain.
   37 - clocks (optional): phandles to clocks which need to be enabled while power domain
   38         switches state.
   39 - pm_qos (optional): phandles to qos blocks which need to be saved and restored
   40         while power domain switches state.
   41 
   42 Qos Example:
   43 
   44         qos_gpu: qos_gpu@ffaf0000 {
   45                 compatible ="syscon";
   46                 reg = <0x0 0xffaf0000 0x0 0x20>;
   47         };
   48 
   49 Example:
   50 
   51         power: power-controller {
   52                 compatible = "rockchip,rk3288-power-controller";
   53                 #power-domain-cells = <1>;
   54                 #address-cells = <1>;
   55                 #size-cells = <0>;
   56 
   57                 pd_gpu {
   58                         reg = <RK3288_PD_GPU>;
   59                         clocks = <&cru ACLK_GPU>;
   60                         pm_qos = <&qos_gpu>;
   61                 };
   62         };
   63 
   64          power: power-controller {
   65                 compatible = "rockchip,rk3368-power-controller";
   66                 #power-domain-cells = <1>;
   67                 #address-cells = <1>;
   68                 #size-cells = <0>;
   69 
   70                 pd_gpu_1 {
   71                         reg = <RK3368_PD_GPU_1>;
   72                         clocks = <&cru ACLK_GPU_CFG>;
   73                 };
   74         };
   75 
   76 Example 2:
   77                 power: power-controller {
   78                         compatible = "rockchip,rk3399-power-controller";
   79                         #power-domain-cells = <1>;
   80                         #address-cells = <1>;
   81                         #size-cells = <0>;
   82 
   83                         pd_vio {
   84                                 #address-cells = <1>;
   85                                 #size-cells = <0>;
   86                                 reg = <RK3399_PD_VIO>;
   87 
   88                                 pd_vo {
   89                                         #address-cells = <1>;
   90                                         #size-cells = <0>;
   91                                         reg = <RK3399_PD_VO>;
   92 
   93                                         pd_vopb {
   94                                                 reg = <RK3399_PD_VOPB>;
   95                                         };
   96 
   97                                         pd_vopl {
   98                                                 reg = <RK3399_PD_VOPL>;
   99                                         };
  100                                 };
  101                         };
  102                 };
  103 
  104 Node of a device using power domains must have a power-domains property,
  105 containing a phandle to the power device node and an index specifying which
  106 power domain to use.
  107 The index should use macros in:
  108         "include/dt-bindings/power/px30-power.h" - for px30 type power domain.
  109         "include/dt-bindings/power/rk3036-power.h" - for rk3036 type power domain.
  110         "include/dt-bindings/power/rk3128-power.h" - for rk3128 type power domain.
  111         "include/dt-bindings/power/rk3128-power.h" - for rk3228 type power domain.
  112         "include/dt-bindings/power/rk3288-power.h" - for rk3288 type power domain.
  113         "include/dt-bindings/power/rk3328-power.h" - for rk3328 type power domain.
  114         "include/dt-bindings/power/rk3366-power.h" - for rk3366 type power domain.
  115         "include/dt-bindings/power/rk3368-power.h" - for rk3368 type power domain.
  116         "include/dt-bindings/power/rk3399-power.h" - for rk3399 type power domain.
  117 
  118 Example of the node using power domain:
  119 
  120         node {
  121                 /* ... */
  122                 power-domains = <&power RK3288_PD_GPU>;
  123                 /* ... */
  124         };
  125 
  126         node {
  127                 /* ... */
  128                 power-domains = <&power RK3368_PD_GPU_1>;
  129                 /* ... */
  130         };
  131 
  132         node {
  133                 /* ... */
  134                 power-domains = <&power RK3399_PD_VOPB>;
  135                 /* ... */
  136         };

Cache object: 12535fada45c334c10cc577b01342547


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.