PCI: layerscape: Add CONFIG_PCI_LAYERSCAPE_EP to build EP/RC separately
authorXiaowei Bao <xiaowei.bao@nxp.com>
Wed, 14 Aug 2019 02:03:30 +0000 (10:03 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 14 Aug 2019 09:54:13 +0000 (10:54 +0100)
Add CONFIG_PCI_LAYERSCAPE_EP so that endpoint and host controller
drivers can be built separately.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/dwc/Kconfig
drivers/pci/controller/dwc/Makefile

index 6ea778a..869c645 100644 (file)
@@ -131,13 +131,29 @@ config PCI_KEYSTONE_EP
          DesignWare core functions to implement the driver.
 
 config PCI_LAYERSCAPE
-       bool "Freescale Layerscape PCIe controller"
+       bool "Freescale Layerscape PCIe controller - Host mode"
        depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
        depends on PCI_MSI_IRQ_DOMAIN
        select MFD_SYSCON
        select PCIE_DW_HOST
        help
-         Say Y here if you want PCIe controller support on Layerscape SoCs.
+         Say Y here if you want to enable PCIe controller support on Layerscape
+         SoCs to work in Host mode.
+         This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
+         determines which PCIe controller works in EP mode and which PCIe
+         controller works in RC mode.
+
+config PCI_LAYERSCAPE_EP
+       bool "Freescale Layerscape PCIe controller - Endpoint mode"
+       depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
+       depends on PCI_ENDPOINT
+       select PCIE_DW_EP
+       help
+         Say Y here if you want to enable PCIe controller support on Layerscape
+         SoCs to work in Endpoint mode.
+         This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
+         determines which PCIe controller works in EP mode and which PCIe
+         controller works in RC mode.
 
 config PCI_HISI
        depends on OF && (ARM64 || COMPILE_TEST)
index b085dfd..824fde7 100644 (file)
@@ -8,7 +8,8 @@ obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
 obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
 obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
 obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone.o
-obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o pci-layerscape-ep.o
+obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
+obj-$(CONFIG_PCI_LAYERSCAPE_EP) += pci-layerscape-ep.o
 obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o
 obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o
 obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o