Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[sfrench/cifs-2.6.git] / drivers / pci / dwc / Kconfig
1 menu "DesignWare PCI Core Support"
2
3 config PCIE_DW
4         bool
5
6 config PCIE_DW_HOST
7         bool
8         depends on PCI
9         depends on PCI_MSI_IRQ_DOMAIN
10         select PCIE_DW
11
12 config PCIE_DW_EP
13         bool
14         depends on PCI_ENDPOINT
15         select PCIE_DW
16
17 config PCI_DRA7XX
18         bool "TI DRA7xx PCIe controller"
19         depends on SOC_DRA7XX || COMPILE_TEST
20         depends on (PCI && PCI_MSI_IRQ_DOMAIN) || PCI_ENDPOINT
21         depends on OF && HAS_IOMEM && TI_PIPE3
22         help
23          Enables support for the PCIe controller in the DRA7xx SoC. There
24          are two instances of PCIe controller in DRA7xx. This controller can
25          work either as EP or RC. In order to enable host-specific features
26          PCI_DRA7XX_HOST must be selected and in order to enable device-
27          specific features PCI_DRA7XX_EP must be selected. This uses
28          the DesignWare core.
29
30 if PCI_DRA7XX
31
32 config PCI_DRA7XX_HOST
33         bool "PCI DRA7xx Host Mode"
34         depends on PCI
35         depends on PCI_MSI_IRQ_DOMAIN
36         select PCIE_DW_HOST
37         default y
38         help
39          Enables support for the PCIe controller in the DRA7xx SoC to work in
40          host mode.
41
42 config PCI_DRA7XX_EP
43         bool "PCI DRA7xx Endpoint Mode"
44         depends on PCI_ENDPOINT
45         select PCIE_DW_EP
46         help
47          Enables support for the PCIe controller in the DRA7xx SoC to work in
48          endpoint mode.
49
50 endif
51
52 config PCIE_DW_PLAT
53         bool "Platform bus based DesignWare PCIe Controller"
54         depends on PCI
55         depends on PCI_MSI_IRQ_DOMAIN
56         select PCIE_DW_HOST
57         ---help---
58          This selects the DesignWare PCIe controller support. Select this if
59          you have a PCIe controller on Platform bus.
60
61          If you have a controller with this interface, say Y or M here.
62
63          If unsure, say N.
64
65 config PCI_EXYNOS
66         bool "Samsung Exynos PCIe controller"
67         depends on PCI
68         depends on SOC_EXYNOS5440
69         depends on PCI_MSI_IRQ_DOMAIN
70         select PCIEPORTBUS
71         select PCIE_DW_HOST
72
73 config PCI_IMX6
74         bool "Freescale i.MX6 PCIe controller"
75         depends on PCI
76         depends on SOC_IMX6Q
77         depends on PCI_MSI_IRQ_DOMAIN
78         select PCIEPORTBUS
79         select PCIE_DW_HOST
80
81 config PCIE_SPEAR13XX
82         bool "STMicroelectronics SPEAr PCIe controller"
83         depends on PCI
84         depends on ARCH_SPEAR13XX
85         depends on PCI_MSI_IRQ_DOMAIN
86         select PCIEPORTBUS
87         select PCIE_DW_HOST
88         help
89           Say Y here if you want PCIe support on SPEAr13XX SoCs.
90
91 config PCI_KEYSTONE
92         bool "TI Keystone PCIe controller"
93         depends on PCI
94         depends on ARCH_KEYSTONE
95         depends on PCI_MSI_IRQ_DOMAIN
96         select PCIEPORTBUS
97         select PCIE_DW_HOST
98         help
99           Say Y here if you want to enable PCI controller support on Keystone
100           SoCs. The PCI controller on Keystone is based on DesignWare hardware
101           and therefore the driver re-uses the DesignWare core functions to
102           implement the driver.
103
104 config PCI_LAYERSCAPE
105         bool "Freescale Layerscape PCIe controller"
106         depends on PCI
107         depends on OF && (ARM || ARCH_LAYERSCAPE)
108         depends on PCI_MSI_IRQ_DOMAIN
109         select MFD_SYSCON
110         select PCIE_DW_HOST
111         help
112           Say Y here if you want PCIe controller support on Layerscape SoCs.
113
114 config PCI_HISI
115         depends on OF && ARM64
116         bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
117         depends on PCI
118         depends on PCI_MSI_IRQ_DOMAIN
119         select PCIEPORTBUS
120         select PCIE_DW_HOST
121         select PCI_HOST_COMMON
122         help
123           Say Y here if you want PCIe controller support on HiSilicon
124           Hip05 and Hip06 SoCs
125
126 config PCIE_QCOM
127         bool "Qualcomm PCIe controller"
128         depends on PCI
129         depends on ARCH_QCOM && OF
130         depends on PCI_MSI_IRQ_DOMAIN
131         select PCIEPORTBUS
132         select PCIE_DW_HOST
133         help
134           Say Y here to enable PCIe controller support on Qualcomm SoCs. The
135           PCIe controller uses the DesignWare core plus Qualcomm-specific
136           hardware wrappers.
137
138 config PCIE_ARMADA_8K
139         bool "Marvell Armada-8K PCIe controller"
140         depends on PCI
141         depends on ARCH_MVEBU
142         depends on PCI_MSI_IRQ_DOMAIN
143         select PCIEPORTBUS
144         select PCIE_DW_HOST
145         help
146           Say Y here if you want to enable PCIe controller support on
147           Armada-8K SoCs. The PCIe controller on Armada-8K is based on
148           DesignWare hardware and therefore the driver re-uses the
149           DesignWare core functions to implement the driver.
150
151 config PCIE_ARTPEC6
152         bool "Axis ARTPEC-6 PCIe controller"
153         depends on PCI
154         depends on MACH_ARTPEC6
155         depends on PCI_MSI_IRQ_DOMAIN
156         select PCIEPORTBUS
157         select PCIE_DW_HOST
158         help
159           Say Y here to enable PCIe controller support on Axis ARTPEC-6
160           SoCs.  This PCIe controller uses the DesignWare core.
161
162 config PCIE_KIRIN
163         depends on OF && ARM64
164         bool "HiSilicon Kirin series SoCs PCIe controllers"
165         depends on PCI
166         select PCIEPORTBUS
167         select PCIE_DW_HOST
168         help
169           Say Y here if you want PCIe controller support
170           on HiSilicon Kirin series SoCs.
171
172 endmenu