1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/power/fsl,imx-gpcv2.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Freescale i.MX General Power Controller v2 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Andrey Smirnov <andrew.smirnov@gmail.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: | 13c66ec88fSEmmanuel Vadot The i.MX7S/D General Power Control (GPC) block contains Power Gating 14c66ec88fSEmmanuel Vadot Control (PGC) for various power domains. 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot Power domains contained within GPC node are generic power domain 17c66ec88fSEmmanuel Vadot providers, documented in 18c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/power/power-domain.yaml, which are 19c66ec88fSEmmanuel Vadot described as subnodes of the power gating controller 'pgc' node. 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot IP cores belonging to a power domain should contain a 'power-domains' 22c66ec88fSEmmanuel Vadot property that is a phandle for PGC node representing the domain. 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadotproperties: 25c66ec88fSEmmanuel Vadot compatible: 26c66ec88fSEmmanuel Vadot enum: 27c66ec88fSEmmanuel Vadot - fsl,imx7d-gpc 285956d97fSEmmanuel Vadot - fsl,imx8mn-gpc 29c66ec88fSEmmanuel Vadot - fsl,imx8mq-gpc 305956d97fSEmmanuel Vadot - fsl,imx8mm-gpc 31c9ccf3a3SEmmanuel Vadot - fsl,imx8mp-gpc 32c66ec88fSEmmanuel Vadot 33c66ec88fSEmmanuel Vadot reg: 34c66ec88fSEmmanuel Vadot maxItems: 1 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot interrupts: 37c66ec88fSEmmanuel Vadot maxItems: 1 38c66ec88fSEmmanuel Vadot 396be33864SEmmanuel Vadot interrupt-controller: true 406be33864SEmmanuel Vadot '#interrupt-cells': 416be33864SEmmanuel Vadot const: 3 426be33864SEmmanuel Vadot 43c66ec88fSEmmanuel Vadot pgc: 44c66ec88fSEmmanuel Vadot type: object 45*7ef62cebSEmmanuel Vadot additionalProperties: false 46c66ec88fSEmmanuel Vadot description: list of power domains provided by this controller. 47c66ec88fSEmmanuel Vadot 48*7ef62cebSEmmanuel Vadot properties: 49*7ef62cebSEmmanuel Vadot '#address-cells': 50*7ef62cebSEmmanuel Vadot const: 1 51*7ef62cebSEmmanuel Vadot 52*7ef62cebSEmmanuel Vadot '#size-cells': 53*7ef62cebSEmmanuel Vadot const: 0 54*7ef62cebSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot patternProperties: 56*7ef62cebSEmmanuel Vadot "power-domain@[0-9a-f]+$": 57c66ec88fSEmmanuel Vadot type: object 58*7ef62cebSEmmanuel Vadot additionalProperties: false 59*7ef62cebSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot properties: 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot '#power-domain-cells': 63c66ec88fSEmmanuel Vadot const: 0 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot reg: 66c66ec88fSEmmanuel Vadot description: | 67c66ec88fSEmmanuel Vadot Power domain index. Valid values are defined in 68c66ec88fSEmmanuel Vadot include/dt-bindings/power/imx7-power.h for fsl,imx7d-gpc and 69c66ec88fSEmmanuel Vadot include/dt-bindings/power/imx8m-power.h for fsl,imx8mq-gpc 705956d97fSEmmanuel Vadot include/dt-bindings/power/imx8mm-power.h for fsl,imx8mm-gpc 71c9ccf3a3SEmmanuel Vadot include/dt-bindings/power/imx8mp-power.h for fsl,imx8mp-gpc 72c66ec88fSEmmanuel Vadot maxItems: 1 73c66ec88fSEmmanuel Vadot 74c66ec88fSEmmanuel Vadot clocks: 75c66ec88fSEmmanuel Vadot description: | 76c66ec88fSEmmanuel Vadot A number of phandles to clocks that need to be enabled during domain 77c66ec88fSEmmanuel Vadot power-up sequencing to ensure reset propagation into devices located 78c66ec88fSEmmanuel Vadot inside this power domain. 79c66ec88fSEmmanuel Vadot minItems: 1 80c66ec88fSEmmanuel Vadot maxItems: 5 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot power-supply: true 83c66ec88fSEmmanuel Vadot 84*7ef62cebSEmmanuel Vadot power-domains: 85*7ef62cebSEmmanuel Vadot maxItems: 1 86*7ef62cebSEmmanuel Vadot 875956d97fSEmmanuel Vadot resets: 885956d97fSEmmanuel Vadot description: | 895956d97fSEmmanuel Vadot A number of phandles to resets that need to be asserted during 905956d97fSEmmanuel Vadot power-up sequencing of the domain. The resets belong to devices 915956d97fSEmmanuel Vadot located inside the power domain, which need to be held in reset 925956d97fSEmmanuel Vadot across the power-up sequence. So no means to specify what each 935956d97fSEmmanuel Vadot reset is in a generic power-domain binding. 945956d97fSEmmanuel Vadot minItems: 1 955956d97fSEmmanuel Vadot maxItems: 4 965956d97fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot required: 98c66ec88fSEmmanuel Vadot - '#power-domain-cells' 99c66ec88fSEmmanuel Vadot - reg 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot required: 102*7ef62cebSEmmanuel Vadot - '#address-cells' 103*7ef62cebSEmmanuel Vadot - '#size-cells' 104*7ef62cebSEmmanuel Vadot 105*7ef62cebSEmmanuel Vadotrequired: 106c66ec88fSEmmanuel Vadot - compatible 107c66ec88fSEmmanuel Vadot - reg 108c66ec88fSEmmanuel Vadot - interrupts 109c66ec88fSEmmanuel Vadot - pgc 110c66ec88fSEmmanuel Vadot 111c66ec88fSEmmanuel VadotadditionalProperties: false 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadotexamples: 114c66ec88fSEmmanuel Vadot - | 115c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 116c66ec88fSEmmanuel Vadot 117c66ec88fSEmmanuel Vadot gpc@303a0000 { 118c66ec88fSEmmanuel Vadot compatible = "fsl,imx7d-gpc"; 119c66ec88fSEmmanuel Vadot reg = <0x303a0000 0x1000>; 120c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadot pgc { 123c66ec88fSEmmanuel Vadot #address-cells = <1>; 124c66ec88fSEmmanuel Vadot #size-cells = <0>; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot pgc_mipi_phy: power-domain@0 { 127c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 128c66ec88fSEmmanuel Vadot reg = <0>; 129c66ec88fSEmmanuel Vadot power-supply = <®_1p0d>; 130c66ec88fSEmmanuel Vadot }; 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot pgc_pcie_phy: power-domain@1 { 133c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 134c66ec88fSEmmanuel Vadot reg = <1>; 135c66ec88fSEmmanuel Vadot power-supply = <®_1p0d>; 136c66ec88fSEmmanuel Vadot }; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot pgc_hsic_phy: power-domain@2 { 139c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 140c66ec88fSEmmanuel Vadot reg = <2>; 141c66ec88fSEmmanuel Vadot power-supply = <®_1p2>; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot }; 144c66ec88fSEmmanuel Vadot }; 145