Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Freescale i.MX General Power Controller v2
2==========================================
3
4The i.MX7S/D General Power Control (GPC) block contains Power Gating
5Control (PGC) for various power domains.
6
7Required 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
18Power domains contained within GPC node are generic power domain
19providers, documented in
20Documentation/devicetree/bindings/power/power_domain.txt, which are
21described as subnodes of the power gating controller 'pgc' node,
22which, in turn, is expected to contain the following:
23
24Required 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
32Optional 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
39Example:
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 = <®_1p0d>;
58 };
59 };
60 };
61
62
63Specifying power domain for IP modules
64======================================
65
66IP cores belonging to a power domain should contain a 'power-domains'
67property that is a phandle for PGC node representing the domain.
68
69Example 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 };