blob: ec003e338b2062b27424247ac572781f993a22f2 [file] [log] [blame]
Angel Pons0612b272020-04-05 15:46:56 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Aamir Bohra2d689f92017-05-11 20:27:27 +05303
4#include <console/console.h>
5#include <device/pci.h>
6#include <device/pciexp.h>
7#include <device/pci_def.h>
8#include <device/pci_ids.h>
Patrick Rudolphe56189c2018-04-18 10:11:59 +02009#include <device/pci_ops.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
28 /* disable parity error response, enable ISA */
Kyösti Mälkkidf128a52019-09-21 18:35:37 +030029 pci_update_config16(dev, PCI_BRIDGE_CONTROL,
30 ~PCI_BRIDGE_CTL_PARITY, PCI_BRIDGE_CTL_NO_ISA);
Aamir Bohra2d689f92017-05-11 20:27:27 +053031
Julius Wernercd49cce2019-03-05 16:53:33 -080032 if (CONFIG(PCIE_DEBUG_INFO)) {
Aamir Bohra2d689f92017-05-11 20:27:27 +053033 printk(BIOS_SPEW, " MBL = 0x%08x\n",
34 pci_read_config32(dev, PCI_MEMORY_BASE));
35 printk(BIOS_SPEW, " PMBL = 0x%08x\n",
36 pci_read_config32(dev, PCI_PREF_MEMORY_BASE));
37 printk(BIOS_SPEW, " PMBU32 = 0x%08x\n",
38 pci_read_config32(dev, PCI_PREF_BASE_UPPER32));
39 printk(BIOS_SPEW, " PMLU32 = 0x%08x\n",
40 pci_read_config32(dev, PCI_PREF_LIMIT_UPPER32));
41 }
42
43 /* Clear errors in status registers */
44 reg16 = pci_read_config16(dev, PCI_STATUS);
45 pci_write_config16(dev, PCI_STATUS, reg16);
46 reg16 = pci_read_config16(dev, PCI_SEC_STATUS);
47 pci_write_config16(dev, PCI_SEC_STATUS, reg16);
48}
49
Elyes HAOUAS4a131262018-09-16 17:35:48 +020050static void pcie_set_L1_ss_max_latency(struct device *dev, unsigned int offset)
Aamir Bohra2d689f92017-05-11 20:27:27 +053051{
52 /* Set max snoop and non-snoop latency for the SOC */
53 pci_write_config32(dev, offset,
Subrata Baniked6996f2019-03-25 21:49:39 +053054 PCIE_LTR_MAX_NO_SNOOP_LATENCY_3146US << 16 |
55 PCIE_LTR_MAX_SNOOP_LATENCY_3146US);
Aamir Bohra2d689f92017-05-11 20:27:27 +053056}
57
58static struct pci_operations pcie_ops = {
59 .set_L1_ss_latency = pcie_set_L1_ss_max_latency,
Subrata Banik15ccbf02019-03-20 15:09:44 +053060 .set_subsystem = pci_dev_set_subsystem,
Aamir Bohra2d689f92017-05-11 20:27:27 +053061};
62
63static struct device_operations device_ops = {
64 .read_resources = pci_bus_read_resources,
65 .set_resources = pci_dev_set_resources,
66 .enable_resources = pci_bus_enable_resources,
67 .init = pch_pcie_init,
68 .scan_bus = pciexp_scan_bridge,
69 .ops_pci = &pcie_ops,
70};
71
72static const unsigned short pcie_device_ids[] = {
73 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP1,
74 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP2,
75 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP3,
76 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP4,
77 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP5,
78 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP6,
79 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP7,
80 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP8,
81 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP9,
82 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP10,
83 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP11,
84 PCI_DEVICE_ID_INTEL_SPT_LP_PCIE_RP12,
85 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP1,
86 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP2,
87 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP3,
88 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP4,
89 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP5,
90 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP6,
91 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP7,
92 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP8,
93 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP9,
94 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP10,
95 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP11,
96 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP12,
97 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP13,
98 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP14,
99 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP15,
100 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP16,
101 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP17,
102 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP18,
103 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP19,
104 PCI_DEVICE_ID_INTEL_SPT_H_PCIE_RP20,
Maxim Polyakov571d07d2019-08-22 13:11:32 +0300105 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP1,
106 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP2,
107 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP3,
108 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP4,
109 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP5,
110 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP6,
111 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP7,
112 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP8,
113 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP9,
114 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP10,
115 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP11,
116 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP12,
117 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP13,
118 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP14,
119 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP15,
120 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP16,
121 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP17,
122 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP18,
123 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP19,
124 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP20,
125 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP1_SUPER,
126 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP2_SUPER,
127 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP3_SUPER,
128 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP4_SUPER,
129 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP5_SUPER,
130 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP6_SUPER,
131 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP7_SUPER,
132 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP8_SUPER,
133 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP9_SUPER,
134 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP10_SUPER,
135 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP11_SUPER,
136 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP12_SUPER,
137 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP13_SUPER,
138 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP14_SUPER,
139 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP15_SUPER,
140 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP16_SUPER,
141 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP17_SUPER,
142 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP18_SUPER,
143 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP19_SUPER,
144 PCI_DEVICE_ID_INTEL_LWB_PCIE_RP20_SUPER,
Aamir Bohra2d689f92017-05-11 20:27:27 +0530145 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP1,
146 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP2,
147 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP3,
148 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP4,
149 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP5,
150 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP6,
151 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP7,
152 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP8,
153 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP9,
154 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP10,
155 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP11,
156 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP12,
157 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP13,
158 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP14,
159 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP15,
160 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP16,
161 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP17,
162 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP18,
163 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP19,
164 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP20,
165 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP21,
166 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP22,
167 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP23,
168 PCI_DEVICE_ID_INTEL_KBP_H_PCIE_RP24,
Lijian Zhaobbedef92017-07-29 16:38:38 -0700169 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP1,
170 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP2,
171 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP3,
172 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP4,
173 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP5,
174 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP6,
175 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP7,
176 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP8,
177 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP9,
178 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP10,
179 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP11,
180 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP12,
181 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP13,
182 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP14,
183 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP15,
184 PCI_DEVICE_ID_INTEL_CNL_LP_PCIE_RP16,
praveen hodagatta praneshe26c4a42018-09-20 03:49:45 +0800185 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP1,
186 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP2,
187 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP3,
188 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP4,
189 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP5,
190 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP6,
191 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP7,
192 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP8,
193 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP9,
194 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP10,
195 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP11,
196 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP12,
197 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP13,
198 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP14,
199 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP15,
200 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP16,
201 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP17,
202 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP18,
203 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP19,
204 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP20,
205 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP21,
206 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP22,
207 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP23,
208 PCI_DEVICE_ID_INTEL_CNP_H_PCIE_RP24,
Aamir Bohra9eac0392018-06-30 12:07:04 +0530209 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP1,
210 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP2,
211 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP3,
212 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP4,
213 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP5,
214 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP6,
215 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP7,
216 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP8,
217 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP9,
218 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP10,
219 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP11,
220 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP12,
221 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP13,
222 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP14,
223 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP15,
224 PCI_DEVICE_ID_INTEL_ICP_LP_PCIE_RP16,
Ronak Kanabarda7ffb482019-02-05 01:51:13 +0530225 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP1,
226 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP2,
227 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP3,
228 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP4,
229 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP5,
230 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP6,
231 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP7,
232 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP8,
233 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP9,
234 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP10,
235 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP11,
236 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP12,
237 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP13,
238 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP14,
239 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP15,
240 PCI_DEVICE_ID_INTEL_CMP_LP_PCIE_RP16,
Gaggery Tsai12a651c2019-12-05 11:23:20 -0800241 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP1,
242 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP2,
243 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP3,
244 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP4,
245 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP5,
246 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP6,
247 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP7,
248 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP8,
249 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP9,
250 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP10,
251 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP11,
252 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP12,
253 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP13,
254 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP14,
255 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP15,
256 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP16,
257 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP17,
258 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP18,
259 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP19,
260 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP20,
261 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP21,
262 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP22,
263 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP23,
264 PCI_DEVICE_ID_INTEL_CMP_H_PCIE_RP24,
Ravi Sarawadi6b5bf402019-10-21 22:25:04 -0700265 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP1,
266 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP2,
267 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP3,
268 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP4,
269 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP5,
270 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP6,
271 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP7,
272 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP8,
273 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP9,
274 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP10,
275 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP11,
276 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP12,
277 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP13,
278 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP14,
279 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP15,
280 PCI_DEVICE_ID_INTEL_TGP_LP_PCIE_RP16,
Tan, Lean Sheng26136092020-01-20 19:13:56 -0800281 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP1,
282 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP2,
283 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP3,
284 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP4,
285 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP5,
286 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP6,
287 PCI_DEVICE_ID_INTEL_MCC_PCIE_RP7,
Meera Ravindranath3f4af0d2020-02-12 16:01:22 +0530288 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP1,
289 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP2,
290 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP3,
291 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP4,
292 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP5,
293 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP6,
294 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP7,
295 PCI_DEVICE_ID_INTEL_JSP_PCIE_RP8,
Aamir Bohra2d689f92017-05-11 20:27:27 +0530296 0
297};
298
299static const struct pci_driver pch_pcie __pci_driver = {
300 .ops = &device_ops,
301 .vendor = PCI_VENDOR_ID_INTEL,
302 .devices = pcie_device_ids,
303};