1/*-
2 * Copyright (c) 2014 Qualcomm Atheros.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer,
10 *    without modification.
11 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
12 *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
13 *    redistribution must be conditioned upon including a substantially
14 *    similar Disclaimer requirement for further binary redistribution.
15 *
16 * NO WARRANTY
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
20 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21 * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27 * THE POSSIBILITY OF SUCH DAMAGES.
28 */
29
30static const struct pci_device_table ath_pci_id_table[] = {
31	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0023) }, /* PCI   */
32	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0024) }, /* PCI-E */
33	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0027) }, /* PCI   */
34	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0029) }, /* PCI   */
35	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x002A) }, /* PCI-E */
36
37	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
38			 0x002A,
39			 PCI_VENDOR_ID_AZWAVE,
40			 0x1C71),
41	  .driver_data = ATH_PCI_D3_L1_WAR },
42	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
43			 0x002A,
44			 PCI_VENDOR_ID_FOXCONN,
45			 0xE01F),
46	  .driver_data = ATH_PCI_D3_L1_WAR },
47	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
48			 0x002A,
49			 0x11AD, /* LITEON */
50			 0x6632),
51	  .driver_data = ATH_PCI_D3_L1_WAR },
52	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
53			 0x002A,
54			 0x11AD, /* LITEON */
55			 0x6642),
56	  .driver_data = ATH_PCI_D3_L1_WAR },
57	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
58			 0x002A,
59			 PCI_VENDOR_ID_QMI,
60			 0x0306),
61	  .driver_data = ATH_PCI_D3_L1_WAR },
62	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
63			 0x002A,
64			 0x185F, /* WNC */
65			 0x309D),
66	  .driver_data = ATH_PCI_D3_L1_WAR },
67	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
68			 0x002A,
69			 0x10CF, /* Fujitsu */
70			 0x147C),
71	  .driver_data = ATH_PCI_D3_L1_WAR },
72	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
73			 0x002A,
74			 0x10CF, /* Fujitsu */
75			 0x147D),
76	  .driver_data = ATH_PCI_D3_L1_WAR },
77	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
78			 0x002A,
79			 0x10CF, /* Fujitsu */
80			 0x1536),
81	  .driver_data = ATH_PCI_D3_L1_WAR },
82
83	/* AR9285 card for Asus */
84	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
85			 0x002B,
86			 PCI_VENDOR_ID_AZWAVE,
87			 0x2C37),
88	  .driver_data = ATH_PCI_BT_ANT_DIV },
89
90	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x002B) }, /* PCI-E */
91	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */
92	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x002D) }, /* PCI   */
93	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x002E) }, /* PCI-E */
94
95	/* Killer Wireless (3x3) */
96	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
97			 0x0030,
98			 0x1A56,
99			 0x2000),
100	  .driver_data = ATH_PCI_KILLER },
101	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
102			 0x0030,
103			 0x1A56,
104			 0x2001),
105	  .driver_data = ATH_PCI_KILLER },
106
107	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0030) }, /* PCI-E  AR9300 */
108
109	/* PCI-E CUS198 */
110	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
111			 0x0032,
112			 PCI_VENDOR_ID_AZWAVE,
113			 0x2086),
114	  .driver_data = ATH_PCI_CUS198 | ATH_PCI_BT_ANT_DIV },
115	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
116			 0x0032,
117			 PCI_VENDOR_ID_AZWAVE,
118			 0x1237),
119	  .driver_data = ATH_PCI_CUS198 | ATH_PCI_BT_ANT_DIV },
120	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
121			 0x0032,
122			 PCI_VENDOR_ID_AZWAVE,
123			 0x2126),
124	  .driver_data = ATH_PCI_CUS198 | ATH_PCI_BT_ANT_DIV },
125	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
126			 0x0032,
127			 PCI_VENDOR_ID_AZWAVE,
128			 0x126A),
129	  .driver_data = ATH_PCI_CUS198 | ATH_PCI_BT_ANT_DIV },
130
131	/* PCI-E CUS230 */
132	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
133			 0x0032,
134			 PCI_VENDOR_ID_AZWAVE,
135			 0x2152),
136	  .driver_data = ATH_PCI_CUS230 | ATH_PCI_BT_ANT_DIV },
137	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
138			 0x0032,
139			 PCI_VENDOR_ID_FOXCONN,
140			 0xE075),
141	  .driver_data = ATH_PCI_CUS230 | ATH_PCI_BT_ANT_DIV },
142
143	/* WB225 */
144	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
145			 0x0032,
146			 PCI_VENDOR_ID_ATHEROS,
147			 0x3119),
148	  .driver_data = ATH_PCI_BT_ANT_DIV },
149	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
150			 0x0032,
151			 PCI_VENDOR_ID_ATHEROS,
152			 0x3122),
153	  .driver_data = ATH_PCI_BT_ANT_DIV },
154	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
155			 0x0032,
156			 0x185F, /* WNC */
157			 0x3119),
158	  .driver_data = ATH_PCI_BT_ANT_DIV },
159	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
160			 0x0032,
161			 0x185F, /* WNC */
162			 0x3027),
163	  .driver_data = ATH_PCI_BT_ANT_DIV },
164	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
165			 0x0032,
166			 PCI_VENDOR_ID_SAMSUNG,
167			 0x4105),
168	  .driver_data = ATH_PCI_BT_ANT_DIV },
169	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
170			 0x0032,
171			 PCI_VENDOR_ID_SAMSUNG,
172			 0x4106),
173	  .driver_data = ATH_PCI_BT_ANT_DIV },
174	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
175			 0x0032,
176			 PCI_VENDOR_ID_SAMSUNG,
177			 0x410D),
178	  .driver_data = ATH_PCI_BT_ANT_DIV },
179	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
180			 0x0032,
181			 PCI_VENDOR_ID_SAMSUNG,
182			 0x410E),
183	  .driver_data = ATH_PCI_BT_ANT_DIV },
184	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
185			 0x0032,
186			 PCI_VENDOR_ID_SAMSUNG,
187			 0x410F),
188	  .driver_data = ATH_PCI_BT_ANT_DIV },
189	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
190			 0x0032,
191			 PCI_VENDOR_ID_SAMSUNG,
192			 0xC706),
193	  .driver_data = ATH_PCI_BT_ANT_DIV },
194	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
195			 0x0032,
196			 PCI_VENDOR_ID_SAMSUNG,
197			 0xC680),
198	  .driver_data = ATH_PCI_BT_ANT_DIV },
199	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
200			 0x0032,
201			 PCI_VENDOR_ID_SAMSUNG,
202			 0xC708),
203	  .driver_data = ATH_PCI_BT_ANT_DIV },
204	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
205			 0x0032,
206			 PCI_VENDOR_ID_LENOVO,
207			 0x3218),
208	  .driver_data = ATH_PCI_BT_ANT_DIV },
209	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
210			 0x0032,
211			 PCI_VENDOR_ID_LENOVO,
212			 0x3219),
213	  .driver_data = ATH_PCI_BT_ANT_DIV },
214
215	/* AR9485 cards with PLL power-save disabled by default. */
216	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
217			 0x0032,
218			 PCI_VENDOR_ID_AZWAVE,
219			 0x2C97),
220	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
221	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
222			 0x0032,
223			 PCI_VENDOR_ID_AZWAVE,
224			 0x2100),
225	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
226	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
227			 0x0032,
228			 0x1C56, /* ASKEY */
229			 0x4001),
230	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
231	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
232			 0x0032,
233			 0x11AD, /* LITEON */
234			 0x6627),
235	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
236	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
237			 0x0032,
238			 0x11AD, /* LITEON */
239			 0x6628),
240	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
241	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
242			 0x0032,
243			 PCI_VENDOR_ID_FOXCONN,
244			 0xE04E),
245	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
246	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
247			 0x0032,
248			 PCI_VENDOR_ID_FOXCONN,
249			 0xE04F),
250	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
251	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
252			 0x0032,
253			 0x144F, /* ASKEY */
254			 0x7197),
255	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
256	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
257			 0x0032,
258			 0x1B9A, /* XAVI */
259			 0x2000),
260	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
261	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
262			 0x0032,
263			 0x1B9A, /* XAVI */
264			 0x2001),
265	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
266	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
267			 0x0032,
268			 PCI_VENDOR_ID_AZWAVE,
269			 0x1186),
270	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
271	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
272			 0x0032,
273			 PCI_VENDOR_ID_AZWAVE,
274			 0x1F86),
275	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
276	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
277			 0x0032,
278			 PCI_VENDOR_ID_AZWAVE,
279			 0x1195),
280	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
281	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
282			 0x0032,
283			 PCI_VENDOR_ID_AZWAVE,
284			 0x1F95),
285	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
286	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
287			 0x0032,
288			 0x1B9A, /* XAVI */
289			 0x1C00),
290	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
291	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
292			 0x0032,
293			 0x1B9A, /* XAVI */
294			 0x1C01),
295	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
296	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
297			 0x0032,
298			 PCI_VENDOR_ID_ASUSTEK,
299			 0x850D),
300	  .driver_data = ATH_PCI_NO_PLL_PWRSAVE },
301
302	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0032) }, /* PCI-E  AR9485 */
303	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0033) }, /* PCI-E  AR9580 */
304
305	/* PCI-E CUS217 */
306	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
307			 0x0034,
308			 PCI_VENDOR_ID_AZWAVE,
309			 0x2116),
310	  .driver_data = ATH_PCI_CUS217 },
311	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
312			 0x0034,
313			 0x11AD, /* LITEON */
314			 0x6661),
315	  .driver_data = ATH_PCI_CUS217 },
316
317	/* AR9462 with WoW support */
318	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
319			 0x0034,
320			 PCI_VENDOR_ID_ATHEROS,
321			 0x3117),
322	  .driver_data = ATH_PCI_WOW },
323	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
324			 0x0034,
325			 PCI_VENDOR_ID_LENOVO,
326			 0x3214),
327	  .driver_data = ATH_PCI_WOW },
328	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
329			 0x0034,
330			 PCI_VENDOR_ID_ATTANSIC,
331			 0x0091),
332	  .driver_data = ATH_PCI_WOW },
333	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
334			 0x0034,
335			 PCI_VENDOR_ID_AZWAVE,
336			 0x2110),
337	  .driver_data = ATH_PCI_WOW },
338	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
339			 0x0034,
340			 PCI_VENDOR_ID_ASUSTEK,
341			 0x850E),
342	  .driver_data = ATH_PCI_WOW },
343	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
344			 0x0034,
345			 0x11AD, /* LITEON */
346			 0x6631),
347	  .driver_data = ATH_PCI_WOW },
348	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
349			 0x0034,
350			 0x11AD, /* LITEON */
351			 0x6641),
352	  .driver_data = ATH_PCI_WOW },
353	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
354			 0x0034,
355			 PCI_VENDOR_ID_HP,
356			 0x1864),
357	  .driver_data = ATH_PCI_WOW },
358	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
359			 0x0034,
360			 0x14CD, /* USI */
361			 0x0063),
362	  .driver_data = ATH_PCI_WOW },
363	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
364			 0x0034,
365			 0x14CD, /* USI */
366			 0x0064),
367	  .driver_data = ATH_PCI_WOW },
368	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
369			 0x0034,
370			 0x10CF, /* Fujitsu */
371			 0x1783),
372	  .driver_data = ATH_PCI_WOW },
373
374	/* Killer Wireless (2x2) */
375	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
376			 0x0030,
377			 0x1A56,
378			 0x2003),
379	  .driver_data = ATH_PCI_KILLER },
380
381	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0034) }, /* PCI-E  AR9462 */
382	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0037) }, /* PCI-E  AR1111/AR9485 */
383
384	/* CUS252 */
385	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
386			 0x0036,
387			 PCI_VENDOR_ID_ATHEROS,
388			 0x3028),
389	  .driver_data = ATH_PCI_CUS252 |
390			 ATH_PCI_AR9565_2ANT |
391			 ATH_PCI_BT_ANT_DIV },
392	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
393			 0x0036,
394			 PCI_VENDOR_ID_AZWAVE,
395			 0x2176),
396	  .driver_data = ATH_PCI_CUS252 |
397			 ATH_PCI_AR9565_2ANT |
398			 ATH_PCI_BT_ANT_DIV },
399
400	/* WB335 1-ANT */
401	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
402			 0x0036,
403			 PCI_VENDOR_ID_FOXCONN,
404			 0xE068),
405	  .driver_data = ATH_PCI_AR9565_1ANT },
406	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
407			 0x0036,
408			 0x185F, /* WNC */
409			 0xA119),
410	  .driver_data = ATH_PCI_AR9565_1ANT },
411	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
412			 0x0036,
413			 0x11AD, /* LITEON */
414			 0x0632),
415	  .driver_data = ATH_PCI_AR9565_1ANT },
416	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
417			 0x0036,
418			 0x11AD, /* LITEON */
419			 0x06B2),
420	  .driver_data = ATH_PCI_AR9565_1ANT },
421	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
422			 0x0036,
423			 0x11AD, /* LITEON */
424			 0x0842),
425	  .driver_data = ATH_PCI_AR9565_1ANT },
426	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
427			 0x0036,
428			 0x11AD, /* LITEON */
429			 0x6671),
430	  .driver_data = ATH_PCI_AR9565_1ANT },
431	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
432			 0x0036,
433			 0x1B9A, /* XAVI */
434			 0x2811),
435	  .driver_data = ATH_PCI_AR9565_1ANT },
436	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
437			 0x0036,
438			 0x1B9A, /* XAVI */
439			 0x2812),
440	  .driver_data = ATH_PCI_AR9565_1ANT },
441	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
442			 0x0036,
443			 0x1B9A, /* XAVI */
444			 0x28A1),
445	  .driver_data = ATH_PCI_AR9565_1ANT },
446	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
447			 0x0036,
448			 PCI_VENDOR_ID_AZWAVE,
449			 0x218A),
450	  .driver_data = ATH_PCI_AR9565_1ANT },
451
452	/* WB335 1-ANT / Antenna Diversity */
453	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
454			 0x0036,
455			 PCI_VENDOR_ID_ATHEROS,
456			 0x3025),
457	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
458	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
459			 0x0036,
460			 PCI_VENDOR_ID_ATHEROS,
461			 0x3026),
462	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
463	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
464			 0x0036,
465			 PCI_VENDOR_ID_ATHEROS,
466			 0x302B),
467	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
468	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
469			 0x0036,
470			 PCI_VENDOR_ID_FOXCONN,
471			 0xE069),
472	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
473	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
474			 0x0036,
475			 0x185F, /* WNC */
476			 0x3028),
477	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
478	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
479			 0x0036,
480			 0x11AD, /* LITEON */
481			 0x0622),
482	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
483	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
484			 0x0036,
485			 0x11AD, /* LITEON */
486			 0x0672),
487	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
488	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
489			 0x0036,
490			 0x11AD, /* LITEON */
491			 0x0662),
492	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
493	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
494			 0x0036,
495			 0x11AD, /* LITEON */
496			 0x06A2),
497	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
498	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
499			 0x0036,
500			 0x11AD, /* LITEON */
501			 0x0682),
502	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
503	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
504			 0x0036,
505			 PCI_VENDOR_ID_AZWAVE,
506			 0x213A),
507	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
508	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
509			 0x0036,
510			 PCI_VENDOR_ID_HP,
511			 0x18E3),
512	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
513	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
514			 0x0036,
515			 PCI_VENDOR_ID_HP,
516			 0x217F),
517	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
518	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
519			 0x0036,
520			 PCI_VENDOR_ID_HP,
521			 0x2005),
522	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
523	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
524			 0x0036,
525			 PCI_VENDOR_ID_DELL,
526			 0x020C),
527	  .driver_data = ATH_PCI_AR9565_1ANT | ATH_PCI_BT_ANT_DIV },
528
529	/* WB335 2-ANT / Antenna-Diversity */
530	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
531			 0x0036,
532			 PCI_VENDOR_ID_SAMSUNG,
533			 0x411A),
534	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
535	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
536			 0x0036,
537			 PCI_VENDOR_ID_SAMSUNG,
538			 0x411B),
539	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
540	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
541			 0x0036,
542			 PCI_VENDOR_ID_SAMSUNG,
543			 0x411C),
544	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
545	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
546			 0x0036,
547			 PCI_VENDOR_ID_SAMSUNG,
548			 0x411D),
549	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
550	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
551			 0x0036,
552			 PCI_VENDOR_ID_SAMSUNG,
553			 0x411E),
554	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
555	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
556			 0x0036,
557			 PCI_VENDOR_ID_ATHEROS,
558			 0x3027),
559	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
560	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
561			 0x0036,
562			 PCI_VENDOR_ID_ATHEROS,
563			 0x302C),
564	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
565	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
566			 0x0036,
567			 0x11AD, /* LITEON */
568			 0x0642),
569	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
570	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
571			 0x0036,
572			 0x11AD, /* LITEON */
573			 0x0652),
574	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
575	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
576			 0x0036,
577			 0x11AD, /* LITEON */
578			 0x0612),
579	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
580	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
581			 0x0036,
582			 0x11AD, /* LITEON */
583			 0x0832),
584	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
585	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
586			 0x0036,
587			 0x11AD, /* LITEON */
588			 0x0692),
589	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
590	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
591			 0x0036,
592			 PCI_VENDOR_ID_AZWAVE,
593			 0x2130),
594	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
595	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
596			 0x0036,
597			 PCI_VENDOR_ID_AZWAVE,
598			 0x213B),
599	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
600	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
601			 0x0036,
602			 PCI_VENDOR_ID_AZWAVE,
603			 0x2182),
604	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
605	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
606			 0x0036,
607			 0x144F, /* ASKEY */
608			 0x7202),
609	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
610	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
611			 0x0036,
612			 0x1B9A, /* XAVI */
613			 0x2810),
614	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
615	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
616			 0x0036,
617			 0x1B9A, /* XAVI */
618			 0x28A2),
619	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
620	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
621			 0x0036,
622			 0x185F, /* WNC */
623			 0x3027),
624	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
625	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
626			 0x0036,
627			 0x185F, /* WNC */
628			 0xA120),
629	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
630	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
631			 0x0036,
632			 PCI_VENDOR_ID_FOXCONN,
633			 0xE07F),
634	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
635	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
636			 0x0036,
637			 PCI_VENDOR_ID_FOXCONN,
638			 0xE081),
639	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
640	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
641			 0x0036,
642			 PCI_VENDOR_ID_LENOVO,
643			 0x3026),
644	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
645	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
646			 0x0036,
647			 PCI_VENDOR_ID_LENOVO,
648			 0x4026),
649	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
650	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
651			 0x0036,
652			 PCI_VENDOR_ID_ASUSTEK,
653			 0x85F2),
654	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
655	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
656			 0x0036,
657			 PCI_VENDOR_ID_DELL,
658			 0x020E),
659	  .driver_data = ATH_PCI_AR9565_2ANT | ATH_PCI_BT_ANT_DIV },
660
661	/* PCI-E AR9565 (WB335) */
662	{ PCI_VDEVICE(PCI_VENDOR_ID_ATHEROS, 0x0036),
663	  .driver_data = ATH_PCI_BT_ANT_DIV },
664	{ 0 }
665};
666