mbox series

[v2,0/4] PCI: imx: Add PME_Turn_Off support

Message ID cover.1538670431.git.leonard.crestez@nxp.com (mailing list archive)
Headers show
Series PCI: imx: Add PME_Turn_Off support | expand

Message

Leonard Crestez Oct. 4, 2018, 4:34 p.m. UTC
When the root complex suspends it must send a PME_Turn_Off TLP.
Implement this by asserting the "turnoff" reset.

On imx7d this functionality is part of the SRC and exposed through the
linux reset-controller subsystem. On imx6 equivalent bits are in the
IOMUXC GPR area which the imx6-pcie driver accesses directly.

This is only for imx7d right now but it's deliberately implemented as an
optional reset, ignoring the chip variant:
* Older dtbs won't have this reset so it will be ignored.
* Future chips might also expose this as a reset controller.

For example imx8m (not yet supported) has the exact same
PCIE_CTRL_APPS_TURNOFF bit in the same location.

---
Changes since v1:
 * Add 1-10ms sleep after PME_Turn_Off, with explanation
 * Slight fix in commit msg (this is functionality is)
 * Link: https://lore.kernel.org/patchwork/cover/994076/

Leonard Crestez (4):
  reset: imx7: Add PCIE_CTRL_APPS_TURNOFF
  dt-bindings: imx6q-pcie: Add turnoff reset for imx7d
  ARM: dts: imx7d: Add turnoff reset
  PCI: imx: Add PME_Turn_Off support

 .../bindings/pci/fsl,imx6q-pcie.txt           |  1 +
 arch/arm/boot/dts/imx7d.dtsi                  |  5 ++--
 drivers/pci/controller/dwc/pci-imx6.c         | 24 +++++++++++++++++++
 drivers/reset/reset-imx7.c                    |  1 +
 include/dt-bindings/reset/imx7-reset.h        |  4 +++-
 5 files changed, 32 insertions(+), 3 deletions(-)