Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37dddf14 authored by Cyrille Pitchen's avatar Cyrille Pitchen Committed by Lorenzo Pieralisi
Browse files

PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller



This patch adds support to the Cadence PCIe controller in endpoint mode.

Since pieces of source code are shared with the host driver (Root
Complex mode), we create a new directory under drivers/pci dedicated to
the Cadence PCIe controller. The common code is placed into
drivers/pci/cadence/pcie-cadence.c and used by both the host and
endpoint controller drivers.

Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@free-electrons.com>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
parent 6618f4d3
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -10407,7 +10407,7 @@ M: Alan Douglas <adouglas@cadence.com>
L:	linux-pci@vger.kernel.org
L:	linux-pci@vger.kernel.org
S:	Maintained
S:	Maintained
F:	Documentation/devicetree/bindings/pci/cdns,*.txt
F:	Documentation/devicetree/bindings/pci/cdns,*.txt
F:	drivers/pci/host/pcie-cadence*
F:	drivers/pci/cadence/pcie-cadence*


PCI DRIVER FOR FREESCALE LAYERSCAPE
PCI DRIVER FOR FREESCALE LAYERSCAPE
M:	Minghuan Lian <minghuan.Lian@freescale.com>
M:	Minghuan Lian <minghuan.Lian@freescale.com>
+1 −0
Original line number Original line Diff line number Diff line
@@ -136,6 +136,7 @@ config PCI_HYPERV
          PCI devices from a PCI backend to support PCI driver domains.
          PCI devices from a PCI backend to support PCI driver domains.


source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/cadence/Kconfig"
source "drivers/pci/dwc/Kconfig"
source "drivers/pci/dwc/Kconfig"
source "drivers/pci/host/Kconfig"
source "drivers/pci/host/Kconfig"
source "drivers/pci/endpoint/Kconfig"
source "drivers/pci/endpoint/Kconfig"
+1 −0
Original line number Original line Diff line number Diff line
@@ -56,5 +56,6 @@ obj-y += switch/
obj-$(CONFIG_PCI_ENDPOINT)	+= endpoint/
obj-$(CONFIG_PCI_ENDPOINT)	+= endpoint/


# Endpoint library must be initialized before its users
# Endpoint library must be initialized before its users
obj-$(CONFIG_PCIE_CADENCE)	+= cadence/
# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
obj-y				+= dwc/
obj-y				+= dwc/
+27 −0
Original line number Original line Diff line number Diff line
menu "Cadence PCIe controllers support"

config PCIE_CADENCE
	bool

config PCIE_CADENCE_HOST
	bool "Cadence PCIe host controller"
	depends on OF
	depends on PCI
	select IRQ_DOMAIN
	select PCIE_CADENCE
	help
	  Say Y here if you want to support the Cadence PCIe controller in host
	  mode. This PCIe controller may be embedded into many different vendors
	  SoCs.

config PCIE_CADENCE_EP
	bool "Cadence PCIe endpoint controller"
	depends on OF
	depends on PCI_ENDPOINT
	select PCIE_CADENCE
	help
	  Say Y here if you want to support the Cadence PCIe  controller in
	  endpoint mode. This PCIe controller may be embedded into many
	  different vendors SoCs.

endmenu
+4 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_PCIE_CADENCE) += pcie-cadence.o
obj-$(CONFIG_PCIE_CADENCE_HOST) += pcie-cadence-host.o
obj-$(CONFIG_PCIE_CADENCE_EP) += pcie-cadence-ep.o
Loading