Kconfig 6.6 KB
Newer Older
1 2
# SPDX-License-Identifier: GPL-2.0

3
menu "DesignWare PCI Core Support"
4
	depends on PCI
5 6 7

config PCIE_DW
	bool
8 9 10

config PCIE_DW_HOST
        bool
11
	depends on PCI_MSI_IRQ_DOMAIN
12
        select PCIE_DW
13

14 15 16 17 18
config PCIE_DW_EP
	bool
	depends on PCI_ENDPOINT
	select PCIE_DW

19
config PCI_DRA7XX
20
	bool
21 22

config PCI_DRA7XX_HOST
23 24
	bool "TI DRA7xx PCIe controller Host Mode"
	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 32 33 34 35 36
	  Enables support for the PCIe controller in the DRA7xx SoC to work in
	  host mode. There are two instances of PCIe controller in DRA7xx.
	  This controller can work either as EP or RC. In order to enable
	  host-specific features PCI_DRA7XX_HOST must be selected and in order
	  to enable device-specific features PCI_DRA7XX_EP must be selected.
	  This uses the DesignWare core.
37 38

config PCI_DRA7XX_EP
39 40
	bool "TI DRA7xx PCIe controller Endpoint Mode"
	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 47 48 49 50 51
	  Enables support for the PCIe controller in the DRA7xx SoC to work in
	  endpoint mode. There are two instances of PCIe controller in DRA7xx.
	  This controller can work either as EP or RC. In order to enable
	  host-specific features PCI_DRA7XX_HOST must be selected and in order
	  to enable device-specific features PCI_DRA7XX_EP must be selected.
	  This uses the DesignWare core.
52 53

config PCIE_DW_PLAT
54
	bool
55

56 57 58 59 60 61 62 63 64 65 66 67 68
config PCIE_DW_PLAT_HOST
	bool "Platform bus based DesignWare PCIe Controller - Host mode"
	depends on PCI && PCI_MSI_IRQ_DOMAIN
	select PCIE_DW_HOST
	select PCIE_DW_PLAT
	help
	  Enables support for the PCIe controller in the Designware IP to
	  work in host mode. There are two instances of PCIe controller in
	  Designware IP.
	  This controller can work either as EP or RC. In order to enable
	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
	  order to enable device-specific features PCI_DW_PLAT_EP must be
	  selected.
69

70 71 72 73 74 75 76 77 78 79 80 81 82 83
config PCIE_DW_PLAT_EP
	bool "Platform bus based DesignWare PCIe Controller - Endpoint mode"
	depends on PCI && PCI_MSI_IRQ_DOMAIN
	depends on PCI_ENDPOINT
	select PCIE_DW_EP
	select PCIE_DW_PLAT
	help
	  Enables support for the PCIe controller in the Designware IP to
	  work in endpoint mode. There are two instances of PCIe controller
	  in Designware IP.
	  This controller can work either as EP or RC. In order to enable
	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
	  order to enable device-specific features PCI_DW_PLAT_EP must be
	  selected.
84 85 86

config PCI_EXYNOS
	bool "Samsung Exynos PCIe controller"
87
	depends on SOC_EXYNOS5440 || COMPILE_TEST
88
	depends on PCI_MSI_IRQ_DOMAIN
89
	select PCIE_DW_HOST
90 91

config PCI_IMX6
92 93
	bool "Freescale i.MX6/7/8 PCIe controller"
	depends on SOC_IMX6Q || SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
94
	depends on PCI_MSI_IRQ_DOMAIN
95
	select PCIE_DW_HOST
96 97 98

config PCIE_SPEAR13XX
	bool "STMicroelectronics SPEAr PCIe controller"
99
	depends on ARCH_SPEAR13XX || COMPILE_TEST
100
	depends on PCI_MSI_IRQ_DOMAIN
101
	select PCIE_DW_HOST
102 103 104 105 106
	help
	  Say Y here if you want PCIe support on SPEAr13XX SoCs.

config PCI_KEYSTONE
	bool "TI Keystone PCIe controller"
107
	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
108
	depends on PCI_MSI_IRQ_DOMAIN
109
	select PCIE_DW_HOST
110 111
	help
	  Say Y here if you want to enable PCI controller support on Keystone
112 113
	  SoCs. The PCI controller on Keystone is based on DesignWare hardware
	  and therefore the driver re-uses the DesignWare core functions to
