| Freescale i.MX General Power Controller v2 |
| ========================================== |
| |
| The i.MX7S/D General Power Control (GPC) block contains Power Gating |
| Control (PGC) for various power domains. |
| |
| Required properties: |
| |
| - compatible: Should be "fsl,imx7d-gpc" |
| |
| - reg: should be register base and length as documented in the |
| datasheet |
| |
| - interrupts: Should contain GPC interrupt request 1 |
| |
| Power domains contained within GPC node are generic power domain |
| providers, documented in |
| Documentation/devicetree/bindings/power/power_domain.txt, which are |
| described as subnodes of the power gating controller 'pgc' node, |
| which, in turn, is expected to contain the following: |
| |
| Required properties: |
| |
| - reg: Power domain index. Valid values are defined in |
| include/dt-bindings/power/imx7-power.h |
| |
| - #power-domain-cells: Should be 0 |
| |
| Optional properties: |
| |
| - power-supply: Power supply used to power the domain |
| |
| Example: |
| |
| gpc: gpc@303a0000 { |
| compatible = "fsl,imx7d-gpc"; |
| reg = <0x303a0000 0x1000>; |
| interrupt-controller; |
| interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; |
| #interrupt-cells = <3>; |
| interrupt-parent = <&intc>; |
| |
| pgc { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pgc_pcie_phy: power-domain@1 { |
| #power-domain-cells = <0>; |
| |
| reg = <1>; |
| power-supply = <®_1p0d>; |
| }; |
| }; |
| }; |
| |
| |
| Specifying power domain for IP modules |
| ====================================== |
| |
| IP cores belonging to a power domain should contain a 'power-domains' |
| property that is a phandle for PGC node representing the domain. |
| |
| Example of a device that is part of the PCIE_PHY power domain: |
| |
| pcie: pcie@33800000 { |
| reg = <0x33800000 0x4000>, |
| <0x4ff00000 0x80000>; |
| /* ... */ |
| power-domains = <&pgc_pcie_phy>; |
| /* ... */ |
| }; |