[PATCH 00/14] Add suspend to ram support for PCIe on J7200

Thomas Richard thomas.richard at bootlin.com
Mon Jan 15 08:14:41 PST 2024


This add suspend to ram support for the PCIe (RC mode) on J7200
platform.

In RC mode, the reset pin for endpoints is managed by a gpio expander
on a i2c bus. This pin shall be managed in suspend_noirq and
resume_noirq.
The suspend/resume has been moved to suspend_noirq/resume_noirq for
pca953x (expander) and pinctrl-single.

To do i2c accesses during suspend_noirq/resume_noirq, we need to force
the wakeup of the i2c controller (which is autosuspended) during
suspend callback. 
It's the only way to wakeup the controller if it's autosuspended, as
runtime pm is disabled in suspend_noirq and resume_noirq.

Signed-off-by: Thomas Richard <thomas.richard at bootlin.com>
---
Thomas Richard (10):
      gpio: pca953x: move suspend/resume to suspend_noirq/resume_noirq
      pinctrl: pinctrl-single: move suspend/resume to suspend_noirq/resume_noirq
      i2c: omap: wakeup the controller during suspend callback
      phy: ti: phy-j721e-wiz: make wiz_clock_init callable multiple times
      phy: ti: phy-j721e-wiz: add resume support
      phy: cadence-torrent: extract calls to clk_get from cdns_torrent_clk
      phy: cadence-torrent: register resets even if the phy is already configured
      phy: cadence-torrent: move already_configured to struct cdns_torrent_phy
      phy: cadence-torrent: remove noop_ops phy operations
      phy: cadence-torrent: add suspend and resume support

Théo Lebrun (4):
      mux: mmio: Add resume support
      PCI: cadence: add resume support to cdns_pcie_host_setup()
      PCI: j721e: move reset GPIO to device struct
      PCI: j721e: add suspend and resume support

 drivers/gpio/gpio-pca953x.c                        |   8 +-
 drivers/i2c/busses/i2c-omap.c                      |  15 +++
 drivers/mux/mmio.c                                 |  34 ++++++
 drivers/pci/controller/cadence/pci-j721e.c         |  86 ++++++++++++--
 drivers/pci/controller/cadence/pcie-cadence-host.c |  49 ++++----
 drivers/pci/controller/cadence/pcie-cadence-plat.c |   2 +-
 drivers/pci/controller/cadence/pcie-cadence.h      |   7 +-
 drivers/phy/cadence/phy-cadence-torrent.c          | 125 +++++++++++++++------
 drivers/phy/ti/phy-j721e-wiz.c                     |  99 ++++++++++++----
 drivers/pinctrl/pinctrl-single.c                   |  19 ++--
 10 files changed, 342 insertions(+), 102 deletions(-)
---
base-commit: 00ff0f9ce40db8e64fe16c424a965fd7ab769c42
change-id: 20240102-j7200-pcie-s2r-ecb1a979e357

Best regards,
-- 
Thomas Richard <thomas.richard at bootlin.com>




More information about the linux-arm-kernel mailing list