114 115 116 117
	  implement the driver.

config PCI_LAYERSCAPE
	bool "Freescale Layerscape PCIe controller"
118
	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
119 120
	depends on PCI_MSI_IRQ_DOMAIN
	select MFD_SYSCON
121
	select PCIE_DW_HOST
122 123 124 125
	help
	  Say Y here if you want PCIe controller support on Layerscape SoCs.

config PCI_HISI
126
	depends on OF && (ARM64 || COMPILE_TEST)
127 128
	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
	depends on PCI_MSI_IRQ_DOMAIN
129
	select PCIE_DW_HOST
130
	select PCI_HOST_COMMON
131 132 133 134 135 136
	help
	  Say Y here if you want PCIe controller support on HiSilicon
	  Hip05 and Hip06 SoCs

config PCIE_QCOM
	bool "Qualcomm PCIe controller"
137
	depends on OF && (ARCH_QCOM || COMPILE_TEST)
138
	depends on PCI_MSI_IRQ_DOMAIN
139
	select PCIE_DW_HOST
140 141
	help
	  Say Y here to enable PCIe controller support on Qualcomm SoCs. The
142
	  PCIe controller uses the DesignWare core plus Qualcomm-specific
143 144 145 146
	  hardware wrappers.

config PCIE_ARMADA_8K
	bool "Marvell Armada-8K PCIe controller"
147
	depends on ARCH_MVEBU || COMPILE_TEST
148
	depends on PCI_MSI_IRQ_DOMAIN
149
	select PCIE_DW_HOST
150 151 152
	help
	  Say Y here if you want to enable PCIe controller support on
	  Armada-8K SoCs. The PCIe controller on Armada-8K is based on
153 154
	  DesignWare hardware and therefore the driver re-uses the
	  DesignWare core functions to implement the driver.
155 156

config PCIE_ARTPEC6
157 158 159 160
	bool

config PCIE_ARTPEC6_HOST
	bool "Axis ARTPEC-6 PCIe controller Host Mode"
161
	depends on MACH_ARTPEC6 || COMPILE_TEST
162
	depends on PCI_MSI_IRQ_DOMAIN
163
	select PCIE_DW_HOST
164 165 166 167 168 169 170
	select PCIE_ARTPEC6
	help
	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
	  host mode. This uses the DesignWare core.

config PCIE_ARTPEC6_EP
	bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
171
	depends on MACH_ARTPEC6 || COMPILE_TEST
172 173 174
	depends on PCI_ENDPOINT
	select PCIE_DW_EP
	select PCIE_ARTPEC6
175
	help
176 177
	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
	  endpoint mode. This uses the DesignWare core.
178

179
config PCIE_KIRIN
180
	depends on OF && (ARM64 || COMPILE_TEST)
181
	bool "HiSilicon Kirin series SoCs PCIe controllers"
182
	depends on PCI_MSI_IRQ_DOMAIN
183 184 185 186 187
	select PCIE_DW_HOST
	help
	  Say Y here if you want PCIe controller support
	  on HiSilicon Kirin series SoCs.

188 189
config PCIE_HISI_STB
	bool "HiSilicon STB SoCs PCIe controllers"
190
	depends on ARCH_HISI || COMPILE_TEST
191 192 193 194 195
	depends on PCI_MSI_IRQ_DOMAIN
	select PCIE_DW_HOST
	help
          Say Y here if you want PCIe controller support on HiSilicon STB SoCs

196 197 198 199 200 201 202 203 204 205
config PCI_MESON
	bool "MESON PCIe controller"
	depends on PCI_MSI_IRQ_DOMAIN
	select PCIE_DW_HOST
	help
	  Say Y here if you want to enable PCI controller support on Amlogic
	  SoCs. The PCI controller on Amlogic is based on DesignWare hardware
	  and therefore the driver re-uses the DesignWare core functions to
	  implement the driver.

206 207 208 209 210 211 212 213 214 215
config PCIE_UNIPHIER
	bool "Socionext UniPhier PCIe controllers"
	depends on ARCH_UNIPHIER || COMPILE_TEST
	depends on OF && HAS_IOMEM
	depends on PCI_MSI_IRQ_DOMAIN
	select PCIE_DW_HOST
	help
	  Say Y here if you want PCIe controller support on UniPhier SoCs.
	  This driver supports LD20 and PXs3 SoCs.

216
endmenu