2023-08-14 07:28:22

by Hongxing Zhu

[permalink] [raw]
Subject: [PATCH v4 0/9] Add legacy i.MX PCIe EP mode supports

Add legacy 32bit i.MX PCIe EP mode support

The PCI controller contained in i.MX6/7 legacy SOCs is one dual mode
PCIe controller, and can work either as RC or EP.

This series add i.MX6/7 PCIe EP mode supports. And had been verified
on i.MX6 sabresd and i.MX7 SDB boards.

In the verification, one board PCIe is used as RC, the other one is used
as EP.
Use the cross TX/RX differential cable connect the two PCIe ports of
these two boards.

+-----------+ +------------+
| PCIe TX |<-------------->|PCIe RX |
| | | |
| Board | | Board |
| | | |
| PCIe RX |<-------------->|PCIe TX |
+-----------+ +------------+

Changes from v3 to v4:
Add Acked-by: Manivannan Sadhasivam <[email protected]>
into number 8 and 9 patches. Thanks.

Changes from v2 to v3:
Add Reviewed-by: Krzysztof Kozlowski <[email protected]>
into dt-binding patches. Thanks.

Changes from v1 to v2:
Refer to Frank's comments:
To simple .get_features codes, add "const struct pci_epc_features"
*epc_features in drvdata. Thanks.

Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 50 +++++++++++++++++++++++++++++++++++++++++----
arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi | 14 +++++++++++++
arch/arm/boot/dts/nxp/imx/imx6qp.dtsi | 4 ++++
arch/arm/boot/dts/nxp/imx/imx6sx.dtsi | 17 +++++++++++++++
arch/arm/boot/dts/nxp/imx/imx7d.dtsi | 27 ++++++++++++++++++++++++
drivers/pci/controller/dwc/pci-imx6.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 201 insertions(+), 4 deletions(-)

[PATCH v4 1/9] dt-bindings: PCI: fsl,imx6q: Add i.MX6Q and i.MX6QP
[PATCH v4 2/9] dt-bindings: PCI: fsl,imx6q: Add i.MX6SX PCIe EP
[PATCH v4 3/9] dt-bindings: PCI: fsl,imx6q: Add i.MX7D PCIe EP
[PATCH v4 4/9] arm: dts: nxp: Add i.MX6QDL and i.MX6QP PCIe EP
[PATCH v4 5/9] arm: dts: nxp: Add i.MX6SX PCIe EP support
[PATCH v4 6/9] arm: dts: nxp: Add i.MX7D PCIe EP support
[PATCH v4 7/9] PCI: imx6: Add i.MX6Q and i.MX6QP PCIe EP supports
[PATCH v4 8/9] PCI: imx6: Add i.MX6SX PCIe EP support
[PATCH v4 9/9] PCI: imx6: Add i.MX7D PCIe EP support


2023-08-14 08:09:07

by Hongxing Zhu

[permalink] [raw]
Subject: [PATCH v4 2/9] dt-bindings: PCI: fsl,imx6q: Add i.MX6SX PCIe EP compatibles

Add i.MX6SX PCIe EP compatibles.

Signed-off-by: Richard Zhu <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/pci/fsl,imx6q-pcie-ep.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
index 9b881777c801..26448084340a 100644
--- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml
@@ -21,6 +21,7 @@ properties:
enum:
- fsl,imx6q-pcie-ep
- fsl,imx6qp-pcie-ep
+ - fsl,imx6sx-pcie-ep
- fsl,imx8mm-pcie-ep
- fsl,imx8mq-pcie-ep
- fsl,imx8mp-pcie-ep
@@ -62,6 +63,22 @@ required:
allOf:
- $ref: /schemas/pci/snps,dw-pcie-ep.yaml#
- $ref: /schemas/pci/fsl,imx6q-pcie-common.yaml#
+ - if:
+ properties:
+ compatible:
+ enum:
+ - fsl,imx6sx-pcie-ep
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ clock-names:
+ items:
+ - const: pcie
+ - const: pcie_bus
+ - const: pcie_phy
+ - const: pcie_inbound_axi
+
- if:
properties:
compatible:
--
2.34.1