blob: 22ec82fcdea24c7a76ceb97bf4f11ebf1408a0a2 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001menu "DesignWare PCI Core Support"
2
3config PCIE_DW
4 bool
5
6config PCIE_DW_HOST
7 bool
8 depends on PCI
9 depends on PCI_MSI_IRQ_DOMAIN
10 select PCIE_DW
11
12config PCIE_DW_EP
13 bool
14 depends on PCI_ENDPOINT
15 select PCIE_DW
16
17config 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
30if PCI_DRA7XX
31
32config 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
42config 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
50endif
51
52config 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
65config 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
73config 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
81config 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
91config 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
104config 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
114config 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
126config 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
138config 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
151config 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
162config 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
172endmenu