60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
|
Freescale i.MX General Power Controller
|
||
|
=======================================
|
||
|
|
||
|
The i.MX6Q General Power Control (GPC) block contains DVFS load tracking
|
||
|
counters and Power Gating Control (PGC) for the CPU and PU (GPU/VPU) power
|
||
|
domains.
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: Should be "fsl,imx6q-gpc" or "fsl,imx6sl-gpc"
|
||
|
- reg: should be register base and length as documented in the
|
||
|
datasheet
|
||
|
- interrupts: Should contain GPC interrupt request 1
|
||
|
- pu-supply: Link to the LDO regulator powering the PU power domain
|
||
|
- clocks: Clock phandles to devices in the PU power domain that need
|
||
|
to be enabled during domain power-up for reset propagation.
|
||
|
- #power-domain-cells: Should be 1, see below:
|
||
|
|
||
|
The gpc node is a power-controller as documented by the generic power domain
|
||
|
bindings in Documentation/devicetree/bindings/power/power_domain.txt.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
gpc: gpc@020dc000 {
|
||
|
compatible = "fsl,imx6q-gpc";
|
||
|
reg = <0x020dc000 0x4000>;
|
||
|
interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<0 90 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
pu-supply = <®_pu>;
|
||
|
clocks = <&clks IMX6QDL_CLK_GPU3D_CORE>,
|
||
|
<&clks IMX6QDL_CLK_GPU3D_SHADER>,
|
||
|
<&clks IMX6QDL_CLK_GPU2D_CORE>,
|
||
|
<&clks IMX6QDL_CLK_GPU2D_AXI>,
|
||
|
<&clks IMX6QDL_CLK_OPENVG_AXI>,
|
||
|
<&clks IMX6QDL_CLK_VPU_AXI>;
|
||
|
#power-domain-cells = <1>;
|
||
|
};
|
||
|
|
||
|
|
||
|
Specifying power domain for IP modules
|
||
|
======================================
|
||
|
|
||
|
IP cores belonging to a power domain should contain a 'power-domains' property
|
||
|
that is a phandle pointing to the gpc device node and a DOMAIN_INDEX specifying
|
||
|
the power domain the device belongs to.
|
||
|
|
||
|
Example of a device that is part of the PU power domain:
|
||
|
|
||
|
vpu: vpu@02040000 {
|
||
|
reg = <0x02040000 0x3c000>;
|
||
|
/* ... */
|
||
|
power-domains = <&gpc 1>;
|
||
|
/* ... */
|
||
|
};
|
||
|
|
||
|
The following DOMAIN_INDEX values are valid for i.MX6Q:
|
||
|
ARM_DOMAIN 0
|
||
|
PU_DOMAIN 1
|
||
|
The following additional DOMAIN_INDEX value is valid for i.MX6SL:
|
||
|
DISPLAY_DOMAIN 2
|