# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/power/fsl,imx-gpcv2.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale i.MX General Power Controller v2 maintainers: - Andrey Smirnov <andrew.smirnov@gmail.com> description: | The i.MX7S/D General Power Control (GPC) block contains Power Gating Control (PGC) for various power domains. Power domains contained within GPC node are generic power domain providers, documented in Documentation/devicetree/bindings/power/power-domain.yaml, which are described as subnodes of the power gating controller 'pgc' node. IP cores belonging to a power domain should contain a 'power-domains' property that is a phandle for PGC node representing the domain. properties: compatible: enum: - fsl,imx7d-gpc - fsl,imx8mn-gpc - fsl,imx8mq-gpc - fsl,imx8mm-gpc - fsl,imx8mp-gpc reg: maxItems: 1 interrupts: maxItems: 1 interrupt-controller: true '#interrupt-cells': const: 3 pgc: type: object additionalProperties: false description: list of power domains provided by this controller. properties: '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: "power-domain@[0-9a-f]+$": type: object additionalProperties: false properties: '#power-domain-cells': const: 0 reg: description: | Power domain index. Valid values are defined in include/dt-bindings/power/imx7-power.h for fsl,imx7d-gpc and include/dt-bindings/power/imx8m-power.h for fsl,imx8mq-gpc include/dt-bindings/power/imx8mm-power.h for fsl,imx8mm-gpc include/dt-bindings/power/imx8mp-power.h for fsl,imx8mp-gpc maxItems: 1 clocks: description: | A number of phandles to clocks that need to be enabled during domain power-up sequencing to ensure reset propagation into devices located inside this power domain. minItems: 1 maxItems: 5 power-supply: true power-domains: maxItems: 1 resets: description: | A number of phandles to resets that need to be asserted during power-up sequencing of the domain. The resets belong to devices located inside the power domain, which need to be held in reset across the power-up sequence. So no means to specify what each reset is in a generic power-domain binding. minItems: 1 maxItems: 4 required: - '#power-domain-cells' - reg required: - '#address-cells' - '#size-cells' required: - compatible - reg - interrupts - pgc additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> gpc@303a0000 { compatible = "fsl,imx7d-gpc"; reg = <0x303a0000 0x1000>; interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; pgc { #address-cells = <1>; #size-cells = <0>; pgc_mipi_phy: power-domain@0 { #power-domain-cells = <0>; reg = <0>; power-supply = <®_1p0d>; }; pgc_pcie_phy: power-domain@1 { #power-domain-cells = <0>; reg = <1>; power-supply = <®_1p0d>; }; pgc_hsic_phy: power-domain@2 { #power-domain-cells = <0>; reg = <2>; power-supply = <®_1p2>; }; }; };