blob: 767605a5c659f3d9fe41d26f89738224e0d86968 [file] [log] [blame]
Thomas Petazzoni45361a42013-05-16 17:55:22 +02001menu "PCI host controller drivers"
2 depends on PCI
3
Kishon Vijay Abraham I47ff3de2014-07-22 15:23:45 -06004config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
6 select PCIE_DW
7 depends on OF && HAS_IOMEM && TI_PIPE3
8 help
9 Enables support for the PCIe controller in the DRA7xx SoC. There
10 are two instances of PCIe controller in DRA7xx. This controller can
11 act both as EP and RC. This reuses the Designware core.
12
Thomas Petazzoni45361a42013-05-16 17:55:22 +020013config PCI_MVEBU
14 bool "Marvell EBU PCIe controller"
Andrew Lunnc2760202014-07-10 23:36:29 +020015 depends on ARCH_MVEBU || ARCH_DOVE
Thomas Petazzoni5477a332013-08-09 12:35:50 +020016 depends on OF
Thomas Petazzoni45361a42013-05-16 17:55:22 +020017
Jingoo Han340cba62013-06-21 16:24:54 +090018config PCIE_DW
19 bool
20
21config PCI_EXYNOS
22 bool "Samsung Exynos PCIe controller"
23 depends on SOC_EXYNOS5440
24 select PCIEPORTBUS
25 select PCIE_DW
26
Sean Crossbb389192013-09-26 11:24:47 +080027config PCI_IMX6
28 bool "Freescale i.MX6 PCIe controller"
29 depends on SOC_IMX6Q
30 select PCIEPORTBUS
31 select PCIE_DW
32
Thierry Redingd1523b52013-08-09 16:49:19 +020033config PCI_TEGRA
34 bool "NVIDIA Tegra PCIe controller"
Thierry Reding44073082014-11-12 14:53:37 +010035 depends on ARCH_TEGRA && !ARM64
Thierry Reding6b1c4d72014-11-12 14:53:38 +010036 help
37 Say Y here if you want support for the PCIe host controller found
38 on NVIDIA Tegra SoCs.
Thierry Redingd1523b52013-08-09 16:49:19 +020039
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040040config PCI_RCAR_GEN2
41 bool "Renesas R-Car Gen2 Internal PCI controller"
Geert Uytterhoeven6cbfeae2015-10-30 08:08:17 -050042 depends on ARM
43 depends on ARCH_SHMOBILE || COMPILE_TEST
Valentine Barshakba3eb9f2013-10-29 20:12:51 +040044 help
45 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
46 There are 3 internal PCI controllers available with a single
47 built-in EHCI/OHCI host controller present on each one.
48
Phil Edworthyc25da472014-05-12 11:57:48 +010049config PCI_RCAR_GEN2_PCIE
50 bool "Renesas R-Car PCIe controller"
Geert Uytterhoeven7c537c62015-10-30 08:13:42 -050051 depends on ARM
52 depends on ARCH_SHMOBILE || COMPILE_TEST
Phil Edworthyc25da472014-05-12 11:57:48 +010053 help
54 Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
55
Will Deaconce292992013-11-22 16:14:41 +000056config PCI_HOST_GENERIC
57 bool "Generic PCI host controller"
Jayachandran Caa4a5c02015-08-05 02:23:40 +053058 depends on (ARM || ARM64) && OF
Will Deaconce292992013-11-22 16:14:41 +000059 help
60 Say Y here if you want to support a simple generic PCI host
61 controller, such as the one emulated by kvmtool.
62
Pratyush Anand51b66a62014-02-11 11:39:26 +053063config PCIE_SPEAR13XX
Sachin Kamat8d7004a2014-08-17 22:09:16 -060064 bool "STMicroelectronics SPEAr PCIe controller"
Pratyush Anand51b66a62014-02-11 11:39:26 +053065 depends on ARCH_SPEAR13XX
66 select PCIEPORTBUS
67 select PCIE_DW
68 help
69 Say Y here if you want PCIe support on SPEAr13XX SoCs.
70
Murali Karicheri0c4ffcf2014-09-02 17:26:19 -060071config PCI_KEYSTONE
72 bool "TI Keystone PCIe controller"
73 depends on ARCH_KEYSTONE
74 select PCIE_DW
75 select PCIEPORTBUS
76 help
77 Say Y here if you want to enable PCI controller support on Keystone
78 SoCs. The PCI controller on Keystone is based on Designware hardware
79 and therefore the driver re-uses the Designware core functions to
80 implement the driver.
Bjorn Helgaasa2351efe2014-09-05 10:57:20 -060081
Srikanth Thokala8961def2014-08-20 21:56:02 +053082config PCIE_XILINX
83 bool "Xilinx AXI PCIe host bridge support"
84 depends on ARCH_ZYNQ
85 help
86 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
87 Host Bridge driver.
88
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060089config PCI_XGENE
90 bool "X-Gene PCIe controller"
91 depends on ARCH_XGENE
92 depends on OF
93 select PCIEPORTBUS
Duc Dangdcd19de2015-06-05 15:56:34 -050094 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
Tanmay Inamdar5f6b6cc2014-10-01 13:01:35 -060095 help
96 Say Y here if you want internal PCI support on APM X-Gene SoC.
97 There are 5 internal PCIe ports available. Each port is GEN3 capable
98 and have varied lanes from x1 to x8.
99
Duc Dangdcd19de2015-06-05 15:56:34 -0500100config PCI_XGENE_MSI
101 bool "X-Gene v1 PCIe MSI feature"
102 depends on PCI_XGENE && PCI_MSI
103 default y
104 help
105 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
106 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
107
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800108config PCI_LAYERSCAPE
109 bool "Freescale Layerscape PCIe controller"
Minghuan Lian5192ec72015-10-16 15:19:19 +0800110 depends on OF && (ARM || ARCH_LAYERSCAPE)
Minghuan Lian62d0ff832014-11-05 16:45:11 +0800111 select PCIE_DW
112 select MFD_SYSCON
113 help
114 Say Y here if you want PCIe controller support on Layerscape SoCs.
115
Rob Herringb7e78172015-01-28 10:16:18 -0600116config PCI_VERSATILE
117 bool "ARM Versatile PB PCI controller"
118 depends on ARCH_VERSATILE
119
Ray Jui1fb37a82015-04-08 11:21:35 -0700120config PCIE_IPROC
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600121 tristate
Ray Jui1fb37a82015-04-08 11:21:35 -0700122 help
123 This enables the iProc PCIe core controller support for Broadcom's
Arnd Bergmannc1b98e42015-11-24 15:28:48 -0600124 iProc family of SoCs. An appropriate bus interface driver needs
125 to be enabled to select this.
Ray Jui1fb37a82015-04-08 11:21:35 -0700126
127config PCIE_IPROC_PLATFORM
128 tristate "Broadcom iProc PCIe platform bus driver"
129 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
130 depends on OF
131 select PCIE_IPROC
132 default ARCH_BCM_IPROC
133 help
134 Say Y here if you want to use the Broadcom iProc PCIe controller
135 through the generic platform bus interface
136
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200137config PCIE_IPROC_BCMA
Hauke Mehrtens05aa7d62015-07-25 21:15:24 +0200138 tristate "Broadcom iProc PCIe BCMA bus driver"
Ray Jui70d334c2015-07-29 10:12:53 -0700139 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
Hauke Mehrtens4785ffb2015-05-12 23:23:01 +0200140 select PCIE_IPROC
141 select BCMA
142 select PCI_DOMAINS
143 default ARCH_BCM_5301X
144 help
145 Say Y here if you want to use the Broadcom iProc PCIe controller
146 through the BCMA bus interface
147
Ley Foon Taneaa61112015-10-23 18:27:12 +0800148config PCIE_ALTERA
149 bool "Altera PCIe controller"
150 depends on ARM || NIOS2
151 depends on OF_PCI
152 select PCI_DOMAINS
153 help
154 Say Y here if you want to enable PCIe controller support on Altera
155 FPGA.
156
Ley Foon Tanaf1169b2015-10-23 18:27:13 +0800157config PCIE_ALTERA_MSI
158 bool "Altera PCIe MSI feature"
159 depends on PCIE_ALTERA && PCI_MSI
160 select PCI_MSI_IRQ_DOMAIN
161 help
162 Say Y here if you want PCIe MSI support for the Altera FPGA.
163 This MSI driver supports Altera MSI to GIC controller IP.
164
Zhou Wang500a1d92015-10-29 20:02:51 -0500165config PCI_HISI
166 depends on OF && ARM64
167 bool "HiSilicon SoC HIP05 PCIe controller"
168 select PCIEPORTBUS
169 select PCIE_DW
170 help
171 Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
172
Thomas Petazzoni45361a42013-05-16 17:55:22 +0200173endmenu