Hi all, this series of patches adds support to the Cadence PCIe controller. It was tested on a ARM64 platform emulated by a Palladium running the pci-next kernel. The host mode was tested with some PCIe devices connected to the Palladium through a speed-bridge. Some of those devices were a USB host controller and a SATA controller. The PCIe host controller was also tested with a second controller configured in endpoint mode and connected back to back to the first controller. The EndPoint Controller (EPC) driver of this series was tested with the pci-epf-test.c EndPoint Function (EPF) driver and the pcitest userspace program. For pci-next, I applied this series on top of Kishon's patch ("PCI: endpoint: Use EPC's device in dma_alloc_coherent/dma_free_coherent") otherwise dma_alloc_coherent() fails when called by pci_epf_alloc_space(). Best regards, Cyrille ChangeLog: v1 -> v2: - add new properties in the device-tree bindings: 'cdns,max-outbound-regions' and 'cdns,no-bar-match-nbits'. - add a new patch to regroup all makefile rules in drivers/pci/Makefile, hence cleaning drivers/Makefile up. - change the license text to use the recommanded format: // SPDX-License-Identifier: GPL-2.0 - add a new patch updating the API of the EPC library to add support to multi-function devices. - add a 2 new patches to share more common code between host controller drivers - remove some useless tests - add more comments in both drivers. - fix DT bindings examples - remove useless init of the primary, secondary and sub-ordinate bus numbers in the PCI configuration space of the root port. - remove cdns_pcie_ep_stop() function and rework cdns_pcie_ep_start() function Cyrille Pitchen (8): PCI: Regroup all PCI related entries into drivers/pci/Makefile PCI: OF: Add generic function to parse and allocate PCI resources PCI: Add generic function to probe PCI host controllers PCI: Add vendor ID for Cadence PCI: cadence: Add host driver for Cadence PCIe controller PCI: endpoint: Add the function number as argument to EPC ops dt-bindings: PCI: cadence: Add DT bindings for Cadence PCIe endpoint controller PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller Scott Telford (1): dt-bindings: PCI: cadence: Add DT bindings for Cadence PCIe host controller .../devicetree/bindings/pci/cdns,cdns-pcie-ep.txt | 23 + .../bindings/pci/cdns,cdns-pcie-host.txt | 60 +++ MAINTAINERS | 7 + drivers/Makefile | 5 +- drivers/pci/Kconfig | 2 + drivers/pci/Makefile | 12 +- drivers/pci/cadence/Kconfig | 33 ++ drivers/pci/cadence/Makefile | 4 + drivers/pci/cadence/pcie-cadence-ep.c | 531 +++++++++++++++++++++ drivers/pci/cadence/pcie-cadence-host.c | 330 +++++++++++++ drivers/pci/cadence/pcie-cadence.c | 95 ++++ drivers/pci/cadence/pcie-cadence.h | 310 ++++++++++++ drivers/pci/dwc/pcie-designware-ep.c | 20 +- drivers/pci/endpoint/functions/pci-epf-test.c | 41 +- drivers/pci/endpoint/pci-epc-core.c | 62 ++- drivers/pci/host/Makefile | 2 + drivers/pci/host/pci-host-common.c | 87 +--- drivers/pci/of.c | 51 ++ drivers/pci/probe.c | 50 ++ include/linux/pci-epc.h | 43 +- include/linux/pci.h | 12 + include/linux/pci_ids.h | 2 + 22 files changed, 1624 insertions(+), 158 deletions(-) create mode 100644 Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt create mode 100644 Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt create mode 100644 drivers/pci/cadence/Kconfig create mode 100644 drivers/pci/cadence/Makefile create mode 100644 drivers/pci/cadence/pcie-cadence-ep.c create mode 100644 drivers/pci/cadence/pcie-cadence-host.c create mode 100644 drivers/pci/cadence/pcie-cadence.c create mode 100644 drivers/pci/cadence/pcie-cadence.h -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html