All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V4 0/9] PCI: tegra: Add Tegra234 PCIe support
@ 2022-07-07  8:12 Vidya Sagar
  2022-07-07  8:12 ` [PATCH V4 1/9] dt-bindings: pci: tegra: Convert to json-schema Vidya Sagar
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Vidya Sagar @ 2022-07-07  8:12 UTC (permalink / raw)
  To: bhelgaas, lpieralisi, robh+dt, krzysztof.kozlowski+dt,
	thierry.reding, jonathanh, jingoohan1, gustavo.pimentel
  Cc: kw, kishon, linux-pci, devicetree, linux-tegra, linux-kernel,
	kthota, mmaddireddy, vidyas, sagar.tv

Tegra234 has a total of 11 PCIe controllers based on Synopsys DesignWare core.
There are three Universal PHY (UPHY) blocks (viz. HSIO, NVHS and GBE) with
each block supporting 8 lanes respectively. Controllers:0~4 use UPHY lanes
from HSIO block, Controllers:5,6 use UPHY lanes from NVHS block and
Controllers:7~10 use UPHY lanes from GBE block. Lane mapping in each block
is controlled in XBAR module by BPMP-FW. Since PCIe core has PIPE interface,
a glue module called PIPE-to-UPHY (P2U) is used to connect each UPHY lane
(applicable to all three UPHY bricks i.e. HSIO/NVHS/GBE) to PCIe controller.
All the controllers can operate in the RootPort mode where as only controllers
C5, C6, C7 and C10 can operate in the EndPoint mode.

This patch series
- Adds support for Tegra234 in the existing P2U PHY driver
- Adds support for Tegra234 in the existing PCIe platform controller driver
- Adds device tree nodes for all PCIe controllers
- Enables nodes applicable to P3737-0000 platform

Testing done on P3737-0000 platform
- PCIe link is up with on-board Broadcom WiFi controller

- PCIe link is up with an NVMe drive connected to M.2 Key-M slot and its
  functionality is verified

- PCIe link is up with a variety of cards (NICs and USB3.0 add-on cards)
  connected to CEM slot and their functionality is verified

- PCIe link is up with C5 controller configured for the endpoint mode with
  a host

V4:
* Addressed review comments from Krzysztof and Rob
* Changes are only in schema files and regulator patch
* Dropped PHY related patches as they are already accepted

V3:
* Add DT nodes for the controllers that can work in the EndPoint mode
* Converted the existing device-tree binding documentation from .txt to .yaml
* Add T234 specific information to the RP and EP .yaml documentation files
* Added regulators required to power up required power rails

V2:
* Dropped 3 patches that add clocks & resets IDs, power-domain IDs and
  memory IDs for PCIe controllers as the patches are already available
  in linux-next
* Based on Bjorn's review comment, reverted the commit b57256918399 ("PCI:
  tegra194: Rename tegra_pcie_dw to tegra194_pcie") and pushed it as a
  separate patch before adding support for T234 in the existing driver
* Addressed review comments from Rob for the other changes

Vidya Sagar (9):
  dt-bindings: pci: tegra: Convert to json-schema
  dt-bindings: PCI: tegra234: Add schema for tegra234 rootport mode
  dt-bindings: PCI: tegra234: Add schema for tegra234 endpoint mode
  arm64: tegra: Add regulators required for PCIe
  arm64: tegra: Add P2U and PCIe controller nodes to Tegra234 DT
  arm64: tegra: Enable PCIe slots in P3737-0000 board
  PCI: Disable MSI for Tegra234 root ports
  Revert "PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie"
  PCI: tegra: Add Tegra234 PCIe support

 .../bindings/pci/nvidia,tegra194-pcie-ep.yaml | 339 +++++++
 .../bindings/pci/nvidia,tegra194-pcie.txt     | 245 -----
 .../bindings/pci/nvidia,tegra194-pcie.yaml    | 381 +++++++
 .../devicetree/bindings/pci/snps,dw-pcie.yaml |   2 +-
 .../boot/dts/nvidia/tegra234-p3701-0000.dtsi  |  36 +
 .../nvidia/tegra234-p3737-0000+p3701-0000.dts |  51 +
 arch/arm64/boot/dts/nvidia/tegra234.dtsi      | 927 ++++++++++++++++++
 drivers/pci/controller/dwc/pcie-tegra194.c    | 622 ++++++++----
 drivers/pci/quirks.c                          |  13 +-
 9 files changed, 2170 insertions(+), 446 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.yaml
 delete mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt
 create mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml

-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-07-11 19:26 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-07  8:12 [PATCH V4 0/9] PCI: tegra: Add Tegra234 PCIe support Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 1/9] dt-bindings: pci: tegra: Convert to json-schema Vidya Sagar
2022-07-11 19:21   ` Rob Herring
2022-07-07  8:12 ` [PATCH V4 2/9] dt-bindings: PCI: tegra234: Add schema for tegra234 rootport mode Vidya Sagar
2022-07-11 19:26   ` Rob Herring
2022-07-07  8:12 ` [PATCH V4 3/9] dt-bindings: PCI: tegra234: Add schema for tegra234 endpoint mode Vidya Sagar
2022-07-07 12:27   ` Rob Herring
2022-07-09  2:33     ` Vidya Sagar
2022-07-11 14:38       ` Rob Herring
2022-07-07  8:12 ` [PATCH V4 4/9] arm64: tegra: Add regulators required for PCIe Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 5/9] arm64: tegra: Add P2U and PCIe controller nodes to Tegra234 DT Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 6/9] arm64: tegra: Enable PCIe slots in P3737-0000 board Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 7/9] PCI: Disable MSI for Tegra234 root ports Vidya Sagar
2022-07-07  8:13 ` [PATCH V4 8/9] Revert "PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie" Vidya Sagar
2022-07-07  8:13 ` [PATCH V4 9/9] PCI: tegra: Add Tegra234 PCIe support Vidya Sagar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.