fcf08a03535d7a113ebb2c2e92e2669aac6d12e6
[karo-tx-linux.git] / drivers / pci / host / Kconfig
1 menu "PCI host controller drivers"
2         depends on PCI
3
4 config 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
13 config PCI_MVEBU
14         bool "Marvell EBU PCIe controller"
15         depends on ARCH_MVEBU || ARCH_DOVE
16         depends on OF
17
18 config PCIE_DW
19         bool
20
21 config PCI_EXYNOS
22         bool "Samsung Exynos PCIe controller"
23         depends on SOC_EXYNOS5440
24         select PCIEPORTBUS
25         select PCIE_DW
26
27 config PCI_IMX6
28         bool "Freescale i.MX6 PCIe controller"
29         depends on SOC_IMX6Q
30         select PCIEPORTBUS
31         select PCIE_DW
32
33 config PCI_TEGRA
34         bool "NVIDIA Tegra PCIe controller"
35         depends on ARCH_TEGRA && !ARM64
36         help
37           Say Y here if you want support for the PCIe host controller found
38           on NVIDIA Tegra SoCs.
39
40 config PCI_RCAR_GEN2
41         bool "Renesas R-Car Gen2 Internal PCI controller"
42         depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
43         help
44           Say Y here if you want internal PCI support on R-Car Gen2 SoC.
45           There are 3 internal PCI controllers available with a single
46           built-in EHCI/OHCI host controller present on each one.
47
48 config PCI_RCAR_GEN2_PCIE
49         bool "Renesas R-Car PCIe controller"
50         depends on ARCH_SHMOBILE || (ARM && COMPILE_TEST)
51         help
52           Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
53
54 config PCI_HOST_GENERIC
55         bool "Generic PCI host controller"
56         depends on (ARM || ARM64) && OF
57         help
58           Say Y here if you want to support a simple generic PCI host
59           controller, such as the one emulated by kvmtool.
60
61 config PCIE_SPEAR13XX
62         bool "STMicroelectronics SPEAr PCIe controller"
63         depends on ARCH_SPEAR13XX
64         select PCIEPORTBUS
65         select PCIE_DW
66         help
67           Say Y here if you want PCIe support on SPEAr13XX SoCs.
68
69 config PCI_KEYSTONE
70         bool "TI Keystone PCIe controller"
71         depends on ARCH_KEYSTONE
72         select PCIE_DW
73         select PCIEPORTBUS
74         help
75           Say Y here if you want to enable PCI controller support on Keystone
76           SoCs. The PCI controller on Keystone is based on Designware hardware
77           and therefore the driver re-uses the Designware core functions to
78           implement the driver.
79
80 config PCIE_XILINX
81         bool "Xilinx AXI PCIe host bridge support"
82         depends on ARCH_ZYNQ
83         help
84           Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
85           Host Bridge driver.
86
87 config PCI_XGENE
88         bool "X-Gene PCIe controller"
89         depends on ARCH_XGENE
90         depends on OF
91         select PCIEPORTBUS
92         select PCI_MSI_IRQ_DOMAIN if PCI_MSI
93         help
94           Say Y here if you want internal PCI support on APM X-Gene SoC.
95           There are 5 internal PCIe ports available. Each port is GEN3 capable
96           and have varied lanes from x1 to x8.
97
98 config PCI_XGENE_MSI
99         bool "X-Gene v1 PCIe MSI feature"
100         depends on PCI_XGENE && PCI_MSI
101         default y
102         help
103           Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
104           This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
105
106 config PCI_LAYERSCAPE
107         bool "Freescale Layerscape PCIe controller"
108         depends on OF && (ARM || ARCH_LAYERSCAPE)
109         select PCIE_DW
110         select MFD_SYSCON
111         help
112           Say Y here if you want PCIe controller support on Layerscape SoCs.
113
114 config PCI_VERSATILE
115         bool "ARM Versatile PB PCI controller"
116         depends on ARCH_VERSATILE
117
118 config PCIE_IPROC
119         tristate "Broadcom iProc PCIe controller"
120         depends on OF && (ARM || ARM64)
121         default n
122         help
123           This enables the iProc PCIe core controller support for Broadcom's
124           iProc family of SoCs. An appropriate bus interface driver also needs
125           to be enabled
126
127 config 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
137 config PCIE_IPROC_BCMA
138         tristate "Broadcom iProc PCIe BCMA bus driver"
139         depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
140         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
148 endmenu