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