mirror of https://gitee.com/openkylin/linux.git
dt-bindings: Add GPCv2 power gating driver
Add DT bindings for power domain driver for GPCv2 IP block found in i.MX7 SoCs. Cc: yurovsky@gmail.com Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Dong Aisheng <dongas86@gmail.com> Cc: devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
bd01f064af
commit
2d9eb1dd58
|
@ -0,0 +1,71 @@
|
|||
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@3 {
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
reg = <IMX7_POWER_DOMAIN_PCIE_PHY>;
|
||||
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>;
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (C) 2017 Impinj
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __DT_BINDINGS_IMX7_POWER_H__
|
||||
#define __DT_BINDINGS_IMX7_POWER_H__
|
||||
|
||||
#define IMX7_POWER_DOMAIN_MIPI_PHY 0
|
||||
#define IMX7_POWER_DOMAIN_PCIE_PHY 1
|
||||
#define IMX7_POWER_DOMAIN_USB_HSIC_PHY 2
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue