blob: 5c6681d0d09754804eb822e3f626890bb2fcbc59 [file] [log] [blame]
Angel Pons0612b272020-04-05 15:46:56 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Aamir Bohra2d689f92017-05-11 20:27:27 +05302
3#include <console/console.h>
Elyes Haouas8ed58352022-10-22 22:17:28 +02004#include <device/device.h>
Aamir Bohra2d689f92017-05-11 20:27:27 +05305#include <device/pci.h>
Aamir Bohra2d689f92017-05-11 20:27:27 +05306#include <device/pci_ids.h>
Patrick Rudolphe56189c2018-04-18 10:11:59 +02007#include <device/pci_ops.h>
Elyes Haouas8ed58352022-10-22 22:17:28 +02008#include <device/pciexp.h>
9#include <stdint.h>
Aamir Bohra2d689f92017-05-11 20:27:27 +053010
11#define CACHE_LINE_SIZE 0x10
Aamir Bohra2d689f92017-05-11 20:27:27 +053012
13static void pch_pcie_init(struct device *dev)
14{
15 u16 reg16;
16
17 printk(BIOS_DEBUG, "Initializing PCH PCIe bridge.\n");
18
19 /* Enable SERR */
20 pci_or_config32(dev, PCI_COMMAND, PCI_COMMAND_SERR);
21
22 /* Enable Bus Master */
23 pci_or_config32(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
24
25 /* Set Cache Line Size to 0x10 */
26 pci_write_config8(dev, PCI_CACHE_LINE_SIZE, CACHE_LINE_SIZE);
27
Angel Ponsb82b4312020-07-23 23:32:46 +020028 /* disable parity error response */
29 pci_and_config16(dev, PCI_BRIDGE_CONTROL, ~PCI_BRIDGE_CTL_PARITY);
Aamir Bohra2d689f92017-05-11 20:27:27 +053030
Julius Wernercd49cce2019-03-05 16:53:33 -080031 if (CONFIG(PCIE_DEBUG_INFO)) {
Aamir Bohra2d689f92017-05-11 20:27:27 +053032 printk(BIOS_SPEW, " MBL = 0x%08x\n",
33 pci_read_config32(dev, PCI_MEMORY_BASE));
34 printk(BIOS_SPEW, " PMBL = 0x%08x\n",
35 pci_read_config32(dev, PCI_PREF_MEMORY_BASE));
36 printk(BIOS_SPEW, " PMBU32 = 0x%08x\n",
37 pci_read_config32(dev, PCI_PREF_BASE_UPPER32));
38 printk(BIOS_SPEW, " PMLU32 = 0x%08x\n",
39 pci_read_config32(dev, PCI_PREF_LIMIT_UPPER32));
40 }
41
42 /* Clear errors in status registers */
43 reg16 = pci_read_config16(dev, PCI_STATUS);
44 pci_write_config16(dev, PCI_STATUS, reg16);
45 reg16 = pci_read_config16(dev, PCI_SEC_STATUS);
46 pci_write_config16(dev, PCI_SEC_STATUS, reg16);
47}
48
Nico Huber968ef752021-03-07 01:39:18 +010049static void pcie_get_ltr_max_latencies(u16 *max_snoop, u16 *max_nosnoop)
Aamir Bohra2d689f92017-05-11 20:27:27 +053050{
Bora Guvendik396201c2023-03-30 13:54:36 -070051 *max_snoop = CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY;
52 *max_nosnoop = CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY;
Aamir Bohra2d689f92017-05-11 20:27:27 +053053}
54
55static struct pci_operations pcie_ops = {
Nico Huber968ef752021-03-07 01:39:18 +010056 .get_ltr_max_latencies = pcie_get_ltr_max_latencies,
Subrata Banik15ccbf02019-03-20 15:09:44 +053057 .set_subsystem = pci_dev_set_subsystem,
Aamir Bohra2d689f92017-05-11 20:27:27 +053058};
59
Nico Huber57686192022-08-06 19:11:55 +020060struct device_operations pcie_rp_ops = {
Aamir Bohra2d689f92017-05-11 20:27:27 +053061 .read_resources = pci_bus_read_resources,
62 .set_resources = pci_dev_set_resources,
63 .enable_resources = pci_bus_enable_resources,
64 .init = pch_pcie_init,
65 .scan_bus = pciexp_scan_bridge,
66 .ops_pci = &pcie_ops,
67};
68
69static const unsigned short pcie_device_ids[] = {
Appukuttan V K50c8f2e2024-01-11 18:05:11 +053070 PCI_DID_INTEL_LNL_PCIE_RP1,
71 PCI_DID_INTEL_LNL_PCIE_RP2,
72 PCI_DID_INTEL_LNL_PCIE_RP3,
73 PCI_DID_INTEL_LNL_PCIE_RP4,
74 PCI_DID_INTEL_LNL_PCIE_RP5,
75 PCI_DID_INTEL_LNL_PCIE_RP6,
76 PCI_DID_INTEL_LNL_PCIE_RP7,
77 PCI_DID_INTEL_LNL_PCIE_RP8,
Bora Guvendika15b25f2022-02-28 14:43:49 -080078 PCI_DID_INTEL_RPL_P_PCIE_RP1,
79 PCI_DID_INTEL_RPL_P_PCIE_RP2,
80 PCI_DID_INTEL_RPL_P_PCIE_RP3,
Wonkyu Kim9f401072020-11-13 15:16:32 -080081 PCI_DID_INTEL_MTL_SOC_PCIE_RP1,
82 PCI_DID_INTEL_MTL_SOC_PCIE_RP2,
83 PCI_DID_INTEL_MTL_SOC_PCIE_RP3,
84 PCI_DID_INTEL_MTL_SOC_PCIE_RP4,
85 PCI_DID_INTEL_MTL_SOC_PCIE_RP5,
86 PCI_DID_INTEL_MTL_SOC_PCIE_RP6,
87 PCI_DID_INTEL_MTL_SOC_PCIE_RP7,
88 PCI_DID_INTEL_MTL_SOC_PCIE_RP8,
89 PCI_DID_INTEL_MTL_SOC_PCIE_RP9,
90 PCI_DID_INTEL_MTL_IOE_P_PCIE_RP10,
91 PCI_DID_INTEL_MTL_IOE_P_PCIE_RP11,
92 PCI_DID_INTEL_MTL_IOE_P_PCIE_RP12,
Felix Singer43b7f412022-03-07 04:34:52 +010093 PCI_DID_INTEL_LWB_PCIE_RP1,
94 PCI_DID_INTEL_LWB_PCIE_RP2,
95 PCI_DID_INTEL_LWB_PCIE_RP3,
96 PCI_DID_INTEL_LWB_PCIE_RP4,
97 PCI_DID_INTEL_LWB_PCIE_RP5,
98 PCI_DID_INTEL_LWB_PCIE_RP6,
99 PCI_DID_INTEL_LWB_PCIE_RP7,
100 PCI_DID_INTEL_LWB_PCIE_RP8,
101 PCI_DID_INTEL_LWB_PCIE_RP9,
102 PCI_DID_INTEL_LWB_PCIE_RP10,
103 PCI_DID_INTEL_LWB_PCIE_RP11,
104 PCI_DID_INTEL_LWB_PCIE_RP12,
105 PCI_DID_INTEL_LWB_PCIE_RP13,
106 PCI_DID_INTEL_LWB_PCIE_RP14,
107 PCI_DID_INTEL_LWB_PCIE_RP15,
108 PCI_DID_INTEL_LWB_PCIE_RP16,
109 PCI_DID_INTEL_LWB_PCIE_RP17,
110 PCI_DID_INTEL_LWB_PCIE_RP18,
111 PCI_DID_INTEL_LWB_PCIE_RP19,
112 PCI_DID_INTEL_LWB_PCIE_RP20,
113 PCI_DID_INTEL_LWB_PCIE_RP1_SUPER,
114 PCI_DID_INTEL_LWB_PCIE_RP2_SUPER,
115 PCI_DID_INTEL_LWB_PCIE_RP3_SUPER,
116 PCI_DID_INTEL_LWB_PCIE_RP4_SUPER,
117 PCI_DID_INTEL_LWB_PCIE_RP5_SUPER,
118 PCI_DID_INTEL_LWB_PCIE_RP6_SUPER,
119 PCI_DID_INTEL_LWB_PCIE_RP7_SUPER,
120 PCI_DID_INTEL_LWB_PCIE_RP8_SUPER,
121 PCI_DID_INTEL_LWB_PCIE_RP9_SUPER,
122 PCI_DID_INTEL_LWB_PCIE_RP10_SUPER,
123 PCI_DID_INTEL_LWB_PCIE_RP11_SUPER,
124 PCI_DID_INTEL_LWB_PCIE_RP12_SUPER,
125 PCI_DID_INTEL_LWB_PCIE_RP13_SUPER,
126 PCI_DID_INTEL_LWB_PCIE_RP14_SUPER,
127 PCI_DID_INTEL_LWB_PCIE_RP15_SUPER,
128 PCI_DID_INTEL_LWB_PCIE_RP16_SUPER,
129 PCI_DID_INTEL_LWB_PCIE_RP17_SUPER,
130 PCI_DID_INTEL_LWB_PCIE_RP18_SUPER,
131 PCI_DID_INTEL_LWB_PCIE_RP19_SUPER,
132 PCI_DID_INTEL_LWB_PCIE_RP20_SUPER,
Felix Singer43b7f412022-03-07 04:34:52 +0100133 PCI_DID_INTEL_CNL_LP_PCIE_RP1,
134 PCI_DID_INTEL_CNL_LP_PCIE_RP2,
135 PCI_DID_INTEL_CNL_LP_PCIE_RP3,
136 PCI_DID_INTEL_CNL_LP_PCIE_RP4,
137 PCI_DID_INTEL_CNL_LP_PCIE_RP5,
138 PCI_DID_INTEL_CNL_LP_PCIE_RP6,
139 PCI_DID_INTEL_CNL_LP_PCIE_RP7,
140 PCI_DID_INTEL_CNL_LP_PCIE_RP8,
141 PCI_DID_INTEL_CNL_LP_PCIE_RP9,
142 PCI_DID_INTEL_CNL_LP_PCIE_RP10,
143 PCI_DID_INTEL_CNL_LP_PCIE_RP11,
144 PCI_DID_INTEL_CNL_LP_PCIE_RP12,
145 PCI_DID_INTEL_CNL_LP_PCIE_RP13,
146 PCI_DID_INTEL_CNL_LP_PCIE_RP14,
147 PCI_DID_INTEL_CNL_LP_PCIE_RP15,
148 PCI_DID_INTEL_CNL_LP_PCIE_RP16,
149 PCI_DID_INTEL_CNP_H_PCIE_RP1,
150 PCI_DID_INTEL_CNP_H_PCIE_RP2,
151 PCI_DID_INTEL_CNP_H_PCIE_RP3,
152 PCI_DID_INTEL_CNP_H_PCIE_RP4,
153 PCI_DID_INTEL_CNP_H_PCIE_RP5,
154 PCI_DID_INTEL_CNP_H_PCIE_RP6,
155 PCI_DID_INTEL_CNP_H_PCIE_RP7,
156 PCI_DID_INTEL_CNP_H_PCIE_RP8,
157 PCI_DID_INTEL_CNP_H_PCIE_RP9,
158 PCI_DID_INTEL_CNP_H_PCIE_RP10,
159 PCI_DID_INTEL_CNP_H_PCIE_RP11,
160 PCI_DID_INTEL_CNP_H_PCIE_RP12,
161 PCI_DID_INTEL_CNP_H_PCIE_RP13,
162 PCI_DID_INTEL_CNP_H_PCIE_RP14,
163 PCI_DID_INTEL_CNP_H_PCIE_RP15,
164 PCI_DID_INTEL_CNP_H_PCIE_RP16,
165 PCI_DID_INTEL_CNP_H_PCIE_RP17,
166 PCI_DID_INTEL_CNP_H_PCIE_RP18,
167 PCI_DID_INTEL_CNP_H_PCIE_RP19,
168 PCI_DID_INTEL_CNP_H_PCIE_RP20,
169 PCI_DID_INTEL_CNP_H_PCIE_RP21,
170 PCI_DID_INTEL_CNP_H_PCIE_RP22,
171 PCI_DID_INTEL_CNP_H_PCIE_RP23,
172 PCI_DID_INTEL_CNP_H_PCIE_RP24,
173 PCI_DID_INTEL_ICP_LP_PCIE_RP1,
174 PCI_DID_INTEL_ICP_LP_PCIE_RP2,
175 PCI_DID_INTEL_ICP_LP_PCIE_RP3,
176 PCI_DID_INTEL_ICP_LP_PCIE_RP4,
177 PCI_DID_INTEL_ICP_LP_PCIE_RP5,
178 PCI_DID_INTEL_ICP_LP_PCIE_RP6,
179 PCI_DID_INTEL_ICP_LP_PCIE_RP7,
180 PCI_DID_INTEL_ICP_LP_PCIE_RP8,
181 PCI_DID_INTEL_ICP_LP_PCIE_RP9,
182 PCI_DID_INTEL_ICP_LP_PCIE_RP10,
183 PCI_DID_INTEL_ICP_LP_PCIE_RP11,
184 PCI_DID_INTEL_ICP_LP_PCIE_RP12,
185 PCI_DID_INTEL_ICP_LP_PCIE_RP13,
186 PCI_DID_INTEL_ICP_LP_PCIE_RP14,
187 PCI_DID_INTEL_ICP_LP_PCIE_RP15,
188 PCI_DID_INTEL_ICP_LP_PCIE_RP16,
189 PCI_DID_INTEL_CMP_LP_PCIE_RP1,
190 PCI_DID_INTEL_CMP_LP_PCIE_RP2,
191 PCI_DID_INTEL_CMP_LP_PCIE_RP3,
192 PCI_DID_INTEL_CMP_LP_PCIE_RP4,
193 PCI_DID_INTEL_CMP_LP_PCIE_RP5,
194 PCI_DID_INTEL_CMP_LP_PCIE_RP6,
195 PCI_DID_INTEL_CMP_LP_PCIE_RP7,
196 PCI_DID_INTEL_CMP_LP_PCIE_RP8,
197 PCI_DID_INTEL_CMP_LP_PCIE_RP9,
198 PCI_DID_INTEL_CMP_LP_PCIE_RP10,
199 PCI_DID_INTEL_CMP_LP_PCIE_RP11,
200 PCI_DID_INTEL_CMP_LP_PCIE_RP12,
201 PCI_DID_INTEL_CMP_LP_PCIE_RP13,
202 PCI_DID_INTEL_CMP_LP_PCIE_RP14,
203 PCI_DID_INTEL_CMP_LP_PCIE_RP15,
204 PCI_DID_INTEL_CMP_LP_PCIE_RP16,
205 PCI_DID_INTEL_CMP_H_PCIE_RP1,
206 PCI_DID_INTEL_CMP_H_PCIE_RP2,
207 PCI_DID_INTEL_CMP_H_PCIE_RP3,
208 PCI_DID_INTEL_CMP_H_PCIE_RP4,
209 PCI_DID_INTEL_CMP_H_PCIE_RP5,
210 PCI_DID_INTEL_CMP_H_PCIE_RP6,
211 PCI_DID_INTEL_CMP_H_PCIE_RP7,
212 PCI_DID_INTEL_CMP_H_PCIE_RP8,
213 PCI_DID_INTEL_CMP_H_PCIE_RP9,
214 PCI_DID_INTEL_CMP_H_PCIE_RP10,
215 PCI_DID_INTEL_CMP_H_PCIE_RP11,
216 PCI_DID_INTEL_CMP_H_PCIE_RP12,
217 PCI_DID_INTEL_CMP_H_PCIE_RP13,
218 PCI_DID_INTEL_CMP_H_PCIE_RP14,
219 PCI_DID_INTEL_CMP_H_PCIE_RP15,
220 PCI_DID_INTEL_CMP_H_PCIE_RP16,
221 PCI_DID_INTEL_CMP_H_PCIE_RP17,
222 PCI_DID_INTEL_CMP_H_PCIE_RP18,
223 PCI_DID_INTEL_CMP_H_PCIE_RP19,
224 PCI_DID_INTEL_CMP_H_PCIE_RP20,
225 PCI_DID_INTEL_CMP_H_PCIE_RP21,
226 PCI_DID_INTEL_CMP_H_PCIE_RP22,
227 PCI_DID_INTEL_CMP_H_PCIE_RP23,
228 PCI_DID_INTEL_CMP_H_PCIE_RP24,
229 PCI_DID_INTEL_TGP_LP_PCIE_RP1,
230 PCI_DID_INTEL_TGP_LP_PCIE_RP2,
231 PCI_DID_INTEL_TGP_LP_PCIE_RP3,
232 PCI_DID_INTEL_TGP_LP_PCIE_RP4,
233 PCI_DID_INTEL_TGP_LP_PCIE_RP5,
234 PCI_DID_INTEL_TGP_LP_PCIE_RP6,
235 PCI_DID_INTEL_TGP_LP_PCIE_RP7,
236 PCI_DID_INTEL_TGP_LP_PCIE_RP8,
237 PCI_DID_INTEL_TGP_LP_PCIE_RP9,
238 PCI_DID_INTEL_TGP_LP_PCIE_RP10,
239 PCI_DID_INTEL_TGP_LP_PCIE_RP11,
240 PCI_DID_INTEL_TGP_LP_PCIE_RP12,
241 PCI_DID_INTEL_TGP_LP_PCIE_RP13,
242 PCI_DID_INTEL_TGP_LP_PCIE_RP14,
243 PCI_DID_INTEL_TGP_LP_PCIE_RP15,
244 PCI_DID_INTEL_TGP_LP_PCIE_RP16,
245 PCI_DID_INTEL_TGP_H_PCIE_RP1,
246 PCI_DID_INTEL_TGP_H_PCIE_RP2,
247 PCI_DID_INTEL_TGP_H_PCIE_RP3,
248 PCI_DID_INTEL_TGP_H_PCIE_RP4,
249 PCI_DID_INTEL_TGP_H_PCIE_RP5,
250 PCI_DID_INTEL_TGP_H_PCIE_RP6,
251 PCI_DID_INTEL_TGP_H_PCIE_RP7,
252 PCI_DID_INTEL_TGP_H_PCIE_RP8,
253 PCI_DID_INTEL_TGP_H_PCIE_RP9,
254 PCI_DID_INTEL_TGP_H_PCIE_RP10,
255 PCI_DID_INTEL_TGP_H_PCIE_RP11,
256 PCI_DID_INTEL_TGP_H_PCIE_RP12,
257 PCI_DID_INTEL_TGP_H_PCIE_RP13,
258 PCI_DID_INTEL_TGP_H_PCIE_RP14,
259 PCI_DID_INTEL_TGP_H_PCIE_RP15,
260 PCI_DID_INTEL_TGP_H_PCIE_RP16,
261 PCI_DID_INTEL_TGP_H_PCIE_RP17,
262 PCI_DID_INTEL_TGP_H_PCIE_RP18,
263 PCI_DID_INTEL_TGP_H_PCIE_RP19,
264 PCI_DID_INTEL_TGP_H_PCIE_RP20,
265 PCI_DID_INTEL_TGP_H_PCIE_RP21,
266 PCI_DID_INTEL_TGP_H_PCIE_RP22,
267 PCI_DID_INTEL_TGP_H_PCIE_RP23,
268 PCI_DID_INTEL_TGP_H_PCIE_RP24,
269 PCI_DID_INTEL_MCC_PCIE_RP1,
270 PCI_DID_INTEL_MCC_PCIE_RP2,
271 PCI_DID_INTEL_MCC_PCIE_RP3,
272 PCI_DID_INTEL_MCC_PCIE_RP4,
273 PCI_DID_INTEL_MCC_PCIE_RP5,
274 PCI_DID_INTEL_MCC_PCIE_RP6,
275 PCI_DID_INTEL_MCC_PCIE_RP7,
276 PCI_DID_INTEL_JSP_PCIE_RP1,
277 PCI_DID_INTEL_JSP_PCIE_RP2,
278 PCI_DID_INTEL_JSP_PCIE_RP3,
279 PCI_DID_INTEL_JSP_PCIE_RP4,
280 PCI_DID_INTEL_JSP_PCIE_RP5,
281 PCI_DID_INTEL_JSP_PCIE_RP6,
282 PCI_DID_INTEL_JSP_PCIE_RP7,
283 PCI_DID_INTEL_JSP_PCIE_RP8,
284 PCI_DID_INTEL_ADL_P_PCIE_RP1,
285 PCI_DID_INTEL_ADL_P_PCIE_RP2,
286 PCI_DID_INTEL_ADL_P_PCIE_RP3,
287 PCI_DID_INTEL_ADP_P_PCIE_RP1,
288 PCI_DID_INTEL_ADP_P_PCIE_RP2,
289 PCI_DID_INTEL_ADP_P_PCIE_RP3,
290 PCI_DID_INTEL_ADP_P_PCIE_RP4,
291 PCI_DID_INTEL_ADP_P_PCIE_RP5,
292 PCI_DID_INTEL_ADP_P_PCIE_RP6,
293 PCI_DID_INTEL_ADP_P_PCIE_RP7,
294 PCI_DID_INTEL_ADP_P_PCIE_RP8,
295 PCI_DID_INTEL_ADP_P_PCIE_RP9,
296 PCI_DID_INTEL_ADP_P_PCIE_RP10,
297 PCI_DID_INTEL_ADP_P_PCIE_RP11,
298 PCI_DID_INTEL_ADP_P_PCIE_RP12,
299 PCI_DID_INTEL_ADP_S_PCIE_RP1,
300 PCI_DID_INTEL_ADP_S_PCIE_RP2,
301 PCI_DID_INTEL_ADP_S_PCIE_RP3,
302 PCI_DID_INTEL_ADP_S_PCIE_RP4,
303 PCI_DID_INTEL_ADP_S_PCIE_RP5,
304 PCI_DID_INTEL_ADP_S_PCIE_RP6,
305 PCI_DID_INTEL_ADP_S_PCIE_RP7,
306 PCI_DID_INTEL_ADP_S_PCIE_RP8,
307 PCI_DID_INTEL_ADP_S_PCIE_RP9,
308 PCI_DID_INTEL_ADP_S_PCIE_RP10,
309 PCI_DID_INTEL_ADP_S_PCIE_RP11,
310 PCI_DID_INTEL_ADP_S_PCIE_RP12,
311 PCI_DID_INTEL_ADP_S_PCIE_RP13,
312 PCI_DID_INTEL_ADP_S_PCIE_RP14,
313 PCI_DID_INTEL_ADP_S_PCIE_RP15,
314 PCI_DID_INTEL_ADP_S_PCIE_RP16,
315 PCI_DID_INTEL_ADP_S_PCIE_RP17,
316 PCI_DID_INTEL_ADP_S_PCIE_RP18,
317 PCI_DID_INTEL_ADP_S_PCIE_RP19,
318 PCI_DID_INTEL_ADP_S_PCIE_RP20,
319 PCI_DID_INTEL_ADP_S_PCIE_RP21,
320 PCI_DID_INTEL_ADP_S_PCIE_RP22,
321 PCI_DID_INTEL_ADP_S_PCIE_RP23,
322 PCI_DID_INTEL_ADP_S_PCIE_RP24,
323 PCI_DID_INTEL_ADP_S_PCIE_RP25,
324 PCI_DID_INTEL_ADP_S_PCIE_RP26,
325 PCI_DID_INTEL_ADP_S_PCIE_RP27,
326 PCI_DID_INTEL_ADP_S_PCIE_RP28,
327 PCI_DID_INTEL_ADP_M_N_PCIE_RP1,
328 PCI_DID_INTEL_ADP_M_N_PCIE_RP2,
329 PCI_DID_INTEL_ADP_M_N_PCIE_RP3,
330 PCI_DID_INTEL_ADP_M_N_PCIE_RP4,
331 PCI_DID_INTEL_ADP_M_PCIE_RP5,
332 PCI_DID_INTEL_ADP_M_PCIE_RP6,
333 PCI_DID_INTEL_ADP_M_N_PCIE_RP7,
334 PCI_DID_INTEL_ADP_M_PCIE_RP8,
335 PCI_DID_INTEL_ADP_M_N_PCIE_RP9,
336 PCI_DID_INTEL_ADP_M_N_PCIE_RP10,
337 PCI_DID_INTEL_ADP_N_PCIE_RP11,
338 PCI_DID_INTEL_ADP_N_PCIE_RP12,
Jeremy Soller14d69d02023-05-17 14:52:03 -0600339 PCI_DID_INTEL_RPP_S_PCIE_RP1,
340 PCI_DID_INTEL_RPP_S_PCIE_RP2,
341 PCI_DID_INTEL_RPP_S_PCIE_RP3,
342 PCI_DID_INTEL_RPP_S_PCIE_RP4,
343 PCI_DID_INTEL_RPP_S_PCIE_RP5,
344 PCI_DID_INTEL_RPP_S_PCIE_RP6,
345 PCI_DID_INTEL_RPP_S_PCIE_RP7,
346 PCI_DID_INTEL_RPP_S_PCIE_RP8,
347 PCI_DID_INTEL_RPP_S_PCIE_RP9,
348 PCI_DID_INTEL_RPP_S_PCIE_RP10,
349 PCI_DID_INTEL_RPP_S_PCIE_RP11,
350 PCI_DID_INTEL_RPP_S_PCIE_RP12,
351 PCI_DID_INTEL_RPP_S_PCIE_RP13,
352 PCI_DID_INTEL_RPP_S_PCIE_RP14,
353 PCI_DID_INTEL_RPP_S_PCIE_RP15,
354 PCI_DID_INTEL_RPP_S_PCIE_RP16,
355 PCI_DID_INTEL_RPP_S_PCIE_RP17,
356 PCI_DID_INTEL_RPP_S_PCIE_RP18,
357 PCI_DID_INTEL_RPP_S_PCIE_RP19,
358 PCI_DID_INTEL_RPP_S_PCIE_RP20,
359 PCI_DID_INTEL_RPP_S_PCIE_RP21,
360 PCI_DID_INTEL_RPP_S_PCIE_RP22,
361 PCI_DID_INTEL_RPP_S_PCIE_RP23,
362 PCI_DID_INTEL_RPP_S_PCIE_RP24,
363 PCI_DID_INTEL_RPP_S_PCIE_RP25,
364 PCI_DID_INTEL_RPP_S_PCIE_RP26,
365 PCI_DID_INTEL_RPP_S_PCIE_RP27,
366 PCI_DID_INTEL_RPP_S_PCIE_RP28,
Aamir Bohra2d689f92017-05-11 20:27:27 +0530367 0
368};
369
370static const struct pci_driver pch_pcie __pci_driver = {
Nico Huber57686192022-08-06 19:11:55 +0200371 .ops = &pcie_rp_ops,
Felix Singer43b7f412022-03-07 04:34:52 +0100372 .vendor = PCI_VID_INTEL,
Aamir Bohra2d689f92017-05-11 20:27:27 +0530373 .devices = pcie_device_ids,
374};