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