Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / power / fsl,imx-gpcv2.txt
1 Freescale i.MX General Power Controller v2
2 ==========================================
3
4 The i.MX7S/D General Power Control (GPC) block contains Power Gating
5 Control (PGC) for various power domains.
6
7 Required properties:
8
9 - compatible: Should be one of:
10         - "fsl,imx7d-gpc"
11         - "fsl,imx8mq-gpc"
12
13 - reg: should be register base and length as documented in the
14   datasheet
15
16 - interrupts: Should contain GPC interrupt request 1
17
18 Power domains contained within GPC node are generic power domain
19 providers, documented in
20 Documentation/devicetree/bindings/power/power-domain.yaml, which are
21 described as subnodes of the power gating controller 'pgc' node,
22 which, in turn, is expected to contain the following:
23
24 Required properties:
25
26 - reg: Power domain index. Valid values are defined in
27   include/dt-bindings/power/imx7-power.h for fsl,imx7d-gpc and
28   include/dt-bindings/power/imx8m-power.h for fsl,imx8mq-gpc
29
30 - #power-domain-cells: Should be 0
31
32 Optional properties:
33
34 - power-supply: Power supply used to power the domain
35 - clocks: a number of phandles to clocks that need to be enabled during
36   domain power-up sequencing to ensure reset propagation into devices
37   located inside this power domain
38
39 Example:
40
41         gpc: gpc@303a0000 {
42                 compatible = "fsl,imx7d-gpc";
43                 reg = <0x303a0000 0x1000>;
44                 interrupt-controller;
45                 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
46                 #interrupt-cells = <3>;
47                 interrupt-parent = <&intc>;
48
49                 pgc {
50                         #address-cells = <1>;
51                         #size-cells = <0>;
52
53                         pgc_pcie_phy: power-domain@1 {
54                                 #power-domain-cells = <0>;
55
56                                 reg = <1>;
57                                 power-supply = <&reg_1p0d>;
58                         };
59                 };
60         };
61
62
63 Specifying power domain for IP modules
64 ======================================
65
66 IP cores belonging to a power domain should contain a 'power-domains'
67 property that is a phandle for PGC node representing the domain.
68
69 Example of a device that is part of the PCIE_PHY power domain:
70
71         pcie: pcie@33800000 {
72               reg = <0x33800000 0x4000>,
73                     <0x4ff00000 0x80000>;
74                 /* ... */
75                 power-domains = <&pgc_pcie_phy>;
76                 /* ... */
77         };