Wed Apr 22 22:54:44 2020 UTC ()
Add AQUANTIA AQC100 from Andrius V.


(christos)
diff -r1.11 -r1.12 src/sys/dev/pci/if_aq.c
diff -r1.1410 -r1.1411 src/sys/dev/pci/pcidevs

cvs diff -r1.11 -r1.12 src/sys/dev/pci/if_aq.c (switch to unified diff)

--- src/sys/dev/pci/if_aq.c 2020/02/15 12:20:35 1.11
+++ src/sys/dev/pci/if_aq.c 2020/04/22 22:54:43 1.12
@@ -1,2155 +1,2159 @@ @@ -1,2155 +1,2159 @@
1/* $NetBSD: if_aq.c,v 1.11 2020/02/15 12:20:35 ryo Exp $ */ 1/* $NetBSD: if_aq.c,v 1.12 2020/04/22 22:54:43 christos Exp $ */
2 2
3/** 3/**
4 * aQuantia Corporation Network Driver 4 * aQuantia Corporation Network Driver
5 * Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved 5 * Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 10 *
11 * (1) Redistributions of source code must retain the above 11 * (1) Redistributions of source code must retain the above
12 * copyright notice, this list of conditions and the following 12 * copyright notice, this list of conditions and the following
13 * disclaimer. 13 * disclaimer.
14 * 14 *
15 * (2) Redistributions in binary form must reproduce the above 15 * (2) Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following 16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided 17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution. 18 * with the distribution.
19 * 19 *
20 * (3) The name of the author may not be used to endorse or promote 20 * (3) The name of the author may not be used to endorse or promote
21 * products derived from this software without specific prior 21 * products derived from this software without specific prior
22 * written permission. 22 * written permission.
23 * 23 *
24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
25 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 25 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 27 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
28 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
30 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
32 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 * 35 *
36 */ 36 */
37 37
38/*- 38/*-
39 * Copyright (c) 2020 Ryo Shimizu <ryo@nerv.org> 39 * Copyright (c) 2020 Ryo Shimizu <ryo@nerv.org>
40 * All rights reserved. 40 * All rights reserved.
41 * 41 *
42 * Redistribution and use in source and binary forms, with or without 42 * Redistribution and use in source and binary forms, with or without
43 * modification, are permitted provided that the following conditions 43 * modification, are permitted provided that the following conditions
44 * are met: 44 * are met:
45 * 1. Redistributions of source code must retain the above copyright 45 * 1. Redistributions of source code must retain the above copyright
46 * notice, this list of conditions and the following disclaimer. 46 * notice, this list of conditions and the following disclaimer.
47 * 2. Redistributions in binary form must reproduce the above copyright 47 * 2. Redistributions in binary form must reproduce the above copyright
48 * notice, this list of conditions and the following disclaimer in the 48 * notice, this list of conditions and the following disclaimer in the
49 * documentation and/or other materials provided with the distribution. 49 * documentation and/or other materials provided with the distribution.
50 * 50 *
51 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 51 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
52 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 52 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 53 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 54 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
55 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 55 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
56 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 56 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
57 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 57 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
58 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 58 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
59 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 59 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
60 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 60 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
61 * POSSIBILITY OF SUCH DAMAGE. 61 * POSSIBILITY OF SUCH DAMAGE.
62 */ 62 */
63 63
64#include <sys/cdefs.h> 64#include <sys/cdefs.h>
65__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.11 2020/02/15 12:20:35 ryo Exp $"); 65__KERNEL_RCSID(0, "$NetBSD: if_aq.c,v 1.12 2020/04/22 22:54:43 christos Exp $");
66 66
67#ifdef _KERNEL_OPT 67#ifdef _KERNEL_OPT
68#include "opt_if_aq.h" 68#include "opt_if_aq.h"
69#include "sysmon_envsys.h" 69#include "sysmon_envsys.h"
70#endif 70#endif
71 71
72#include <sys/param.h> 72#include <sys/param.h>
73#include <sys/types.h> 73#include <sys/types.h>
74#include <sys/bitops.h> 74#include <sys/bitops.h>
75#include <sys/cprng.h> 75#include <sys/cprng.h>
76#include <sys/cpu.h> 76#include <sys/cpu.h>
77#include <sys/interrupt.h> 77#include <sys/interrupt.h>
78#include <sys/module.h> 78#include <sys/module.h>
79#include <sys/pcq.h> 79#include <sys/pcq.h>
80 80
81#include <net/bpf.h> 81#include <net/bpf.h>
82#include <net/if.h> 82#include <net/if.h>
83#include <net/if_dl.h> 83#include <net/if_dl.h>
84#include <net/if_media.h> 84#include <net/if_media.h>
85#include <net/if_ether.h> 85#include <net/if_ether.h>
86#include <net/rss_config.h> 86#include <net/rss_config.h>
87 87
88#include <dev/pci/pcivar.h> 88#include <dev/pci/pcivar.h>
89#include <dev/pci/pcireg.h> 89#include <dev/pci/pcireg.h>
90#include <dev/pci/pcidevs.h> 90#include <dev/pci/pcidevs.h>
91#include <dev/sysmon/sysmonvar.h> 91#include <dev/sysmon/sysmonvar.h>
92 92
93/* driver configuration */ 93/* driver configuration */
94#define CONFIG_INTR_MODERATION_ENABLE true /* delayed interrupt */ 94#define CONFIG_INTR_MODERATION_ENABLE true /* delayed interrupt */
95#undef CONFIG_LRO_SUPPORT /* no LRO not suppoted */ 95#undef CONFIG_LRO_SUPPORT /* no LRO not suppoted */
96#undef CONFIG_NO_TXRX_INDEPENDENT /* share TX/RX interrupts */ 96#undef CONFIG_NO_TXRX_INDEPENDENT /* share TX/RX interrupts */
97 97
98#define AQ_NINTR_MAX (AQ_RSSQUEUE_MAX + AQ_RSSQUEUE_MAX + 1) 98#define AQ_NINTR_MAX (AQ_RSSQUEUE_MAX + AQ_RSSQUEUE_MAX + 1)
99 /* TX + RX + LINK. must be <= 32 */ 99 /* TX + RX + LINK. must be <= 32 */
100#define AQ_LINKSTAT_IRQ 31 /* for legacy mode */ 100#define AQ_LINKSTAT_IRQ 31 /* for legacy mode */
101 101
102#define AQ_TXD_NUM 2048 /* per ring. 8*n && 32~8184 */ 102#define AQ_TXD_NUM 2048 /* per ring. 8*n && 32~8184 */
103#define AQ_RXD_NUM 2048 /* per ring. 8*n && 32~8184 */ 103#define AQ_RXD_NUM 2048 /* per ring. 8*n && 32~8184 */
104/* minimum required to send a packet (vlan needs additional TX descriptor) */ 104/* minimum required to send a packet (vlan needs additional TX descriptor) */
105#define AQ_TXD_MIN (1 + 1) 105#define AQ_TXD_MIN (1 + 1)
106 106
107 107
108/* hardware specification */ 108/* hardware specification */
109#define AQ_RINGS_NUM 32 109#define AQ_RINGS_NUM 32
110#define AQ_RSSQUEUE_MAX 8 110#define AQ_RSSQUEUE_MAX 8
111#define AQ_RX_DESCRIPTOR_MIN 32 111#define AQ_RX_DESCRIPTOR_MIN 32
112#define AQ_TX_DESCRIPTOR_MIN 32 112#define AQ_TX_DESCRIPTOR_MIN 32
113#define AQ_RX_DESCRIPTOR_MAX 8184 113#define AQ_RX_DESCRIPTOR_MAX 8184
114#define AQ_TX_DESCRIPTOR_MAX 8184 114#define AQ_TX_DESCRIPTOR_MAX 8184
115#define AQ_TRAFFICCLASS_NUM 8 115#define AQ_TRAFFICCLASS_NUM 8
116#define AQ_RSS_HASHKEY_SIZE 40 116#define AQ_RSS_HASHKEY_SIZE 40
117#define AQ_RSS_INDIRECTION_TABLE_MAX 64 117#define AQ_RSS_INDIRECTION_TABLE_MAX 64
118 118
119/* 119/*
120 * TERMINOLOGY 120 * TERMINOLOGY
121 * MPI = MAC PHY INTERFACE? 121 * MPI = MAC PHY INTERFACE?
122 * RPO = RX Protocol Offloading 122 * RPO = RX Protocol Offloading
123 * TPO = TX Protocol Offloading 123 * TPO = TX Protocol Offloading
124 * RPF = RX Packet Filter 124 * RPF = RX Packet Filter
125 * TPB = TX Packet buffer 125 * TPB = TX Packet buffer
126 * RPB = RX Packet buffer 126 * RPB = RX Packet buffer
127 */ 127 */
128 128
129/* registers */ 129/* registers */
130#define AQ_FW_SOFTRESET_REG 0x0000 130#define AQ_FW_SOFTRESET_REG 0x0000
131#define AQ_FW_SOFTRESET_RESET __BIT(15) /* soft reset bit */ 131#define AQ_FW_SOFTRESET_RESET __BIT(15) /* soft reset bit */
132#define AQ_FW_SOFTRESET_DIS __BIT(14) /* reset disable */ 132#define AQ_FW_SOFTRESET_DIS __BIT(14) /* reset disable */
133 133
134#define AQ_FW_VERSION_REG 0x0018 134#define AQ_FW_VERSION_REG 0x0018
135#define AQ_HW_REVISION_REG 0x001c 135#define AQ_HW_REVISION_REG 0x001c
136#define AQ_GLB_NVR_INTERFACE1_REG 0x0100 136#define AQ_GLB_NVR_INTERFACE1_REG 0x0100
137 137
138#define AQ_FW_MBOX_CMD_REG 0x0200 138#define AQ_FW_MBOX_CMD_REG 0x0200
139#define AQ_FW_MBOX_CMD_EXECUTE 0x00008000 139#define AQ_FW_MBOX_CMD_EXECUTE 0x00008000
140#define AQ_FW_MBOX_CMD_BUSY 0x00000100 140#define AQ_FW_MBOX_CMD_BUSY 0x00000100
141#define AQ_FW_MBOX_ADDR_REG 0x0208 141#define AQ_FW_MBOX_ADDR_REG 0x0208
142#define AQ_FW_MBOX_VAL_REG 0x020c 142#define AQ_FW_MBOX_VAL_REG 0x020c
143 143
144#define FW2X_LED_MIN_VERSION 0x03010026 /* >= 3.1.38 */ 144#define FW2X_LED_MIN_VERSION 0x03010026 /* >= 3.1.38 */
145#define FW2X_LED_REG 0x031c 145#define FW2X_LED_REG 0x031c
146#define FW2X_LED_DEFAULT 0x00000000 146#define FW2X_LED_DEFAULT 0x00000000
147#define FW2X_LED_NONE 0x0000003f 147#define FW2X_LED_NONE 0x0000003f
148#define FW2X_LINKLED __BITS(0,1) 148#define FW2X_LINKLED __BITS(0,1)
149#define FW2X_LINKLED_ACTIVE 0 149#define FW2X_LINKLED_ACTIVE 0
150#define FW2X_LINKLED_ON 1 150#define FW2X_LINKLED_ON 1
151#define FW2X_LINKLED_BLINK 2 151#define FW2X_LINKLED_BLINK 2
152#define FW2X_LINKLED_OFF 3 152#define FW2X_LINKLED_OFF 3
153#define FW2X_STATUSLED __BITS(2,5) 153#define FW2X_STATUSLED __BITS(2,5)
154#define FW2X_STATUSLED_ORANGE 0 154#define FW2X_STATUSLED_ORANGE 0
155#define FW2X_STATUSLED_ORANGE_BLINK 2 155#define FW2X_STATUSLED_ORANGE_BLINK 2
156#define FW2X_STATUSLED_OFF 3 156#define FW2X_STATUSLED_OFF 3
157#define FW2X_STATUSLED_GREEN 4 157#define FW2X_STATUSLED_GREEN 4
158#define FW2X_STATUSLED_ORANGE_GREEN_BLINK 8 158#define FW2X_STATUSLED_ORANGE_GREEN_BLINK 8
159#define FW2X_STATUSLED_GREEN_BLINK 10 159#define FW2X_STATUSLED_GREEN_BLINK 10
160 160
161#define FW_MPI_MBOX_ADDR_REG 0x0360 161#define FW_MPI_MBOX_ADDR_REG 0x0360
162#define FW1X_MPI_INIT1_REG 0x0364 162#define FW1X_MPI_INIT1_REG 0x0364
163#define FW1X_MPI_CONTROL_REG 0x0368 163#define FW1X_MPI_CONTROL_REG 0x0368
164#define FW1X_MPI_STATE_REG 0x036c 164#define FW1X_MPI_STATE_REG 0x036c
165#define FW1X_MPI_STATE_MODE __BITS(7,0) 165#define FW1X_MPI_STATE_MODE __BITS(7,0)
166#define FW1X_MPI_STATE_SPEED __BITS(32,16) 166#define FW1X_MPI_STATE_SPEED __BITS(32,16)
167#define FW1X_MPI_STATE_DISABLE_DIRTYWAKE __BITS(25) 167#define FW1X_MPI_STATE_DISABLE_DIRTYWAKE __BITS(25)
168#define FW1X_MPI_STATE_DOWNSHIFT __BITS(31,28) 168#define FW1X_MPI_STATE_DOWNSHIFT __BITS(31,28)
169#define FW1X_MPI_INIT2_REG 0x0370 169#define FW1X_MPI_INIT2_REG 0x0370
170#define FW1X_MPI_EFUSEADDR_REG 0x0374 170#define FW1X_MPI_EFUSEADDR_REG 0x0374
171 171
172#define FW2X_MPI_EFUSEADDR_REG 0x0364 172#define FW2X_MPI_EFUSEADDR_REG 0x0364
173#define FW2X_MPI_CONTROL_REG 0x0368 /* 64bit */ 173#define FW2X_MPI_CONTROL_REG 0x0368 /* 64bit */
174#define FW2X_MPI_STATE_REG 0x0370 /* 64bit */ 174#define FW2X_MPI_STATE_REG 0x0370 /* 64bit */
175#define FW_BOOT_EXIT_CODE_REG 0x0388 175#define FW_BOOT_EXIT_CODE_REG 0x0388
176#define RBL_STATUS_DEAD 0x0000dead 176#define RBL_STATUS_DEAD 0x0000dead
177#define RBL_STATUS_SUCCESS 0x0000abba 177#define RBL_STATUS_SUCCESS 0x0000abba
178#define RBL_STATUS_FAILURE 0x00000bad 178#define RBL_STATUS_FAILURE 0x00000bad
179#define RBL_STATUS_HOST_BOOT 0x0000f1a7 179#define RBL_STATUS_HOST_BOOT 0x0000f1a7
180 180
181#define AQ_FW_GLB_CPU_SEM_REG(i) (0x03a0 + (i) * 4) 181#define AQ_FW_GLB_CPU_SEM_REG(i) (0x03a0 + (i) * 4)
182#define AQ_FW_SEM_RAM_REG AQ_FW_GLB_CPU_SEM_REG(2) 182#define AQ_FW_SEM_RAM_REG AQ_FW_GLB_CPU_SEM_REG(2)
183 183
184#define AQ_FW_GLB_CTL2_REG 0x0404 184#define AQ_FW_GLB_CTL2_REG 0x0404
185#define AQ_FW_GLB_CTL2_MCP_UP_FORCE_INTERRUPT __BIT(1) 185#define AQ_FW_GLB_CTL2_MCP_UP_FORCE_INTERRUPT __BIT(1)
186 186
187#define AQ_GLB_GENERAL_PROVISIONING9_REG 0x0520 187#define AQ_GLB_GENERAL_PROVISIONING9_REG 0x0520
188#define AQ_GLB_NVR_PROVISIONING2_REG 0x0534 188#define AQ_GLB_NVR_PROVISIONING2_REG 0x0534
189 189
190#define FW_MPI_DAISY_CHAIN_STATUS_REG 0x0704 190#define FW_MPI_DAISY_CHAIN_STATUS_REG 0x0704
191 191
192#define AQ_PCI_REG_CONTROL_6_REG 0x1014 192#define AQ_PCI_REG_CONTROL_6_REG 0x1014
193 193
194// msix bitmap */ 194// msix bitmap */
195#define AQ_INTR_STATUS_REG 0x2000 /* intr status */ 195#define AQ_INTR_STATUS_REG 0x2000 /* intr status */
196#define AQ_INTR_STATUS_CLR_REG 0x2050 /* intr status clear */ 196#define AQ_INTR_STATUS_CLR_REG 0x2050 /* intr status clear */
197#define AQ_INTR_MASK_REG 0x2060 /* intr mask set */ 197#define AQ_INTR_MASK_REG 0x2060 /* intr mask set */
198#define AQ_INTR_MASK_CLR_REG 0x2070 /* intr mask clear */ 198#define AQ_INTR_MASK_CLR_REG 0x2070 /* intr mask clear */
199#define AQ_INTR_AUTOMASK_REG 0x2090 199#define AQ_INTR_AUTOMASK_REG 0x2090
200 200
201/* AQ_INTR_IRQ_MAP_TXRX_REG[AQ_RINGS_NUM] 0x2100-0x2140 */ 201/* AQ_INTR_IRQ_MAP_TXRX_REG[AQ_RINGS_NUM] 0x2100-0x2140 */
202#define AQ_INTR_IRQ_MAP_TXRX_REG(i) (0x2100 + ((i) / 2) * 4) 202#define AQ_INTR_IRQ_MAP_TXRX_REG(i) (0x2100 + ((i) / 2) * 4)
203#define AQ_INTR_IRQ_MAP_TX_REG(i) AQ_INTR_IRQ_MAP_TXRX_REG(i) 203#define AQ_INTR_IRQ_MAP_TX_REG(i) AQ_INTR_IRQ_MAP_TXRX_REG(i)
204#define AQ_INTR_IRQ_MAP_TX_IRQMAP(i) (__BITS(28,24) >> (((i) & 1)*8)) 204#define AQ_INTR_IRQ_MAP_TX_IRQMAP(i) (__BITS(28,24) >> (((i) & 1)*8))
205#define AQ_INTR_IRQ_MAP_TX_EN(i) (__BIT(31) >> (((i) & 1)*8)) 205#define AQ_INTR_IRQ_MAP_TX_EN(i) (__BIT(31) >> (((i) & 1)*8))
206#define AQ_INTR_IRQ_MAP_RX_REG(i) AQ_INTR_IRQ_MAP_TXRX_REG(i) 206#define AQ_INTR_IRQ_MAP_RX_REG(i) AQ_INTR_IRQ_MAP_TXRX_REG(i)
207#define AQ_INTR_IRQ_MAP_RX_IRQMAP(i) (__BITS(12,8) >> (((i) & 1)*8)) 207#define AQ_INTR_IRQ_MAP_RX_IRQMAP(i) (__BITS(12,8) >> (((i) & 1)*8))
208#define AQ_INTR_IRQ_MAP_RX_EN(i) (__BIT(15) >> (((i) & 1)*8)) 208#define AQ_INTR_IRQ_MAP_RX_EN(i) (__BIT(15) >> (((i) & 1)*8))
209 209
210/* AQ_GEN_INTR_MAP_REG[AQ_RINGS_NUM] 0x2180-0x2200 */ 210/* AQ_GEN_INTR_MAP_REG[AQ_RINGS_NUM] 0x2180-0x2200 */
211#define AQ_GEN_INTR_MAP_REG(i) (0x2180 + (i) * 4) 211#define AQ_GEN_INTR_MAP_REG(i) (0x2180 + (i) * 4)
212#define AQ_B0_ERR_INT 8U 212#define AQ_B0_ERR_INT 8U
213 213
214#define AQ_INTR_CTRL_REG 0x2300 214#define AQ_INTR_CTRL_REG 0x2300
215#define AQ_INTR_CTRL_IRQMODE __BITS(1,0) 215#define AQ_INTR_CTRL_IRQMODE __BITS(1,0)
216#define AQ_INTR_CTRL_IRQMODE_LEGACY 0 216#define AQ_INTR_CTRL_IRQMODE_LEGACY 0
217#define AQ_INTR_CTRL_IRQMODE_MSI 1 217#define AQ_INTR_CTRL_IRQMODE_MSI 1
218#define AQ_INTR_CTRL_IRQMODE_MSIX 2 218#define AQ_INTR_CTRL_IRQMODE_MSIX 2
219#define AQ_INTR_CTRL_MULTIVEC __BIT(2) 219#define AQ_INTR_CTRL_MULTIVEC __BIT(2)
220#define AQ_INTR_CTRL_AUTO_MASK __BIT(5) 220#define AQ_INTR_CTRL_AUTO_MASK __BIT(5)
221#define AQ_INTR_CTRL_CLR_ON_READ __BIT(7) 221#define AQ_INTR_CTRL_CLR_ON_READ __BIT(7)
222#define AQ_INTR_CTRL_RESET_DIS __BIT(29) 222#define AQ_INTR_CTRL_RESET_DIS __BIT(29)
223#define AQ_INTR_CTRL_RESET_IRQ __BIT(31) 223#define AQ_INTR_CTRL_RESET_IRQ __BIT(31)
224 224
225#define AQ_MBOXIF_POWER_GATING_CONTROL_REG 0x32a8 225#define AQ_MBOXIF_POWER_GATING_CONTROL_REG 0x32a8
226 226
227#define FW_MPI_RESETCTRL_REG 0x4000 227#define FW_MPI_RESETCTRL_REG 0x4000
228#define FW_MPI_RESETCTRL_RESET_DIS __BIT(29) 228#define FW_MPI_RESETCTRL_RESET_DIS __BIT(29)
229 229
230#define RX_SYSCONTROL_REG 0x5000 230#define RX_SYSCONTROL_REG 0x5000
231#define RX_SYSCONTROL_RPB_DMA_LOOPBACK __BIT(6) 231#define RX_SYSCONTROL_RPB_DMA_LOOPBACK __BIT(6)
232#define RX_SYSCONTROL_RPF_TPO_LOOPBACK __BIT(8) 232#define RX_SYSCONTROL_RPF_TPO_LOOPBACK __BIT(8)
233#define RX_SYSCONTROL_RESET_DIS __BIT(29) 233#define RX_SYSCONTROL_RESET_DIS __BIT(29)
234 234
235#define RX_TCP_RSS_HASH_REG 0x5040 235#define RX_TCP_RSS_HASH_REG 0x5040
236#define RX_TCP_RSS_HASH_RPF2 __BITS(19,16) 236#define RX_TCP_RSS_HASH_RPF2 __BITS(19,16)
237#define RX_TCP_RSS_HASH_TYPE __BITS(15,0) 237#define RX_TCP_RSS_HASH_TYPE __BITS(15,0)
238 238
239/* for RPF_*_REG.ACTION */ 239/* for RPF_*_REG.ACTION */
240#define RPF_ACTION_DISCARD 0 240#define RPF_ACTION_DISCARD 0
241#define RPF_ACTION_HOST 1 241#define RPF_ACTION_HOST 1
242#define RPF_ACTION_MANAGEMENT 2 242#define RPF_ACTION_MANAGEMENT 2
243#define RPF_ACTION_HOST_MANAGEMENT 3 243#define RPF_ACTION_HOST_MANAGEMENT 3
244#define RPF_ACTION_WOL 4 244#define RPF_ACTION_WOL 4
245 245
246#define RPF_L2BC_REG 0x5100 246#define RPF_L2BC_REG 0x5100
247#define RPF_L2BC_EN __BIT(0) 247#define RPF_L2BC_EN __BIT(0)
248#define RPF_L2BC_PROMISC __BIT(3) 248#define RPF_L2BC_PROMISC __BIT(3)
249#define RPF_L2BC_ACTION __BITS(12,14) 249#define RPF_L2BC_ACTION __BITS(12,14)
250#define RPF_L2BC_THRESHOLD __BITS(31,16) 250#define RPF_L2BC_THRESHOLD __BITS(31,16)
251 251
252/* RPF_L2UC_*_REG[34] (actual [38]?) */ 252/* RPF_L2UC_*_REG[34] (actual [38]?) */
253#define RPF_L2UC_LSW_REG(i) (0x5110 + (i) * 8) 253#define RPF_L2UC_LSW_REG(i) (0x5110 + (i) * 8)
254#define RPF_L2UC_MSW_REG(i) (0x5114 + (i) * 8) 254#define RPF_L2UC_MSW_REG(i) (0x5114 + (i) * 8)
255#define RPF_L2UC_MSW_MACADDR_HI __BITS(15,0) 255#define RPF_L2UC_MSW_MACADDR_HI __BITS(15,0)
256#define RPF_L2UC_MSW_ACTION __BITS(18,16) 256#define RPF_L2UC_MSW_ACTION __BITS(18,16)
257#define RPF_L2UC_MSW_EN __BIT(31) 257#define RPF_L2UC_MSW_EN __BIT(31)
258#define AQ_HW_MAC_OWN 0 /* index of own address */ 258#define AQ_HW_MAC_OWN 0 /* index of own address */
259#define AQ_HW_MAC_NUM 34 259#define AQ_HW_MAC_NUM 34
260 260
261/* RPF_MCAST_FILTER_REG[8] 0x5250-0x5270 */ 261/* RPF_MCAST_FILTER_REG[8] 0x5250-0x5270 */
262#define RPF_MCAST_FILTER_REG(i) (0x5250 + (i) * 4) 262#define RPF_MCAST_FILTER_REG(i) (0x5250 + (i) * 4)
263#define RPF_MCAST_FILTER_EN __BIT(31) 263#define RPF_MCAST_FILTER_EN __BIT(31)
264#define RPF_MCAST_FILTER_MASK_REG 0x5270 264#define RPF_MCAST_FILTER_MASK_REG 0x5270
265#define RPF_MCAST_FILTER_MASK_ALLMULTI __BIT(14) 265#define RPF_MCAST_FILTER_MASK_ALLMULTI __BIT(14)
266 266
267#define RPF_VLAN_MODE_REG 0x5280 267#define RPF_VLAN_MODE_REG 0x5280
268#define RPF_VLAN_MODE_PROMISC __BIT(1) 268#define RPF_VLAN_MODE_PROMISC __BIT(1)
269#define RPF_VLAN_MODE_ACCEPT_UNTAGGED __BIT(2) 269#define RPF_VLAN_MODE_ACCEPT_UNTAGGED __BIT(2)
270#define RPF_VLAN_MODE_UNTAGGED_ACTION __BITS(5,3) 270#define RPF_VLAN_MODE_UNTAGGED_ACTION __BITS(5,3)
271 271
272#define RPF_VLAN_TPID_REG 0x5284 272#define RPF_VLAN_TPID_REG 0x5284
273#define RPF_VLAN_TPID_OUTER __BITS(31,16) 273#define RPF_VLAN_TPID_OUTER __BITS(31,16)
274#define RPF_VLAN_TPID_INNER __BITS(15,0) 274#define RPF_VLAN_TPID_INNER __BITS(15,0)
275 275
276/* RPF_VLAN_FILTER_REG[RPF_VLAN_MAX_FILTERS] 0x5290-0x52d0 */ 276/* RPF_VLAN_FILTER_REG[RPF_VLAN_MAX_FILTERS] 0x5290-0x52d0 */
277#define RPF_VLAN_MAX_FILTERS 16 277#define RPF_VLAN_MAX_FILTERS 16
278#define RPF_VLAN_FILTER_REG(i) (0x5290 + (i) * 4) 278#define RPF_VLAN_FILTER_REG(i) (0x5290 + (i) * 4)
279#define RPF_VLAN_FILTER_EN __BIT(31) 279#define RPF_VLAN_FILTER_EN __BIT(31)
280#define RPF_VLAN_FILTER_RXQ_EN __BIT(28) 280#define RPF_VLAN_FILTER_RXQ_EN __BIT(28)
281#define RPF_VLAN_FILTER_RXQ __BITS(24,20) 281#define RPF_VLAN_FILTER_RXQ __BITS(24,20)
282#define RPF_VLAN_FILTER_ACTION __BITS(18,16) 282#define RPF_VLAN_FILTER_ACTION __BITS(18,16)
283#define RPF_VLAN_FILTER_ID __BITS(11,0) 283#define RPF_VLAN_FILTER_ID __BITS(11,0)
284 284
285/* RPF_ETHERTYPE_FILTER_REG[AQ_RINGS_NUM] 0x5300-0x5380 */ 285/* RPF_ETHERTYPE_FILTER_REG[AQ_RINGS_NUM] 0x5300-0x5380 */
286#define RPF_ETHERTYPE_FILTER_REG(i) (0x5300 + (i) * 4) 286#define RPF_ETHERTYPE_FILTER_REG(i) (0x5300 + (i) * 4)
287#define RPF_ETHERTYPE_FILTER_EN __BIT(31) 287#define RPF_ETHERTYPE_FILTER_EN __BIT(31)
288#define RPF_ETHERTYPE_FILTER_PRIO_EN __BIT(30) 288#define RPF_ETHERTYPE_FILTER_PRIO_EN __BIT(30)
289#define RPF_ETHERTYPE_FILTER_RXQF_EN __BIT(29) 289#define RPF_ETHERTYPE_FILTER_RXQF_EN __BIT(29)
290#define RPF_ETHERTYPE_FILTER_PRIO __BITS(28,26) 290#define RPF_ETHERTYPE_FILTER_PRIO __BITS(28,26)
291#define RPF_ETHERTYPE_FILTER_RXQF __BITS(24,20) 291#define RPF_ETHERTYPE_FILTER_RXQF __BITS(24,20)
292#define RPF_ETHERTYPE_FILTER_MNG_RXQF __BIT(19) 292#define RPF_ETHERTYPE_FILTER_MNG_RXQF __BIT(19)
293#define RPF_ETHERTYPE_FILTER_ACTION __BITS(18,16) 293#define RPF_ETHERTYPE_FILTER_ACTION __BITS(18,16)
294#define RPF_ETHERTYPE_FILTER_VAL __BITS(15,0) 294#define RPF_ETHERTYPE_FILTER_VAL __BITS(15,0)
295 295
296/* RPF_L3_FILTER_REG[8] 0x5380-0x53a0 */ 296/* RPF_L3_FILTER_REG[8] 0x5380-0x53a0 */
297#define RPF_L3_FILTER_REG(i) (0x5380 + (i) * 4) 297#define RPF_L3_FILTER_REG(i) (0x5380 + (i) * 4)
298#define RPF_L3_FILTER_L4_EN __BIT(31) 298#define RPF_L3_FILTER_L4_EN __BIT(31)
299#define RPF_L3_FILTER_IPV6_EN __BIT(30) 299#define RPF_L3_FILTER_IPV6_EN __BIT(30)
300#define RPF_L3_FILTER_SRCADDR_EN __BIT(29) 300#define RPF_L3_FILTER_SRCADDR_EN __BIT(29)
301#define RPF_L3_FILTER_DSTADDR_EN __BIT(28) 301#define RPF_L3_FILTER_DSTADDR_EN __BIT(28)
302#define RPF_L3_FILTER_L4_SRCPORT_EN __BIT(27) 302#define RPF_L3_FILTER_L4_SRCPORT_EN __BIT(27)
303#define RPF_L3_FILTER_L4_DSTPORT_EN __BIT(26) 303#define RPF_L3_FILTER_L4_DSTPORT_EN __BIT(26)
304#define RPF_L3_FILTER_L4_PROTO_EN __BIT(25) 304#define RPF_L3_FILTER_L4_PROTO_EN __BIT(25)
305#define RPF_L3_FILTER_ARP_EN __BIT(24) 305#define RPF_L3_FILTER_ARP_EN __BIT(24)
306#define RPF_L3_FILTER_L4_RXQUEUE_EN __BIT(23) 306#define RPF_L3_FILTER_L4_RXQUEUE_EN __BIT(23)
307#define RPF_L3_FILTER_L4_RXQUEUE_MANAGEMENT_EN __BIT(22) 307#define RPF_L3_FILTER_L4_RXQUEUE_MANAGEMENT_EN __BIT(22)
308#define RPF_L3_FILTER_L4_ACTION __BITS(16,18) 308#define RPF_L3_FILTER_L4_ACTION __BITS(16,18)
309#define RPF_L3_FILTER_L4_RXQUEUE __BITS(12,8) 309#define RPF_L3_FILTER_L4_RXQUEUE __BITS(12,8)
310#define RPF_L3_FILTER_L4_PROTO __BITS(2,0) 310#define RPF_L3_FILTER_L4_PROTO __BITS(2,0)
311#define RPF_L3_FILTER_L4_PROTO_TCP 0 311#define RPF_L3_FILTER_L4_PROTO_TCP 0
312#define RPF_L3_FILTER_L4_PROTO_UDP 1 312#define RPF_L3_FILTER_L4_PROTO_UDP 1
313#define RPF_L3_FILTER_L4_PROTO_SCTP 2 313#define RPF_L3_FILTER_L4_PROTO_SCTP 2
314#define RPF_L3_FILTER_L4_PROTO_ICMP 3 314#define RPF_L3_FILTER_L4_PROTO_ICMP 3
315/* parameters of RPF_L3_FILTER_REG[8] */ 315/* parameters of RPF_L3_FILTER_REG[8] */
316#define RPF_L3_FILTER_SRCADDR_REG(i) (0x53b0 + (i) * 4) 316#define RPF_L3_FILTER_SRCADDR_REG(i) (0x53b0 + (i) * 4)
317#define RPF_L3_FILTER_DSTADDR_REG(i) (0x53d0 + (i) * 4) 317#define RPF_L3_FILTER_DSTADDR_REG(i) (0x53d0 + (i) * 4)
318#define RPF_L3_FILTER_L4_SRCPORT_REG(i) (0x5400 + (i) * 4) 318#define RPF_L3_FILTER_L4_SRCPORT_REG(i) (0x5400 + (i) * 4)
319#define RPF_L3_FILTER_L4_DSTPORT_REG(i) (0x5420 + (i) * 4) 319#define RPF_L3_FILTER_L4_DSTPORT_REG(i) (0x5420 + (i) * 4)
320 320
321#define RX_FLR_RSS_CONTROL1_REG 0x54c0 321#define RX_FLR_RSS_CONTROL1_REG 0x54c0
322#define RX_FLR_RSS_CONTROL1_EN __BIT(31) 322#define RX_FLR_RSS_CONTROL1_EN __BIT(31)
323 323
324#define RPF_RPB_RX_TC_UPT_REG 0x54c4 324#define RPF_RPB_RX_TC_UPT_REG 0x54c4
325#define RPF_RPB_RX_TC_UPT_MASK(i) (0x00000007 << ((i) * 4)) 325#define RPF_RPB_RX_TC_UPT_MASK(i) (0x00000007 << ((i) * 4))
326 326
327#define RPF_RSS_KEY_ADDR_REG 0x54d0 327#define RPF_RSS_KEY_ADDR_REG 0x54d0
328#define RPF_RSS_KEY_ADDR __BITS(4,0) 328#define RPF_RSS_KEY_ADDR __BITS(4,0)
329#define RPF_RSS_KEY_WR_EN __BIT(5) 329#define RPF_RSS_KEY_WR_EN __BIT(5)
330#define RPF_RSS_KEY_WR_DATA_REG 0x54d4 330#define RPF_RSS_KEY_WR_DATA_REG 0x54d4
331#define RPF_RSS_KEY_RD_DATA_REG 0x54d8 331#define RPF_RSS_KEY_RD_DATA_REG 0x54d8
332 332
333#define RPF_RSS_REDIR_ADDR_REG 0x54e0 333#define RPF_RSS_REDIR_ADDR_REG 0x54e0
334#define RPF_RSS_REDIR_ADDR __BITS(3,0) 334#define RPF_RSS_REDIR_ADDR __BITS(3,0)
335#define RPF_RSS_REDIR_WR_EN __BIT(4) 335#define RPF_RSS_REDIR_WR_EN __BIT(4)
336 336
337#define RPF_RSS_REDIR_WR_DATA_REG 0x54e4 337#define RPF_RSS_REDIR_WR_DATA_REG 0x54e4
338#define RPF_RSS_REDIR_WR_DATA __BITS(15,0) 338#define RPF_RSS_REDIR_WR_DATA __BITS(15,0)
339 339
340#define RPO_HWCSUM_REG 0x5580 340#define RPO_HWCSUM_REG 0x5580
341#define RPO_HWCSUM_IP4CSUM_EN __BIT(1) 341#define RPO_HWCSUM_IP4CSUM_EN __BIT(1)
342#define RPO_HWCSUM_L4CSUM_EN __BIT(0) /* TCP/UDP/SCTP */ 342#define RPO_HWCSUM_L4CSUM_EN __BIT(0) /* TCP/UDP/SCTP */
343 343
344#define RPO_LRO_ENABLE_REG 0x5590 344#define RPO_LRO_ENABLE_REG 0x5590
345 345
346#define RPO_LRO_CONF_REG 0x5594 346#define RPO_LRO_CONF_REG 0x5594
347#define RPO_LRO_CONF_QSESSION_LIMIT __BITS(13,12) 347#define RPO_LRO_CONF_QSESSION_LIMIT __BITS(13,12)
348#define RPO_LRO_CONF_TOTAL_DESC_LIMIT __BITS(6,5) 348#define RPO_LRO_CONF_TOTAL_DESC_LIMIT __BITS(6,5)
349#define RPO_LRO_CONF_PATCHOPTIMIZATION_EN __BIT(15) 349#define RPO_LRO_CONF_PATCHOPTIMIZATION_EN __BIT(15)
350#define RPO_LRO_CONF_MIN_PAYLOAD_OF_FIRST_PKT __BITS(4,0) 350#define RPO_LRO_CONF_MIN_PAYLOAD_OF_FIRST_PKT __BITS(4,0)
351#define RPO_LRO_RSC_MAX_REG 0x5598 351#define RPO_LRO_RSC_MAX_REG 0x5598
352 352
353/* RPO_LRO_LDES_MAX_REG[32/8] 0x55a0-0x55b0 */ 353/* RPO_LRO_LDES_MAX_REG[32/8] 0x55a0-0x55b0 */
354#define RPO_LRO_LDES_MAX_REG(i) (0x55a0 + (i / 8) * 4) 354#define RPO_LRO_LDES_MAX_REG(i) (0x55a0 + (i / 8) * 4)
355#define RPO_LRO_LDES_MAX_MASK(i) (0x00000003 << ((i & 7) * 4)) 355#define RPO_LRO_LDES_MAX_MASK(i) (0x00000003 << ((i & 7) * 4))
356#define RPO_LRO_TB_DIV_REG 0x5620 356#define RPO_LRO_TB_DIV_REG 0x5620
357#define RPO_LRO_TB_DIV __BITS(20,31) 357#define RPO_LRO_TB_DIV __BITS(20,31)
358#define RPO_LRO_INACTIVE_IVAL_REG 0x5620 358#define RPO_LRO_INACTIVE_IVAL_REG 0x5620
359#define RPO_LRO_INACTIVE_IVAL __BITS(10,19) 359#define RPO_LRO_INACTIVE_IVAL __BITS(10,19)
360#define RPO_LRO_MAX_COALESCING_IVAL_REG 0x5620 360#define RPO_LRO_MAX_COALESCING_IVAL_REG 0x5620
361#define RPO_LRO_MAX_COALESCING_IVAL __BITS(9,0) 361#define RPO_LRO_MAX_COALESCING_IVAL __BITS(9,0)
362 362
363#define RPB_RPF_RX_REG 0x5700 363#define RPB_RPF_RX_REG 0x5700
364#define RPB_RPF_RX_TC_MODE __BIT(8) 364#define RPB_RPF_RX_TC_MODE __BIT(8)
365#define RPB_RPF_RX_FC_MODE __BITS(5,4) 365#define RPB_RPF_RX_FC_MODE __BITS(5,4)
366#define RPB_RPF_RX_BUF_EN __BIT(0) 366#define RPB_RPF_RX_BUF_EN __BIT(0)
367 367
368/* RPB_RXB_BUFSIZE_REG[AQ_TRAFFICCLASS_NUM] 0x5710-0x5790 */ 368/* RPB_RXB_BUFSIZE_REG[AQ_TRAFFICCLASS_NUM] 0x5710-0x5790 */
369#define RPB_RXB_BUFSIZE_REG(i) (0x5710 + (i) * 0x10) 369#define RPB_RXB_BUFSIZE_REG(i) (0x5710 + (i) * 0x10)
370#define RPB_RXB_BUFSIZE __BITS(8,0) 370#define RPB_RXB_BUFSIZE __BITS(8,0)
371#define RPB_RXB_XOFF_REG(i) (0x5714 + (i) * 0x10) 371#define RPB_RXB_XOFF_REG(i) (0x5714 + (i) * 0x10)
372#define RPB_RXB_XOFF_EN __BIT(31) 372#define RPB_RXB_XOFF_EN __BIT(31)
373#define RPB_RXB_XOFF_THRESH_HI __BITS(29,16) 373#define RPB_RXB_XOFF_THRESH_HI __BITS(29,16)
374#define RPB_RXB_XOFF_THRESH_LO __BITS(13,0) 374#define RPB_RXB_XOFF_THRESH_LO __BITS(13,0)
375 375
376#define RX_DMA_DESC_CACHE_INIT_REG 0x5a00 376#define RX_DMA_DESC_CACHE_INIT_REG 0x5a00
377#define RX_DMA_DESC_CACHE_INIT __BIT(0) 377#define RX_DMA_DESC_CACHE_INIT __BIT(0)
378 378
379#define RX_DMA_INT_DESC_WRWB_EN_REG 0x05a30 379#define RX_DMA_INT_DESC_WRWB_EN_REG 0x05a30
380#define RX_DMA_INT_DESC_WRWB_EN __BIT(2) 380#define RX_DMA_INT_DESC_WRWB_EN __BIT(2)
381#define RX_DMA_INT_DESC_MODERATE_EN __BIT(3) 381#define RX_DMA_INT_DESC_MODERATE_EN __BIT(3)
382 382
383/* RX_INTR_MODERATION_CTL_REG[AQ_RINGS_NUM] 0x5a40-0x5ac0 */ 383/* RX_INTR_MODERATION_CTL_REG[AQ_RINGS_NUM] 0x5a40-0x5ac0 */
384#define RX_INTR_MODERATION_CTL_REG(i) (0x5a40 + (i) * 4) 384#define RX_INTR_MODERATION_CTL_REG(i) (0x5a40 + (i) * 4)
385#define RX_INTR_MODERATION_CTL_EN __BIT(1) 385#define RX_INTR_MODERATION_CTL_EN __BIT(1)
386#define RX_INTR_MODERATION_CTL_MIN __BITS(15,8) 386#define RX_INTR_MODERATION_CTL_MIN __BITS(15,8)
387#define RX_INTR_MODERATION_CTL_MAX __BITS(24,16) 387#define RX_INTR_MODERATION_CTL_MAX __BITS(24,16)
388 388
389/* RX_DMA_DESC_*[AQ_RINGS_NUM] 0x5b00-0x5f00 */ 389/* RX_DMA_DESC_*[AQ_RINGS_NUM] 0x5b00-0x5f00 */
390#define RX_DMA_DESC_BASE_ADDRLSW_REG(i) (0x5b00 + (i) * 0x20) 390#define RX_DMA_DESC_BASE_ADDRLSW_REG(i) (0x5b00 + (i) * 0x20)
391#define RX_DMA_DESC_BASE_ADDRMSW_REG(i) (0x5b04 + (i) * 0x20) 391#define RX_DMA_DESC_BASE_ADDRMSW_REG(i) (0x5b04 + (i) * 0x20)
392#define RX_DMA_DESC_REG(i) (0x5b08 + (i) * 0x20) 392#define RX_DMA_DESC_REG(i) (0x5b08 + (i) * 0x20)
393#define RX_DMA_DESC_LEN __BITS(12,3) /* RXD_NUM/8 */ 393#define RX_DMA_DESC_LEN __BITS(12,3) /* RXD_NUM/8 */
394#define RX_DMA_DESC_RESET __BIT(25) 394#define RX_DMA_DESC_RESET __BIT(25)
395#define RX_DMA_DESC_HEADER_SPLIT __BIT(28) 395#define RX_DMA_DESC_HEADER_SPLIT __BIT(28)
396#define RX_DMA_DESC_VLAN_STRIP __BIT(29) 396#define RX_DMA_DESC_VLAN_STRIP __BIT(29)
397#define RX_DMA_DESC_EN __BIT(31) 397#define RX_DMA_DESC_EN __BIT(31)
398#define RX_DMA_DESC_HEAD_PTR_REG(i) (0x5b0c + (i) * 0x20) 398#define RX_DMA_DESC_HEAD_PTR_REG(i) (0x5b0c + (i) * 0x20)
399#define RX_DMA_DESC_HEAD_PTR __BITS(12,0) 399#define RX_DMA_DESC_HEAD_PTR __BITS(12,0)
400#define RX_DMA_DESC_TAIL_PTR_REG(i) (0x5b10 + (i) * 0x20) 400#define RX_DMA_DESC_TAIL_PTR_REG(i) (0x5b10 + (i) * 0x20)
401#define RX_DMA_DESC_BUFSIZE_REG(i) (0x5b18 + (i) * 0x20) 401#define RX_DMA_DESC_BUFSIZE_REG(i) (0x5b18 + (i) * 0x20)
402#define RX_DMA_DESC_BUFSIZE_DATA __BITS(4,0) 402#define RX_DMA_DESC_BUFSIZE_DATA __BITS(4,0)
403#define RX_DMA_DESC_BUFSIZE_HDR __BITS(12,8) 403#define RX_DMA_DESC_BUFSIZE_HDR __BITS(12,8)
404 404
405/* RX_DMA_DCAD_REG[AQ_RINGS_NUM] 0x6100-0x6180 */ 405/* RX_DMA_DCAD_REG[AQ_RINGS_NUM] 0x6100-0x6180 */
406#define RX_DMA_DCAD_REG(i) (0x6100 + (i) * 4) 406#define RX_DMA_DCAD_REG(i) (0x6100 + (i) * 4)
407#define RX_DMA_DCAD_CPUID __BITS(7,0) 407#define RX_DMA_DCAD_CPUID __BITS(7,0)
408#define RX_DMA_DCAD_PAYLOAD_EN __BIT(29) 408#define RX_DMA_DCAD_PAYLOAD_EN __BIT(29)
409#define RX_DMA_DCAD_HEADER_EN __BIT(30) 409#define RX_DMA_DCAD_HEADER_EN __BIT(30)
410#define RX_DMA_DCAD_DESC_EN __BIT(31) 410#define RX_DMA_DCAD_DESC_EN __BIT(31)
411 411
412#define RX_DMA_DCA_REG 0x6180 412#define RX_DMA_DCA_REG 0x6180
413#define RX_DMA_DCA_EN __BIT(31) 413#define RX_DMA_DCA_EN __BIT(31)
414#define RX_DMA_DCA_MODE __BITS(3,0) 414#define RX_DMA_DCA_MODE __BITS(3,0)
415 415
416/* counters */ 416/* counters */
417#define RX_DMA_GOOD_PKT_COUNTERLSW 0x6800 417#define RX_DMA_GOOD_PKT_COUNTERLSW 0x6800
418#define RX_DMA_GOOD_OCTET_COUNTERLSW 0x6808 418#define RX_DMA_GOOD_OCTET_COUNTERLSW 0x6808
419#define RX_DMA_DROP_PKT_CNT_REG 0x6818 419#define RX_DMA_DROP_PKT_CNT_REG 0x6818
420#define RX_DMA_COALESCED_PKT_CNT_REG 0x6820 420#define RX_DMA_COALESCED_PKT_CNT_REG 0x6820
421 421
422#define TX_SYSCONTROL_REG 0x7000 422#define TX_SYSCONTROL_REG 0x7000
423#define TX_SYSCONTROL_TPB_DMA_LOOPBACK __BIT(6) 423#define TX_SYSCONTROL_TPB_DMA_LOOPBACK __BIT(6)
424#define TX_SYSCONTROL_TPO_PKT_LOOPBACK __BIT(7) 424#define TX_SYSCONTROL_TPO_PKT_LOOPBACK __BIT(7)
425#define TX_SYSCONTROL_RESET_DIS __BIT(29) 425#define TX_SYSCONTROL_RESET_DIS __BIT(29)
426 426
427#define TX_TPO2_REG 0x7040 427#define TX_TPO2_REG 0x7040
428#define TX_TPO2_EN __BIT(16) 428#define TX_TPO2_EN __BIT(16)
429 429
430#define TPS_DESC_VM_ARB_MODE_REG 0x7300 430#define TPS_DESC_VM_ARB_MODE_REG 0x7300
431#define TPS_DESC_VM_ARB_MODE __BIT(0) 431#define TPS_DESC_VM_ARB_MODE __BIT(0)
432#define TPS_DESC_RATE_REG 0x7310 432#define TPS_DESC_RATE_REG 0x7310
433#define TPS_DESC_RATE_TA_RST __BIT(31) 433#define TPS_DESC_RATE_TA_RST __BIT(31)
434#define TPS_DESC_RATE_LIM __BITS(10,0) 434#define TPS_DESC_RATE_LIM __BITS(10,0)
435#define TPS_DESC_TC_ARB_MODE_REG 0x7200 435#define TPS_DESC_TC_ARB_MODE_REG 0x7200
436#define TPS_DESC_TC_ARB_MODE __BITS(1,0) 436#define TPS_DESC_TC_ARB_MODE __BITS(1,0)
437#define TPS_DATA_TC_ARB_MODE_REG 0x7100 437#define TPS_DATA_TC_ARB_MODE_REG 0x7100
438#define TPS_DATA_TC_ARB_MODE __BIT(0) 438#define TPS_DATA_TC_ARB_MODE __BIT(0)
439 439
440/* TPS_DATA_TCT_REG[AQ_TRAFFICCLASS_NUM] 0x7110-0x7130 */ 440/* TPS_DATA_TCT_REG[AQ_TRAFFICCLASS_NUM] 0x7110-0x7130 */
441#define TPS_DATA_TCT_REG(i) (0x7110 + (i) * 4) 441#define TPS_DATA_TCT_REG(i) (0x7110 + (i) * 4)
442#define TPS_DATA_TCT_CREDIT_MAX __BITS(16,27) 442#define TPS_DATA_TCT_CREDIT_MAX __BITS(16,27)
443#define TPS_DATA_TCT_WEIGHT __BITS(8,0) 443#define TPS_DATA_TCT_WEIGHT __BITS(8,0)
444/* TPS_DATA_TCT_REG[AQ_TRAFFICCLASS_NUM] 0x7210-0x7230 */ 444/* TPS_DATA_TCT_REG[AQ_TRAFFICCLASS_NUM] 0x7210-0x7230 */
445#define TPS_DESC_TCT_REG(i) (0x7210 + (i) * 4) 445#define TPS_DESC_TCT_REG(i) (0x7210 + (i) * 4)
446#define TPS_DESC_TCT_CREDIT_MAX __BITS(16,27) 446#define TPS_DESC_TCT_CREDIT_MAX __BITS(16,27)
447#define TPS_DESC_TCT_WEIGHT __BITS(8,0) 447#define TPS_DESC_TCT_WEIGHT __BITS(8,0)
448 448
449#define AQ_HW_TXBUF_MAX 160 449#define AQ_HW_TXBUF_MAX 160
450#define AQ_HW_RXBUF_MAX 320 450#define AQ_HW_RXBUF_MAX 320
451 451
452#define TPO_HWCSUM_REG 0x7800 452#define TPO_HWCSUM_REG 0x7800
453#define TPO_HWCSUM_IP4CSUM_EN __BIT(1) 453#define TPO_HWCSUM_IP4CSUM_EN __BIT(1)
454#define TPO_HWCSUM_L4CSUM_EN __BIT(0) /* TCP/UDP/SCTP */ 454#define TPO_HWCSUM_L4CSUM_EN __BIT(0) /* TCP/UDP/SCTP */
455 455
456#define TDM_LSO_EN_REG 0x7810 456#define TDM_LSO_EN_REG 0x7810
457 457
458#define THM_LSO_TCP_FLAG1_REG 0x7820 458#define THM_LSO_TCP_FLAG1_REG 0x7820
459#define THM_LSO_TCP_FLAG1_FIRST __BITS(11,0) 459#define THM_LSO_TCP_FLAG1_FIRST __BITS(11,0)
460#define THM_LSO_TCP_FLAG1_MID __BITS(27,16) 460#define THM_LSO_TCP_FLAG1_MID __BITS(27,16)
461#define THM_LSO_TCP_FLAG2_REG 0x7824 461#define THM_LSO_TCP_FLAG2_REG 0x7824
462#define THM_LSO_TCP_FLAG2_LAST __BITS(11,0) 462#define THM_LSO_TCP_FLAG2_LAST __BITS(11,0)
463 463
464#define TPB_TX_BUF_REG 0x7900 464#define TPB_TX_BUF_REG 0x7900
465#define TPB_TX_BUF_EN __BIT(0) 465#define TPB_TX_BUF_EN __BIT(0)
466#define TPB_TX_BUF_SCP_INS_EN __BIT(2) 466#define TPB_TX_BUF_SCP_INS_EN __BIT(2)
467#define TPB_TX_BUF_TC_MODE_EN __BIT(8) 467#define TPB_TX_BUF_TC_MODE_EN __BIT(8)
468 468
469/* TPB_TXB_BUFSIZE_REG[AQ_TRAFFICCLASS_NUM] 0x7910-7990 */ 469/* TPB_TXB_BUFSIZE_REG[AQ_TRAFFICCLASS_NUM] 0x7910-7990 */
470#define TPB_TXB_BUFSIZE_REG(i) (0x7910 + (i) * 0x10) 470#define TPB_TXB_BUFSIZE_REG(i) (0x7910 + (i) * 0x10)
471#define TPB_TXB_BUFSIZE __BITS(7,0) 471#define TPB_TXB_BUFSIZE __BITS(7,0)
472#define TPB_TXB_THRESH_REG(i) (0x7914 + (i) * 0x10) 472#define TPB_TXB_THRESH_REG(i) (0x7914 + (i) * 0x10)
473#define TPB_TXB_THRESH_HI __BITS(16,28) 473#define TPB_TXB_THRESH_HI __BITS(16,28)
474#define TPB_TXB_THRESH_LO __BITS(12,0) 474#define TPB_TXB_THRESH_LO __BITS(12,0)
475 475
476#define AQ_HW_TX_DMA_TOTAL_REQ_LIMIT_REG 0x7b20 476#define AQ_HW_TX_DMA_TOTAL_REQ_LIMIT_REG 0x7b20
477#define TX_DMA_INT_DESC_WRWB_EN_REG 0x7b40 477#define TX_DMA_INT_DESC_WRWB_EN_REG 0x7b40
478#define TX_DMA_INT_DESC_WRWB_EN __BIT(1) 478#define TX_DMA_INT_DESC_WRWB_EN __BIT(1)
479#define TX_DMA_INT_DESC_MODERATE_EN __BIT(4) 479#define TX_DMA_INT_DESC_MODERATE_EN __BIT(4)
480 480
481/* TX_DMA_DESC_*[AQ_RINGS_NUM] 0x7c00-0x8400 */ 481/* TX_DMA_DESC_*[AQ_RINGS_NUM] 0x7c00-0x8400 */
482#define TX_DMA_DESC_BASE_ADDRLSW_REG(i) (0x7c00 + (i) * 0x40) 482#define TX_DMA_DESC_BASE_ADDRLSW_REG(i) (0x7c00 + (i) * 0x40)
483#define TX_DMA_DESC_BASE_ADDRMSW_REG(i) (0x7c04 + (i) * 0x40) 483#define TX_DMA_DESC_BASE_ADDRMSW_REG(i) (0x7c04 + (i) * 0x40)
484#define TX_DMA_DESC_REG(i) (0x7c08 + (i) * 0x40) 484#define TX_DMA_DESC_REG(i) (0x7c08 + (i) * 0x40)
485#define TX_DMA_DESC_LEN __BITS(12, 3) /* TXD_NUM/8 */ 485#define TX_DMA_DESC_LEN __BITS(12, 3) /* TXD_NUM/8 */
486#define TX_DMA_DESC_EN __BIT(31) 486#define TX_DMA_DESC_EN __BIT(31)
487#define TX_DMA_DESC_HEAD_PTR_REG(i) (0x7c0c + (i) * 0x40) 487#define TX_DMA_DESC_HEAD_PTR_REG(i) (0x7c0c + (i) * 0x40)
488#define TX_DMA_DESC_HEAD_PTR __BITS(12,0) 488#define TX_DMA_DESC_HEAD_PTR __BITS(12,0)
489#define TX_DMA_DESC_TAIL_PTR_REG(i) (0x7c10 + (i) * 0x40) 489#define TX_DMA_DESC_TAIL_PTR_REG(i) (0x7c10 + (i) * 0x40)
490#define TX_DMA_DESC_WRWB_THRESH_REG(i) (0x7c18 + (i) * 0x40) 490#define TX_DMA_DESC_WRWB_THRESH_REG(i) (0x7c18 + (i) * 0x40)
491#define TX_DMA_DESC_WRWB_THRESH __BITS(14,8) 491#define TX_DMA_DESC_WRWB_THRESH __BITS(14,8)
492 492
493/* TDM_DCAD_REG[AQ_RINGS_NUM] 0x8400-0x8480 */ 493/* TDM_DCAD_REG[AQ_RINGS_NUM] 0x8400-0x8480 */
494#define TDM_DCAD_REG(i) (0x8400 + (i) * 4) 494#define TDM_DCAD_REG(i) (0x8400 + (i) * 4)
495#define TDM_DCAD_CPUID __BITS(7,0) 495#define TDM_DCAD_CPUID __BITS(7,0)
496#define TDM_DCAD_CPUID_EN __BIT(31) 496#define TDM_DCAD_CPUID_EN __BIT(31)
497 497
498#define TDM_DCA_REG 0x8480 498#define TDM_DCA_REG 0x8480
499#define TDM_DCA_EN __BIT(31) 499#define TDM_DCA_EN __BIT(31)
500#define TDM_DCA_MODE __BITS(3,0) 500#define TDM_DCA_MODE __BITS(3,0)
501 501
502/* TX_INTR_MODERATION_CTL_REG[AQ_RINGS_NUM] 0x8980-0x8a00 */ 502/* TX_INTR_MODERATION_CTL_REG[AQ_RINGS_NUM] 0x8980-0x8a00 */
503#define TX_INTR_MODERATION_CTL_REG(i) (0x8980 + (i) * 4) 503#define TX_INTR_MODERATION_CTL_REG(i) (0x8980 + (i) * 4)
504#define TX_INTR_MODERATION_CTL_EN __BIT(1) 504#define TX_INTR_MODERATION_CTL_EN __BIT(1)
505#define TX_INTR_MODERATION_CTL_MIN __BITS(15,8) 505#define TX_INTR_MODERATION_CTL_MIN __BITS(15,8)
506#define TX_INTR_MODERATION_CTL_MAX __BITS(24,16) 506#define TX_INTR_MODERATION_CTL_MAX __BITS(24,16)
507 507
508#define FW1X_CTRL_10G __BIT(0) 508#define FW1X_CTRL_10G __BIT(0)
509#define FW1X_CTRL_5G __BIT(1) 509#define FW1X_CTRL_5G __BIT(1)
510#define FW1X_CTRL_5GSR __BIT(2) 510#define FW1X_CTRL_5GSR __BIT(2)
511#define FW1X_CTRL_2G5 __BIT(3) 511#define FW1X_CTRL_2G5 __BIT(3)
512#define FW1X_CTRL_1G __BIT(4) 512#define FW1X_CTRL_1G __BIT(4)
513#define FW1X_CTRL_100M __BIT(5) 513#define FW1X_CTRL_100M __BIT(5)
514 514
515#define FW2X_CTRL_10BASET_HD __BIT(0) 515#define FW2X_CTRL_10BASET_HD __BIT(0)
516#define FW2X_CTRL_10BASET_FD __BIT(1) 516#define FW2X_CTRL_10BASET_FD __BIT(1)
517#define FW2X_CTRL_100BASETX_HD __BIT(2) 517#define FW2X_CTRL_100BASETX_HD __BIT(2)
518#define FW2X_CTRL_100BASET4_HD __BIT(3) 518#define FW2X_CTRL_100BASET4_HD __BIT(3)
519#define FW2X_CTRL_100BASET2_HD __BIT(4) 519#define FW2X_CTRL_100BASET2_HD __BIT(4)
520#define FW2X_CTRL_100BASETX_FD __BIT(5) 520#define FW2X_CTRL_100BASETX_FD __BIT(5)
521#define FW2X_CTRL_100BASET2_FD __BIT(6) 521#define FW2X_CTRL_100BASET2_FD __BIT(6)
522#define FW2X_CTRL_1000BASET_HD __BIT(7) 522#define FW2X_CTRL_1000BASET_HD __BIT(7)
523#define FW2X_CTRL_1000BASET_FD __BIT(8) 523#define FW2X_CTRL_1000BASET_FD __BIT(8)
524#define FW2X_CTRL_2P5GBASET_FD __BIT(9) 524#define FW2X_CTRL_2P5GBASET_FD __BIT(9)
525#define FW2X_CTRL_5GBASET_FD __BIT(10) 525#define FW2X_CTRL_5GBASET_FD __BIT(10)
526#define FW2X_CTRL_10GBASET_FD __BIT(11) 526#define FW2X_CTRL_10GBASET_FD __BIT(11)
527#define FW2X_CTRL_RESERVED1 __BIT(32) 527#define FW2X_CTRL_RESERVED1 __BIT(32)
528#define FW2X_CTRL_10BASET_EEE __BIT(33) 528#define FW2X_CTRL_10BASET_EEE __BIT(33)
529#define FW2X_CTRL_RESERVED2 __BIT(34) 529#define FW2X_CTRL_RESERVED2 __BIT(34)
530#define FW2X_CTRL_PAUSE __BIT(35) 530#define FW2X_CTRL_PAUSE __BIT(35)
531#define FW2X_CTRL_ASYMMETRIC_PAUSE __BIT(36) 531#define FW2X_CTRL_ASYMMETRIC_PAUSE __BIT(36)
532#define FW2X_CTRL_100BASETX_EEE __BIT(37) 532#define FW2X_CTRL_100BASETX_EEE __BIT(37)
533#define FW2X_CTRL_RESERVED3 __BIT(38) 533#define FW2X_CTRL_RESERVED3 __BIT(38)
534#define FW2X_CTRL_RESERVED4 __BIT(39) 534#define FW2X_CTRL_RESERVED4 __BIT(39)
535#define FW2X_CTRL_1000BASET_FD_EEE __BIT(40) 535#define FW2X_CTRL_1000BASET_FD_EEE __BIT(40)
536#define FW2X_CTRL_2P5GBASET_FD_EEE __BIT(41) 536#define FW2X_CTRL_2P5GBASET_FD_EEE __BIT(41)
537#define FW2X_CTRL_5GBASET_FD_EEE __BIT(42) 537#define FW2X_CTRL_5GBASET_FD_EEE __BIT(42)
538#define FW2X_CTRL_10GBASET_FD_EEE __BIT(43) 538#define FW2X_CTRL_10GBASET_FD_EEE __BIT(43)
539#define FW2X_CTRL_RESERVED5 __BIT(44) 539#define FW2X_CTRL_RESERVED5 __BIT(44)
540#define FW2X_CTRL_RESERVED6 __BIT(45) 540#define FW2X_CTRL_RESERVED6 __BIT(45)
541#define FW2X_CTRL_RESERVED7 __BIT(46) 541#define FW2X_CTRL_RESERVED7 __BIT(46)
542#define FW2X_CTRL_RESERVED8 __BIT(47) 542#define FW2X_CTRL_RESERVED8 __BIT(47)
543#define FW2X_CTRL_RESERVED9 __BIT(48) 543#define FW2X_CTRL_RESERVED9 __BIT(48)
544#define FW2X_CTRL_CABLE_DIAG __BIT(49) 544#define FW2X_CTRL_CABLE_DIAG __BIT(49)
545#define FW2X_CTRL_TEMPERATURE __BIT(50) 545#define FW2X_CTRL_TEMPERATURE __BIT(50)
546#define FW2X_CTRL_DOWNSHIFT __BIT(51) 546#define FW2X_CTRL_DOWNSHIFT __BIT(51)
547#define FW2X_CTRL_PTP_AVB_EN __BIT(52) 547#define FW2X_CTRL_PTP_AVB_EN __BIT(52)
548#define FW2X_CTRL_MEDIA_DETECT __BIT(53) 548#define FW2X_CTRL_MEDIA_DETECT __BIT(53)
549#define FW2X_CTRL_LINK_DROP __BIT(54) 549#define FW2X_CTRL_LINK_DROP __BIT(54)
550#define FW2X_CTRL_SLEEP_PROXY __BIT(55) 550#define FW2X_CTRL_SLEEP_PROXY __BIT(55)
551#define FW2X_CTRL_WOL __BIT(56) 551#define FW2X_CTRL_WOL __BIT(56)
552#define FW2X_CTRL_MAC_STOP __BIT(57) 552#define FW2X_CTRL_MAC_STOP __BIT(57)
553#define FW2X_CTRL_EXT_LOOPBACK __BIT(58) 553#define FW2X_CTRL_EXT_LOOPBACK __BIT(58)
554#define FW2X_CTRL_INT_LOOPBACK __BIT(59) 554#define FW2X_CTRL_INT_LOOPBACK __BIT(59)
555#define FW2X_CTRL_EFUSE_AGENT __BIT(60) 555#define FW2X_CTRL_EFUSE_AGENT __BIT(60)
556#define FW2X_CTRL_WOL_TIMER __BIT(61) 556#define FW2X_CTRL_WOL_TIMER __BIT(61)
557#define FW2X_CTRL_STATISTICS __BIT(62) 557#define FW2X_CTRL_STATISTICS __BIT(62)
558#define FW2X_CTRL_TRANSACTION_ID __BIT(63) 558#define FW2X_CTRL_TRANSACTION_ID __BIT(63)
559 559
560#define FW2X_SNPRINTB \ 560#define FW2X_SNPRINTB \
561 "\177\020" \ 561 "\177\020" \
562 "b\x23" "PAUSE\0" \ 562 "b\x23" "PAUSE\0" \
563 "b\x24" "ASYMMETRIC-PAUSE\0" \ 563 "b\x24" "ASYMMETRIC-PAUSE\0" \
564 "b\x31" "CABLE-DIAG\0" \ 564 "b\x31" "CABLE-DIAG\0" \
565 "b\x32" "TEMPERATURE\0" \ 565 "b\x32" "TEMPERATURE\0" \
566 "b\x33" "DOWNSHIFT\0" \ 566 "b\x33" "DOWNSHIFT\0" \
567 "b\x34" "PTP-AVB\0" \ 567 "b\x34" "PTP-AVB\0" \
568 "b\x35" "MEDIA-DETECT\0" \ 568 "b\x35" "MEDIA-DETECT\0" \
569 "b\x36" "LINK-DROP\0" \ 569 "b\x36" "LINK-DROP\0" \
570 "b\x37" "SLEEP-PROXY\0" \ 570 "b\x37" "SLEEP-PROXY\0" \
571 "b\x38" "WOL\0" \ 571 "b\x38" "WOL\0" \
572 "b\x39" "MAC-STOP\0" \ 572 "b\x39" "MAC-STOP\0" \
573 "b\x3a" "EXT-LOOPBACK\0" \ 573 "b\x3a" "EXT-LOOPBACK\0" \
574 "b\x3b" "INT-LOOPBACK\0" \ 574 "b\x3b" "INT-LOOPBACK\0" \
575 "b\x3c" "EFUSE-AGENT\0" \ 575 "b\x3c" "EFUSE-AGENT\0" \
576 "b\x3d" "WOL-TIMER\0" \ 576 "b\x3d" "WOL-TIMER\0" \
577 "b\x3e" "STATISTICS\0" \ 577 "b\x3e" "STATISTICS\0" \
578 "b\x3f" "TRANSACTION-ID\0" \ 578 "b\x3f" "TRANSACTION-ID\0" \
579 "\0" 579 "\0"
580 580
581#define FW2X_CTRL_RATE_100M FW2X_CTRL_100BASETX_FD 581#define FW2X_CTRL_RATE_100M FW2X_CTRL_100BASETX_FD
582#define FW2X_CTRL_RATE_1G FW2X_CTRL_1000BASET_FD 582#define FW2X_CTRL_RATE_1G FW2X_CTRL_1000BASET_FD
583#define FW2X_CTRL_RATE_2G5 FW2X_CTRL_2P5GBASET_FD 583#define FW2X_CTRL_RATE_2G5 FW2X_CTRL_2P5GBASET_FD
584#define FW2X_CTRL_RATE_5G FW2X_CTRL_5GBASET_FD 584#define FW2X_CTRL_RATE_5G FW2X_CTRL_5GBASET_FD
585#define FW2X_CTRL_RATE_10G FW2X_CTRL_10GBASET_FD 585#define FW2X_CTRL_RATE_10G FW2X_CTRL_10GBASET_FD
586#define FW2X_CTRL_RATE_MASK \ 586#define FW2X_CTRL_RATE_MASK \
587 (FW2X_CTRL_RATE_100M | \ 587 (FW2X_CTRL_RATE_100M | \
588 FW2X_CTRL_RATE_1G | \ 588 FW2X_CTRL_RATE_1G | \
589 FW2X_CTRL_RATE_2G5 | \ 589 FW2X_CTRL_RATE_2G5 | \
590 FW2X_CTRL_RATE_5G | \ 590 FW2X_CTRL_RATE_5G | \
591 FW2X_CTRL_RATE_10G) 591 FW2X_CTRL_RATE_10G)
592#define FW2X_CTRL_EEE_MASK \ 592#define FW2X_CTRL_EEE_MASK \
593 (FW2X_CTRL_10BASET_EEE | \ 593 (FW2X_CTRL_10BASET_EEE | \
594 FW2X_CTRL_100BASETX_EEE | \ 594 FW2X_CTRL_100BASETX_EEE | \
595 FW2X_CTRL_1000BASET_FD_EEE | \ 595 FW2X_CTRL_1000BASET_FD_EEE | \
596 FW2X_CTRL_2P5GBASET_FD_EEE | \ 596 FW2X_CTRL_2P5GBASET_FD_EEE | \
597 FW2X_CTRL_5GBASET_FD_EEE | \ 597 FW2X_CTRL_5GBASET_FD_EEE | \
598 FW2X_CTRL_10GBASET_FD_EEE) 598 FW2X_CTRL_10GBASET_FD_EEE)
599 599
600typedef enum aq_fw_bootloader_mode { 600typedef enum aq_fw_bootloader_mode {
601 FW_BOOT_MODE_UNKNOWN = 0, 601 FW_BOOT_MODE_UNKNOWN = 0,
602 FW_BOOT_MODE_FLB, 602 FW_BOOT_MODE_FLB,
603 FW_BOOT_MODE_RBL_FLASH, 603 FW_BOOT_MODE_RBL_FLASH,
604 FW_BOOT_MODE_RBL_HOST_BOOTLOAD 604 FW_BOOT_MODE_RBL_HOST_BOOTLOAD
605} aq_fw_bootloader_mode_t; 605} aq_fw_bootloader_mode_t;
606 606
607#define AQ_WRITE_REG(sc, reg, val) \ 607#define AQ_WRITE_REG(sc, reg, val) \
608 bus_space_write_4((sc)->sc_iot, (sc)->sc_ioh, (reg), (val)) 608 bus_space_write_4((sc)->sc_iot, (sc)->sc_ioh, (reg), (val))
609 609
610#define AQ_READ_REG(sc, reg) \ 610#define AQ_READ_REG(sc, reg) \
611 bus_space_read_4((sc)->sc_iot, (sc)->sc_ioh, (reg)) 611 bus_space_read_4((sc)->sc_iot, (sc)->sc_ioh, (reg))
612 612
613#define AQ_READ64_REG(sc, reg) \ 613#define AQ_READ64_REG(sc, reg) \
614 ((uint64_t)AQ_READ_REG(sc, reg) | \ 614 ((uint64_t)AQ_READ_REG(sc, reg) | \
615 (((uint64_t)AQ_READ_REG(sc, (reg) + 4)) << 32)) 615 (((uint64_t)AQ_READ_REG(sc, (reg) + 4)) << 32))
616 616
617#define AQ_WRITE64_REG(sc, reg, val) \ 617#define AQ_WRITE64_REG(sc, reg, val) \
618 do { \ 618 do { \
619 AQ_WRITE_REG(sc, reg, (uint32_t)val); \ 619 AQ_WRITE_REG(sc, reg, (uint32_t)val); \
620 AQ_WRITE_REG(sc, reg + 4, (uint32_t)(val >> 32)); \ 620 AQ_WRITE_REG(sc, reg + 4, (uint32_t)(val >> 32)); \
621 } while (/* CONSTCOND */0) 621 } while (/* CONSTCOND */0)
622 622
623#define AQ_READ_REG_BIT(sc, reg, mask) \ 623#define AQ_READ_REG_BIT(sc, reg, mask) \
624 __SHIFTOUT(AQ_READ_REG(sc, reg), mask) 624 __SHIFTOUT(AQ_READ_REG(sc, reg), mask)
625 625
626#define AQ_WRITE_REG_BIT(sc, reg, mask, val) \ 626#define AQ_WRITE_REG_BIT(sc, reg, mask, val) \
627 do { \ 627 do { \
628 uint32_t _v; \ 628 uint32_t _v; \
629 _v = AQ_READ_REG((sc), (reg)); \ 629 _v = AQ_READ_REG((sc), (reg)); \
630 _v &= ~(mask); \ 630 _v &= ~(mask); \
631 if ((val) != 0) \ 631 if ((val) != 0) \
632 _v |= __SHIFTIN((val), (mask)); \ 632 _v |= __SHIFTIN((val), (mask)); \
633 AQ_WRITE_REG((sc), (reg), _v); \ 633 AQ_WRITE_REG((sc), (reg), _v); \
634 } while (/* CONSTCOND */ 0) 634 } while (/* CONSTCOND */ 0)
635 635
636#define WAIT_FOR(expr, us, n, errp) \ 636#define WAIT_FOR(expr, us, n, errp) \
637 do { \ 637 do { \
638 unsigned int _n; \ 638 unsigned int _n; \
639 for (_n = n; (!(expr)) && _n != 0; --_n) { \ 639 for (_n = n; (!(expr)) && _n != 0; --_n) { \
640 delay((us)); \ 640 delay((us)); \
641 } \ 641 } \
642 if ((errp != NULL)) { \ 642 if ((errp != NULL)) { \
643 if (_n == 0) \ 643 if (_n == 0) \
644 *(errp) = ETIMEDOUT; \ 644 *(errp) = ETIMEDOUT; \
645 else \ 645 else \
646 *(errp) = 0; \ 646 *(errp) = 0; \
647 } \ 647 } \
648 } while (/* CONSTCOND */ 0) 648 } while (/* CONSTCOND */ 0)
649 649
650#define msec_delay(x) DELAY(1000 * (x)) 650#define msec_delay(x) DELAY(1000 * (x))
651 651
652typedef struct aq_mailbox_header { 652typedef struct aq_mailbox_header {
653 uint32_t version; 653 uint32_t version;
654 uint32_t transaction_id; 654 uint32_t transaction_id;
655 int32_t error; 655 int32_t error;
656} __packed aq_mailbox_header_t; 656} __packed aq_mailbox_header_t;
657 657
658typedef struct aq_hw_stats_s { 658typedef struct aq_hw_stats_s {
659 uint32_t uprc; 659 uint32_t uprc;
660 uint32_t mprc; 660 uint32_t mprc;
661 uint32_t bprc; 661 uint32_t bprc;
662 uint32_t erpt; 662 uint32_t erpt;
663 uint32_t uptc; 663 uint32_t uptc;
664 uint32_t mptc; 664 uint32_t mptc;
665 uint32_t bptc; 665 uint32_t bptc;
666 uint32_t erpr; 666 uint32_t erpr;
667 uint32_t mbtc; 667 uint32_t mbtc;
668 uint32_t bbtc; 668 uint32_t bbtc;
669 uint32_t mbrc; 669 uint32_t mbrc;
670 uint32_t bbrc; 670 uint32_t bbrc;
671 uint32_t ubrc; 671 uint32_t ubrc;
672 uint32_t ubtc; 672 uint32_t ubtc;
673 uint32_t ptc; 673 uint32_t ptc;
674 uint32_t prc; 674 uint32_t prc;
675 uint32_t dpc; /* not exists in fw2x_msm_statistics */ 675 uint32_t dpc; /* not exists in fw2x_msm_statistics */
676 uint32_t cprc; /* not exists in fw2x_msm_statistics */ 676 uint32_t cprc; /* not exists in fw2x_msm_statistics */
677} __packed aq_hw_stats_s_t; 677} __packed aq_hw_stats_s_t;
678 678
679typedef struct fw1x_mailbox { 679typedef struct fw1x_mailbox {
680 aq_mailbox_header_t header; 680 aq_mailbox_header_t header;
681 aq_hw_stats_s_t msm; 681 aq_hw_stats_s_t msm;
682} __packed fw1x_mailbox_t; 682} __packed fw1x_mailbox_t;
683 683
684typedef struct fw2x_msm_statistics { 684typedef struct fw2x_msm_statistics {
685 uint32_t uprc; 685 uint32_t uprc;
686 uint32_t mprc; 686 uint32_t mprc;
687 uint32_t bprc; 687 uint32_t bprc;
688 uint32_t erpt; 688 uint32_t erpt;
689 uint32_t uptc; 689 uint32_t uptc;
690 uint32_t mptc; 690 uint32_t mptc;
691 uint32_t bptc; 691 uint32_t bptc;
692 uint32_t erpr; 692 uint32_t erpr;
693 uint32_t mbtc; 693 uint32_t mbtc;
694 uint32_t bbtc; 694 uint32_t bbtc;
695 uint32_t mbrc; 695 uint32_t mbrc;
696 uint32_t bbrc; 696 uint32_t bbrc;
697 uint32_t ubrc; 697 uint32_t ubrc;
698 uint32_t ubtc; 698 uint32_t ubtc;
699 uint32_t ptc; 699 uint32_t ptc;
700 uint32_t prc; 700 uint32_t prc;
701} __packed fw2x_msm_statistics_t; 701} __packed fw2x_msm_statistics_t;
702 702
703typedef struct fw2x_phy_cable_diag_data { 703typedef struct fw2x_phy_cable_diag_data {
704 uint32_t lane_data[4]; 704 uint32_t lane_data[4];
705} __packed fw2x_phy_cable_diag_data_t; 705} __packed fw2x_phy_cable_diag_data_t;
706 706
707typedef struct fw2x_capabilities { 707typedef struct fw2x_capabilities {
708 uint32_t caps_lo; 708 uint32_t caps_lo;
709 uint32_t caps_hi; 709 uint32_t caps_hi;
710} __packed fw2x_capabilities_t; 710} __packed fw2x_capabilities_t;
711 711
712typedef struct fw2x_mailbox { /* struct fwHostInterface */ 712typedef struct fw2x_mailbox { /* struct fwHostInterface */
713 aq_mailbox_header_t header; 713 aq_mailbox_header_t header;
714 fw2x_msm_statistics_t msm; /* msmStatistics_t msm; */ 714 fw2x_msm_statistics_t msm; /* msmStatistics_t msm; */
715 715
716 uint32_t phy_info1; 716 uint32_t phy_info1;
717#define PHYINFO1_FAULT_CODE __BITS(31,16) 717#define PHYINFO1_FAULT_CODE __BITS(31,16)
718#define PHYINFO1_PHY_H_BIT __BITS(0,15) 718#define PHYINFO1_PHY_H_BIT __BITS(0,15)
719 uint32_t phy_info2; 719 uint32_t phy_info2;
720#define PHYINFO2_TEMPERATURE __BITS(15,0) 720#define PHYINFO2_TEMPERATURE __BITS(15,0)
721#define PHYINFO2_CABLE_LEN __BITS(23,16) 721#define PHYINFO2_CABLE_LEN __BITS(23,16)
722 722
723 fw2x_phy_cable_diag_data_t diag_data; 723 fw2x_phy_cable_diag_data_t diag_data;
724 uint32_t reserved[8]; 724 uint32_t reserved[8];
725 725
726 fw2x_capabilities_t caps; 726 fw2x_capabilities_t caps;
727 727
728 /* ... */ 728 /* ... */
729} __packed fw2x_mailbox_t; 729} __packed fw2x_mailbox_t;
730 730
731typedef enum aq_link_speed { 731typedef enum aq_link_speed {
732 AQ_LINK_NONE = 0, 732 AQ_LINK_NONE = 0,
733 AQ_LINK_100M = (1 << 0), 733 AQ_LINK_100M = (1 << 0),
734 AQ_LINK_1G = (1 << 1), 734 AQ_LINK_1G = (1 << 1),
735 AQ_LINK_2G5 = (1 << 2), 735 AQ_LINK_2G5 = (1 << 2),
736 AQ_LINK_5G = (1 << 3), 736 AQ_LINK_5G = (1 << 3),
737 AQ_LINK_10G = (1 << 4) 737 AQ_LINK_10G = (1 << 4)
738} aq_link_speed_t; 738} aq_link_speed_t;
739#define AQ_LINK_ALL (AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | \ 739#define AQ_LINK_ALL (AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | \
740 AQ_LINK_5G | AQ_LINK_10G ) 740 AQ_LINK_5G | AQ_LINK_10G )
741#define AQ_LINK_AUTO AQ_LINK_ALL 741#define AQ_LINK_AUTO AQ_LINK_ALL
742 742
743typedef enum aq_link_fc { 743typedef enum aq_link_fc {
744 AQ_FC_NONE = 0, 744 AQ_FC_NONE = 0,
745 AQ_FC_RX = __BIT(0), 745 AQ_FC_RX = __BIT(0),
746 AQ_FC_TX = __BIT(1), 746 AQ_FC_TX = __BIT(1),
747 AQ_FC_ALL = (AQ_FC_RX | AQ_FC_TX) 747 AQ_FC_ALL = (AQ_FC_RX | AQ_FC_TX)
748} aq_link_fc_t; 748} aq_link_fc_t;
749 749
750typedef enum aq_link_eee { 750typedef enum aq_link_eee {
751 AQ_EEE_DISABLE = 0, 751 AQ_EEE_DISABLE = 0,
752 AQ_EEE_ENABLE = 1 752 AQ_EEE_ENABLE = 1
753} aq_link_eee_t; 753} aq_link_eee_t;
754 754
755typedef enum aq_hw_fw_mpi_state { 755typedef enum aq_hw_fw_mpi_state {
756 MPI_DEINIT = 0, 756 MPI_DEINIT = 0,
757 MPI_RESET = 1, 757 MPI_RESET = 1,
758 MPI_INIT = 2, 758 MPI_INIT = 2,
759 MPI_POWER = 4 759 MPI_POWER = 4
760} aq_hw_fw_mpi_state_t; 760} aq_hw_fw_mpi_state_t;
761 761
762enum aq_media_type { 762enum aq_media_type {
763 AQ_MEDIA_TYPE_UNKNOWN = 0, 763 AQ_MEDIA_TYPE_UNKNOWN = 0,
764 AQ_MEDIA_TYPE_FIBRE, 764 AQ_MEDIA_TYPE_FIBRE,
765 AQ_MEDIA_TYPE_TP 765 AQ_MEDIA_TYPE_TP
766}; 766};
767 767
768struct aq_rx_desc_read { 768struct aq_rx_desc_read {
769 uint64_t buf_addr; 769 uint64_t buf_addr;
770 uint64_t hdr_addr; 770 uint64_t hdr_addr;
771} __packed; 771} __packed;
772 772
773struct aq_rx_desc_wb { 773struct aq_rx_desc_wb {
774 uint32_t type; 774 uint32_t type;
775#define RXDESC_TYPE_RSSTYPE __BITS(3,0) 775#define RXDESC_TYPE_RSSTYPE __BITS(3,0)
776#define RXDESC_TYPE_RSSTYPE_NONE 0 776#define RXDESC_TYPE_RSSTYPE_NONE 0
777#define RXDESC_TYPE_RSSTYPE_IPV4 2 777#define RXDESC_TYPE_RSSTYPE_IPV4 2
778#define RXDESC_TYPE_RSSTYPE_IPV6 3 778#define RXDESC_TYPE_RSSTYPE_IPV6 3
779#define RXDESC_TYPE_RSSTYPE_IPV4_TCP 4 779#define RXDESC_TYPE_RSSTYPE_IPV4_TCP 4
780#define RXDESC_TYPE_RSSTYPE_IPV6_TCP 5 780#define RXDESC_TYPE_RSSTYPE_IPV6_TCP 5
781#define RXDESC_TYPE_RSSTYPE_IPV4_UDP 6 781#define RXDESC_TYPE_RSSTYPE_IPV4_UDP 6
782#define RXDESC_TYPE_RSSTYPE_IPV6_UDP 7 782#define RXDESC_TYPE_RSSTYPE_IPV6_UDP 7
783#define RXDESC_TYPE_PKTTYPE_ETHER __BITS(5,4) 783#define RXDESC_TYPE_PKTTYPE_ETHER __BITS(5,4)
784#define RXDESC_TYPE_PKTTYPE_ETHER_IPV4 0 784#define RXDESC_TYPE_PKTTYPE_ETHER_IPV4 0
785#define RXDESC_TYPE_PKTTYPE_ETHER_IPV6 1 785#define RXDESC_TYPE_PKTTYPE_ETHER_IPV6 1
786#define RXDESC_TYPE_PKTTYPE_ETHER_OTHERS 2 786#define RXDESC_TYPE_PKTTYPE_ETHER_OTHERS 2
787#define RXDESC_TYPE_PKTTYPE_ETHER_ARP 3 787#define RXDESC_TYPE_PKTTYPE_ETHER_ARP 3
788#define RXDESC_TYPE_PKTTYPE_PROTO __BITS(8,6) 788#define RXDESC_TYPE_PKTTYPE_PROTO __BITS(8,6)
789#define RXDESC_TYPE_PKTTYPE_PROTO_TCP 0 789#define RXDESC_TYPE_PKTTYPE_PROTO_TCP 0
790#define RXDESC_TYPE_PKTTYPE_PROTO_UDP 1 790#define RXDESC_TYPE_PKTTYPE_PROTO_UDP 1
791#define RXDESC_TYPE_PKTTYPE_PROTO_SCTP 2 791#define RXDESC_TYPE_PKTTYPE_PROTO_SCTP 2
792#define RXDESC_TYPE_PKTTYPE_PROTO_ICMP 3 792#define RXDESC_TYPE_PKTTYPE_PROTO_ICMP 3
793#define RXDESC_TYPE_PKTTYPE_PROTO_OTHERS 4 793#define RXDESC_TYPE_PKTTYPE_PROTO_OTHERS 4
794#define RXDESC_TYPE_PKTTYPE_VLAN __BIT(9) 794#define RXDESC_TYPE_PKTTYPE_VLAN __BIT(9)
795#define RXDESC_TYPE_PKTTYPE_VLAN_DOUBLE __BIT(10) 795#define RXDESC_TYPE_PKTTYPE_VLAN_DOUBLE __BIT(10)
796#define RXDESC_TYPE_MAC_DMA_ERR __BIT(12) 796#define RXDESC_TYPE_MAC_DMA_ERR __BIT(12)
797#define RXDESC_TYPE_RESERVED __BITS(18,13) 797#define RXDESC_TYPE_RESERVED __BITS(18,13)
798#define RXDESC_TYPE_IPV4_CSUM_CHECKED __BIT(19) /* PKTTYPE_ETHER_IPV4 */ 798#define RXDESC_TYPE_IPV4_CSUM_CHECKED __BIT(19) /* PKTTYPE_ETHER_IPV4 */
799#define RXDESC_TYPE_TCPUDP_CSUM_CHECKED __BIT(20) 799#define RXDESC_TYPE_TCPUDP_CSUM_CHECKED __BIT(20)
800#define RXDESC_TYPE_SPH __BIT(21) 800#define RXDESC_TYPE_SPH __BIT(21)
801#define RXDESC_TYPE_HDR_LEN __BITS(31,22) 801#define RXDESC_TYPE_HDR_LEN __BITS(31,22)
802 uint32_t rss_hash; 802 uint32_t rss_hash;
803 uint16_t status; 803 uint16_t status;
804#define RXDESC_STATUS_DD __BIT(0) 804#define RXDESC_STATUS_DD __BIT(0)
805#define RXDESC_STATUS_EOP __BIT(1) 805#define RXDESC_STATUS_EOP __BIT(1)
806#define RXDESC_STATUS_MACERR __BIT(2) 806#define RXDESC_STATUS_MACERR __BIT(2)
807#define RXDESC_STATUS_IPV4_CSUM_NG __BIT(3) 807#define RXDESC_STATUS_IPV4_CSUM_NG __BIT(3)
808#define RXDESC_STATUS_TCPUDP_CSUM_ERROR __BIT(4) 808#define RXDESC_STATUS_TCPUDP_CSUM_ERROR __BIT(4)
809#define RXDESC_STATUS_TCPUDP_CSUM_OK __BIT(5) 809#define RXDESC_STATUS_TCPUDP_CSUM_OK __BIT(5)
810 810
811#define RXDESC_STATUS_STAT __BITS(2,5) 811#define RXDESC_STATUS_STAT __BITS(2,5)
812#define RXDESC_STATUS_ESTAT __BITS(6,11) 812#define RXDESC_STATUS_ESTAT __BITS(6,11)
813#define RXDESC_STATUS_RSC_CNT __BITS(12,15) 813#define RXDESC_STATUS_RSC_CNT __BITS(12,15)
814 uint16_t pkt_len; 814 uint16_t pkt_len;
815 uint16_t next_desc_ptr; 815 uint16_t next_desc_ptr;
816 uint16_t vlan; 816 uint16_t vlan;
817} __packed; 817} __packed;
818 818
819typedef union aq_rx_desc { 819typedef union aq_rx_desc {
820 struct aq_rx_desc_read read; 820 struct aq_rx_desc_read read;
821 struct aq_rx_desc_wb wb; 821 struct aq_rx_desc_wb wb;
822} __packed aq_rx_desc_t; 822} __packed aq_rx_desc_t;
823 823
824typedef struct aq_tx_desc { 824typedef struct aq_tx_desc {
825 uint64_t buf_addr; 825 uint64_t buf_addr;
826 uint32_t ctl1; 826 uint32_t ctl1;
827#define AQ_TXDESC_CTL1_TYPE_MASK 0x00000003 827#define AQ_TXDESC_CTL1_TYPE_MASK 0x00000003
828#define AQ_TXDESC_CTL1_TYPE_TXD 0x00000001 828#define AQ_TXDESC_CTL1_TYPE_TXD 0x00000001
829#define AQ_TXDESC_CTL1_TYPE_TXC 0x00000002 829#define AQ_TXDESC_CTL1_TYPE_TXC 0x00000002
830#define AQ_TXDESC_CTL1_BLEN __BITS(19,4) /* TXD */ 830#define AQ_TXDESC_CTL1_BLEN __BITS(19,4) /* TXD */
831#define AQ_TXDESC_CTL1_DD __BIT(20) /* TXD */ 831#define AQ_TXDESC_CTL1_DD __BIT(20) /* TXD */
832#define AQ_TXDESC_CTL1_EOP __BIT(21) /* TXD */ 832#define AQ_TXDESC_CTL1_EOP __BIT(21) /* TXD */
833#define AQ_TXDESC_CTL1_CMD_VLAN __BIT(22) /* TXD */ 833#define AQ_TXDESC_CTL1_CMD_VLAN __BIT(22) /* TXD */
834#define AQ_TXDESC_CTL1_CMD_FCS __BIT(23) /* TXD */ 834#define AQ_TXDESC_CTL1_CMD_FCS __BIT(23) /* TXD */
835#define AQ_TXDESC_CTL1_CMD_IP4CSUM __BIT(24) /* TXD */ 835#define AQ_TXDESC_CTL1_CMD_IP4CSUM __BIT(24) /* TXD */
836#define AQ_TXDESC_CTL1_CMD_L4CSUM __BIT(25) /* TXD */ 836#define AQ_TXDESC_CTL1_CMD_L4CSUM __BIT(25) /* TXD */
837#define AQ_TXDESC_CTL1_CMD_LSO __BIT(26) /* TXD */ 837#define AQ_TXDESC_CTL1_CMD_LSO __BIT(26) /* TXD */
838#define AQ_TXDESC_CTL1_CMD_WB __BIT(27) /* TXD */ 838#define AQ_TXDESC_CTL1_CMD_WB __BIT(27) /* TXD */
839#define AQ_TXDESC_CTL1_CMD_VXLAN __BIT(28) /* TXD */ 839#define AQ_TXDESC_CTL1_CMD_VXLAN __BIT(28) /* TXD */
840#define AQ_TXDESC_CTL1_VID __BITS(15,4) /* TXC */ 840#define AQ_TXDESC_CTL1_VID __BITS(15,4) /* TXC */
841#define AQ_TXDESC_CTL1_LSO_IPV6 __BIT(21) /* TXC */ 841#define AQ_TXDESC_CTL1_LSO_IPV6 __BIT(21) /* TXC */
842#define AQ_TXDESC_CTL1_LSO_TCP __BIT(22) /* TXC */ 842#define AQ_TXDESC_CTL1_LSO_TCP __BIT(22) /* TXC */
843 uint32_t ctl2; 843 uint32_t ctl2;
844#define AQ_TXDESC_CTL2_LEN __BITS(31,14) 844#define AQ_TXDESC_CTL2_LEN __BITS(31,14)
845#define AQ_TXDESC_CTL2_CTX_EN __BIT(13) 845#define AQ_TXDESC_CTL2_CTX_EN __BIT(13)
846#define AQ_TXDESC_CTL2_CTX_IDX __BIT(12) 846#define AQ_TXDESC_CTL2_CTX_IDX __BIT(12)
847} __packed aq_tx_desc_t; 847} __packed aq_tx_desc_t;
848 848
849struct aq_txring { 849struct aq_txring {
850 struct aq_softc *txr_sc; 850 struct aq_softc *txr_sc;
851 int txr_index; 851 int txr_index;
852 kmutex_t txr_mutex; 852 kmutex_t txr_mutex;
853 bool txr_active; 853 bool txr_active;
854 854
855 pcq_t *txr_pcq; 855 pcq_t *txr_pcq;
856 void *txr_softint; 856 void *txr_softint;
857 857
858 aq_tx_desc_t *txr_txdesc; /* aq_tx_desc_t[AQ_TXD_NUM] */ 858 aq_tx_desc_t *txr_txdesc; /* aq_tx_desc_t[AQ_TXD_NUM] */
859 bus_dmamap_t txr_txdesc_dmamap; 859 bus_dmamap_t txr_txdesc_dmamap;
860 bus_dma_segment_t txr_txdesc_seg[1]; 860 bus_dma_segment_t txr_txdesc_seg[1];
861 bus_size_t txr_txdesc_size; 861 bus_size_t txr_txdesc_size;
862 862
863 struct { 863 struct {
864 struct mbuf *m; 864 struct mbuf *m;
865 bus_dmamap_t dmamap; 865 bus_dmamap_t dmamap;
866 } txr_mbufs[AQ_TXD_NUM]; 866 } txr_mbufs[AQ_TXD_NUM];
867 unsigned int txr_prodidx; 867 unsigned int txr_prodidx;
868 unsigned int txr_considx; 868 unsigned int txr_considx;
869 int txr_nfree; 869 int txr_nfree;
870}; 870};
871 871
872struct aq_rxring { 872struct aq_rxring {
873 struct aq_softc *rxr_sc; 873 struct aq_softc *rxr_sc;
874 int rxr_index; 874 int rxr_index;
875 kmutex_t rxr_mutex; 875 kmutex_t rxr_mutex;
876 bool rxr_active; 876 bool rxr_active;
877 877
878 aq_rx_desc_t *rxr_rxdesc; /* aq_rx_desc_t[AQ_RXD_NUM] */ 878 aq_rx_desc_t *rxr_rxdesc; /* aq_rx_desc_t[AQ_RXD_NUM] */
879 bus_dmamap_t rxr_rxdesc_dmamap; 879 bus_dmamap_t rxr_rxdesc_dmamap;
880 bus_dma_segment_t rxr_rxdesc_seg[1]; 880 bus_dma_segment_t rxr_rxdesc_seg[1];
881 bus_size_t rxr_rxdesc_size; 881 bus_size_t rxr_rxdesc_size;
882 struct { 882 struct {
883 struct mbuf *m; 883 struct mbuf *m;
884 bus_dmamap_t dmamap; 884 bus_dmamap_t dmamap;
885 } rxr_mbufs[AQ_RXD_NUM]; 885 } rxr_mbufs[AQ_RXD_NUM];
886 unsigned int rxr_readidx; 886 unsigned int rxr_readidx;
887}; 887};
888 888
889struct aq_queue { 889struct aq_queue {
890 struct aq_softc *sc; 890 struct aq_softc *sc;
891 struct aq_txring txring; 891 struct aq_txring txring;
892 struct aq_rxring rxring; 892 struct aq_rxring rxring;
893}; 893};
894 894
895struct aq_softc; 895struct aq_softc;
896struct aq_firmware_ops { 896struct aq_firmware_ops {
897 int (*reset)(struct aq_softc *); 897 int (*reset)(struct aq_softc *);
898 int (*set_mode)(struct aq_softc *, aq_hw_fw_mpi_state_t, 898 int (*set_mode)(struct aq_softc *, aq_hw_fw_mpi_state_t,
899 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t); 899 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t);
900 int (*get_mode)(struct aq_softc *, aq_hw_fw_mpi_state_t *, 900 int (*get_mode)(struct aq_softc *, aq_hw_fw_mpi_state_t *,
901 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *); 901 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *);
902 int (*get_stats)(struct aq_softc *, aq_hw_stats_s_t *); 902 int (*get_stats)(struct aq_softc *, aq_hw_stats_s_t *);
903#if NSYSMON_ENVSYS > 0 903#if NSYSMON_ENVSYS > 0
904 int (*get_temperature)(struct aq_softc *, uint32_t *); 904 int (*get_temperature)(struct aq_softc *, uint32_t *);
905#endif 905#endif
906}; 906};
907 907
908#ifdef AQ_EVENT_COUNTERS 908#ifdef AQ_EVENT_COUNTERS
909#define AQ_EVCNT_DECL(name) \ 909#define AQ_EVCNT_DECL(name) \
910 char sc_evcount_##name##_name[32]; \ 910 char sc_evcount_##name##_name[32]; \
911 struct evcnt sc_evcount_##name##_ev; 911 struct evcnt sc_evcount_##name##_ev;
912#define AQ_EVCNT_ATTACH(sc, name, desc, evtype) \ 912#define AQ_EVCNT_ATTACH(sc, name, desc, evtype) \
913 do { \ 913 do { \
914 snprintf((sc)->sc_evcount_##name##_name, \ 914 snprintf((sc)->sc_evcount_##name##_name, \
915 sizeof((sc)->sc_evcount_##name##_name), \ 915 sizeof((sc)->sc_evcount_##name##_name), \
916 "%s", desc); \ 916 "%s", desc); \
917 evcnt_attach_dynamic(&(sc)->sc_evcount_##name##_ev, \ 917 evcnt_attach_dynamic(&(sc)->sc_evcount_##name##_ev, \
918 (evtype), NULL, device_xname((sc)->sc_dev), \ 918 (evtype), NULL, device_xname((sc)->sc_dev), \
919 (sc)->sc_evcount_##name##_name); \ 919 (sc)->sc_evcount_##name##_name); \
920 } while (/*CONSTCOND*/0) 920 } while (/*CONSTCOND*/0)
921#define AQ_EVCNT_ATTACH_MISC(sc, name, desc) \ 921#define AQ_EVCNT_ATTACH_MISC(sc, name, desc) \
922 AQ_EVCNT_ATTACH(sc, name, desc, EVCNT_TYPE_MISC) 922 AQ_EVCNT_ATTACH(sc, name, desc, EVCNT_TYPE_MISC)
923#define AQ_EVCNT_DETACH(sc, name) \ 923#define AQ_EVCNT_DETACH(sc, name) \
924 evcnt_detach(&(sc)->sc_evcount_##name##_ev) 924 evcnt_detach(&(sc)->sc_evcount_##name##_ev)
925#define AQ_EVCNT_ADD(sc, name, val) \ 925#define AQ_EVCNT_ADD(sc, name, val) \
926 ((sc)->sc_evcount_##name##_ev.ev_count += (val)) 926 ((sc)->sc_evcount_##name##_ev.ev_count += (val))
927#endif /* AQ_EVENT_COUNTERS */ 927#endif /* AQ_EVENT_COUNTERS */
928 928
929#define AQ_LOCK(sc) mutex_enter(&(sc)->sc_mutex); 929#define AQ_LOCK(sc) mutex_enter(&(sc)->sc_mutex);
930#define AQ_UNLOCK(sc) mutex_exit(&(sc)->sc_mutex); 930#define AQ_UNLOCK(sc) mutex_exit(&(sc)->sc_mutex);
931 931
932/* lock for FW2X_MPI_{CONTROL,STATE]_REG read-modify-write */ 932/* lock for FW2X_MPI_{CONTROL,STATE]_REG read-modify-write */
933#define AQ_MPI_LOCK(sc) mutex_enter(&(sc)->sc_mpi_mutex); 933#define AQ_MPI_LOCK(sc) mutex_enter(&(sc)->sc_mpi_mutex);
934#define AQ_MPI_UNLOCK(sc) mutex_exit(&(sc)->sc_mpi_mutex); 934#define AQ_MPI_UNLOCK(sc) mutex_exit(&(sc)->sc_mpi_mutex);
935 935
936 936
937struct aq_softc { 937struct aq_softc {
938 device_t sc_dev; 938 device_t sc_dev;
939 939
940 bus_space_tag_t sc_iot; 940 bus_space_tag_t sc_iot;
941 bus_space_handle_t sc_ioh; 941 bus_space_handle_t sc_ioh;
942 bus_size_t sc_iosize; 942 bus_size_t sc_iosize;
943 bus_dma_tag_t sc_dmat;; 943 bus_dma_tag_t sc_dmat;;
944 944
945 void *sc_ihs[AQ_NINTR_MAX]; 945 void *sc_ihs[AQ_NINTR_MAX];
946 pci_intr_handle_t *sc_intrs; 946 pci_intr_handle_t *sc_intrs;
947 947
948 int sc_tx_irq[AQ_RSSQUEUE_MAX]; 948 int sc_tx_irq[AQ_RSSQUEUE_MAX];
949 int sc_rx_irq[AQ_RSSQUEUE_MAX]; 949 int sc_rx_irq[AQ_RSSQUEUE_MAX];
950 int sc_linkstat_irq; 950 int sc_linkstat_irq;
951 bool sc_use_txrx_independent_intr; 951 bool sc_use_txrx_independent_intr;
952 bool sc_poll_linkstat; 952 bool sc_poll_linkstat;
953 bool sc_detect_linkstat; 953 bool sc_detect_linkstat;
954 954
955#if NSYSMON_ENVSYS > 0 955#if NSYSMON_ENVSYS > 0
956 struct sysmon_envsys *sc_sme; 956 struct sysmon_envsys *sc_sme;
957 envsys_data_t sc_sensor_temp; 957 envsys_data_t sc_sensor_temp;
958#endif 958#endif
959 959
960 callout_t sc_tick_ch; 960 callout_t sc_tick_ch;
961 961
962 int sc_nintrs; 962 int sc_nintrs;
963 bool sc_msix; 963 bool sc_msix;
964 964
965 struct aq_queue sc_queue[AQ_RSSQUEUE_MAX]; 965 struct aq_queue sc_queue[AQ_RSSQUEUE_MAX];
966 int sc_nqueues; 966 int sc_nqueues;
967 967
968 pci_chipset_tag_t sc_pc; 968 pci_chipset_tag_t sc_pc;
969 pcitag_t sc_pcitag; 969 pcitag_t sc_pcitag;
970 uint16_t sc_product; 970 uint16_t sc_product;
971 uint16_t sc_revision; 971 uint16_t sc_revision;
972 972
973 kmutex_t sc_mutex; 973 kmutex_t sc_mutex;
974 kmutex_t sc_mpi_mutex; 974 kmutex_t sc_mpi_mutex;
975 975
976 const struct aq_firmware_ops *sc_fw_ops; 976 const struct aq_firmware_ops *sc_fw_ops;
977 uint64_t sc_fw_caps; 977 uint64_t sc_fw_caps;
978 enum aq_media_type sc_media_type; 978 enum aq_media_type sc_media_type;
979 aq_link_speed_t sc_available_rates; 979 aq_link_speed_t sc_available_rates;
980 980
981 aq_link_speed_t sc_link_rate; 981 aq_link_speed_t sc_link_rate;
982 aq_link_fc_t sc_link_fc; 982 aq_link_fc_t sc_link_fc;
983 aq_link_eee_t sc_link_eee; 983 aq_link_eee_t sc_link_eee;
984 984
985 uint32_t sc_fw_version; 985 uint32_t sc_fw_version;
986#define FW_VERSION_MAJOR(sc) (((sc)->sc_fw_version >> 24) & 0xff) 986#define FW_VERSION_MAJOR(sc) (((sc)->sc_fw_version >> 24) & 0xff)
987#define FW_VERSION_MINOR(sc) (((sc)->sc_fw_version >> 16) & 0xff) 987#define FW_VERSION_MINOR(sc) (((sc)->sc_fw_version >> 16) & 0xff)
988#define FW_VERSION_BUILD(sc) ((sc)->sc_fw_version & 0xffff) 988#define FW_VERSION_BUILD(sc) ((sc)->sc_fw_version & 0xffff)
989 uint32_t sc_features; 989 uint32_t sc_features;
990#define FEATURES_MIPS 0x00000001 990#define FEATURES_MIPS 0x00000001
991#define FEATURES_TPO2 0x00000002 991#define FEATURES_TPO2 0x00000002
992#define FEATURES_RPF2 0x00000004 992#define FEATURES_RPF2 0x00000004
993#define FEATURES_MPI_AQ 0x00000008 993#define FEATURES_MPI_AQ 0x00000008
994#define FEATURES_REV_A0 0x10000000 994#define FEATURES_REV_A0 0x10000000
995#define FEATURES_REV_A (FEATURES_REV_A0) 995#define FEATURES_REV_A (FEATURES_REV_A0)
996#define FEATURES_REV_B0 0x20000000 996#define FEATURES_REV_B0 0x20000000
997#define FEATURES_REV_B1 0x40000000 997#define FEATURES_REV_B1 0x40000000
998#define FEATURES_REV_B (FEATURES_REV_B0|FEATURES_REV_B1) 998#define FEATURES_REV_B (FEATURES_REV_B0|FEATURES_REV_B1)
999 uint32_t sc_mbox_addr; 999 uint32_t sc_mbox_addr;
1000 1000
1001 bool sc_rbl_enabled; 1001 bool sc_rbl_enabled;
1002 bool sc_fast_start_enabled; 1002 bool sc_fast_start_enabled;
1003 bool sc_flash_present; 1003 bool sc_flash_present;
1004 1004
1005 bool sc_intr_moderation_enable; 1005 bool sc_intr_moderation_enable;
1006 bool sc_rss_enable; 1006 bool sc_rss_enable;
1007 1007
1008 struct ethercom sc_ethercom; 1008 struct ethercom sc_ethercom;
1009 struct ether_addr sc_enaddr; 1009 struct ether_addr sc_enaddr;
1010 struct ifmedia sc_media; 1010 struct ifmedia sc_media;
1011 int sc_ec_capenable; /* last ec_capenable */ 1011 int sc_ec_capenable; /* last ec_capenable */
1012 unsigned short sc_if_flags; /* last if_flags */ 1012 unsigned short sc_if_flags; /* last if_flags */
1013 1013
1014#ifdef AQ_EVENT_COUNTERS 1014#ifdef AQ_EVENT_COUNTERS
1015 aq_hw_stats_s_t sc_statistics[2]; 1015 aq_hw_stats_s_t sc_statistics[2];
1016 int sc_statistics_idx; 1016 int sc_statistics_idx;
1017 bool sc_poll_statistics; 1017 bool sc_poll_statistics;
1018 1018
1019 AQ_EVCNT_DECL(uprc); 1019 AQ_EVCNT_DECL(uprc);
1020 AQ_EVCNT_DECL(mprc); 1020 AQ_EVCNT_DECL(mprc);
1021 AQ_EVCNT_DECL(bprc); 1021 AQ_EVCNT_DECL(bprc);
1022 AQ_EVCNT_DECL(erpt); 1022 AQ_EVCNT_DECL(erpt);
1023 AQ_EVCNT_DECL(uptc); 1023 AQ_EVCNT_DECL(uptc);
1024 AQ_EVCNT_DECL(mptc); 1024 AQ_EVCNT_DECL(mptc);
1025 AQ_EVCNT_DECL(bptc); 1025 AQ_EVCNT_DECL(bptc);
1026 AQ_EVCNT_DECL(erpr); 1026 AQ_EVCNT_DECL(erpr);
1027 AQ_EVCNT_DECL(mbtc); 1027 AQ_EVCNT_DECL(mbtc);
1028 AQ_EVCNT_DECL(bbtc); 1028 AQ_EVCNT_DECL(bbtc);
1029 AQ_EVCNT_DECL(mbrc); 1029 AQ_EVCNT_DECL(mbrc);
1030 AQ_EVCNT_DECL(bbrc); 1030 AQ_EVCNT_DECL(bbrc);
1031 AQ_EVCNT_DECL(ubrc); 1031 AQ_EVCNT_DECL(ubrc);
1032 AQ_EVCNT_DECL(ubtc); 1032 AQ_EVCNT_DECL(ubtc);
1033 AQ_EVCNT_DECL(ptc); 1033 AQ_EVCNT_DECL(ptc);
1034 AQ_EVCNT_DECL(prc); 1034 AQ_EVCNT_DECL(prc);
1035 AQ_EVCNT_DECL(dpc); 1035 AQ_EVCNT_DECL(dpc);
1036 AQ_EVCNT_DECL(cprc); 1036 AQ_EVCNT_DECL(cprc);
1037#endif 1037#endif
1038}; 1038};
1039 1039
1040static int aq_match(device_t, cfdata_t, void *); 1040static int aq_match(device_t, cfdata_t, void *);
1041static void aq_attach(device_t, device_t, void *); 1041static void aq_attach(device_t, device_t, void *);
1042static int aq_detach(device_t, int); 1042static int aq_detach(device_t, int);
1043 1043
1044static int aq_setup_msix(struct aq_softc *, struct pci_attach_args *, int, 1044static int aq_setup_msix(struct aq_softc *, struct pci_attach_args *, int,
1045 bool, bool); 1045 bool, bool);
1046static int aq_setup_legacy(struct aq_softc *, struct pci_attach_args *, 1046static int aq_setup_legacy(struct aq_softc *, struct pci_attach_args *,
1047 pci_intr_type_t); 1047 pci_intr_type_t);
1048static int aq_establish_msix_intr(struct aq_softc *, bool, bool); 1048static int aq_establish_msix_intr(struct aq_softc *, bool, bool);
1049 1049
1050static int aq_ifmedia_change(struct ifnet * const); 1050static int aq_ifmedia_change(struct ifnet * const);
1051static void aq_ifmedia_status(struct ifnet * const, struct ifmediareq *); 1051static void aq_ifmedia_status(struct ifnet * const, struct ifmediareq *);
1052static int aq_vlan_cb(struct ethercom *ec, uint16_t vid, bool set); 1052static int aq_vlan_cb(struct ethercom *ec, uint16_t vid, bool set);
1053static int aq_ifflags_cb(struct ethercom *); 1053static int aq_ifflags_cb(struct ethercom *);
1054static int aq_init(struct ifnet *); 1054static int aq_init(struct ifnet *);
1055static void aq_send_common_locked(struct ifnet *, struct aq_softc *, 1055static void aq_send_common_locked(struct ifnet *, struct aq_softc *,
1056 struct aq_txring *, bool); 1056 struct aq_txring *, bool);
1057static int aq_transmit(struct ifnet *, struct mbuf *); 1057static int aq_transmit(struct ifnet *, struct mbuf *);
1058static void aq_deferred_transmit(void *); 1058static void aq_deferred_transmit(void *);
1059static void aq_start(struct ifnet *); 1059static void aq_start(struct ifnet *);
1060static void aq_stop(struct ifnet *, int); 1060static void aq_stop(struct ifnet *, int);
1061static void aq_watchdog(struct ifnet *); 1061static void aq_watchdog(struct ifnet *);
1062static int aq_ioctl(struct ifnet *, unsigned long, void *); 1062static int aq_ioctl(struct ifnet *, unsigned long, void *);
1063 1063
1064static int aq_txrx_rings_alloc(struct aq_softc *); 1064static int aq_txrx_rings_alloc(struct aq_softc *);
1065static void aq_txrx_rings_free(struct aq_softc *); 1065static void aq_txrx_rings_free(struct aq_softc *);
1066static int aq_tx_pcq_alloc(struct aq_softc *, struct aq_txring *); 1066static int aq_tx_pcq_alloc(struct aq_softc *, struct aq_txring *);
1067static void aq_tx_pcq_free(struct aq_softc *, struct aq_txring *); 1067static void aq_tx_pcq_free(struct aq_softc *, struct aq_txring *);
1068 1068
1069static void aq_initmedia(struct aq_softc *); 1069static void aq_initmedia(struct aq_softc *);
1070static void aq_enable_intr(struct aq_softc *, bool, bool); 1070static void aq_enable_intr(struct aq_softc *, bool, bool);
1071 1071
1072#if NSYSMON_ENVSYS > 0 1072#if NSYSMON_ENVSYS > 0
1073static void aq_temp_refresh(struct sysmon_envsys *, envsys_data_t *); 1073static void aq_temp_refresh(struct sysmon_envsys *, envsys_data_t *);
1074#endif 1074#endif
1075static void aq_tick(void *); 1075static void aq_tick(void *);
1076static int aq_legacy_intr(void *); 1076static int aq_legacy_intr(void *);
1077static int aq_link_intr(void *); 1077static int aq_link_intr(void *);
1078static int aq_txrx_intr(void *); 1078static int aq_txrx_intr(void *);
1079static int aq_tx_intr(void *); 1079static int aq_tx_intr(void *);
1080static int aq_rx_intr(void *); 1080static int aq_rx_intr(void *);
1081 1081
1082static int aq_set_linkmode(struct aq_softc *, aq_link_speed_t, aq_link_fc_t, 1082static int aq_set_linkmode(struct aq_softc *, aq_link_speed_t, aq_link_fc_t,
1083 aq_link_eee_t); 1083 aq_link_eee_t);
1084static int aq_get_linkmode(struct aq_softc *, aq_link_speed_t *, aq_link_fc_t *, 1084static int aq_get_linkmode(struct aq_softc *, aq_link_speed_t *, aq_link_fc_t *,
1085 aq_link_eee_t *); 1085 aq_link_eee_t *);
1086 1086
1087static int aq_fw_reset(struct aq_softc *); 1087static int aq_fw_reset(struct aq_softc *);
1088static int aq_fw_version_init(struct aq_softc *); 1088static int aq_fw_version_init(struct aq_softc *);
1089static int aq_hw_init(struct aq_softc *); 1089static int aq_hw_init(struct aq_softc *);
1090static int aq_hw_init_ucp(struct aq_softc *); 1090static int aq_hw_init_ucp(struct aq_softc *);
1091static int aq_hw_reset(struct aq_softc *); 1091static int aq_hw_reset(struct aq_softc *);
1092static int aq_fw_downld_dwords(struct aq_softc *, uint32_t, uint32_t *, 1092static int aq_fw_downld_dwords(struct aq_softc *, uint32_t, uint32_t *,
1093 uint32_t); 1093 uint32_t);
1094static int aq_get_mac_addr(struct aq_softc *); 1094static int aq_get_mac_addr(struct aq_softc *);
1095static int aq_init_rss(struct aq_softc *); 1095static int aq_init_rss(struct aq_softc *);
1096static int aq_set_capability(struct aq_softc *); 1096static int aq_set_capability(struct aq_softc *);
1097 1097
1098static int fw1x_reset(struct aq_softc *); 1098static int fw1x_reset(struct aq_softc *);
1099static int fw1x_set_mode(struct aq_softc *, aq_hw_fw_mpi_state_t, 1099static int fw1x_set_mode(struct aq_softc *, aq_hw_fw_mpi_state_t,
1100 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t); 1100 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t);
1101static int fw1x_get_mode(struct aq_softc *, aq_hw_fw_mpi_state_t *, 1101static int fw1x_get_mode(struct aq_softc *, aq_hw_fw_mpi_state_t *,
1102 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *); 1102 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *);
1103static int fw1x_get_stats(struct aq_softc *, aq_hw_stats_s_t *); 1103static int fw1x_get_stats(struct aq_softc *, aq_hw_stats_s_t *);
1104 1104
1105static int fw2x_reset(struct aq_softc *); 1105static int fw2x_reset(struct aq_softc *);
1106static int fw2x_set_mode(struct aq_softc *, aq_hw_fw_mpi_state_t, 1106static int fw2x_set_mode(struct aq_softc *, aq_hw_fw_mpi_state_t,
1107 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t); 1107 aq_link_speed_t, aq_link_fc_t, aq_link_eee_t);
1108static int fw2x_get_mode(struct aq_softc *, aq_hw_fw_mpi_state_t *, 1108static int fw2x_get_mode(struct aq_softc *, aq_hw_fw_mpi_state_t *,
1109 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *); 1109 aq_link_speed_t *, aq_link_fc_t *, aq_link_eee_t *);
1110static int fw2x_get_stats(struct aq_softc *, aq_hw_stats_s_t *); 1110static int fw2x_get_stats(struct aq_softc *, aq_hw_stats_s_t *);
1111#if NSYSMON_ENVSYS > 0 1111#if NSYSMON_ENVSYS > 0
1112static int fw2x_get_temperature(struct aq_softc *, uint32_t *); 1112static int fw2x_get_temperature(struct aq_softc *, uint32_t *);
1113#endif 1113#endif
1114 1114
1115static const struct aq_firmware_ops aq_fw1x_ops = { 1115static const struct aq_firmware_ops aq_fw1x_ops = {
1116 .reset = fw1x_reset, 1116 .reset = fw1x_reset,
1117 .set_mode = fw1x_set_mode, 1117 .set_mode = fw1x_set_mode,
1118 .get_mode = fw1x_get_mode, 1118 .get_mode = fw1x_get_mode,
1119 .get_stats = fw1x_get_stats, 1119 .get_stats = fw1x_get_stats,
1120#if NSYSMON_ENVSYS > 0 1120#if NSYSMON_ENVSYS > 0
1121 .get_temperature = NULL 1121 .get_temperature = NULL
1122#endif 1122#endif
1123}; 1123};
1124 1124
1125static const struct aq_firmware_ops aq_fw2x_ops = { 1125static const struct aq_firmware_ops aq_fw2x_ops = {
1126 .reset = fw2x_reset, 1126 .reset = fw2x_reset,
1127 .set_mode = fw2x_set_mode, 1127 .set_mode = fw2x_set_mode,
1128 .get_mode = fw2x_get_mode, 1128 .get_mode = fw2x_get_mode,
1129 .get_stats = fw2x_get_stats, 1129 .get_stats = fw2x_get_stats,
1130#if NSYSMON_ENVSYS > 0 1130#if NSYSMON_ENVSYS > 0
1131 .get_temperature = fw2x_get_temperature 1131 .get_temperature = fw2x_get_temperature
1132#endif 1132#endif
1133}; 1133};
1134 1134
1135CFATTACH_DECL3_NEW(aq, sizeof(struct aq_softc), 1135CFATTACH_DECL3_NEW(aq, sizeof(struct aq_softc),
1136 aq_match, aq_attach, aq_detach, NULL, NULL, NULL, DVF_DETACH_SHUTDOWN); 1136 aq_match, aq_attach, aq_detach, NULL, NULL, NULL, DVF_DETACH_SHUTDOWN);
1137 1137
1138static const struct aq_product { 1138static const struct aq_product {
1139 pci_vendor_id_t aq_vendor; 1139 pci_vendor_id_t aq_vendor;
1140 pci_product_id_t aq_product; 1140 pci_product_id_t aq_product;
1141 const char *aq_name; 1141 const char *aq_name;
1142 enum aq_media_type aq_media_type; 1142 enum aq_media_type aq_media_type;
1143 aq_link_speed_t aq_available_rates; 1143 aq_link_speed_t aq_available_rates;
1144} aq_products[] = { 1144} aq_products[] = {
1145 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC107, 1145 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC107,
1146 "Aquantia AQC107 10 Gigabit Network Adapter", 1146 "Aquantia AQC107 10 Gigabit Network Adapter",
1147 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL 1147 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL
1148 }, 1148 },
1149 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC108, 1149 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC108,
1150 "Aquantia AQC108 5 Gigabit Network Adapter", 1150 "Aquantia AQC108 5 Gigabit Network Adapter",
1151 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G 1151 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G
1152 }, 1152 },
1153 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC109, 1153 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC109,
1154 "Aquantia AQC109 2.5 Gigabit Network Adapter", 1154 "Aquantia AQC109 2.5 Gigabit Network Adapter",
1155 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 1155 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5
1156 }, 1156 },
 1157 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC100,
 1158 "Aquantia AQC100 10 Gigabit Network Adapter",
 1159 AQ_MEDIA_TYPE_FIBRE, AQ_LINK_ALL
 1160 },
1157 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC111, 1161 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC111,
1158 "Aquantia AQC111 5 Gigabit Network Adapter", 1162 "Aquantia AQC111 5 Gigabit Network Adapter",
1159 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G 1163 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G
1160 }, 1164 },
1161 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC112, 1165 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC112,
1162 "Aquantia AQC112 2.5 Gigabit Network Adapter", 1166 "Aquantia AQC112 2.5 Gigabit Network Adapter",
1163 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 1167 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5
1164 }, 1168 },
1165 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC107S, 1169 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC107S,
1166 "Aquantia AQC107S 10 Gigabit Network Adapter", 1170 "Aquantia AQC107S 10 Gigabit Network Adapter",
1167 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL 1171 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL
1168 }, 1172 },
1169 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC108S, 1173 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC108S,
1170 "Aquantia AQC108S 5 Gigabit Network Adapter", 1174 "Aquantia AQC108S 5 Gigabit Network Adapter",
1171 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G 1175 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G
1172 }, 1176 },
1173 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC109S, 1177 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC109S,
1174 "Aquantia AQC109S 2.5 Gigabit Network Adapter", 1178 "Aquantia AQC109S 2.5 Gigabit Network Adapter",
1175 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 1179 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5
1176 }, 1180 },
1177 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC111S, 1181 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC111S,
1178 "Aquantia AQC111S 5 Gigabit Network Adapter", 1182 "Aquantia AQC111S 5 Gigabit Network Adapter",
1179 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G 1183 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G
1180 }, 1184 },
1181 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC112S, 1185 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_AQC112S,
1182 "Aquantia AQC112S 2.5 Gigabit Network Adapter", 1186 "Aquantia AQC112S 2.5 Gigabit Network Adapter",
1183 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 1187 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5
1184 }, 1188 },
1185 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D107, 1189 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D107,
1186 "Aquantia D107 10 Gigabit Network Adapter", 1190 "Aquantia D107 10 Gigabit Network Adapter",
1187 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL 1191 AQ_MEDIA_TYPE_TP, AQ_LINK_ALL
1188 }, 1192 },
1189 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D108, 1193 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D108,
1190 "Aquantia D108 5 Gigabit Network Adapter", 1194 "Aquantia D108 5 Gigabit Network Adapter",
1191 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G 1195 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 | AQ_LINK_5G
1192 }, 1196 },
1193 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D109, 1197 { PCI_VENDOR_AQUANTIA, PCI_PRODUCT_AQUANTIA_D109,
1194 "Aquantia D109 2.5 Gigabit Network Adapter", 1198 "Aquantia D109 2.5 Gigabit Network Adapter",
1195 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5 1199 AQ_MEDIA_TYPE_TP, AQ_LINK_100M | AQ_LINK_1G | AQ_LINK_2G5
1196 } 1200 }
1197}; 1201};
1198 1202
1199static const struct aq_product * 1203static const struct aq_product *
1200aq_lookup(const struct pci_attach_args *pa) 1204aq_lookup(const struct pci_attach_args *pa)
1201{ 1205{
1202 unsigned int i; 1206 unsigned int i;
1203 1207
1204 for (i = 0; i < __arraycount(aq_products); i++) { 1208 for (i = 0; i < __arraycount(aq_products); i++) {
1205 if (PCI_VENDOR(pa->pa_id) == aq_products[i].aq_vendor && 1209 if (PCI_VENDOR(pa->pa_id) == aq_products[i].aq_vendor &&
1206 PCI_PRODUCT(pa->pa_id) == aq_products[i].aq_product) 1210 PCI_PRODUCT(pa->pa_id) == aq_products[i].aq_product)
1207 return &aq_products[i]; 1211 return &aq_products[i];
1208 } 1212 }
1209 return NULL; 1213 return NULL;
1210} 1214}
1211 1215
1212static int 1216static int
1213aq_match(device_t parent, cfdata_t cf, void *aux) 1217aq_match(device_t parent, cfdata_t cf, void *aux)
1214{ 1218{
1215 struct pci_attach_args *pa = aux; 1219 struct pci_attach_args *pa = aux;
1216 1220
1217 if (aq_lookup(pa) != NULL) 1221 if (aq_lookup(pa) != NULL)
1218 return 1; 1222 return 1;
1219 1223
1220 return 0; 1224 return 0;
1221} 1225}
1222 1226
1223static void 1227static void
1224aq_attach(device_t parent, device_t self, void *aux) 1228aq_attach(device_t parent, device_t self, void *aux)
1225{ 1229{
1226 struct aq_softc *sc = device_private(self); 1230 struct aq_softc *sc = device_private(self);
1227 struct pci_attach_args *pa = aux; 1231 struct pci_attach_args *pa = aux;
1228 struct ifnet *ifp = &sc->sc_ethercom.ec_if; 1232 struct ifnet *ifp = &sc->sc_ethercom.ec_if;
1229 pci_chipset_tag_t pc; 1233 pci_chipset_tag_t pc;
1230 pcitag_t tag; 1234 pcitag_t tag;
1231 pcireg_t command, memtype, bar; 1235 pcireg_t command, memtype, bar;
1232 const struct aq_product *aqp; 1236 const struct aq_product *aqp;
1233 int error; 1237 int error;
1234 1238
1235 sc->sc_dev = self; 1239 sc->sc_dev = self;
1236 mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_NET); 1240 mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_NET);
1237 mutex_init(&sc->sc_mpi_mutex, MUTEX_DEFAULT, IPL_NET); 1241 mutex_init(&sc->sc_mpi_mutex, MUTEX_DEFAULT, IPL_NET);
1238 1242
1239 sc->sc_pc = pc = pa->pa_pc; 1243 sc->sc_pc = pc = pa->pa_pc;
1240 sc->sc_pcitag = tag = pa->pa_tag; 1244 sc->sc_pcitag = tag = pa->pa_tag;
1241 sc->sc_dmat = pci_dma64_available(pa) ? pa->pa_dmat64 : pa->pa_dmat; 1245 sc->sc_dmat = pci_dma64_available(pa) ? pa->pa_dmat64 : pa->pa_dmat;
1242 1246
1243 command = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG); 1247 command = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG);
1244 command |= PCI_COMMAND_MASTER_ENABLE; 1248 command |= PCI_COMMAND_MASTER_ENABLE;
1245 pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG, command); 1249 pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG, command);
1246 1250
1247 sc->sc_product = PCI_PRODUCT(pa->pa_id); 1251 sc->sc_product = PCI_PRODUCT(pa->pa_id);
1248 sc->sc_revision = PCI_REVISION(pa->pa_class); 1252 sc->sc_revision = PCI_REVISION(pa->pa_class);
1249 1253
1250 aqp = aq_lookup(pa); 1254 aqp = aq_lookup(pa);
1251 KASSERT(aqp != NULL); 1255 KASSERT(aqp != NULL);
1252 1256
1253 pci_aprint_devinfo_fancy(pa, "Ethernet controller", aqp->aq_name, 1); 1257 pci_aprint_devinfo_fancy(pa, "Ethernet controller", aqp->aq_name, 1);
1254 1258
1255 bar = pci_conf_read(pc, tag, PCI_BAR(0)); 1259 bar = pci_conf_read(pc, tag, PCI_BAR(0));
1256 if ((PCI_MAPREG_MEM_ADDR(bar) == 0) || 1260 if ((PCI_MAPREG_MEM_ADDR(bar) == 0) ||
1257 (PCI_MAPREG_TYPE(bar) != PCI_MAPREG_TYPE_MEM)) { 1261 (PCI_MAPREG_TYPE(bar) != PCI_MAPREG_TYPE_MEM)) {
1258 aprint_error_dev(sc->sc_dev, "wrong BAR type\n"); 1262 aprint_error_dev(sc->sc_dev, "wrong BAR type\n");
1259 return; 1263 return;
1260 } 1264 }
1261 memtype = pci_mapreg_type(pc, tag, PCI_BAR(0)); 1265 memtype = pci_mapreg_type(pc, tag, PCI_BAR(0));
1262 if (pci_mapreg_map(pa, PCI_BAR(0), memtype, 0, &sc->sc_iot, &sc->sc_ioh, 1266 if (pci_mapreg_map(pa, PCI_BAR(0), memtype, 0, &sc->sc_iot, &sc->sc_ioh,
1263 NULL, &sc->sc_iosize) != 0) { 1267 NULL, &sc->sc_iosize) != 0) {
1264 aprint_error_dev(sc->sc_dev, "unable to map register\n"); 1268 aprint_error_dev(sc->sc_dev, "unable to map register\n");
1265 return; 1269 return;
1266 } 1270 }
1267 1271
1268 sc->sc_nqueues = MIN(ncpu, AQ_RSSQUEUE_MAX); 1272 sc->sc_nqueues = MIN(ncpu, AQ_RSSQUEUE_MAX);
1269 1273
1270 /* max queue num is 8, and must be 2^n */ 1274 /* max queue num is 8, and must be 2^n */
1271 if (ncpu >= 8) 1275 if (ncpu >= 8)
1272 sc->sc_nqueues = 8; 1276 sc->sc_nqueues = 8;
1273 else if (ncpu >= 4) 1277 else if (ncpu >= 4)
1274 sc->sc_nqueues = 4; 1278 sc->sc_nqueues = 4;
1275 else if (ncpu >= 2) 1279 else if (ncpu >= 2)
1276 sc->sc_nqueues = 2; 1280 sc->sc_nqueues = 2;
1277 else 1281 else
1278 sc->sc_nqueues = 1; 1282 sc->sc_nqueues = 1;
1279 1283
1280 int msixcount = pci_msix_count(pa->pa_pc, pa->pa_tag); 1284 int msixcount = pci_msix_count(pa->pa_pc, pa->pa_tag);
1281#ifndef CONFIG_NO_TXRX_INDEPENDENT 1285#ifndef CONFIG_NO_TXRX_INDEPENDENT
1282 if (msixcount >= (sc->sc_nqueues * 2 + 1)) { 1286 if (msixcount >= (sc->sc_nqueues * 2 + 1)) {
1283 /* TX intrs + RX intrs + LINKSTAT intrs */ 1287 /* TX intrs + RX intrs + LINKSTAT intrs */
1284 sc->sc_use_txrx_independent_intr = true; 1288 sc->sc_use_txrx_independent_intr = true;
1285 sc->sc_poll_linkstat = false; 1289 sc->sc_poll_linkstat = false;
1286 sc->sc_msix = true; 1290 sc->sc_msix = true;
1287 } else if (msixcount >= (sc->sc_nqueues * 2)) { 1291 } else if (msixcount >= (sc->sc_nqueues * 2)) {
1288 /* TX intrs + RX intrs */ 1292 /* TX intrs + RX intrs */
1289 sc->sc_use_txrx_independent_intr = true; 1293 sc->sc_use_txrx_independent_intr = true;
1290 sc->sc_poll_linkstat = true; 1294 sc->sc_poll_linkstat = true;
1291 sc->sc_msix = true; 1295 sc->sc_msix = true;
1292 } else 1296 } else
1293#endif 1297#endif
1294 if (msixcount >= (sc->sc_nqueues + 1)) { 1298 if (msixcount >= (sc->sc_nqueues + 1)) {
1295 /* TX/RX intrs LINKSTAT intrs */ 1299 /* TX/RX intrs LINKSTAT intrs */
1296 sc->sc_use_txrx_independent_intr = false; 1300 sc->sc_use_txrx_independent_intr = false;
1297 sc->sc_poll_linkstat = false; 1301 sc->sc_poll_linkstat = false;
1298 sc->sc_msix = true; 1302 sc->sc_msix = true;
1299 } else if (msixcount >= sc->sc_nqueues) { 1303 } else if (msixcount >= sc->sc_nqueues) {
1300 /* TX/RX intrs */ 1304 /* TX/RX intrs */
1301 sc->sc_use_txrx_independent_intr = false; 1305 sc->sc_use_txrx_independent_intr = false;
1302 sc->sc_poll_linkstat = true; 1306 sc->sc_poll_linkstat = true;
1303 sc->sc_msix = true; 1307 sc->sc_msix = true;
1304 } else { 1308 } else {
1305 /* giving up using MSI-X */ 1309 /* giving up using MSI-X */
1306 sc->sc_msix = false; 1310 sc->sc_msix = false;
1307 } 1311 }
1308 1312
1309 aprint_debug_dev(sc->sc_dev, 1313 aprint_debug_dev(sc->sc_dev,
1310 "ncpu=%d, pci_msix_count=%d." 1314 "ncpu=%d, pci_msix_count=%d."
1311 " allocate %d interrupts for %d%s queues%s\n", 1315 " allocate %d interrupts for %d%s queues%s\n",
1312 ncpu, msixcount, 1316 ncpu, msixcount,
1313 (sc->sc_use_txrx_independent_intr ? 1317 (sc->sc_use_txrx_independent_intr ?
1314 (sc->sc_nqueues * 2) : sc->sc_nqueues) + 1318 (sc->sc_nqueues * 2) : sc->sc_nqueues) +
1315 (sc->sc_poll_linkstat ? 0 : 1), 1319 (sc->sc_poll_linkstat ? 0 : 1),
1316 sc->sc_nqueues, 1320 sc->sc_nqueues,
1317 sc->sc_use_txrx_independent_intr ? "*2" : "", 1321 sc->sc_use_txrx_independent_intr ? "*2" : "",
1318 sc->sc_poll_linkstat ? "" : ", and link status"); 1322 sc->sc_poll_linkstat ? "" : ", and link status");
1319 1323
1320 if (sc->sc_msix) 1324 if (sc->sc_msix)
1321 error = aq_setup_msix(sc, pa, sc->sc_nqueues, 1325 error = aq_setup_msix(sc, pa, sc->sc_nqueues,
1322 sc->sc_use_txrx_independent_intr, !sc->sc_poll_linkstat); 1326 sc->sc_use_txrx_independent_intr, !sc->sc_poll_linkstat);
1323 else 1327 else
1324 error = ENODEV; 1328 error = ENODEV;
1325 1329
1326 if (error != 0) { 1330 if (error != 0) {
1327 /* if MSI-X failed, fallback to MSI with single queue */ 1331 /* if MSI-X failed, fallback to MSI with single queue */
1328 sc->sc_use_txrx_independent_intr = false; 1332 sc->sc_use_txrx_independent_intr = false;
1329 sc->sc_poll_linkstat = false; 1333 sc->sc_poll_linkstat = false;
1330 sc->sc_msix = false; 1334 sc->sc_msix = false;
1331 sc->sc_nqueues = 1; 1335 sc->sc_nqueues = 1;
1332 error = aq_setup_legacy(sc, pa, PCI_INTR_TYPE_MSI); 1336 error = aq_setup_legacy(sc, pa, PCI_INTR_TYPE_MSI);
1333 } 1337 }
1334 if (error != 0) { 1338 if (error != 0) {
1335 /* if MSI failed, fallback to INTx */ 1339 /* if MSI failed, fallback to INTx */
1336 error = aq_setup_legacy(sc, pa, PCI_INTR_TYPE_INTX); 1340 error = aq_setup_legacy(sc, pa, PCI_INTR_TYPE_INTX);
1337 } 1341 }
1338 if (error != 0) 1342 if (error != 0)
1339 return; 1343 return;
1340 1344
1341 callout_init(&sc->sc_tick_ch, 0); 1345 callout_init(&sc->sc_tick_ch, 0);
1342 callout_setfunc(&sc->sc_tick_ch, aq_tick, sc); 1346 callout_setfunc(&sc->sc_tick_ch, aq_tick, sc);
1343 1347
1344 sc->sc_intr_moderation_enable = CONFIG_INTR_MODERATION_ENABLE; 1348 sc->sc_intr_moderation_enable = CONFIG_INTR_MODERATION_ENABLE;
1345 1349
1346 if (sc->sc_msix && (sc->sc_nqueues > 1)) 1350 if (sc->sc_msix && (sc->sc_nqueues > 1))
1347 sc->sc_rss_enable = true; 1351 sc->sc_rss_enable = true;
1348 else 1352 else
1349 sc->sc_rss_enable = false; 1353 sc->sc_rss_enable = false;
1350 1354
1351 error = aq_txrx_rings_alloc(sc); 1355 error = aq_txrx_rings_alloc(sc);
1352 if (error != 0) 1356 if (error != 0)
1353 goto attach_failure; 1357 goto attach_failure;
1354 1358
1355 error = aq_fw_reset(sc); 1359 error = aq_fw_reset(sc);
1356 if (error != 0) 1360 if (error != 0)
1357 goto attach_failure; 1361 goto attach_failure;
1358 1362
1359 error = aq_fw_version_init(sc); 1363 error = aq_fw_version_init(sc);
1360 if (error != 0) 1364 if (error != 0)
1361 goto attach_failure; 1365 goto attach_failure;
1362 1366
1363 error = aq_hw_init_ucp(sc); 1367 error = aq_hw_init_ucp(sc);
1364 if (error < 0) 1368 if (error < 0)
1365 goto attach_failure; 1369 goto attach_failure;
1366 1370
1367 KASSERT(sc->sc_mbox_addr != 0); 1371 KASSERT(sc->sc_mbox_addr != 0);
1368 error = aq_hw_reset(sc); 1372 error = aq_hw_reset(sc);
1369 if (error != 0) 1373 if (error != 0)
1370 goto attach_failure; 1374 goto attach_failure;
1371 1375
1372 aq_get_mac_addr(sc); 1376 aq_get_mac_addr(sc);
1373 aq_init_rss(sc); 1377 aq_init_rss(sc);
1374 1378
1375 error = aq_hw_init(sc); /* initialize and interrupts */ 1379 error = aq_hw_init(sc); /* initialize and interrupts */
1376 if (error != 0) 1380 if (error != 0)
1377 goto attach_failure; 1381 goto attach_failure;
1378 1382
1379 sc->sc_media_type = aqp->aq_media_type; 1383 sc->sc_media_type = aqp->aq_media_type;
1380 sc->sc_available_rates = aqp->aq_available_rates; 1384 sc->sc_available_rates = aqp->aq_available_rates;
1381 1385
1382 sc->sc_ethercom.ec_ifmedia = &sc->sc_media; 1386 sc->sc_ethercom.ec_ifmedia = &sc->sc_media;
1383 ifmedia_init(&sc->sc_media, IFM_IMASK, 1387 ifmedia_init(&sc->sc_media, IFM_IMASK,
1384 aq_ifmedia_change, aq_ifmedia_status); 1388 aq_ifmedia_change, aq_ifmedia_status);
1385 aq_initmedia(sc); 1389 aq_initmedia(sc);
1386 1390
1387 strlcpy(ifp->if_xname, device_xname(self), IFNAMSIZ); 1391 strlcpy(ifp->if_xname, device_xname(self), IFNAMSIZ);
1388 ifp->if_softc = sc; 1392 ifp->if_softc = sc;
1389 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; 1393 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
1390 ifp->if_baudrate = IF_Gbps(10); 1394 ifp->if_baudrate = IF_Gbps(10);
1391 ifp->if_init = aq_init; 1395 ifp->if_init = aq_init;
1392 ifp->if_ioctl = aq_ioctl; 1396 ifp->if_ioctl = aq_ioctl;
1393 if (sc->sc_msix && (sc->sc_nqueues > 1)) 1397 if (sc->sc_msix && (sc->sc_nqueues > 1))
1394 ifp->if_transmit = aq_transmit; 1398 ifp->if_transmit = aq_transmit;
1395 ifp->if_start = aq_start; 1399 ifp->if_start = aq_start;
1396 ifp->if_stop = aq_stop; 1400 ifp->if_stop = aq_stop;
1397 ifp->if_watchdog = aq_watchdog; 1401 ifp->if_watchdog = aq_watchdog;
1398 IFQ_SET_READY(&ifp->if_snd); 1402 IFQ_SET_READY(&ifp->if_snd);
1399 1403
1400 /* initialize capabilities */ 1404 /* initialize capabilities */
1401 sc->sc_ethercom.ec_capabilities = 0; 1405 sc->sc_ethercom.ec_capabilities = 0;
1402 sc->sc_ethercom.ec_capenable = 0; 1406 sc->sc_ethercom.ec_capenable = 0;
1403#if notyet 1407#if notyet
1404 /* TODO */ 1408 /* TODO */
1405 sc->sc_ethercom.ec_capabilities |= ETHERCAP_EEE; 1409 sc->sc_ethercom.ec_capabilities |= ETHERCAP_EEE;
1406#endif 1410#endif
1407 sc->sc_ethercom.ec_capabilities |= 1411 sc->sc_ethercom.ec_capabilities |=
1408 ETHERCAP_JUMBO_MTU | 1412 ETHERCAP_JUMBO_MTU |
1409 ETHERCAP_VLAN_MTU | 1413 ETHERCAP_VLAN_MTU |
1410 ETHERCAP_VLAN_HWTAGGING | 1414 ETHERCAP_VLAN_HWTAGGING |
1411 ETHERCAP_VLAN_HWFILTER; 1415 ETHERCAP_VLAN_HWFILTER;
1412 sc->sc_ethercom.ec_capenable |= 1416 sc->sc_ethercom.ec_capenable |=
1413 ETHERCAP_VLAN_HWTAGGING | 1417 ETHERCAP_VLAN_HWTAGGING |
1414 ETHERCAP_VLAN_HWFILTER; 1418 ETHERCAP_VLAN_HWFILTER;
1415 1419
1416 ifp->if_capabilities = 0; 1420 ifp->if_capabilities = 0;
1417 ifp->if_capenable = 0; 1421 ifp->if_capenable = 0;
1418#ifdef CONFIG_LRO_SUPPORT 1422#ifdef CONFIG_LRO_SUPPORT
1419 ifp->if_capabilities |= IFCAP_LRO; 1423 ifp->if_capabilities |= IFCAP_LRO;
1420 ifp->if_capenable |= IFCAP_LRO; 1424 ifp->if_capenable |= IFCAP_LRO;
1421#endif 1425#endif
1422#if notyet 1426#if notyet
1423 /* TSO */ 1427 /* TSO */
1424 ifp->if_capabilities |= IFCAP_TSOv4 | IFCAP_TSOv6; 1428 ifp->if_capabilities |= IFCAP_TSOv4 | IFCAP_TSOv6;
1425#endif 1429#endif
1426 1430
1427#if notyet 1431#if notyet
1428 /* 1432 /*
1429 * XXX: 1433 * XXX:
1430 * Rx L4 CSUM doesn't work well for fragment packet. 1434 * Rx L4 CSUM doesn't work well for fragment packet.
1431 * aq marks 'CHEDKED' and 'BAD' for them. 1435 * aq marks 'CHEDKED' and 'BAD' for them.
1432 * we need to ignore (clear) hw-csum flags if the packet is fragmented 1436 * we need to ignore (clear) hw-csum flags if the packet is fragmented
1433 * 1437 *
1434 * TODO: test with LRO enabled 1438 * TODO: test with LRO enabled
1435 */ 1439 */
1436 ifp->if_capabilities |= IFCAP_CSUM_TCPv4_Rx | IFCAP_CSUM_TCPv6_Rx; 1440 ifp->if_capabilities |= IFCAP_CSUM_TCPv4_Rx | IFCAP_CSUM_TCPv6_Rx;
1437 ifp->if_capabilities |= IFCAP_CSUM_UDPv4_Rx | IFCAP_CSUM_UDPv6_Rx; 1441 ifp->if_capabilities |= IFCAP_CSUM_UDPv4_Rx | IFCAP_CSUM_UDPv6_Rx;
1438#endif 1442#endif
1439 /* TX hardware checksum offloadding */ 1443 /* TX hardware checksum offloadding */
1440 ifp->if_capabilities |= IFCAP_CSUM_IPv4_Tx; 1444 ifp->if_capabilities |= IFCAP_CSUM_IPv4_Tx;
1441 ifp->if_capabilities |= IFCAP_CSUM_TCPv4_Tx | IFCAP_CSUM_TCPv6_Tx; 1445 ifp->if_capabilities |= IFCAP_CSUM_TCPv4_Tx | IFCAP_CSUM_TCPv6_Tx;
1442 ifp->if_capabilities |= IFCAP_CSUM_UDPv4_Tx | IFCAP_CSUM_UDPv6_Tx; 1446 ifp->if_capabilities |= IFCAP_CSUM_UDPv4_Tx | IFCAP_CSUM_UDPv6_Tx;
1443 /* RX hardware checksum offloadding */ 1447 /* RX hardware checksum offloadding */
1444 ifp->if_capabilities |= IFCAP_CSUM_IPv4_Rx; 1448 ifp->if_capabilities |= IFCAP_CSUM_IPv4_Rx;
1445 1449
1446 if_attach(ifp); 1450 if_attach(ifp);
1447 if_deferred_start_init(ifp, NULL); 1451 if_deferred_start_init(ifp, NULL);
1448 ether_ifattach(ifp, sc->sc_enaddr.ether_addr_octet); 1452 ether_ifattach(ifp, sc->sc_enaddr.ether_addr_octet);
1449 ether_set_vlan_cb(&sc->sc_ethercom, aq_vlan_cb); 1453 ether_set_vlan_cb(&sc->sc_ethercom, aq_vlan_cb);
1450 ether_set_ifflags_cb(&sc->sc_ethercom, aq_ifflags_cb); 1454 ether_set_ifflags_cb(&sc->sc_ethercom, aq_ifflags_cb);
1451 1455
1452 aq_enable_intr(sc, true, false); /* only intr about link */ 1456 aq_enable_intr(sc, true, false); /* only intr about link */
1453 1457
1454 /* update media */ 1458 /* update media */
1455 aq_ifmedia_change(ifp); 1459 aq_ifmedia_change(ifp);
1456 1460
1457#if NSYSMON_ENVSYS > 0 1461#if NSYSMON_ENVSYS > 0
1458 /* temperature monitoring */ 1462 /* temperature monitoring */
1459 if (sc->sc_fw_ops != NULL && sc->sc_fw_ops->get_temperature != NULL && 1463 if (sc->sc_fw_ops != NULL && sc->sc_fw_ops->get_temperature != NULL &&
1460 (sc->sc_fw_caps & FW2X_CTRL_TEMPERATURE) != 0) { 1464 (sc->sc_fw_caps & FW2X_CTRL_TEMPERATURE) != 0) {
1461 1465
1462 sc->sc_sme = sysmon_envsys_create(); 1466 sc->sc_sme = sysmon_envsys_create();
1463 sc->sc_sme->sme_name = device_xname(self); 1467 sc->sc_sme->sme_name = device_xname(self);
1464 sc->sc_sme->sme_cookie = sc; 1468 sc->sc_sme->sme_cookie = sc;
1465 sc->sc_sme->sme_flags = 0; 1469 sc->sc_sme->sme_flags = 0;
1466 sc->sc_sme->sme_refresh = aq_temp_refresh; 1470 sc->sc_sme->sme_refresh = aq_temp_refresh;
1467 sc->sc_sensor_temp.units = ENVSYS_STEMP; 1471 sc->sc_sensor_temp.units = ENVSYS_STEMP;
1468 sc->sc_sensor_temp.state = ENVSYS_SINVALID; 1472 sc->sc_sensor_temp.state = ENVSYS_SINVALID;
1469 snprintf(sc->sc_sensor_temp.desc, ENVSYS_DESCLEN, "PHY"); 1473 snprintf(sc->sc_sensor_temp.desc, ENVSYS_DESCLEN, "PHY");
1470 1474
1471 sysmon_envsys_sensor_attach(sc->sc_sme, &sc->sc_sensor_temp); 1475 sysmon_envsys_sensor_attach(sc->sc_sme, &sc->sc_sensor_temp);
1472 sysmon_envsys_register(sc->sc_sme); 1476 sysmon_envsys_register(sc->sc_sme);
1473 1477
1474 /* 1478 /*
1475 * for unknown reasons, the first call of fw2x_get_temperature() 1479 * for unknown reasons, the first call of fw2x_get_temperature()
1476 * will always fail (firmware matter?), so run once now. 1480 * will always fail (firmware matter?), so run once now.
1477 */ 1481 */
1478 aq_temp_refresh(sc->sc_sme, &sc->sc_sensor_temp); 1482 aq_temp_refresh(sc->sc_sme, &sc->sc_sensor_temp);
1479 } 1483 }
1480#endif 1484#endif
1481 1485
1482#ifdef AQ_EVENT_COUNTERS 1486#ifdef AQ_EVENT_COUNTERS
1483 /* get starting statistics values */ 1487 /* get starting statistics values */
1484 if (sc->sc_fw_ops != NULL && sc->sc_fw_ops->get_stats != NULL && 1488 if (sc->sc_fw_ops != NULL && sc->sc_fw_ops->get_stats != NULL &&
1485 sc->sc_fw_ops->get_stats(sc, &sc->sc_statistics[0]) == 0) { 1489 sc->sc_fw_ops->get_stats(sc, &sc->sc_statistics[0]) == 0) {
1486 sc->sc_poll_statistics = true; 1490 sc->sc_poll_statistics = true;
1487 } 1491 }
1488 1492
1489 AQ_EVCNT_ATTACH_MISC(sc, uprc, "RX unicast packet"); 1493 AQ_EVCNT_ATTACH_MISC(sc, uprc, "RX unicast packet");
1490 AQ_EVCNT_ATTACH_MISC(sc, bprc, "RX broadcast packet"); 1494 AQ_EVCNT_ATTACH_MISC(sc, bprc, "RX broadcast packet");
1491 AQ_EVCNT_ATTACH_MISC(sc, mprc, "RX multicast packet"); 1495 AQ_EVCNT_ATTACH_MISC(sc, mprc, "RX multicast packet");
1492 AQ_EVCNT_ATTACH_MISC(sc, erpr, "RX error packet"); 1496 AQ_EVCNT_ATTACH_MISC(sc, erpr, "RX error packet");
1493 AQ_EVCNT_ATTACH_MISC(sc, ubrc, "RX unicast bytes"); 1497 AQ_EVCNT_ATTACH_MISC(sc, ubrc, "RX unicast bytes");
1494 AQ_EVCNT_ATTACH_MISC(sc, bbrc, "RX broadcast bytes"); 1498 AQ_EVCNT_ATTACH_MISC(sc, bbrc, "RX broadcast bytes");
1495 AQ_EVCNT_ATTACH_MISC(sc, mbrc, "RX multicast bytes"); 1499 AQ_EVCNT_ATTACH_MISC(sc, mbrc, "RX multicast bytes");
1496 AQ_EVCNT_ATTACH_MISC(sc, prc, "RX good packet"); 1500 AQ_EVCNT_ATTACH_MISC(sc, prc, "RX good packet");
1497 AQ_EVCNT_ATTACH_MISC(sc, uptc, "TX unicast packet"); 1501 AQ_EVCNT_ATTACH_MISC(sc, uptc, "TX unicast packet");
1498 AQ_EVCNT_ATTACH_MISC(sc, bptc, "TX broadcast packet"); 1502 AQ_EVCNT_ATTACH_MISC(sc, bptc, "TX broadcast packet");
1499 AQ_EVCNT_ATTACH_MISC(sc, mptc, "TX multicast packet"); 1503 AQ_EVCNT_ATTACH_MISC(sc, mptc, "TX multicast packet");
1500 AQ_EVCNT_ATTACH_MISC(sc, erpt, "TX error packet"); 1504 AQ_EVCNT_ATTACH_MISC(sc, erpt, "TX error packet");
1501 AQ_EVCNT_ATTACH_MISC(sc, ubtc, "TX unicast bytes"); 1505 AQ_EVCNT_ATTACH_MISC(sc, ubtc, "TX unicast bytes");
1502 AQ_EVCNT_ATTACH_MISC(sc, bbtc, "TX broadcast bytes"); 1506 AQ_EVCNT_ATTACH_MISC(sc, bbtc, "TX broadcast bytes");
1503 AQ_EVCNT_ATTACH_MISC(sc, mbtc, "TX multicast bytes"); 1507 AQ_EVCNT_ATTACH_MISC(sc, mbtc, "TX multicast bytes");
1504 AQ_EVCNT_ATTACH_MISC(sc, ptc, "TX good packet"); 1508 AQ_EVCNT_ATTACH_MISC(sc, ptc, "TX good packet");
1505 AQ_EVCNT_ATTACH_MISC(sc, dpc, "DMA drop packet"); 1509 AQ_EVCNT_ATTACH_MISC(sc, dpc, "DMA drop packet");
1506 AQ_EVCNT_ATTACH_MISC(sc, cprc, "RX coalesced packet"); 1510 AQ_EVCNT_ATTACH_MISC(sc, cprc, "RX coalesced packet");
1507#endif 1511#endif
1508 1512
1509 return; 1513 return;
1510 1514
1511 attach_failure: 1515 attach_failure:
1512 aq_detach(self, 0); 1516 aq_detach(self, 0);
1513} 1517}
1514 1518
1515static int 1519static int
1516aq_detach(device_t self, int flags __unused) 1520aq_detach(device_t self, int flags __unused)
1517{ 1521{
1518 struct aq_softc *sc = device_private(self); 1522 struct aq_softc *sc = device_private(self);
1519 struct ifnet *ifp = &sc->sc_ethercom.ec_if; 1523 struct ifnet *ifp = &sc->sc_ethercom.ec_if;
1520 int i, s; 1524 int i, s;
1521 1525
1522 if (sc->sc_iosize != 0) { 1526 if (sc->sc_iosize != 0) {
1523 if (ifp->if_softc != NULL) { 1527 if (ifp->if_softc != NULL) {
1524 s = splnet(); 1528 s = splnet();
1525 aq_stop(ifp, 0); 1529 aq_stop(ifp, 0);
1526 splx(s); 1530 splx(s);
1527 } 1531 }
1528 1532
1529 for (i = 0; i < AQ_NINTR_MAX; i++) { 1533 for (i = 0; i < AQ_NINTR_MAX; i++) {
1530 if (sc->sc_ihs[i] != NULL) { 1534 if (sc->sc_ihs[i] != NULL) {
1531 pci_intr_disestablish(sc->sc_pc, sc->sc_ihs[i]); 1535 pci_intr_disestablish(sc->sc_pc, sc->sc_ihs[i]);
1532 sc->sc_ihs[i] = NULL; 1536 sc->sc_ihs[i] = NULL;
1533 } 1537 }
1534 } 1538 }
1535 if (sc->sc_nintrs > 0) { 1539 if (sc->sc_nintrs > 0) {
1536 pci_intr_release(sc->sc_pc, sc->sc_intrs, 1540 pci_intr_release(sc->sc_pc, sc->sc_intrs,
1537 sc->sc_nintrs); 1541 sc->sc_nintrs);
1538 sc->sc_intrs = NULL; 1542 sc->sc_intrs = NULL;
1539 sc->sc_nintrs = 0; 1543 sc->sc_nintrs = 0;
1540 } 1544 }
1541 1545
1542 aq_txrx_rings_free(sc); 1546 aq_txrx_rings_free(sc);
1543 1547
1544 if (ifp->if_softc != NULL) { 1548 if (ifp->if_softc != NULL) {
1545 ether_ifdetach(ifp); 1549 ether_ifdetach(ifp);
1546 if_detach(ifp); 1550 if_detach(ifp);
1547 } 1551 }
1548 1552
1549 aprint_debug_dev(sc->sc_dev, "%s: bus_space_unmap\n", __func__); 1553 aprint_debug_dev(sc->sc_dev, "%s: bus_space_unmap\n", __func__);
1550 bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_iosize); 1554 bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_iosize);
1551 sc->sc_iosize = 0; 1555 sc->sc_iosize = 0;
1552 } 1556 }
1553 1557
1554 callout_stop(&sc->sc_tick_ch); 1558 callout_stop(&sc->sc_tick_ch);
1555 1559
1556#if NSYSMON_ENVSYS > 0 1560#if NSYSMON_ENVSYS > 0
1557 if (sc->sc_sme != NULL) { 1561 if (sc->sc_sme != NULL) {
1558 /* all sensors associated with this will also be detached */ 1562 /* all sensors associated with this will also be detached */
1559 sysmon_envsys_unregister(sc->sc_sme); 1563 sysmon_envsys_unregister(sc->sc_sme);
1560 sc->sc_sme = NULL; 1564 sc->sc_sme = NULL;
1561 } 1565 }
1562#endif 1566#endif
1563 1567
1564#ifdef AQ_EVENT_COUNTERS 1568#ifdef AQ_EVENT_COUNTERS
1565 AQ_EVCNT_DETACH(sc, uprc); 1569 AQ_EVCNT_DETACH(sc, uprc);
1566 AQ_EVCNT_DETACH(sc, mprc); 1570 AQ_EVCNT_DETACH(sc, mprc);
1567 AQ_EVCNT_DETACH(sc, bprc); 1571 AQ_EVCNT_DETACH(sc, bprc);
1568 AQ_EVCNT_DETACH(sc, erpt); 1572 AQ_EVCNT_DETACH(sc, erpt);
1569 AQ_EVCNT_DETACH(sc, uptc); 1573 AQ_EVCNT_DETACH(sc, uptc);
1570 AQ_EVCNT_DETACH(sc, mptc); 1574 AQ_EVCNT_DETACH(sc, mptc);
1571 AQ_EVCNT_DETACH(sc, bptc); 1575 AQ_EVCNT_DETACH(sc, bptc);
1572 AQ_EVCNT_DETACH(sc, erpr); 1576 AQ_EVCNT_DETACH(sc, erpr);
1573 AQ_EVCNT_DETACH(sc, mbtc); 1577 AQ_EVCNT_DETACH(sc, mbtc);
1574 AQ_EVCNT_DETACH(sc, bbtc); 1578 AQ_EVCNT_DETACH(sc, bbtc);
1575 AQ_EVCNT_DETACH(sc, mbrc); 1579 AQ_EVCNT_DETACH(sc, mbrc);
1576 AQ_EVCNT_DETACH(sc, bbrc); 1580 AQ_EVCNT_DETACH(sc, bbrc);
1577 AQ_EVCNT_DETACH(sc, ubrc); 1581 AQ_EVCNT_DETACH(sc, ubrc);
1578 AQ_EVCNT_DETACH(sc, ubtc); 1582 AQ_EVCNT_DETACH(sc, ubtc);
1579 AQ_EVCNT_DETACH(sc, ptc); 1583 AQ_EVCNT_DETACH(sc, ptc);
1580 AQ_EVCNT_DETACH(sc, prc); 1584 AQ_EVCNT_DETACH(sc, prc);
1581 AQ_EVCNT_DETACH(sc, dpc); 1585 AQ_EVCNT_DETACH(sc, dpc);
1582 AQ_EVCNT_DETACH(sc, cprc); 1586 AQ_EVCNT_DETACH(sc, cprc);
1583#endif 1587#endif
1584 1588
1585 ifmedia_fini(&sc->sc_media); 1589 ifmedia_fini(&sc->sc_media);
1586 1590
1587 mutex_destroy(&sc->sc_mpi_mutex); 1591 mutex_destroy(&sc->sc_mpi_mutex);
1588 mutex_destroy(&sc->sc_mutex); 1592 mutex_destroy(&sc->sc_mutex);
1589 1593
1590 return 0; 1594 return 0;
1591} 1595}
1592 1596
1593static int 1597static int
1594aq_establish_intr(struct aq_softc *sc, int intno, kcpuset_t *affinity, 1598aq_establish_intr(struct aq_softc *sc, int intno, kcpuset_t *affinity,
1595 int (*func)(void *), void *arg, const char *xname) 1599 int (*func)(void *), void *arg, const char *xname)
1596{ 1600{
1597 char intrbuf[PCI_INTRSTR_LEN]; 1601 char intrbuf[PCI_INTRSTR_LEN];
1598 pci_chipset_tag_t pc = sc->sc_pc; 1602 pci_chipset_tag_t pc = sc->sc_pc;
1599 void *vih; 1603 void *vih;
1600 const char *intrstr = NULL; 1604 const char *intrstr = NULL;
1601 1605
1602 intrstr = pci_intr_string(pc, sc->sc_intrs[intno], intrbuf, 1606 intrstr = pci_intr_string(pc, sc->sc_intrs[intno], intrbuf,
1603 sizeof(intrbuf)); 1607 sizeof(intrbuf));
1604 1608
1605 pci_intr_setattr(pc, &sc->sc_intrs[intno], PCI_INTR_MPSAFE, true); 1609 pci_intr_setattr(pc, &sc->sc_intrs[intno], PCI_INTR_MPSAFE, true);
1606 1610
1607 vih = pci_intr_establish_xname(pc, sc->sc_intrs[intno], 1611 vih = pci_intr_establish_xname(pc, sc->sc_intrs[intno],
1608 IPL_NET, func, arg, xname); 1612 IPL_NET, func, arg, xname);
1609 if (vih == NULL) { 1613 if (vih == NULL) {
1610 aprint_error_dev(sc->sc_dev, 1614 aprint_error_dev(sc->sc_dev,
1611 "unable to establish MSI-X%s%s for %s\n", 1615 "unable to establish MSI-X%s%s for %s\n",
1612 intrstr ? " at " : "", 1616 intrstr ? " at " : "",
1613 intrstr ? intrstr : "", xname); 1617 intrstr ? intrstr : "", xname);
1614 return EIO; 1618 return EIO;
1615 } 1619 }
1616 sc->sc_ihs[intno] = vih; 1620 sc->sc_ihs[intno] = vih;
1617 1621
1618 if (affinity != NULL) { 1622 if (affinity != NULL) {
1619 /* Round-robin affinity */ 1623 /* Round-robin affinity */
1620 kcpuset_zero(affinity); 1624 kcpuset_zero(affinity);
1621 kcpuset_set(affinity, intno % ncpu); 1625 kcpuset_set(affinity, intno % ncpu);
1622 interrupt_distribute(vih, affinity, NULL); 1626 interrupt_distribute(vih, affinity, NULL);
1623 } 1627 }
1624 1628
1625 return 0; 1629 return 0;
1626} 1630}
1627 1631
1628static int 1632static int
1629aq_establish_msix_intr(struct aq_softc *sc, bool txrx_independent, 1633aq_establish_msix_intr(struct aq_softc *sc, bool txrx_independent,
1630 bool linkintr) 1634 bool linkintr)
1631{ 1635{
1632 kcpuset_t *affinity; 1636 kcpuset_t *affinity;
1633 int error, intno, i; 1637 int error, intno, i;
1634 char intr_xname[INTRDEVNAMEBUF]; 1638 char intr_xname[INTRDEVNAMEBUF];
1635 1639
1636 kcpuset_create(&affinity, false); 1640 kcpuset_create(&affinity, false);
1637 1641
1638 intno = 0; 1642 intno = 0;
1639 1643
1640 if (txrx_independent) { 1644 if (txrx_independent) {
1641 for (i = 0; i < sc->sc_nqueues; i++) { 1645 for (i = 0; i < sc->sc_nqueues; i++) {
1642 snprintf(intr_xname, sizeof(intr_xname), "%s RX%d", 1646 snprintf(intr_xname, sizeof(intr_xname), "%s RX%d",
1643 device_xname(sc->sc_dev), i); 1647 device_xname(sc->sc_dev), i);
1644 sc->sc_rx_irq[i] = intno; 1648 sc->sc_rx_irq[i] = intno;
1645 error = aq_establish_intr(sc, intno++, affinity, 1649 error = aq_establish_intr(sc, intno++, affinity,
1646 aq_rx_intr, &sc->sc_queue[i].rxring, intr_xname); 1650 aq_rx_intr, &sc->sc_queue[i].rxring, intr_xname);
1647 if (error != 0) 1651 if (error != 0)
1648 goto fail; 1652 goto fail;
1649 } 1653 }
1650 for (i = 0; i < sc->sc_nqueues; i++) { 1654 for (i = 0; i < sc->sc_nqueues; i++) {
1651 snprintf(intr_xname, sizeof(intr_xname), "%s TX%d", 1655 snprintf(intr_xname, sizeof(intr_xname), "%s TX%d",
1652 device_xname(sc->sc_dev), i); 1656 device_xname(sc->sc_dev), i);
1653 sc->sc_tx_irq[i] = intno; 1657 sc->sc_tx_irq[i] = intno;
1654 error = aq_establish_intr(sc, intno++, affinity, 1658 error = aq_establish_intr(sc, intno++, affinity,
1655 aq_tx_intr, &sc->sc_queue[i].txring, intr_xname); 1659 aq_tx_intr, &sc->sc_queue[i].txring, intr_xname);
1656 if (error != 0) 1660 if (error != 0)
1657 goto fail; 1661 goto fail;
1658 } 1662 }
1659 } else { 1663 } else {
1660 for (i = 0; i < sc->sc_nqueues; i++) { 1664 for (i = 0; i < sc->sc_nqueues; i++) {
1661 snprintf(intr_xname, sizeof(intr_xname), "%s TXRX%d", 1665 snprintf(intr_xname, sizeof(intr_xname), "%s TXRX%d",
1662 device_xname(sc->sc_dev), i); 1666 device_xname(sc->sc_dev), i);
1663 sc->sc_rx_irq[i] = intno; 1667 sc->sc_rx_irq[i] = intno;
1664 sc->sc_tx_irq[i] = intno; 1668 sc->sc_tx_irq[i] = intno;
1665 error = aq_establish_intr(sc, intno++, affinity, 1669 error = aq_establish_intr(sc, intno++, affinity,
1666 aq_txrx_intr, &sc->sc_queue[i], intr_xname); 1670 aq_txrx_intr, &sc->sc_queue[i], intr_xname);
1667 if (error != 0) 1671 if (error != 0)
1668 goto fail; 1672 goto fail;
1669 } 1673 }
1670 } 1674 }
1671 1675
1672 if (linkintr) { 1676 if (linkintr) {
1673 snprintf(intr_xname, sizeof(intr_xname), "%s LINK", 1677 snprintf(intr_xname, sizeof(intr_xname), "%s LINK",
1674 device_xname(sc->sc_dev)); 1678 device_xname(sc->sc_dev));
1675 sc->sc_linkstat_irq = intno; 1679 sc->sc_linkstat_irq = intno;
1676 error = aq_establish_intr(sc, intno++, affinity, 1680 error = aq_establish_intr(sc, intno++, affinity,
1677 aq_link_intr, sc, intr_xname); 1681 aq_link_intr, sc, intr_xname);
1678 if (error != 0) 1682 if (error != 0)
1679 goto fail; 1683 goto fail;
1680 } 1684 }
1681 1685
1682 kcpuset_destroy(affinity); 1686 kcpuset_destroy(affinity);
1683 return 0; 1687 return 0;
1684 1688
1685 fail: 1689 fail:
1686 for (i = 0; i < AQ_NINTR_MAX; i++) { 1690 for (i = 0; i < AQ_NINTR_MAX; i++) {
1687 if (sc->sc_ihs[i] != NULL) { 1691 if (sc->sc_ihs[i] != NULL) {
1688 pci_intr_disestablish(sc->sc_pc, sc->sc_ihs[i]); 1692 pci_intr_disestablish(sc->sc_pc, sc->sc_ihs[i]);
1689 sc->sc_ihs[i] = NULL; 1693 sc->sc_ihs[i] = NULL;
1690 } 1694 }
1691 } 1695 }
1692 1696
1693 kcpuset_destroy(affinity); 1697 kcpuset_destroy(affinity);
1694 return ENOMEM; 1698 return ENOMEM;
1695} 1699}
1696 1700
1697static int 1701static int
1698aq_setup_msix(struct aq_softc *sc, struct pci_attach_args *pa, int nqueue, 1702aq_setup_msix(struct aq_softc *sc, struct pci_attach_args *pa, int nqueue,
1699 bool txrx_independent, bool linkintr) 1703 bool txrx_independent, bool linkintr)
1700{ 1704{
1701 int error, nintr; 1705 int error, nintr;
1702 1706
1703 if (txrx_independent) 1707 if (txrx_independent)
1704 nintr = nqueue * 2; 1708 nintr = nqueue * 2;
1705 else 1709 else
1706 nintr = nqueue; 1710 nintr = nqueue;
1707 1711
1708 if (linkintr) 1712 if (linkintr)
1709 nintr++; 1713 nintr++;
1710 1714
1711 error = pci_msix_alloc_exact(pa, &sc->sc_intrs, nintr); 1715 error = pci_msix_alloc_exact(pa, &sc->sc_intrs, nintr);
1712 if (error != 0) { 1716 if (error != 0) {
1713 aprint_error_dev(sc->sc_dev, 1717 aprint_error_dev(sc->sc_dev,
1714 "failed to allocate MSI-X interrupts\n"); 1718 "failed to allocate MSI-X interrupts\n");
1715 goto fail; 1719 goto fail;
1716 } 1720 }
1717 1721
1718 error = aq_establish_msix_intr(sc, txrx_independent, linkintr); 1722 error = aq_establish_msix_intr(sc, txrx_independent, linkintr);
1719 if (error == 0) { 1723 if (error == 0) {
1720 sc->sc_nintrs = nintr; 1724 sc->sc_nintrs = nintr;
1721 } else { 1725 } else {
1722 pci_intr_release(sc->sc_pc, sc->sc_intrs, nintr); 1726 pci_intr_release(sc->sc_pc, sc->sc_intrs, nintr);
1723 sc->sc_nintrs = 0; 1727 sc->sc_nintrs = 0;
1724 } 1728 }
1725 fail: 1729 fail:
1726 return error; 1730 return error;
1727 1731
1728} 1732}
1729 1733
1730static int 1734static int
1731aq_setup_legacy(struct aq_softc *sc, struct pci_attach_args *pa, 1735aq_setup_legacy(struct aq_softc *sc, struct pci_attach_args *pa,
1732 pci_intr_type_t inttype) 1736 pci_intr_type_t inttype)
1733{ 1737{
1734 int counts[PCI_INTR_TYPE_SIZE]; 1738 int counts[PCI_INTR_TYPE_SIZE];
1735 int error, nintr; 1739 int error, nintr;
1736 1740
1737 nintr = 1; 1741 nintr = 1;
1738 1742
1739 memset(counts, 0, sizeof(counts)); 1743 memset(counts, 0, sizeof(counts));
1740 counts[inttype] = nintr; 1744 counts[inttype] = nintr;
1741 1745
1742 error = pci_intr_alloc(pa, &sc->sc_intrs, counts, inttype); 1746 error = pci_intr_alloc(pa, &sc->sc_intrs, counts, inttype);
1743 if (error != 0) { 1747 if (error != 0) {
1744 aprint_error_dev(sc->sc_dev, 1748 aprint_error_dev(sc->sc_dev,
1745 "failed to allocate%s interrupts\n", 1749 "failed to allocate%s interrupts\n",
1746 (inttype == PCI_INTR_TYPE_MSI) ? " MSI" : ""); 1750 (inttype == PCI_INTR_TYPE_MSI) ? " MSI" : "");
1747 return error; 1751 return error;
1748 } 1752 }
1749 error = aq_establish_intr(sc, 0, NULL, aq_legacy_intr, sc, 1753 error = aq_establish_intr(sc, 0, NULL, aq_legacy_intr, sc,
1750 device_xname(sc->sc_dev)); 1754 device_xname(sc->sc_dev));
1751 if (error == 0) { 1755 if (error == 0) {
1752 sc->sc_nintrs = nintr; 1756 sc->sc_nintrs = nintr;
1753 } else { 1757 } else {
1754 pci_intr_release(sc->sc_pc, sc->sc_intrs, nintr); 1758 pci_intr_release(sc->sc_pc, sc->sc_intrs, nintr);
1755 sc->sc_nintrs = 0; 1759 sc->sc_nintrs = 0;
1756 } 1760 }
1757 return error; 1761 return error;
1758} 1762}
1759 1763
1760static void 1764static void
1761global_software_reset(struct aq_softc *sc) 1765global_software_reset(struct aq_softc *sc)
1762{ 1766{
1763 uint32_t v; 1767 uint32_t v;
1764 1768
1765 AQ_WRITE_REG_BIT(sc, RX_SYSCONTROL_REG, RX_SYSCONTROL_RESET_DIS, 0); 1769 AQ_WRITE_REG_BIT(sc, RX_SYSCONTROL_REG, RX_SYSCONTROL_RESET_DIS, 0);
1766 AQ_WRITE_REG_BIT(sc, TX_SYSCONTROL_REG, TX_SYSCONTROL_RESET_DIS, 0); 1770 AQ_WRITE_REG_BIT(sc, TX_SYSCONTROL_REG, TX_SYSCONTROL_RESET_DIS, 0);
1767 AQ_WRITE_REG_BIT(sc, FW_MPI_RESETCTRL_REG, 1771 AQ_WRITE_REG_BIT(sc, FW_MPI_RESETCTRL_REG,
1768 FW_MPI_RESETCTRL_RESET_DIS, 0); 1772 FW_MPI_RESETCTRL_RESET_DIS, 0);
1769 1773
1770 v = AQ_READ_REG(sc, AQ_FW_SOFTRESET_REG); 1774 v = AQ_READ_REG(sc, AQ_FW_SOFTRESET_REG);
1771 v &= ~AQ_FW_SOFTRESET_DIS; 1775 v &= ~AQ_FW_SOFTRESET_DIS;
1772 v |= AQ_FW_SOFTRESET_RESET; 1776 v |= AQ_FW_SOFTRESET_RESET;
1773 AQ_WRITE_REG(sc, AQ_FW_SOFTRESET_REG, v); 1777 AQ_WRITE_REG(sc, AQ_FW_SOFTRESET_REG, v);
1774} 1778}
1775 1779
1776static int 1780static int
1777mac_soft_reset_rbl(struct aq_softc *sc, aq_fw_bootloader_mode_t *mode) 1781mac_soft_reset_rbl(struct aq_softc *sc, aq_fw_bootloader_mode_t *mode)
1778{ 1782{
1779 int timo; 1783 int timo;
1780 1784
1781 aprint_debug_dev(sc->sc_dev, "RBL> MAC reset STARTED!\n"); 1785 aprint_debug_dev(sc->sc_dev, "RBL> MAC reset STARTED!\n");
1782 1786
1783 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e1); 1787 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e1);
1784 AQ_WRITE_REG(sc, AQ_FW_GLB_CPU_SEM_REG(0), 1); 1788 AQ_WRITE_REG(sc, AQ_FW_GLB_CPU_SEM_REG(0), 1);
1785 AQ_WRITE_REG(sc, AQ_MBOXIF_POWER_GATING_CONTROL_REG, 0); 1789 AQ_WRITE_REG(sc, AQ_MBOXIF_POWER_GATING_CONTROL_REG, 0);
1786 1790
1787 /* MAC FW will reload PHY FW if 1E.1000.3 was cleaned - #undone */ 1791 /* MAC FW will reload PHY FW if 1E.1000.3 was cleaned - #undone */
1788 AQ_WRITE_REG(sc, FW_BOOT_EXIT_CODE_REG, RBL_STATUS_DEAD); 1792 AQ_WRITE_REG(sc, FW_BOOT_EXIT_CODE_REG, RBL_STATUS_DEAD);
1789 1793
1790 global_software_reset(sc); 1794 global_software_reset(sc);
1791 1795
1792 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e0); 1796 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e0);
1793 1797
1794 /* Wait for RBL to finish boot process. */ 1798 /* Wait for RBL to finish boot process. */
1795#define RBL_TIMEOUT_MS 10000 1799#define RBL_TIMEOUT_MS 10000
1796 uint16_t rbl_status; 1800 uint16_t rbl_status;
1797 for (timo = RBL_TIMEOUT_MS; timo > 0; timo--) { 1801 for (timo = RBL_TIMEOUT_MS; timo > 0; timo--) {
1798 rbl_status = AQ_READ_REG(sc, FW_BOOT_EXIT_CODE_REG) & 0xffff; 1802 rbl_status = AQ_READ_REG(sc, FW_BOOT_EXIT_CODE_REG) & 0xffff;
1799 if (rbl_status != 0 && rbl_status != RBL_STATUS_DEAD) 1803 if (rbl_status != 0 && rbl_status != RBL_STATUS_DEAD)
1800 break; 1804 break;
1801 msec_delay(1); 1805 msec_delay(1);
1802 } 1806 }
1803 if (timo <= 0) { 1807 if (timo <= 0) {
1804 aprint_error_dev(sc->sc_dev, 1808 aprint_error_dev(sc->sc_dev,
1805 "RBL> RBL restart failed: timeout\n"); 1809 "RBL> RBL restart failed: timeout\n");
1806 return EBUSY; 1810 return EBUSY;
1807 } 1811 }
1808 switch (rbl_status) { 1812 switch (rbl_status) {
1809 case RBL_STATUS_SUCCESS: 1813 case RBL_STATUS_SUCCESS:
1810 if (mode != NULL) 1814 if (mode != NULL)
1811 *mode = FW_BOOT_MODE_RBL_FLASH; 1815 *mode = FW_BOOT_MODE_RBL_FLASH;
1812 aprint_debug_dev(sc->sc_dev, "RBL> reset complete! [Flash]\n"); 1816 aprint_debug_dev(sc->sc_dev, "RBL> reset complete! [Flash]\n");
1813 break; 1817 break;
1814 case RBL_STATUS_HOST_BOOT: 1818 case RBL_STATUS_HOST_BOOT:
1815 if (mode != NULL) 1819 if (mode != NULL)
1816 *mode = FW_BOOT_MODE_RBL_HOST_BOOTLOAD; 1820 *mode = FW_BOOT_MODE_RBL_HOST_BOOTLOAD;
1817 aprint_debug_dev(sc->sc_dev, 1821 aprint_debug_dev(sc->sc_dev,
1818 "RBL> reset complete! [Host Bootload]\n"); 1822 "RBL> reset complete! [Host Bootload]\n");
1819 break; 1823 break;
1820 case RBL_STATUS_FAILURE: 1824 case RBL_STATUS_FAILURE:
1821 default: 1825 default:
1822 aprint_error_dev(sc->sc_dev, 1826 aprint_error_dev(sc->sc_dev,
1823 "unknown RBL status 0x%x\n", rbl_status); 1827 "unknown RBL status 0x%x\n", rbl_status);
1824 return EBUSY; 1828 return EBUSY;
1825 } 1829 }
1826 1830
1827 return 0; 1831 return 0;
1828} 1832}
1829 1833
1830static int 1834static int
1831mac_soft_reset_flb(struct aq_softc *sc) 1835mac_soft_reset_flb(struct aq_softc *sc)
1832{ 1836{
1833 uint32_t v; 1837 uint32_t v;
1834 int timo; 1838 int timo;
1835 1839
1836 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e1); 1840 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x40e1);
1837 /* 1841 /*
1838 * Let Felicity hardware to complete SMBUS transaction before 1842 * Let Felicity hardware to complete SMBUS transaction before
1839 * Global software reset. 1843 * Global software reset.
1840 */ 1844 */
1841 msec_delay(50); 1845 msec_delay(50);
1842 1846
1843 /* 1847 /*
1844 * If SPI burst transaction was interrupted(before running the script), 1848 * If SPI burst transaction was interrupted(before running the script),
1845 * global software reset may not clear SPI interface. 1849 * global software reset may not clear SPI interface.
1846 * Clean it up manually before global reset. 1850 * Clean it up manually before global reset.
1847 */ 1851 */
1848 AQ_WRITE_REG(sc, AQ_GLB_NVR_PROVISIONING2_REG, 0x00a0); 1852 AQ_WRITE_REG(sc, AQ_GLB_NVR_PROVISIONING2_REG, 0x00a0);
1849 AQ_WRITE_REG(sc, AQ_GLB_NVR_INTERFACE1_REG, 0x009f); 1853 AQ_WRITE_REG(sc, AQ_GLB_NVR_INTERFACE1_REG, 0x009f);
1850 AQ_WRITE_REG(sc, AQ_GLB_NVR_INTERFACE1_REG, 0x809f); 1854 AQ_WRITE_REG(sc, AQ_GLB_NVR_INTERFACE1_REG, 0x809f);
1851 msec_delay(50); 1855 msec_delay(50);
1852 1856
1853 v = AQ_READ_REG(sc, AQ_FW_SOFTRESET_REG); 1857 v = AQ_READ_REG(sc, AQ_FW_SOFTRESET_REG);
1854 v &= ~AQ_FW_SOFTRESET_DIS; 1858 v &= ~AQ_FW_SOFTRESET_DIS;
1855 v |= AQ_FW_SOFTRESET_RESET; 1859 v |= AQ_FW_SOFTRESET_RESET;
1856 AQ_WRITE_REG(sc, AQ_FW_SOFTRESET_REG, v); 1860 AQ_WRITE_REG(sc, AQ_FW_SOFTRESET_REG, v);
1857 1861
1858 /* Kickstart. */ 1862 /* Kickstart. */
1859 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x80e0); 1863 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x80e0);
1860 AQ_WRITE_REG(sc, AQ_MBOXIF_POWER_GATING_CONTROL_REG, 0); 1864 AQ_WRITE_REG(sc, AQ_MBOXIF_POWER_GATING_CONTROL_REG, 0);
1861 if (!sc->sc_fast_start_enabled) 1865 if (!sc->sc_fast_start_enabled)
1862 AQ_WRITE_REG(sc, AQ_GLB_GENERAL_PROVISIONING9_REG, 1); 1866 AQ_WRITE_REG(sc, AQ_GLB_GENERAL_PROVISIONING9_REG, 1);
1863 1867
1864 /* 1868 /*
1865 * For the case SPI burst transaction was interrupted (by MCP reset 1869 * For the case SPI burst transaction was interrupted (by MCP reset
1866 * above), wait until it is completed by hardware. 1870 * above), wait until it is completed by hardware.
1867 */ 1871 */
1868 msec_delay(50); 1872 msec_delay(50);
1869 1873
1870 /* MAC Kickstart */ 1874 /* MAC Kickstart */
1871 if (!sc->sc_fast_start_enabled) { 1875 if (!sc->sc_fast_start_enabled) {
1872 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x180e0); 1876 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x180e0);
1873 1877
1874 uint32_t flb_status; 1878 uint32_t flb_status;
1875 for (timo = 0; timo < 1000; timo++) { 1879 for (timo = 0; timo < 1000; timo++) {
1876 flb_status = AQ_READ_REG(sc, 1880 flb_status = AQ_READ_REG(sc,
1877 FW_MPI_DAISY_CHAIN_STATUS_REG) & 0x10; 1881 FW_MPI_DAISY_CHAIN_STATUS_REG) & 0x10;
1878 if (flb_status != 0) 1882 if (flb_status != 0)
1879 break; 1883 break;
1880 msec_delay(1); 1884 msec_delay(1);
1881 } 1885 }
1882 if (flb_status == 0) { 1886 if (flb_status == 0) {
1883 aprint_error_dev(sc->sc_dev, 1887 aprint_error_dev(sc->sc_dev,
1884 "FLB> MAC kickstart failed: timed out\n"); 1888 "FLB> MAC kickstart failed: timed out\n");
1885 return ETIMEDOUT; 1889 return ETIMEDOUT;
1886 } 1890 }
1887 aprint_debug_dev(sc->sc_dev, 1891 aprint_debug_dev(sc->sc_dev,
1888 "FLB> MAC kickstart done, %d ms\n", timo); 1892 "FLB> MAC kickstart done, %d ms\n", timo);
1889 /* FW reset */ 1893 /* FW reset */
1890 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x80e0); 1894 AQ_WRITE_REG(sc, AQ_FW_GLB_CTL2_REG, 0x80e0);
1891 /* 1895 /*
1892 * Let Felicity hardware complete SMBUS transaction before 1896 * Let Felicity hardware complete SMBUS transaction before
1893 * Global software reset. 1897 * Global software reset.
1894 */ 1898 */
1895 msec_delay(50); 1899 msec_delay(50);
1896 sc->sc_fast_start_enabled = true; 1900 sc->sc_fast_start_enabled = true;
1897 } 1901 }
1898 AQ_WRITE_REG(sc, AQ_FW_GLB_CPU_SEM_REG(0), 1); 1902 AQ_WRITE_REG(sc, AQ_FW_GLB_CPU_SEM_REG(0), 1);
1899 1903
1900 /* PHY Kickstart: #undone */ 1904 /* PHY Kickstart: #undone */
1901 global_software_reset(sc); 1905 global_software_reset(sc);
1902 1906
1903 for (timo = 0; timo < 1000; timo++) { 1907 for (timo = 0; timo < 1000; timo++) {
1904 if (AQ_READ_REG(sc, AQ_FW_VERSION_REG) != 0) 1908 if (AQ_READ_REG(sc, AQ_FW_VERSION_REG) != 0)
1905 break; 1909 break;
1906 msec_delay(10); 1910 msec_delay(10);
1907 } 1911 }
1908 if (timo >= 1000) { 1912 if (timo >= 1000) {
1909 aprint_error_dev(sc->sc_dev, "FLB> Global Soft Reset failed\n"); 1913 aprint_error_dev(sc->sc_dev, "FLB> Global Soft Reset failed\n");
1910 return ETIMEDOUT; 1914 return ETIMEDOUT;
1911 } 1915 }
1912 aprint_debug_dev(sc->sc_dev, "FLB> F/W restart: %d ms\n", timo * 10); 1916 aprint_debug_dev(sc->sc_dev, "FLB> F/W restart: %d ms\n", timo * 10);
1913 return 0; 1917 return 0;
1914 1918
1915} 1919}
1916 1920
1917static int 1921static int
1918mac_soft_reset(struct aq_softc *sc, aq_fw_bootloader_mode_t *mode) 1922mac_soft_reset(struct aq_softc *sc, aq_fw_bootloader_mode_t *mode)
1919{ 1923{
1920 if (sc->sc_rbl_enabled) 1924 if (sc->sc_rbl_enabled)
1921 return mac_soft_reset_rbl(sc, mode); 1925 return mac_soft_reset_rbl(sc, mode);
1922 1926
1923 if (mode != NULL) 1927 if (mode != NULL)
1924 *mode = FW_BOOT_MODE_FLB; 1928 *mode = FW_BOOT_MODE_FLB;
1925 return mac_soft_reset_flb(sc); 1929 return mac_soft_reset_flb(sc);
1926} 1930}
1927 1931
1928static int 1932static int
1929aq_fw_read_version(struct aq_softc *sc) 1933aq_fw_read_version(struct aq_softc *sc)
1930{ 1934{
1931 int i, error = EBUSY; 1935 int i, error = EBUSY;
1932#define MAC_FW_START_TIMEOUT_MS 10000 1936#define MAC_FW_START_TIMEOUT_MS 10000
1933 for (i = 0; i < MAC_FW_START_TIMEOUT_MS; i++) { 1937 for (i = 0; i < MAC_FW_START_TIMEOUT_MS; i++) {
1934 sc->sc_fw_version = AQ_READ_REG(sc, AQ_FW_VERSION_REG); 1938 sc->sc_fw_version = AQ_READ_REG(sc, AQ_FW_VERSION_REG);
1935 if (sc->sc_fw_version != 0) { 1939 if (sc->sc_fw_version != 0) {
1936 error = 0; 1940 error = 0;
1937 break; 1941 break;
1938 } 1942 }
1939 delay(1000); 1943 delay(1000);
1940 } 1944 }
1941 return error; 1945 return error;
1942} 1946}
1943 1947
1944static int 1948static int
1945aq_fw_reset(struct aq_softc *sc) 1949aq_fw_reset(struct aq_softc *sc)
1946{ 1950{
1947 uint32_t ver, v, bootExitCode; 1951 uint32_t ver, v, bootExitCode;
1948 int i, error; 1952 int i, error;
1949 1953
1950 ver = AQ_READ_REG(sc, AQ_FW_VERSION_REG); 1954 ver = AQ_READ_REG(sc, AQ_FW_VERSION_REG);
1951 1955
1952 for (i = 1000; i > 0; i--) { 1956 for (i = 1000; i > 0; i--) {
1953 v = AQ_READ_REG(sc, FW_MPI_DAISY_CHAIN_STATUS_REG); 1957 v = AQ_READ_REG(sc, FW_MPI_DAISY_CHAIN_STATUS_REG);
1954 bootExitCode = AQ_READ_REG(sc, FW_BOOT_EXIT_CODE_REG); 1958 bootExitCode = AQ_READ_REG(sc, FW_BOOT_EXIT_CODE_REG);
1955 if (v != 0x06000000 || bootExitCode != 0) 1959 if (v != 0x06000000 || bootExitCode != 0)
1956 break; 1960 break;
1957 } 1961 }
1958 if (i <= 0) { 1962 if (i <= 0) {
1959 aprint_error_dev(sc->sc_dev, 1963 aprint_error_dev(sc->sc_dev,
1960 "F/W reset failed. Neither RBL nor FLB started\n"); 1964 "F/W reset failed. Neither RBL nor FLB started\n");
1961 return ETIMEDOUT; 1965 return ETIMEDOUT;
1962 } 1966 }
1963 sc->sc_rbl_enabled = (bootExitCode != 0); 1967 sc->sc_rbl_enabled = (bootExitCode != 0);
1964 1968
1965 /* 1969 /*
1966 * Having FW version 0 is an indicator that cold start 1970 * Having FW version 0 is an indicator that cold start
1967 * is in progress. This means two things: 1971 * is in progress. This means two things:
1968 * 1) Driver have to wait for FW/HW to finish boot (500ms giveup) 1972 * 1) Driver have to wait for FW/HW to finish boot (500ms giveup)
1969 * 2) Driver may skip reset sequence and save time. 1973 * 2) Driver may skip reset sequence and save time.
1970 */ 1974 */
1971 if (sc->sc_fast_start_enabled && (ver != 0)) { 1975 if (sc->sc_fast_start_enabled && (ver != 0)) {
1972 error = aq_fw_read_version(sc); 1976 error = aq_fw_read_version(sc);
1973 /* Skip reset as it just completed */ 1977 /* Skip reset as it just completed */
1974 if (error == 0) 1978 if (error == 0)
1975 return 0; 1979 return 0;
1976 } 1980 }
1977 1981
1978 aq_fw_bootloader_mode_t mode = FW_BOOT_MODE_UNKNOWN; 1982 aq_fw_bootloader_mode_t mode = FW_BOOT_MODE_UNKNOWN;
1979 error = mac_soft_reset(sc, &mode); 1983 error = mac_soft_reset(sc, &mode);
1980 if (error != 0) { 1984 if (error != 0) {
1981 aprint_error_dev(sc->sc_dev, "MAC reset failed: %d\n", error); 1985 aprint_error_dev(sc->sc_dev, "MAC reset failed: %d\n", error);
1982 return error; 1986 return error;
1983 } 1987 }
1984 1988
1985 switch (mode) { 1989 switch (mode) {
1986 case FW_BOOT_MODE_FLB: 1990 case FW_BOOT_MODE_FLB:
1987 aprint_debug_dev(sc->sc_dev, 1991 aprint_debug_dev(sc->sc_dev,
1988 "FLB> F/W successfully loaded from flash.\n"); 1992 "FLB> F/W successfully loaded from flash.\n");
1989 sc->sc_flash_present = true; 1993 sc->sc_flash_present = true;
1990 return aq_fw_read_version(sc); 1994 return aq_fw_read_version(sc);
1991 case FW_BOOT_MODE_RBL_FLASH: 1995 case FW_BOOT_MODE_RBL_FLASH:
1992 aprint_debug_dev(sc->sc_dev, 1996 aprint_debug_dev(sc->sc_dev,
1993 "RBL> F/W loaded from flash. Host Bootload disabled.\n"); 1997 "RBL> F/W loaded from flash. Host Bootload disabled.\n");
1994 sc->sc_flash_present = true; 1998 sc->sc_flash_present = true;
1995 return aq_fw_read_version(sc); 1999 return aq_fw_read_version(sc);
1996 case FW_BOOT_MODE_UNKNOWN: 2000 case FW_BOOT_MODE_UNKNOWN:
1997 aprint_error_dev(sc->sc_dev, 2001 aprint_error_dev(sc->sc_dev,
1998 "F/W bootload error: unknown bootloader type\n"); 2002 "F/W bootload error: unknown bootloader type\n");
1999 return ENOTSUP; 2003 return ENOTSUP;
2000 case FW_BOOT_MODE_RBL_HOST_BOOTLOAD: 2004 case FW_BOOT_MODE_RBL_HOST_BOOTLOAD:
2001 aprint_debug_dev(sc->sc_dev, "RBL> Host Bootload mode\n"); 2005 aprint_debug_dev(sc->sc_dev, "RBL> Host Bootload mode\n");
2002 break; 2006 break;
2003 } 2007 }
2004 2008
2005 /* 2009 /*
2006 * XXX: TODO: add support Host Boot 2010 * XXX: TODO: add support Host Boot
2007 */ 2011 */
2008 aprint_error_dev(sc->sc_dev, 2012 aprint_error_dev(sc->sc_dev,
2009 "RBL> F/W Host Bootload not implemented\n"); 2013 "RBL> F/W Host Bootload not implemented\n");
2010 return ENOTSUP; 2014 return ENOTSUP;
2011} 2015}
2012 2016
2013static int 2017static int
2014aq_hw_reset(struct aq_softc *sc) 2018aq_hw_reset(struct aq_softc *sc)
2015{ 2019{
2016 int error; 2020 int error;
2017 2021
2018 /* disable irq */ 2022 /* disable irq */
2019 AQ_WRITE_REG_BIT(sc, AQ_INTR_CTRL_REG, AQ_INTR_CTRL_RESET_DIS, 0); 2023 AQ_WRITE_REG_BIT(sc, AQ_INTR_CTRL_REG, AQ_INTR_CTRL_RESET_DIS, 0);
2020 2024
2021 /* apply */ 2025 /* apply */
2022 AQ_WRITE_REG_BIT(sc, AQ_INTR_CTRL_REG, AQ_INTR_CTRL_RESET_IRQ, 1); 2026 AQ_WRITE_REG_BIT(sc, AQ_INTR_CTRL_REG, AQ_INTR_CTRL_RESET_IRQ, 1);
2023 2027
2024 /* wait ack 10 times by 1ms */ 2028 /* wait ack 10 times by 1ms */
2025 WAIT_FOR( 2029 WAIT_FOR(
2026 (AQ_READ_REG(sc, AQ_INTR_CTRL_REG) & AQ_INTR_CTRL_RESET_IRQ) == 0, 2030 (AQ_READ_REG(sc, AQ_INTR_CTRL_REG) & AQ_INTR_CTRL_RESET_IRQ) == 0,
2027 1000, 10, &error); 2031 1000, 10, &error);
2028 if (error != 0) { 2032 if (error != 0) {
2029 aprint_error_dev(sc->sc_dev, 2033 aprint_error_dev(sc->sc_dev,
2030 "atlantic: IRQ reset failed: %d\n", error); 2034 "atlantic: IRQ reset failed: %d\n", error);
2031 return error; 2035 return error;
2032 } 2036 }
2033 2037
2034 return sc->sc_fw_ops->reset(sc); 2038 return sc->sc_fw_ops->reset(sc);
2035} 2039}
2036 2040
2037static int 2041static int
2038aq_hw_init_ucp(struct aq_softc *sc) 2042aq_hw_init_ucp(struct aq_softc *sc)
2039{ 2043{
2040 int timo; 2044 int timo;
2041 2045
2042 if (FW_VERSION_MAJOR(sc) == 1) { 2046 if (FW_VERSION_MAJOR(sc) == 1) {
2043 if (AQ_READ_REG(sc, FW1X_MPI_INIT2_REG) == 0) { 2047 if (AQ_READ_REG(sc, FW1X_MPI_INIT2_REG) == 0) {
2044 uint32_t data; 2048 uint32_t data;
2045 cprng_fast(&data, sizeof(data)); 2049 cprng_fast(&data, sizeof(data));
2046 data &= 0xfefefefe; 2050 data &= 0xfefefefe;
2047 data |= 0x02020202; 2051 data |= 0x02020202;
2048 AQ_WRITE_REG(sc, FW1X_MPI_INIT2_REG, data); 2052 AQ_WRITE_REG(sc, FW1X_MPI_INIT2_REG, data);
2049 } 2053 }
2050 AQ_WRITE_REG(sc, FW1X_MPI_INIT1_REG, 0); 2054 AQ_WRITE_REG(sc, FW1X_MPI_INIT1_REG, 0);
2051 } 2055 }
2052 2056
2053 for (timo = 100; timo > 0; timo--) { 2057 for (timo = 100; timo > 0; timo--) {
2054 sc->sc_mbox_addr = AQ_READ_REG(sc, FW_MPI_MBOX_ADDR_REG); 2058 sc->sc_mbox_addr = AQ_READ_REG(sc, FW_MPI_MBOX_ADDR_REG);
2055 if (sc->sc_mbox_addr != 0) 2059 if (sc->sc_mbox_addr != 0)
2056 break; 2060 break;
2057 delay(1000); 2061 delay(1000);
2058 } 2062 }
2059 2063
2060#define AQ_FW_MIN_VERSION 0x01050006 2064#define AQ_FW_MIN_VERSION 0x01050006
2061#define AQ_FW_MIN_VERSION_STR "1.5.6" 2065#define AQ_FW_MIN_VERSION_STR "1.5.6"
2062 if (sc->sc_fw_version < AQ_FW_MIN_VERSION) { 2066 if (sc->sc_fw_version < AQ_FW_MIN_VERSION) {
2063 aprint_error_dev(sc->sc_dev, 2067 aprint_error_dev(sc->sc_dev,
2064 "atlantic: wrong FW version: " AQ_FW_MIN_VERSION_STR 2068 "atlantic: wrong FW version: " AQ_FW_MIN_VERSION_STR
2065 " or later required, this is %d.%d.%d\n", 2069 " or later required, this is %d.%d.%d\n",
2066 FW_VERSION_MAJOR(sc), 2070 FW_VERSION_MAJOR(sc),
2067 FW_VERSION_MINOR(sc), 2071 FW_VERSION_MINOR(sc),
2068 FW_VERSION_BUILD(sc)); 2072 FW_VERSION_BUILD(sc));
2069 return ENOTSUP; 2073 return ENOTSUP;
2070 } 2074 }
2071 2075
2072 return 0; 2076 return 0;
2073} 2077}
2074 2078
2075static int 2079static int
2076aq_fw_version_init(struct aq_softc *sc) 2080aq_fw_version_init(struct aq_softc *sc)
2077{ 2081{
2078 int error = 0; 2082 int error = 0;
2079 char fw_vers[sizeof("F/W version xxxxx.xxxxx.xxxxx")]; 2083 char fw_vers[sizeof("F/W version xxxxx.xxxxx.xxxxx")];
2080 2084
2081 if (FW_VERSION_MAJOR(sc) == 1) { 2085 if (FW_VERSION_MAJOR(sc) == 1) {
2082 sc->sc_fw_ops = &aq_fw1x_ops; 2086 sc->sc_fw_ops = &aq_fw1x_ops;
2083 } else if ((FW_VERSION_MAJOR(sc) == 2) || (FW_VERSION_MAJOR(sc) == 3)) { 2087 } else if ((FW_VERSION_MAJOR(sc) == 2) || (FW_VERSION_MAJOR(sc) == 3)) {
2084 sc->sc_fw_ops = &aq_fw2x_ops; 2088 sc->sc_fw_ops = &aq_fw2x_ops;
2085 } else { 2089 } else {
2086 aprint_error_dev(sc->sc_dev, 2090 aprint_error_dev(sc->sc_dev,
2087 "Unsupported F/W version %d.%d.%d\n", 2091 "Unsupported F/W version %d.%d.%d\n",
2088 FW_VERSION_MAJOR(sc), FW_VERSION_MINOR(sc), 2092 FW_VERSION_MAJOR(sc), FW_VERSION_MINOR(sc),
2089 FW_VERSION_BUILD(sc)); 2093 FW_VERSION_BUILD(sc));
2090 return ENOTSUP; 2094 return ENOTSUP;
2091 } 2095 }
2092 snprintf(fw_vers, sizeof(fw_vers), "F/W version %d.%d.%d", 2096 snprintf(fw_vers, sizeof(fw_vers), "F/W version %d.%d.%d",
2093 FW_VERSION_MAJOR(sc), FW_VERSION_MINOR(sc), FW_VERSION_BUILD(sc)); 2097 FW_VERSION_MAJOR(sc), FW_VERSION_MINOR(sc), FW_VERSION_BUILD(sc));
2094 2098
2095 /* detect revision */ 2099 /* detect revision */
2096 uint32_t hwrev = AQ_READ_REG(sc, AQ_HW_REVISION_REG); 2100 uint32_t hwrev = AQ_READ_REG(sc, AQ_HW_REVISION_REG);
2097 switch (hwrev & 0x0000000f) { 2101 switch (hwrev & 0x0000000f) {
2098 case 0x01: 2102 case 0x01:
2099 aprint_normal_dev(sc->sc_dev, "Atlantic revision A0, %s\n", 2103 aprint_normal_dev(sc->sc_dev, "Atlantic revision A0, %s\n",
2100 fw_vers); 2104 fw_vers);
2101 sc->sc_features |= FEATURES_REV_A0 | 2105 sc->sc_features |= FEATURES_REV_A0 |
2102 FEATURES_MPI_AQ | FEATURES_MIPS; 2106 FEATURES_MPI_AQ | FEATURES_MIPS;
2103 break; 2107 break;
2104 case 0x02: 2108 case 0x02:
2105 aprint_normal_dev(sc->sc_dev, "Atlantic revision B0, %s\n", 2109 aprint_normal_dev(sc->sc_dev, "Atlantic revision B0, %s\n",
2106 fw_vers); 2110 fw_vers);
2107 sc->sc_features |= FEATURES_REV_B0 | 2111 sc->sc_features |= FEATURES_REV_B0 |
2108 FEATURES_MPI_AQ | FEATURES_MIPS | 2112 FEATURES_MPI_AQ | FEATURES_MIPS |
2109 FEATURES_TPO2 | FEATURES_RPF2; 2113 FEATURES_TPO2 | FEATURES_RPF2;
2110 break; 2114 break;
2111 case 0x0A: 2115 case 0x0A:
2112 aprint_normal_dev(sc->sc_dev, "Atlantic revision B1, %s\n", 2116 aprint_normal_dev(sc->sc_dev, "Atlantic revision B1, %s\n",
2113 fw_vers); 2117 fw_vers);
2114 sc->sc_features |= FEATURES_REV_B1 | 2118 sc->sc_features |= FEATURES_REV_B1 |
2115 FEATURES_MPI_AQ | FEATURES_MIPS | 2119 FEATURES_MPI_AQ | FEATURES_MIPS |
2116 FEATURES_TPO2 | FEATURES_RPF2; 2120 FEATURES_TPO2 | FEATURES_RPF2;
2117 break; 2121 break;
2118 default: 2122 default:
2119 aprint_error_dev(sc->sc_dev, 2123 aprint_error_dev(sc->sc_dev,
2120 "Unknown revision (0x%08x)\n", hwrev); 2124 "Unknown revision (0x%08x)\n", hwrev);
2121 error = ENOTSUP; 2125 error = ENOTSUP;
2122 break; 2126 break;
2123 } 2127 }
2124 return error; 2128 return error;
2125} 2129}
2126 2130
2127static int 2131static int
2128fw1x_reset(struct aq_softc *sc) 2132fw1x_reset(struct aq_softc *sc)
2129{ 2133{
2130 struct aq_mailbox_header mbox; 2134 struct aq_mailbox_header mbox;
2131 const int retryCount = 1000; 2135 const int retryCount = 1000;
2132 uint32_t tid0; 2136 uint32_t tid0;
2133 int i; 2137 int i;
2134 2138
2135 tid0 = ~0; /*< Initial value of MBOX transactionId. */ 2139 tid0 = ~0; /*< Initial value of MBOX transactionId. */
2136 2140
2137 for (i = 0; i < retryCount; ++i) { 2141 for (i = 0; i < retryCount; ++i) {
2138 /* 2142 /*
2139 * Read the beginning of Statistics structure to capture 2143 * Read the beginning of Statistics structure to capture
2140 * the Transaction ID. 2144 * the Transaction ID.
2141 */ 2145 */
2142 aq_fw_downld_dwords(sc, sc->sc_mbox_addr, 2146 aq_fw_downld_dwords(sc, sc->sc_mbox_addr,
2143 (uint32_t *)&mbox, sizeof(mbox) / sizeof(uint32_t)); 2147 (uint32_t *)&mbox, sizeof(mbox) / sizeof(uint32_t));
2144 2148
2145 /* Successfully read the stats. */ 2149 /* Successfully read the stats. */
2146 if (tid0 == ~0U) { 2150 if (tid0 == ~0U) {
2147 /* We have read the initial value. */ 2151 /* We have read the initial value. */
2148 tid0 = mbox.transaction_id; 2152 tid0 = mbox.transaction_id;
2149 continue; 2153 continue;
2150 } else if (mbox.transaction_id != tid0) { 2154 } else if (mbox.transaction_id != tid0) {
2151 /* 2155 /*
2152 * Compare transaction ID to initial value. 2156 * Compare transaction ID to initial value.
2153 * If it's different means f/w is alive. 2157 * If it's different means f/w is alive.
2154 * We're done. 2158 * We're done.
2155 */ 2159 */

cvs diff -r1.1410 -r1.1411 src/sys/dev/pci/pcidevs (switch to unified diff)

--- src/sys/dev/pci/pcidevs 2020/04/22 15:39:59 1.1410
+++ src/sys/dev/pci/pcidevs 2020/04/22 22:54:43 1.1411
@@ -1,2294 +1,2295 @@ @@ -1,2294 +1,2295 @@
1$NetBSD: pcidevs,v 1.1410 2020/04/22 15:39:59 prlw1 Exp $ 1$NetBSD: pcidevs,v 1.1411 2020/04/22 22:54:43 christos Exp $
2 2
3/* 3/*
4 * Copyright (c) 1995, 1996 Christopher G. Demetriou 4 * Copyright (c) 1995, 1996 Christopher G. Demetriou
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer. 11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright 12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution. 14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software 15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement: 16 * must display the following acknowledgement:
17 * This product includes software developed by Christopher G. Demetriou 17 * This product includes software developed by Christopher G. Demetriou
18 * for the NetBSD Project. 18 * for the NetBSD Project.
19 * 4. The name of the author may not be used to endorse or promote products 19 * 4. The name of the author may not be used to endorse or promote products
20 * derived from this software without specific prior written permission 20 * derived from this software without specific prior written permission
21 * 21 *
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */ 32 */
33 33
34/* 34/*
35 * NOTE: a fairly complete list of PCI codes can be found at: 35 * NOTE: a fairly complete list of PCI codes can be found at:
36 * 36 *
37 * https://pci-ids.ucw.cz/ 37 * https://pci-ids.ucw.cz/
38 * 38 *
39 * (but it doesn't always seem to match vendor documentation) 39 * (but it doesn't always seem to match vendor documentation)
40 * 40 *
41 * NOTE: As per tron@NetBSD.org, the proper update procedure is 41 * NOTE: As per tron@NetBSD.org, the proper update procedure is
42 * 42 *
43 * 1.) Change "src/sys/dev/pci/pcidevs". 43 * 1.) Change "src/sys/dev/pci/pcidevs".
44 * 2.) Commit "src/sys/dev/pci/pcidevs". 44 * 2.) Commit "src/sys/dev/pci/pcidevs".
45 * 3.) Execute "make -f Makefile.pcidevs" in "src/sys/dev/pci". 45 * 3.) Execute "make -f Makefile.pcidevs" in "src/sys/dev/pci".
46 * 4.) Commit "src/sys/dev/pci/pcidevs.h" and "src/sys/dev/pci/pcidevs_data.h". 46 * 4.) Commit "src/sys/dev/pci/pcidevs.h" and "src/sys/dev/pci/pcidevs_data.h".
47 */ 47 */
48 48
49/* 49/*
50 * Use "make -f Makefile.pcidevs" to regenerate pcidevs.h and pcidevs_data.h 50 * Use "make -f Makefile.pcidevs" to regenerate pcidevs.h and pcidevs_data.h
51 */ 51 */
52 52
53/* 53/*
54 * List of known PCI vendors 54 * List of known PCI vendors
55 */ 55 */
56 56
57vendor PEAK 0x001c Peak System Technik 57vendor PEAK 0x001c Peak System Technik
58vendor MARTINMARIETTA 0x003d Martin-Marietta 58vendor MARTINMARIETTA 0x003d Martin-Marietta
59vendor HAUPPAUGE 0x0070 Hauppauge Computer Works 59vendor HAUPPAUGE 0x0070 Hauppauge Computer Works
60vendor DYNALINK 0x0675 Dynalink 60vendor DYNALINK 0x0675 Dynalink
61vendor COMPAQ 0x0e11 Compaq 61vendor COMPAQ 0x0e11 Compaq
62vendor SYMBIOS 0x1000 Symbios Logic 62vendor SYMBIOS 0x1000 Symbios Logic
63vendor ATI 0x1002 ATI Technologies 63vendor ATI 0x1002 ATI Technologies
64vendor ULSI 0x1003 ULSI Systems 64vendor ULSI 0x1003 ULSI Systems
65vendor VLSI 0x1004 VLSI Technology 65vendor VLSI 0x1004 VLSI Technology
66vendor AVANCE 0x1005 Avance Logic 66vendor AVANCE 0x1005 Avance Logic
67vendor REPLY 0x1006 Reply Group 67vendor REPLY 0x1006 Reply Group
68vendor NETFRAME 0x1007 NetFrame Systems 68vendor NETFRAME 0x1007 NetFrame Systems
69vendor EPSON 0x1008 Epson 69vendor EPSON 0x1008 Epson
70vendor PHOENIX 0x100a Phoenix Technologies 70vendor PHOENIX 0x100a Phoenix Technologies
71vendor NS 0x100b National Semiconductor 71vendor NS 0x100b National Semiconductor
72vendor TSENG 0x100c Tseng Labs 72vendor TSENG 0x100c Tseng Labs
73vendor AST 0x100d AST Research 73vendor AST 0x100d AST Research
74vendor WEITEK 0x100e Weitek 74vendor WEITEK 0x100e Weitek
75vendor VIDEOLOGIC 0x1010 Video Logic 75vendor VIDEOLOGIC 0x1010 Video Logic
76vendor DEC 0x1011 Digital Equipment 76vendor DEC 0x1011 Digital Equipment
77vendor MICRONICS 0x1012 Micronics Computers 77vendor MICRONICS 0x1012 Micronics Computers
78vendor CIRRUS 0x1013 Cirrus Logic 78vendor CIRRUS 0x1013 Cirrus Logic
79vendor IBM 0x1014 IBM 79vendor IBM 0x1014 IBM
80vendor LSIL 0x1015 LSI Logic of Canada 80vendor LSIL 0x1015 LSI Logic of Canada
81vendor ICLPERSONAL 0x1016 ICL Personal Systems 81vendor ICLPERSONAL 0x1016 ICL Personal Systems
82vendor SPEA 0x1017 SPEA Software 82vendor SPEA 0x1017 SPEA Software
83vendor UNISYS 0x1018 Unisys Systems 83vendor UNISYS 0x1018 Unisys Systems
84vendor ELITEGROUP 0x1019 Elitegroup Computer Systems 84vendor ELITEGROUP 0x1019 Elitegroup Computer Systems
85vendor NCR 0x101a AT&T Global Information Systems 85vendor NCR 0x101a AT&T Global Information Systems
86vendor VITESSE 0x101b Vitesse Semiconductor 86vendor VITESSE 0x101b Vitesse Semiconductor
87vendor WD 0x101c Western Digital 87vendor WD 0x101c Western Digital
88vendor AMI 0x101e American Megatrends 88vendor AMI 0x101e American Megatrends
89vendor PICTURETEL 0x101f PictureTel 89vendor PICTURETEL 0x101f PictureTel
90vendor HITACHICOMP 0x1020 Hitachi Computer Products 90vendor HITACHICOMP 0x1020 Hitachi Computer Products
91vendor OKI 0x1021 OKI Electric Industry 91vendor OKI 0x1021 OKI Electric Industry
92vendor AMD 0x1022 AMD 92vendor AMD 0x1022 AMD
93vendor TRIDENT 0x1023 Trident Microsystems 93vendor TRIDENT 0x1023 Trident Microsystems
94vendor ZENITH 0x1024 Zenith Data Systems 94vendor ZENITH 0x1024 Zenith Data Systems
95vendor ACER 0x1025 Acer 95vendor ACER 0x1025 Acer
96vendor DELL 0x1028 Dell Computer 96vendor DELL 0x1028 Dell Computer
97vendor SNI 0x1029 Siemens Nixdorf AG 97vendor SNI 0x1029 Siemens Nixdorf AG
98vendor LSILOGIC 0x102a LSI Logic, Headland div. 98vendor LSILOGIC 0x102a LSI Logic, Headland div.
99vendor MATROX 0x102b Matrox 99vendor MATROX 0x102b Matrox
100vendor CHIPS 0x102c Chips and Technologies 100vendor CHIPS 0x102c Chips and Technologies
101vendor WYSE 0x102d WYSE Technology 101vendor WYSE 0x102d WYSE Technology
102vendor OLIVETTI 0x102e Olivetti Advanced Technology 102vendor OLIVETTI 0x102e Olivetti Advanced Technology
103vendor TOSHIBA 0x102f Toshiba America 103vendor TOSHIBA 0x102f Toshiba America
104vendor TMCRESEARCH 0x1030 TMC Research 104vendor TMCRESEARCH 0x1030 TMC Research
105vendor MIRO 0x1031 Miro Computer Products 105vendor MIRO 0x1031 Miro Computer Products
106vendor COMPAQ2 0x1032 Compaq (2nd PCI Vendor ID) 106vendor COMPAQ2 0x1032 Compaq (2nd PCI Vendor ID)
107vendor NEC 0x1033 NEC 107vendor NEC 0x1033 NEC
108vendor BURNDY 0x1034 Burndy 108vendor BURNDY 0x1034 Burndy
109vendor COMPCOMM 0x1035 Comp. & Comm. Research Lab 109vendor COMPCOMM 0x1035 Comp. & Comm. Research Lab
110vendor FUTUREDOMAIN 0x1036 Future Domain 110vendor FUTUREDOMAIN 0x1036 Future Domain
111vendor HITACHIMICRO 0x1037 Hitach Microsystems 111vendor HITACHIMICRO 0x1037 Hitach Microsystems
112vendor AMP 0x1038 AMP 112vendor AMP 0x1038 AMP
113vendor SIS 0x1039 Silicon Integrated System 113vendor SIS 0x1039 Silicon Integrated System
114vendor SEIKOEPSON 0x103a Seiko Epson 114vendor SEIKOEPSON 0x103a Seiko Epson
115vendor TATUNGAMERICA 0x103b Tatung of America 115vendor TATUNGAMERICA 0x103b Tatung of America
116vendor HP 0x103c Hewlett-Packard 116vendor HP 0x103c Hewlett-Packard
117vendor SOLLIDAY 0x103e Solliday Engineering 117vendor SOLLIDAY 0x103e Solliday Engineering
118vendor LOGICMODELLING 0x103f Logic Modeling 118vendor LOGICMODELLING 0x103f Logic Modeling
119vendor KPC 0x1040 Kubota Pacific 119vendor KPC 0x1040 Kubota Pacific
120vendor COMPUTREND 0x1041 Computrend 120vendor COMPUTREND 0x1041 Computrend
121vendor PCTECH 0x1042 PC Technology 121vendor PCTECH 0x1042 PC Technology
122vendor ASUSTEK 0x1043 Asustek Computer 122vendor ASUSTEK 0x1043 Asustek Computer
123vendor DPT 0x1044 Distributed Processing Technology 123vendor DPT 0x1044 Distributed Processing Technology
124vendor OPTI 0x1045 Opti 124vendor OPTI 0x1045 Opti
125vendor IPCCORP 0x1046 IPC 125vendor IPCCORP 0x1046 IPC
126vendor GENOA 0x1047 Genoa Systems 126vendor GENOA 0x1047 Genoa Systems
127vendor ELSA 0x1048 Elsa 127vendor ELSA 0x1048 Elsa
128vendor FOUNTAINTECH 0x1049 Fountain Technology 128vendor FOUNTAINTECH 0x1049 Fountain Technology
129vendor SGSTHOMSON 0x104a SGS-Thomson Microelectronics 129vendor SGSTHOMSON 0x104a SGS-Thomson Microelectronics
130vendor BUSLOGIC 0x104b BusLogic 130vendor BUSLOGIC 0x104b BusLogic
131vendor TI 0x104c Texas Instruments 131vendor TI 0x104c Texas Instruments
132vendor SONY 0x104d Sony 132vendor SONY 0x104d Sony
133vendor OAKTECH 0x104e Oak Technology 133vendor OAKTECH 0x104e Oak Technology
134vendor COTIME 0x104f Co-time Computer 134vendor COTIME 0x104f Co-time Computer
135vendor WINBOND 0x1050 Winbond Electronics 135vendor WINBOND 0x1050 Winbond Electronics
136vendor ANIGMA 0x1051 Anigma 136vendor ANIGMA 0x1051 Anigma
137vendor YOUNGMICRO 0x1052 Young Micro Systems 137vendor YOUNGMICRO 0x1052 Young Micro Systems
138vendor HITACHI 0x1054 Hitachi 138vendor HITACHI 0x1054 Hitachi
139vendor EFARMICRO 0x1055 Efar Microsystems 139vendor EFARMICRO 0x1055 Efar Microsystems
140vendor ICL 0x1056 ICL 140vendor ICL 0x1056 ICL
141vendor MOT 0x1057 Motorola 141vendor MOT 0x1057 Motorola
142vendor ETR 0x1058 Electronics & Telec. RSH 142vendor ETR 0x1058 Electronics & Telec. RSH
143vendor TEKNOR 0x1059 Teknor Microsystems 143vendor TEKNOR 0x1059 Teknor Microsystems
144vendor PROMISE 0x105a Promise Technology 144vendor PROMISE 0x105a Promise Technology
145vendor FOXCONN 0x105b Foxconn International 145vendor FOXCONN 0x105b Foxconn International
146vendor WIPRO 0x105c Wipro Infotech 146vendor WIPRO 0x105c Wipro Infotech
147vendor NUMBER9 0x105d Number 9 Computer Company 147vendor NUMBER9 0x105d Number 9 Computer Company
148vendor VTECH 0x105e Vtech Computers 148vendor VTECH 0x105e Vtech Computers
149vendor INFOTRONIC 0x105f Infotronic America 149vendor INFOTRONIC 0x105f Infotronic America
150vendor UMC 0x1060 United Microelectronics 150vendor UMC 0x1060 United Microelectronics
151vendor ITT 0x1061 I. T. T. 151vendor ITT 0x1061 I. T. T.
152vendor MASPAR 0x1062 MasPar Computer 152vendor MASPAR 0x1062 MasPar Computer
153vendor OCEANOA 0x1063 Ocean Office Automation 153vendor OCEANOA 0x1063 Ocean Office Automation
154vendor ALCATEL 0x1064 Alcatel CIT 154vendor ALCATEL 0x1064 Alcatel CIT
155vendor TEXASMICRO 0x1065 Texas Microsystems 155vendor TEXASMICRO 0x1065 Texas Microsystems
156vendor PICOPOWER 0x1066 Picopower Technology 156vendor PICOPOWER 0x1066 Picopower Technology
157vendor MITSUBISHI 0x1067 Mitsubishi Electronics 157vendor MITSUBISHI 0x1067 Mitsubishi Electronics
158vendor DIVERSIFIED 0x1068 Diversified Technology 158vendor DIVERSIFIED 0x1068 Diversified Technology
159vendor MYLEX 0x1069 Mylex 159vendor MYLEX 0x1069 Mylex
160vendor ATEN 0x106a Aten Research 160vendor ATEN 0x106a Aten Research
161vendor APPLE 0x106b Apple Computer 161vendor APPLE 0x106b Apple Computer
162vendor HYUNDAI 0x106c Hyundai Electronics America 162vendor HYUNDAI 0x106c Hyundai Electronics America
163vendor SEQUENT 0x106d Sequent 163vendor SEQUENT 0x106d Sequent
164vendor DFI 0x106e DFI 164vendor DFI 0x106e DFI
165vendor CITYGATE 0x106f City Gate Development 165vendor CITYGATE 0x106f City Gate Development
166vendor DAEWOO 0x1070 Daewoo Telecom 166vendor DAEWOO 0x1070 Daewoo Telecom
167vendor MITAC 0x1071 Mitac 167vendor MITAC 0x1071 Mitac
168vendor GIT 0x1072 GIT 168vendor GIT 0x1072 GIT
169vendor YAMAHA 0x1073 Yamaha 169vendor YAMAHA 0x1073 Yamaha
170vendor NEXGEN 0x1074 NexGen Microsystems 170vendor NEXGEN 0x1074 NexGen Microsystems
171vendor AIR 0x1075 Advanced Integration Research 171vendor AIR 0x1075 Advanced Integration Research
172vendor CHAINTECH 0x1076 Chaintech Computer 172vendor CHAINTECH 0x1076 Chaintech Computer
173vendor QLOGIC 0x1077 QLogic 173vendor QLOGIC 0x1077 QLogic
174vendor CYRIX 0x1078 Cyrix 174vendor CYRIX 0x1078 Cyrix
175vendor IBUS 0x1079 I-Bus 175vendor IBUS 0x1079 I-Bus
176vendor NETWORTH 0x107a NetWorth 176vendor NETWORTH 0x107a NetWorth
177vendor GATEWAY 0x107b Gateway 2000 177vendor GATEWAY 0x107b Gateway 2000
178vendor GOLDSTAR 0x107c Goldstar 178vendor GOLDSTAR 0x107c Goldstar
179vendor LEADTEK 0x107d LeadTek Research 179vendor LEADTEK 0x107d LeadTek Research
180vendor INTERPHASE 0x107e Interphase 180vendor INTERPHASE 0x107e Interphase
181vendor DATATECH 0x107f Data Technology 181vendor DATATECH 0x107f Data Technology
182vendor CONTAQ 0x1080 Contaq Microsystems 182vendor CONTAQ 0x1080 Contaq Microsystems
183vendor SUPERMAC 0x1081 Supermac Technology 183vendor SUPERMAC 0x1081 Supermac Technology
184vendor EFA 0x1082 EFA of America 184vendor EFA 0x1082 EFA of America
185vendor FOREX 0x1083 Forex Computer 185vendor FOREX 0x1083 Forex Computer
186vendor PARADOR 0x1084 Parador 186vendor PARADOR 0x1084 Parador
187vendor TULIP 0x1085 Tulip Computers 187vendor TULIP 0x1085 Tulip Computers
188vendor JBOND 0x1086 J. Bond Computer Systems 188vendor JBOND 0x1086 J. Bond Computer Systems
189vendor CACHECOMP 0x1087 Cache Computer 189vendor CACHECOMP 0x1087 Cache Computer
190vendor MICROCOMP 0x1088 Microcomputer Systems 190vendor MICROCOMP 0x1088 Microcomputer Systems
191vendor DG 0x1089 Data General 191vendor DG 0x1089 Data General
192vendor BIT3 0x108a Bit3 Computer 192vendor BIT3 0x108a Bit3 Computer
193vendor ELONEX 0x108c Elonex PLC c/o Oakleigh Systems 193vendor ELONEX 0x108c Elonex PLC c/o Oakleigh Systems
194vendor OLICOM 0x108d Olicom 194vendor OLICOM 0x108d Olicom
195vendor SUN 0x108e Sun Microsystems 195vendor SUN 0x108e Sun Microsystems
196vendor SYSTEMSOFT 0x108f Systemsoft 196vendor SYSTEMSOFT 0x108f Systemsoft
197vendor ENCORE 0x1090 Encore Computer 197vendor ENCORE 0x1090 Encore Computer
198vendor INTERGRAPH 0x1091 Intergraph 198vendor INTERGRAPH 0x1091 Intergraph
199vendor DIAMOND 0x1092 Diamond Computer Systems 199vendor DIAMOND 0x1092 Diamond Computer Systems
200vendor NATIONALINST 0x1093 National Instruments 200vendor NATIONALINST 0x1093 National Instruments
201vendor FICOMP 0x1094 First Int'l Computers 201vendor FICOMP 0x1094 First Int'l Computers
202vendor CMDTECH 0x1095 CMD Technology 202vendor CMDTECH 0x1095 CMD Technology
203vendor ALACRON 0x1096 Alacron 203vendor ALACRON 0x1096 Alacron
204vendor APPIAN 0x1097 Appian Technology 204vendor APPIAN 0x1097 Appian Technology
205vendor QUANTUMDESIGNS 0x1098 Quantum Designs 205vendor QUANTUMDESIGNS 0x1098 Quantum Designs
206vendor SAMSUNGELEC 0x1099 Samsung Electronics 206vendor SAMSUNGELEC 0x1099 Samsung Electronics
207vendor PACKARDBELL 0x109a Packard Bell 207vendor PACKARDBELL 0x109a Packard Bell
208vendor GEMLIGHT 0x109b Gemlight Computer 208vendor GEMLIGHT 0x109b Gemlight Computer
209vendor MEGACHIPS 0x109c Megachips 209vendor MEGACHIPS 0x109c Megachips
210vendor ZIDA 0x109d Zida Technologies 210vendor ZIDA 0x109d Zida Technologies
211vendor BROOKTREE 0x109e Brooktree 211vendor BROOKTREE 0x109e Brooktree
212vendor TRIGEM 0x109f Trigem Computer 212vendor TRIGEM 0x109f Trigem Computer
213vendor MEIDENSHA 0x10a0 Meidensha 213vendor MEIDENSHA 0x10a0 Meidensha
214vendor JUKO 0x10a1 Juko Electronics 214vendor JUKO 0x10a1 Juko Electronics
215vendor QUANTUM 0x10a2 Quantum 215vendor QUANTUM 0x10a2 Quantum
216vendor EVEREX 0x10a3 Everex Systems 216vendor EVEREX 0x10a3 Everex Systems
217vendor GLOBE 0x10a4 Globe Manufacturing Sales 217vendor GLOBE 0x10a4 Globe Manufacturing Sales
218vendor RACAL 0x10a5 Racal Interlan 218vendor RACAL 0x10a5 Racal Interlan
219vendor INFORMTECH 0x10a6 Informtech Industrial 219vendor INFORMTECH 0x10a6 Informtech Industrial
220vendor BENCHMARQ 0x10a7 Benchmarq Microelectronics 220vendor BENCHMARQ 0x10a7 Benchmarq Microelectronics
221vendor SIERRA 0x10a8 Sierra Semiconductor 221vendor SIERRA 0x10a8 Sierra Semiconductor
222vendor SGI 0x10a9 Silicon Graphics 222vendor SGI 0x10a9 Silicon Graphics
223vendor ACC 0x10aa ACC Microelectronics 223vendor ACC 0x10aa ACC Microelectronics
224vendor DIGICOM 0x10ab Digicom 224vendor DIGICOM 0x10ab Digicom
225vendor HONEYWELL 0x10ac Honeywell IASD 225vendor HONEYWELL 0x10ac Honeywell IASD
226vendor SYMPHONY 0x10ad Symphony Labs 226vendor SYMPHONY 0x10ad Symphony Labs
227vendor CORNERSTONE 0x10ae Cornerstone Technology 227vendor CORNERSTONE 0x10ae Cornerstone Technology
228vendor MICROCOMPSON 0x10af Micro Computer Sysytems (M) SON 228vendor MICROCOMPSON 0x10af Micro Computer Sysytems (M) SON
229vendor CARDEXPER 0x10b0 CardExpert Technology 229vendor CARDEXPER 0x10b0 CardExpert Technology
230vendor CABLETRON 0x10b1 Cabletron Systems 230vendor CABLETRON 0x10b1 Cabletron Systems
231vendor RAYETHON 0x10b2 Raytheon 231vendor RAYETHON 0x10b2 Raytheon
232vendor DATABOOK 0x10b3 Databook 232vendor DATABOOK 0x10b3 Databook
233vendor STB 0x10b4 STB Systems 233vendor STB 0x10b4 STB Systems
234vendor PLX 0x10b5 PLX Technology 234vendor PLX 0x10b5 PLX Technology
235vendor MADGE 0x10b6 Madge Networks 235vendor MADGE 0x10b6 Madge Networks
236vendor 3COM 0x10b7 3Com 236vendor 3COM 0x10b7 3Com
237vendor SMC 0x10b8 Standard Microsystems 237vendor SMC 0x10b8 Standard Microsystems
238vendor ALI 0x10b9 Acer Labs 238vendor ALI 0x10b9 Acer Labs
239vendor MITSUBISHIELEC 0x10ba Mitsubishi Electronics 239vendor MITSUBISHIELEC 0x10ba Mitsubishi Electronics
240vendor DAPHA 0x10bb Dapha Electronics 240vendor DAPHA 0x10bb Dapha Electronics
241vendor ALR 0x10bc Advanced Logic Research 241vendor ALR 0x10bc Advanced Logic Research
242vendor SURECOM 0x10bd Surecom Technology 242vendor SURECOM 0x10bd Surecom Technology
243vendor TSENGLABS 0x10be Tseng Labs International 243vendor TSENGLABS 0x10be Tseng Labs International
244vendor MOST 0x10bf Most 244vendor MOST 0x10bf Most
245vendor BOCA 0x10c0 Boca Research 245vendor BOCA 0x10c0 Boca Research
246vendor ICM 0x10c1 ICM 246vendor ICM 0x10c1 ICM
247vendor AUSPEX 0x10c2 Auspex Systems 247vendor AUSPEX 0x10c2 Auspex Systems
248vendor SAMSUNGSEMI 0x10c3 Samsung Semiconductors 248vendor SAMSUNGSEMI 0x10c3 Samsung Semiconductors
249vendor AWARD 0x10c4 Award Software Int'l 249vendor AWARD 0x10c4 Award Software Int'l
250vendor XEROX 0x10c5 Xerox 250vendor XEROX 0x10c5 Xerox
251vendor RAMBUS 0x10c6 Rambus 251vendor RAMBUS 0x10c6 Rambus
252vendor MEDIAVIS 0x10c7 Media Vision 252vendor MEDIAVIS 0x10c7 Media Vision
253vendor NEOMAGIC 0x10c8 Neomagic 253vendor NEOMAGIC 0x10c8 Neomagic
254vendor DATAEXPERT 0x10c9 Dataexpert 254vendor DATAEXPERT 0x10c9 Dataexpert
255vendor FUJITSU 0x10ca Fujitsu 255vendor FUJITSU 0x10ca Fujitsu
256vendor OMRON 0x10cb Omron 256vendor OMRON 0x10cb Omron
257vendor MENTOR 0x10cc Mentor ARC 257vendor MENTOR 0x10cc Mentor ARC
258vendor ADVSYS 0x10cd Advanced System Products 258vendor ADVSYS 0x10cd Advanced System Products
259vendor RADIUS 0x10ce Radius 259vendor RADIUS 0x10ce Radius
260vendor FUJITSU4 0x10cf Fujitsu (4th PCI Vendor ID) 260vendor FUJITSU4 0x10cf Fujitsu (4th PCI Vendor ID)
261vendor FUJITSU2 0x10d0 Fujitsu (2nd PCI Vendor ID) 261vendor FUJITSU2 0x10d0 Fujitsu (2nd PCI Vendor ID)
262vendor FUTUREPLUS 0x10d1 Future+ Systems 262vendor FUTUREPLUS 0x10d1 Future+ Systems
263vendor MOLEX 0x10d2 Molex 263vendor MOLEX 0x10d2 Molex
264vendor JABIL 0x10d3 Jabil Circuit 264vendor JABIL 0x10d3 Jabil Circuit
265vendor HAULON 0x10d4 Hualon Microelectronics 265vendor HAULON 0x10d4 Hualon Microelectronics
266vendor AUTOLOGIC 0x10d5 Autologic 266vendor AUTOLOGIC 0x10d5 Autologic
267vendor CETIA 0x10d6 Cetia 267vendor CETIA 0x10d6 Cetia
268vendor BCM 0x10d7 BCM Advanced 268vendor BCM 0x10d7 BCM Advanced
269vendor APL 0x10d8 Advanced Peripherals Labs 269vendor APL 0x10d8 Advanced Peripherals Labs
270vendor MACRONIX 0x10d9 Macronix 270vendor MACRONIX 0x10d9 Macronix
271vendor THOMASCONRAD 0x10da Thomas-Conrad 271vendor THOMASCONRAD 0x10da Thomas-Conrad
272vendor ROHM 0x10db Rohm Research 272vendor ROHM 0x10db Rohm Research
273vendor CERN 0x10dc CERN/ECP/EDU 273vendor CERN 0x10dc CERN/ECP/EDU
274vendor ES 0x10dd Evans & Sutherland 274vendor ES 0x10dd Evans & Sutherland
275vendor NVIDIA 0x10de NVIDIA 275vendor NVIDIA 0x10de NVIDIA
276vendor EMULEX 0x10df Emulex 276vendor EMULEX 0x10df Emulex
277vendor IMS 0x10e0 Integrated Micro Solutions 277vendor IMS 0x10e0 Integrated Micro Solutions
278vendor TEKRAM 0x10e1 Tekram Technology (1st PCI Vendor ID) 278vendor TEKRAM 0x10e1 Tekram Technology (1st PCI Vendor ID)
279vendor APTIX 0x10e2 Aptix 279vendor APTIX 0x10e2 Aptix
280vendor NEWBRIDGE 0x10e3 Newbridge Microsystems / Tundra Semiconductor 280vendor NEWBRIDGE 0x10e3 Newbridge Microsystems / Tundra Semiconductor
281vendor TANDEM 0x10e4 Tandem Computers 281vendor TANDEM 0x10e4 Tandem Computers
282vendor MICROINDUSTRIES 0x10e5 Micro Industries 282vendor MICROINDUSTRIES 0x10e5 Micro Industries
283vendor GAINBERY 0x10e6 Gainbery Computer Products 283vendor GAINBERY 0x10e6 Gainbery Computer Products
284vendor VADEM 0x10e7 Vadem 284vendor VADEM 0x10e7 Vadem
285vendor AMCIRCUITS 0x10e8 Applied Micro Circuits 285vendor AMCIRCUITS 0x10e8 Applied Micro Circuits
286vendor ALPSELECTIC 0x10e9 Alps Electric 286vendor ALPSELECTIC 0x10e9 Alps Electric
287vendor INTEGRAPHICS 0x10ea Integraphics Systems 287vendor INTEGRAPHICS 0x10ea Integraphics Systems
288vendor ARTISTSGRAPHICS 0x10eb Artists Graphics 288vendor ARTISTSGRAPHICS 0x10eb Artists Graphics
289vendor REALTEK 0x10ec Realtek Semiconductor 289vendor REALTEK 0x10ec Realtek Semiconductor
290vendor ASCIICORP 0x10ed ASCII 290vendor ASCIICORP 0x10ed ASCII
291vendor XILINX 0x10ee Xilinx 291vendor XILINX 0x10ee Xilinx
292vendor RACORE 0x10ef Racore Computer Products 292vendor RACORE 0x10ef Racore Computer Products
293vendor PERITEK 0x10f0 Peritek 293vendor PERITEK 0x10f0 Peritek
294vendor TYAN 0x10f1 Tyan Computer 294vendor TYAN 0x10f1 Tyan Computer
295vendor ACHME 0x10f2 Achme Computer 295vendor ACHME 0x10f2 Achme Computer
296vendor ALARIS 0x10f3 Alaris 296vendor ALARIS 0x10f3 Alaris
297vendor SMOS 0x10f4 S-MOS Systems 297vendor SMOS 0x10f4 S-MOS Systems
298vendor NKK 0x10f5 NKK 298vendor NKK 0x10f5 NKK
299vendor CREATIVE 0x10f6 Creative Electronic Systems 299vendor CREATIVE 0x10f6 Creative Electronic Systems
300vendor MATSUSHITA 0x10f7 Matsushita 300vendor MATSUSHITA 0x10f7 Matsushita
301vendor ALTOS 0x10f8 Altos India 301vendor ALTOS 0x10f8 Altos India
302vendor PCDIRECT 0x10f9 PC Direct 302vendor PCDIRECT 0x10f9 PC Direct
303vendor TRUEVISIO 0x10fa Truevision 303vendor TRUEVISIO 0x10fa Truevision
304vendor THESYS 0x10fb Thesys Ges. F. Mikroelektronik 304vendor THESYS 0x10fb Thesys Ges. F. Mikroelektronik
305vendor IODATA 0x10fc I-O Data Device 305vendor IODATA 0x10fc I-O Data Device
306vendor SOYO 0x10fd Soyo Technology 306vendor SOYO 0x10fd Soyo Technology
307vendor FAST 0x10fe Fast Electronic 307vendor FAST 0x10fe Fast Electronic
308vendor NCUBE 0x10ff NCube 308vendor NCUBE 0x10ff NCube
309vendor JAZZ 0x1100 Jazz Multimedia 309vendor JAZZ 0x1100 Jazz Multimedia
310vendor INITIO 0x1101 Initio 310vendor INITIO 0x1101 Initio
311vendor CREATIVELABS 0x1102 Creative Labs 311vendor CREATIVELABS 0x1102 Creative Labs
312vendor TRIONES 0x1103 Triones Technologies 312vendor TRIONES 0x1103 Triones Technologies
313vendor RASTEROPS 0x1104 RasterOps 313vendor RASTEROPS 0x1104 RasterOps
314vendor SIGMA 0x1105 Sigma Designs 314vendor SIGMA 0x1105 Sigma Designs
315vendor VIATECH 0x1106 VIA Technologies 315vendor VIATECH 0x1106 VIA Technologies
316vendor STRATIS 0x1107 Stratus Computer 316vendor STRATIS 0x1107 Stratus Computer
317vendor PROTEON 0x1108 Proteon 317vendor PROTEON 0x1108 Proteon
318vendor COGENT 0x1109 Cogent Data Technologies 318vendor COGENT 0x1109 Cogent Data Technologies
319vendor SIEMENS 0x110a Siemens AG / Siemens Nixdorf AG 319vendor SIEMENS 0x110a Siemens AG / Siemens Nixdorf AG
320vendor XENON 0x110b Xenon Microsystems 320vendor XENON 0x110b Xenon Microsystems
321vendor MINIMAX 0x110c Mini-Max Technology 321vendor MINIMAX 0x110c Mini-Max Technology
322vendor ZNYX 0x110d Znyx Advanced Systems 322vendor ZNYX 0x110d Znyx Advanced Systems
323vendor CPUTECH 0x110e CPU Technology 323vendor CPUTECH 0x110e CPU Technology
324vendor ROSS 0x110f Ross Technology 324vendor ROSS 0x110f Ross Technology
325vendor POWERHOUSE 0x1110 Powerhouse Systems 325vendor POWERHOUSE 0x1110 Powerhouse Systems
326vendor SCO 0x1111 Santa Cruz Operation 326vendor SCO 0x1111 Santa Cruz Operation
327vendor RNS 0x1112 RNS 327vendor RNS 0x1112 RNS
328vendor ACCTON 0x1113 Accton Technology 328vendor ACCTON 0x1113 Accton Technology
329vendor ATMEL 0x1114 Atmel 329vendor ATMEL 0x1114 Atmel
330vendor DUPONT 0x1115 DuPont Pixel Systems 330vendor DUPONT 0x1115 DuPont Pixel Systems
331vendor DATATRANSLATION 0x1116 Data Translation 331vendor DATATRANSLATION 0x1116 Data Translation
332vendor DATACUBE 0x1117 Datacube 332vendor DATACUBE 0x1117 Datacube
333vendor BERG 0x1118 Berg Electronics 333vendor BERG 0x1118 Berg Electronics
334vendor VORTEX 0x1119 Vortex Computer Systems 334vendor VORTEX 0x1119 Vortex Computer Systems
335vendor EFFICIENTNETS 0x111a Efficent Networks 335vendor EFFICIENTNETS 0x111a Efficent Networks
336vendor TELEDYNE 0x111b Teledyne Electronic Systems 336vendor TELEDYNE 0x111b Teledyne Electronic Systems
337vendor TRICORD 0x111c Tricord Systems 337vendor TRICORD 0x111c Tricord Systems
338vendor IDT 0x111d IDT 338vendor IDT 0x111d IDT
339vendor ELDEC 0x111e Eldec 339vendor ELDEC 0x111e Eldec
340vendor PDI 0x111f Prescision Digital Images 340vendor PDI 0x111f Prescision Digital Images
341vendor EMC 0x1120 Emc 341vendor EMC 0x1120 Emc
342vendor ZILOG 0x1121 Zilog 342vendor ZILOG 0x1121 Zilog
343vendor MULTITECH 0x1122 Multi-tech Systems 343vendor MULTITECH 0x1122 Multi-tech Systems
344vendor LEUTRON 0x1124 Leutron Vision 344vendor LEUTRON 0x1124 Leutron Vision
345vendor EUROCORE 0x1125 Eurocore/Vigra 345vendor EUROCORE 0x1125 Eurocore/Vigra
346vendor VIGRA 0x1126 Vigra 346vendor VIGRA 0x1126 Vigra
347vendor FORE 0x1127 FORE Systems 347vendor FORE 0x1127 FORE Systems
348vendor FIRMWORKS 0x1129 Firmworks 348vendor FIRMWORKS 0x1129 Firmworks
349vendor HERMES 0x112a Hermes Electronics 349vendor HERMES 0x112a Hermes Electronics
350vendor LINOTYPE 0x112b Linotype 350vendor LINOTYPE 0x112b Linotype
351vendor RAVICAD 0x112d Ravicad 351vendor RAVICAD 0x112d Ravicad
352vendor INFOMEDIA 0x112e Infomedia Microelectronics 352vendor INFOMEDIA 0x112e Infomedia Microelectronics
353vendor IMAGINGTECH 0x112f Imaging Technlogy 353vendor IMAGINGTECH 0x112f Imaging Technlogy
354vendor COMPUTERVISION 0x1130 Computervision 354vendor COMPUTERVISION 0x1130 Computervision
355vendor PHILIPS 0x1131 Philips 355vendor PHILIPS 0x1131 Philips
356vendor MITEL 0x1132 Mitel 356vendor MITEL 0x1132 Mitel
357vendor EICON 0x1133 Eicon Technology 357vendor EICON 0x1133 Eicon Technology
358vendor MCS 0x1134 Mercury Computer Systems 358vendor MCS 0x1134 Mercury Computer Systems
359vendor FUJIXEROX 0x1135 Fuji Xerox 359vendor FUJIXEROX 0x1135 Fuji Xerox
360vendor MOMENTUM 0x1136 Momentum Data Systems 360vendor MOMENTUM 0x1136 Momentum Data Systems
361vendor CISCO 0x1137 Cisco Systems 361vendor CISCO 0x1137 Cisco Systems
362vendor ZIATECH 0x1138 Ziatech 362vendor ZIATECH 0x1138 Ziatech
363vendor DYNPIC 0x1139 Dynamic Pictures 363vendor DYNPIC 0x1139 Dynamic Pictures
364vendor FWB 0x113a FWB 364vendor FWB 0x113a FWB
365vendor CYCLONE 0x113c Cyclone Micro 365vendor CYCLONE 0x113c Cyclone Micro
366vendor LEADINGEDGE 0x113d Leading Edge 366vendor LEADINGEDGE 0x113d Leading Edge
367vendor SANYO 0x113e Sanyo Electric 367vendor SANYO 0x113e Sanyo Electric
368vendor EQUINOX 0x113f Equinox Systems 368vendor EQUINOX 0x113f Equinox Systems
369vendor INTERVOICE 0x1140 Intervoice 369vendor INTERVOICE 0x1140 Intervoice
370vendor CREST 0x1141 Crest Microsystem 370vendor CREST 0x1141 Crest Microsystem
371vendor ALLIANCE 0x1142 Alliance Semiconductor 371vendor ALLIANCE 0x1142 Alliance Semiconductor
372vendor NETPOWER 0x1143 NetPower 372vendor NETPOWER 0x1143 NetPower
373vendor CINMILACRON 0x1144 Cincinnati Milacron 373vendor CINMILACRON 0x1144 Cincinnati Milacron
374vendor WORKBIT 0x1145 Workbit 374vendor WORKBIT 0x1145 Workbit
375vendor FORCE 0x1146 Force Computers 375vendor FORCE 0x1146 Force Computers
376vendor INTERFACE 0x1147 Interface 376vendor INTERFACE 0x1147 Interface
377vendor SCHNEIDERKOCH 0x1148 Schneider & Koch 377vendor SCHNEIDERKOCH 0x1148 Schneider & Koch
378vendor WINSYSTEM 0x1149 Win System 378vendor WINSYSTEM 0x1149 Win System
379vendor VMIC 0x114a VMIC 379vendor VMIC 0x114a VMIC
380vendor CANOPUS 0x114b Canopus 380vendor CANOPUS 0x114b Canopus
381vendor ANNABOOKS 0x114c Annabooks 381vendor ANNABOOKS 0x114c Annabooks
382vendor IC 0x114d IC 382vendor IC 0x114d IC
383vendor NIKON 0x114e Nikon Systems 383vendor NIKON 0x114e Nikon Systems
384vendor DIGI 0x114f Digi International 384vendor DIGI 0x114f Digi International
385vendor TMC 0x1150 Thinking Machines 385vendor TMC 0x1150 Thinking Machines
386vendor JAE 0x1151 JAE Electronics 386vendor JAE 0x1151 JAE Electronics
387vendor MEGATEK 0x1152 Megatek 387vendor MEGATEK 0x1152 Megatek
388vendor LANDWIN 0x1153 Land Win Electronic 388vendor LANDWIN 0x1153 Land Win Electronic
389vendor MELCO 0x1154 Melco 389vendor MELCO 0x1154 Melco
390vendor PINETECH 0x1155 Pine Technology 390vendor PINETECH 0x1155 Pine Technology
391vendor PERISCOPE 0x1156 Periscope Engineering 391vendor PERISCOPE 0x1156 Periscope Engineering
392vendor AVSYS 0x1157 Avsys 392vendor AVSYS 0x1157 Avsys
393vendor VOARX 0x1158 Voarx R & D 393vendor VOARX 0x1158 Voarx R & D
394vendor MUTECH 0x1159 Mutech 394vendor MUTECH 0x1159 Mutech
395vendor HARLEQUIN 0x115a Harlequin 395vendor HARLEQUIN 0x115a Harlequin
396vendor PARALLAX 0x115b Parallax Graphics 396vendor PARALLAX 0x115b Parallax Graphics
397vendor XIRCOM 0x115d Xircom 397vendor XIRCOM 0x115d Xircom
398vendor PEERPROTO 0x115e Peer Protocols 398vendor PEERPROTO 0x115e Peer Protocols
399vendor MAXTOR 0x115f Maxtor 399vendor MAXTOR 0x115f Maxtor
400vendor MEGASOFT 0x1160 Megasoft 400vendor MEGASOFT 0x1160 Megasoft
401vendor PFU 0x1161 PFU Limited 401vendor PFU 0x1161 PFU Limited
402vendor OALAB 0x1162 OA Laboratory 402vendor OALAB 0x1162 OA Laboratory
403vendor RENDITION 0x1163 Rendition 403vendor RENDITION 0x1163 Rendition
404vendor APT 0x1164 Advanced Peripherals Technologies 404vendor APT 0x1164 Advanced Peripherals Technologies
405vendor IMAGRAPH 0x1165 Imagraph 405vendor IMAGRAPH 0x1165 Imagraph
406vendor SERVERWORKS 0x1166 ServerWorks 406vendor SERVERWORKS 0x1166 ServerWorks
407vendor MUTOH 0x1167 Mutoh Industries 407vendor MUTOH 0x1167 Mutoh Industries
408vendor THINE 0x1168 Thine Electronics 408vendor THINE 0x1168 Thine Electronics
409vendor CDAC 0x1169 Centre for Dev. of Advanced Computing 409vendor CDAC 0x1169 Centre for Dev. of Advanced Computing
410vendor POLARIS 0x116a Polaris Communications 410vendor POLARIS 0x116a Polaris Communications
411vendor CONNECTWARE 0x116b Connectware 411vendor CONNECTWARE 0x116b Connectware
412vendor WSTECH 0x116f Workstation Technology 412vendor WSTECH 0x116f Workstation Technology
413vendor INVENTEC 0x1170 Inventec 413vendor INVENTEC 0x1170 Inventec
414vendor LOUGHSOUND 0x1171 Loughborough Sound Images 414vendor LOUGHSOUND 0x1171 Loughborough Sound Images
415vendor ALTERA 0x1172 Altera 415vendor ALTERA 0x1172 Altera
416vendor ADOBE 0x1173 Adobe Systems 416vendor ADOBE 0x1173 Adobe Systems
417vendor BRIDGEPORT 0x1174 Bridgeport Machines 417vendor BRIDGEPORT 0x1174 Bridgeport Machines
418vendor MIRTRON 0x1175 Mitron Computer 418vendor MIRTRON 0x1175 Mitron Computer
419vendor SBE 0x1176 SBE 419vendor SBE 0x1176 SBE
420vendor SILICONENG 0x1177 Silicon Engineering 420vendor SILICONENG 0x1177 Silicon Engineering
421vendor ALFA 0x1178 Alfa 421vendor ALFA 0x1178 Alfa
422vendor TOSHIBA2 0x1179 Toshiba 422vendor TOSHIBA2 0x1179 Toshiba
423vendor ATREND 0x117a A-Trend Technology 423vendor ATREND 0x117a A-Trend Technology
424vendor ATTO 0x117c Atto Technology 424vendor ATTO 0x117c Atto Technology
425vendor TR 0x117e T/R Systems 425vendor TR 0x117e T/R Systems
426vendor RICOH 0x1180 Ricoh 426vendor RICOH 0x1180 Ricoh
427vendor TELEMATICS 0x1181 Telematics International 427vendor TELEMATICS 0x1181 Telematics International
428vendor FUJIKURA 0x1183 Fujikura 428vendor FUJIKURA 0x1183 Fujikura
429vendor FORKS 0x1184 Forks 429vendor FORKS 0x1184 Forks
430vendor DATAWORLD 0x1185 Dataworld 430vendor DATAWORLD 0x1185 Dataworld
431vendor DLINK 0x1186 D-Link Systems 431vendor DLINK 0x1186 D-Link Systems
432vendor ATL 0x1187 Advanced Techonoloy Labratories 432vendor ATL 0x1187 Advanced Techonoloy Labratories
433vendor SHIMA 0x1188 Shima Seiki Manufacturing 433vendor SHIMA 0x1188 Shima Seiki Manufacturing
434vendor MATSUSHITA2 0x1189 Matsushita Electronics (2nd PCI Vendor ID) 434vendor MATSUSHITA2 0x1189 Matsushita Electronics (2nd PCI Vendor ID)
435vendor HILEVEL 0x118a HiLevel Technology 435vendor HILEVEL 0x118a HiLevel Technology
436vendor COROLLARY 0x118c Corrollary 436vendor COROLLARY 0x118c Corrollary
437vendor BITFLOW 0x118d BitFlow 437vendor BITFLOW 0x118d BitFlow
438vendor HERMSTEDT 0x118e Hermstedt 438vendor HERMSTEDT 0x118e Hermstedt
439vendor ACARD 0x1191 Acard 439vendor ACARD 0x1191 Acard
440vendor DENSAN 0x1192 Densan 440vendor DENSAN 0x1192 Densan
441vendor ZEINET 0x1193 Zeinet 441vendor ZEINET 0x1193 Zeinet
442vendor TOUCAN 0x1194 Toucan Technology 442vendor TOUCAN 0x1194 Toucan Technology
443vendor RATOC 0x1195 Ratoc Systems 443vendor RATOC 0x1195 Ratoc Systems
444vendor HYTEC 0x1196 Hytec Electronic 444vendor HYTEC 0x1196 Hytec Electronic
445vendor GAGE 0x1197 Gage Applied Sciences 445vendor GAGE 0x1197 Gage Applied Sciences
446vendor LAMBDA 0x1198 Lambda Systems 446vendor LAMBDA 0x1198 Lambda Systems
447vendor DCA 0x1199 Digital Communications Associates 447vendor DCA 0x1199 Digital Communications Associates
448vendor MINDSHARE 0x119a Mind Share 448vendor MINDSHARE 0x119a Mind Share
449vendor OMEGA 0x119b Omega Micro 449vendor OMEGA 0x119b Omega Micro
450vendor ITI 0x119c Information Technology Institute 450vendor ITI 0x119c Information Technology Institute
451vendor BUG 0x119d Bug Sapporo 451vendor BUG 0x119d Bug Sapporo
452vendor FUJITSU3 0x119e Fujitsu (3rd PCI Vendor ID) 452vendor FUJITSU3 0x119e Fujitsu (3rd PCI Vendor ID)
453vendor BULL 0x119f Bull Hn Information Systems 453vendor BULL 0x119f Bull Hn Information Systems
454vendor CONVEX 0x11a0 Convex Computer 454vendor CONVEX 0x11a0 Convex Computer
455vendor HAMAMATSU 0x11a1 Hamamatsu Photonics 455vendor HAMAMATSU 0x11a1 Hamamatsu Photonics
456vendor SIERRA2 0x11a2 Sierra Research & Technology (2nd PCI Vendor ID) 456vendor SIERRA2 0x11a2 Sierra Research & Technology (2nd PCI Vendor ID)
457vendor BARCO 0x11a4 Barco 457vendor BARCO 0x11a4 Barco
458vendor MICROUNITY 0x11a5 MicroUnity Systems Engineering 458vendor MICROUNITY 0x11a5 MicroUnity Systems Engineering
459vendor PUREDATA 0x11a6 Pure Data 459vendor PUREDATA 0x11a6 Pure Data
460vendor POWERCC 0x11a7 Power Computing 460vendor POWERCC 0x11a7 Power Computing
461vendor INNOSYS 0x11a9 InnoSys 461vendor INNOSYS 0x11a9 InnoSys
462vendor ACTEL 0x11aa Actel 462vendor ACTEL 0x11aa Actel
463vendor MARVELL 0x11ab Marvell 463vendor MARVELL 0x11ab Marvell
464vendor CANNON 0x11ac Cannon IS 464vendor CANNON 0x11ac Cannon IS
465vendor LITEON 0x11ad Lite-On Communications 465vendor LITEON 0x11ad Lite-On Communications
466vendor SCITEX 0x11ae Scitex 466vendor SCITEX 0x11ae Scitex
467vendor AVID 0x11af Avid Technology 467vendor AVID 0x11af Avid Technology
468vendor V3 0x11b0 V3 Semiconductor 468vendor V3 0x11b0 V3 Semiconductor
469vendor APRICOT 0x11b1 Apricot Computer 469vendor APRICOT 0x11b1 Apricot Computer
470vendor KODAK 0x11b2 Eastman Kodak 470vendor KODAK 0x11b2 Eastman Kodak
471vendor BARR 0x11b3 Barr Systems 471vendor BARR 0x11b3 Barr Systems
472vendor LEITECH 0x11b4 Leitch Technology 472vendor LEITECH 0x11b4 Leitch Technology
473vendor RADSTONE 0x11b5 Radstone Technology 473vendor RADSTONE 0x11b5 Radstone Technology
474vendor UNITEDVIDEO 0x11b6 United Video 474vendor UNITEDVIDEO 0x11b6 United Video
475vendor MOT2 0x11b7 Motorola (2nd PCI Vendor ID) 475vendor MOT2 0x11b7 Motorola (2nd PCI Vendor ID)
476vendor XPOINT 0x11b8 Xpoint Technologies 476vendor XPOINT 0x11b8 Xpoint Technologies
477vendor PATHLIGHT 0x11b9 Pathlight Technology 477vendor PATHLIGHT 0x11b9 Pathlight Technology
478vendor VIDEOTRON 0x11ba VideoTron 478vendor VIDEOTRON 0x11ba VideoTron
479vendor PYRAMID 0x11bb Pyramid Technologies 479vendor PYRAMID 0x11bb Pyramid Technologies
480vendor NETPERIPH 0x11bc Network Peripherals 480vendor NETPERIPH 0x11bc Network Peripherals
481vendor PINNACLE 0x11bd Pinnacle Systems 481vendor PINNACLE 0x11bd Pinnacle Systems
482vendor IMI 0x11be International Microcircuts 482vendor IMI 0x11be International Microcircuts
483vendor LUCENT 0x11c1 Lucent Technologies 483vendor LUCENT 0x11c1 Lucent Technologies
484vendor NEC2 0x11c3 NEC (2nd PCI Vendor ID) 484vendor NEC2 0x11c3 NEC (2nd PCI Vendor ID)
485vendor DOCTECH 0x11c4 Document Technologies 485vendor DOCTECH 0x11c4 Document Technologies
486vendor SHIVA 0x11c5 Shiva 486vendor SHIVA 0x11c5 Shiva
487vendor DCMDATA 0x11c7 DCM Data Systems 487vendor DCMDATA 0x11c7 DCM Data Systems
488vendor DOLPHIN 0x11c8 Dolphin Interconnect Solutions 488vendor DOLPHIN 0x11c8 Dolphin Interconnect Solutions
489vendor MAGMA 0x11c9 Mesa Ridge Technologies (MAGMA) 489vendor MAGMA 0x11c9 Mesa Ridge Technologies (MAGMA)
490vendor LSISYS 0x11ca LSI Systems 490vendor LSISYS 0x11ca LSI Systems
491vendor SPECIALIX 0x11cb Specialix Research 491vendor SPECIALIX 0x11cb Specialix Research
492vendor MKC 0x11cc Michels & Kleberhoff Computer 492vendor MKC 0x11cc Michels & Kleberhoff Computer
493vendor HAL 0x11cd HAL Computer Systems 493vendor HAL 0x11cd HAL Computer Systems
494vendor AURAVISION 0x11d1 Auravision 494vendor AURAVISION 0x11d1 Auravision
495vendor ANALOG 0x11d4 Analog Devices 495vendor ANALOG 0x11d4 Analog Devices
496vendor SEGA 0x11db SEGA Enterprises 496vendor SEGA 0x11db SEGA Enterprises
497vendor ZORAN 0x11de Zoran 497vendor ZORAN 0x11de Zoran
498vendor QUICKLOGIC 0x11e3 QuickLogic 498vendor QUICKLOGIC 0x11e3 QuickLogic
499vendor COMPEX 0x11f6 Compex 499vendor COMPEX 0x11f6 Compex
500vendor PMCSIERRA 0x11f8 PMC-Sierra 500vendor PMCSIERRA 0x11f8 PMC-Sierra
501vendor COMTROL 0x11fe Comtrol 501vendor COMTROL 0x11fe Comtrol
502vendor CYCLADES 0x120e Cyclades 502vendor CYCLADES 0x120e Cyclades
503vendor ESSENTIAL 0x120f Essential Communications 503vendor ESSENTIAL 0x120f Essential Communications
504vendor O2MICRO 0x1217 O2 Micro 504vendor O2MICRO 0x1217 O2 Micro
505vendor 3DFX 0x121a 3Dfx Interactive 505vendor 3DFX 0x121a 3Dfx Interactive
506vendor ARIEL 0x1220 Ariel 506vendor ARIEL 0x1220 Ariel
507vendor HEURICON 0x1223 Heurikon/Computer Products 507vendor HEURICON 0x1223 Heurikon/Computer Products
508vendor AZTECH 0x122d Aztech 508vendor AZTECH 0x122d Aztech
509vendor 3DO 0x1239 The 3D0 Company 509vendor 3DO 0x1239 The 3D0 Company
510vendor CCUBE 0x123f C-Cube Microsystems 510vendor CCUBE 0x123f C-Cube Microsystems
511vendor JNI 0x1242 JNI 511vendor JNI 0x1242 JNI
512vendor AVM 0x1244 AVM 512vendor AVM 0x1244 AVM
513vendor SAMSUNGELEC2 0x1249 Samsung Electronics (2nd vendor ID) 513vendor SAMSUNGELEC2 0x1249 Samsung Electronics (2nd vendor ID)
514vendor STALLION 0x124d Stallion Technologies 514vendor STALLION 0x124d Stallion Technologies
515vendor LINEARSYS 0x1254 Linear Systems 515vendor LINEARSYS 0x1254 Linear Systems
516vendor COREGA 0x1259 Corega 516vendor COREGA 0x1259 Corega
517vendor ASIX 0x125b ASIX Electronics 517vendor ASIX 0x125b ASIX Electronics
518vendor AURORA 0x125c Aurora Technologies 518vendor AURORA 0x125c Aurora Technologies
519vendor ESSTECH 0x125d ESS Technology 519vendor ESSTECH 0x125d ESS Technology
520vendor INTERSIL 0x1260 Intersil 520vendor INTERSIL 0x1260 Intersil
521vendor NORTEL 0x126c Nortel Networks (Northern Telecom) 521vendor NORTEL 0x126c Nortel Networks (Northern Telecom)
522vendor SILMOTION 0x126f Silicon Motion 522vendor SILMOTION 0x126f Silicon Motion
523vendor ENSONIQ 0x1274 Ensoniq 523vendor ENSONIQ 0x1274 Ensoniq
524vendor NETAPP 0x1275 Network Appliance 524vendor NETAPP 0x1275 Network Appliance
525vendor TRANSMETA 0x1279 Transmeta 525vendor TRANSMETA 0x1279 Transmeta
526vendor ROCKWELL 0x127a Rockwell Semiconductor Systems 526vendor ROCKWELL 0x127a Rockwell Semiconductor Systems
527vendor DAVICOM 0x1282 Davicom Semiconductor 527vendor DAVICOM 0x1282 Davicom Semiconductor
528vendor ITE 0x1283 Integrated Technology Express 528vendor ITE 0x1283 Integrated Technology Express
529vendor ESSTECH2 0x1285 ESS Technology 529vendor ESSTECH2 0x1285 ESS Technology
530vendor TRITECH 0x1292 TriTech Microelectronics 530vendor TRITECH 0x1292 TriTech Microelectronics
531vendor KOFAX 0x1296 Kofax Image Products 531vendor KOFAX 0x1296 Kofax Image Products
532vendor RISCOM 0x12aa RISCom 532vendor RISCOM 0x12aa RISCom
533vendor ALTEON 0x12ae Alteon 533vendor ALTEON 0x12ae Alteon
534vendor USR 0x12b9 US Robotics (3Com) 534vendor USR 0x12b9 US Robotics (3Com)
535vendor PICTUREEL 0x12c5 Picture Elements 535vendor PICTUREEL 0x12c5 Picture Elements
536vendor NVIDIA_SGS 0x12d2 Nvidia & SGS-Thomson Microelectronics 536vendor NVIDIA_SGS 0x12d2 Nvidia & SGS-Thomson Microelectronics
537vendor PERICOM 0x12d8 Pericom Semiconductors 537vendor PERICOM 0x12d8 Pericom Semiconductors
538vendor RAINBOW 0x12de Rainbow Technologies 538vendor RAINBOW 0x12de Rainbow Technologies
539vendor DATUM 0x12e2 Datum Inc. Bancomm-Timing Division 539vendor DATUM 0x12e2 Datum Inc. Bancomm-Timing Division
540vendor AUREAL 0x12eb Aureal Semiconductor 540vendor AUREAL 0x12eb Aureal Semiconductor
541vendor JUNIPER 0x1304 Juniper Networks 541vendor JUNIPER 0x1304 Juniper Networks
542vendor ADMTEK 0x1317 ADMtek 542vendor ADMTEK 0x1317 ADMtek
543vendor PACKETENGINES 0x1318 Packet Engines 543vendor PACKETENGINES 0x1318 Packet Engines
544vendor FORTEMEDIA 0x1319 Forte Media 544vendor FORTEMEDIA 0x1319 Forte Media
545vendor SIIG 0x131f Siig 545vendor SIIG 0x131f Siig
546vendor MICROMEMORY 0x1332 Micro Memory 546vendor MICROMEMORY 0x1332 Micro Memory
547vendor DOMEX 0x134a Domex 547vendor DOMEX 0x134a Domex
548vendor QUATECH 0x135c Quatech 548vendor QUATECH 0x135c Quatech
549vendor LMC 0x1376 LAN Media 549vendor LMC 0x1376 LAN Media
550vendor NETGEAR 0x1385 Netgear 550vendor NETGEAR 0x1385 Netgear
551vendor MOXA 0x1393 Moxa Technologies 551vendor MOXA 0x1393 Moxa Technologies
552vendor LEVELONE 0x1394 Level One 552vendor LEVELONE 0x1394 Level One
553vendor COLOGNECHIP 0x1397 Cologne Chip Designs 553vendor COLOGNECHIP 0x1397 Cologne Chip Designs
554vendor ALACRITECH 0x139a Alacritech 554vendor ALACRITECH 0x139a Alacritech
555vendor HIFN 0x13a3 Hifn 555vendor HIFN 0x13a3 Hifn
556vendor EXAR 0x13a8 EXAR 556vendor EXAR 0x13a8 EXAR
557vendor 3WARE 0x13c1 3ware 557vendor 3WARE 0x13c1 3ware
558vendor ABOCOM 0x13d1 AboCom Systems 558vendor ABOCOM 0x13d1 AboCom Systems
559vendor PHOBOS 0x13d8 Phobos 559vendor PHOBOS 0x13d8 Phobos
560vendor NETBOOST 0x13dc NetBoost 560vendor NETBOOST 0x13dc NetBoost
561vendor SUNDANCETI 0x13f0 Sundance Technology 561vendor SUNDANCETI 0x13f0 Sundance Technology
562vendor CMEDIA 0x13f6 C-Media Electronics 562vendor CMEDIA 0x13f6 C-Media Electronics
563vendor ADVANTECH 0x13fe Advantech 563vendor ADVANTECH 0x13fe Advantech
564vendor LAVA 0x1407 Lava Semiconductor Manufacturing 564vendor LAVA 0x1407 Lava Semiconductor Manufacturing
565vendor SUNIX 0x1409 SUNIX 565vendor SUNIX 0x1409 SUNIX
566vendor ICENSEMBLE 0x1412 IC Ensemble / VIA Technologies 566vendor ICENSEMBLE 0x1412 IC Ensemble / VIA Technologies
567vendor MICROSOFT 0x1414 Microsoft 567vendor MICROSOFT 0x1414 Microsoft
568vendor OXFORDSEMI 0x1415 Oxford Semiconductor 568vendor OXFORDSEMI 0x1415 Oxford Semiconductor
569vendor CHELSIO 0x1425 Chelsio Communications 569vendor CHELSIO 0x1425 Chelsio Communications
570vendor EDIMAX 0x1432 Edimax 570vendor EDIMAX 0x1432 Edimax
571vendor TAMARACK 0x143d Tamarack Microelectronics 571vendor TAMARACK 0x143d Tamarack Microelectronics
572vendor SAMSUNGELEC3 0x144d Samsung Electronics (3rd vendor ID) 572vendor SAMSUNGELEC3 0x144d Samsung Electronics (3rd vendor ID)
573vendor ASKEY 0x144f Askey Computer 573vendor ASKEY 0x144f Askey Computer
574vendor AVERMEDIA 0x1461 Avermedia Technologies 574vendor AVERMEDIA 0x1461 Avermedia Technologies
575vendor MSI 0x1462 Micro-star International Co Ltd 575vendor MSI 0x1462 Micro-star International Co Ltd
576vendor SYSTEMBASE 0x14a1 System Base 576vendor SYSTEMBASE 0x14a1 System Base
577vendor AIRONET 0x14b9 Aironet Wireless Communications 577vendor AIRONET 0x14b9 Aironet Wireless Communications
578vendor COMPAL 0x14c0 COMPAL Electronics 578vendor COMPAL 0x14c0 COMPAL Electronics
579vendor MYRICOM 0x14c1 Myricom 579vendor MYRICOM 0x14c1 Myricom
580vendor TITAN 0x14d2 Titan Electronics 580vendor TITAN 0x14d2 Titan Electronics
581vendor AVLAB 0x14db Avlab Technology 581vendor AVLAB 0x14db Avlab Technology
582vendor INVERTEX 0x14e1 Invertex 582vendor INVERTEX 0x14e1 Invertex
583vendor BROADCOM 0x14e4 Broadcom 583vendor BROADCOM 0x14e4 Broadcom
584vendor PLANEX 0x14ea Planex Communications 584vendor PLANEX 0x14ea Planex Communications
585vendor CONEXANT 0x14f1 Conexant Systems 585vendor CONEXANT 0x14f1 Conexant Systems
586vendor DELTA 0x1500 Delta Electronics 586vendor DELTA 0x1500 Delta Electronics
587vendor MYSON 0x1516 Myson-Century Technology 587vendor MYSON 0x1516 Myson-Century Technology
588vendor ENE 0x1524 ENE Technology 588vendor ENE 0x1524 ENE Technology
589vendor TERRATEC 0x153b TerraTec Electronic 589vendor TERRATEC 0x153b TerraTec Electronic
590vendor PERLE 0x155f Perle Systems 590vendor PERLE 0x155f Perle Systems
591vendor SOLIDUM 0x1588 Solidum Systems 591vendor SOLIDUM 0x1588 Solidum Systems
592vendor HP2 0x1590 Hewlett-Packard 592vendor HP2 0x1590 Hewlett-Packard
593vendor SYBA 0x1592 Syba 593vendor SYBA 0x1592 Syba
594vendor FARADAY 0x159b Faraday Technology 594vendor FARADAY 0x159b Faraday Technology
595vendor GEOCAST 0x15a1 Geocast Network Systems 595vendor GEOCAST 0x15a1 Geocast Network Systems
596vendor BLUESTEEL 0x15ab Bluesteel Networks 596vendor BLUESTEEL 0x15ab Bluesteel Networks
597vendor VMWARE 0x15ad VMware 597vendor VMWARE 0x15ad VMware
598vendor MELLANOX 0x15b3 Mellanox Technologies 598vendor MELLANOX 0x15b3 Mellanox Technologies
599vendor SANDISK 0x15b7 Western Digital (SanDisk) 599vendor SANDISK 0x15b7 Western Digital (SanDisk)
600vendor AGILENT 0x15bc Agilent Technologies 600vendor AGILENT 0x15bc Agilent Technologies
601vendor SUPERMICRO 0x15d9 Super Micro Computer Inc 601vendor SUPERMICRO 0x15d9 Super Micro Computer Inc
602vendor NDC 0x15e8 National Datacomm 602vendor NDC 0x15e8 National Datacomm
603vendor EUMITCOM 0x1638 Eumitcom 603vendor EUMITCOM 0x1638 Eumitcom
604vendor NETSEC 0x1660 NetSec 604vendor NETSEC 0x1660 NetSec
605vendor ACTIONTEC 0x1668 Action Tec Electronics 605vendor ACTIONTEC 0x1668 Action Tec Electronics
606vendor SIBYTE 0x166d Broadcom (SiByte) 606vendor SIBYTE 0x166d Broadcom (SiByte)
607vendor ATHEROS 0x168c Atheros Communications 607vendor ATHEROS 0x168c Atheros Communications
608vendor GLOBALSUN 0x16ab Global Sun Tech 608vendor GLOBALSUN 0x16ab Global Sun Tech
609vendor SAFENET 0x16ae SafeNet 609vendor SAFENET 0x16ae SafeNet
610vendor MICREL 0x16c6 Micrel 610vendor MICREL 0x16c6 Micrel
611vendor USR2 0x16ec US Robotics 611vendor USR2 0x16ec US Robotics
612vendor NETOCTAVE 0x170b Netoctave 612vendor NETOCTAVE 0x170b Netoctave
613vendor LINKSYS 0x1737 Linksys 613vendor LINKSYS 0x1737 Linksys
614vendor ALTIMA 0x173b Altima 614vendor ALTIMA 0x173b Altima
615vendor ANTARES 0x1754 Antares Microsystems 615vendor ANTARES 0x1754 Antares Microsystems
616vendor CAVIUM 0x177d Cavium 616vendor CAVIUM 0x177d Cavium
617vendor NSYS 0x1794 nSYS Technologies 617vendor NSYS 0x1794 nSYS Technologies
618vendor FZJZEL 0x1796 FZ Juelich / ZEL 618vendor FZJZEL 0x1796 FZ Juelich / ZEL
619vendor BELKIN 0x1799 Belkin 619vendor BELKIN 0x1799 Belkin
620vendor HAWKING 0x17b3 Hawking Technology 620vendor HAWKING 0x17b3 Hawking Technology
621vendor SANDBURST 0x17ba Sandburst 621vendor SANDBURST 0x17ba Sandburst
622vendor NETCHIP 0x17cc PLX Technology (NetChip) 622vendor NETCHIP 0x17cc PLX Technology (NetChip)
623vendor I4 0x17cf I4 623vendor I4 0x17cf I4
624vendor ARECA 0x17d3 Areca 624vendor ARECA 0x17d3 Areca
625vendor S2IO 0x17d5 S2io Technologies 625vendor S2IO 0x17d5 S2io Technologies
626vendor RDC 0x17F3 RDC Semiconductor 626vendor RDC 0x17F3 RDC Semiconductor
627vendor LINKSYS2 0x17fe Linksys 627vendor LINKSYS2 0x17fe Linksys
628vendor RALINK 0x1814 Ralink Technologies 628vendor RALINK 0x1814 Ralink Technologies
629vendor RMI 0x182e Raza Microelectronics Inc. (Broadcom) 629vendor RMI 0x182e Raza Microelectronics Inc. (Broadcom)
630vendor NETLOGIC 0x184e Netlogic Microsystems (Broadcom) 630vendor NETLOGIC 0x184e Netlogic Microsystems (Broadcom)
631vendor BBELEC 0x1896 B & B Electronics 631vendor BBELEC 0x1896 B & B Electronics
632vendor XGI 0x18ca XGI Technology 632vendor XGI 0x18ca XGI Technology
633vendor RENESAS 0x1912 Renesas Technologies 633vendor RENESAS 0x1912 Renesas Technologies
634vendor FREESCALE 0x1957 Freescale Semiconductor 634vendor FREESCALE 0x1957 Freescale Semiconductor
635vendor ATTANSIC 0x1969 Attansic Technologies 635vendor ATTANSIC 0x1969 Attansic Technologies
636vendor JMICRON 0x197b JMicron Technology 636vendor JMICRON 0x197b JMicron Technology
637vendor PHISON 0x1987 Phison 637vendor PHISON 0x1987 Phison
638vendor SERVERENGINES 0x19a2 ServerEngines 638vendor SERVERENGINES 0x19a2 ServerEngines
639vendor HUAWEI 0x19e5 Huaewi Technology 639vendor HUAWEI 0x19e5 Huaewi Technology
640vendor ASPEED 0x1a03 ASPEED Technology 640vendor ASPEED 0x1a03 ASPEED Technology
641vendor AWT 0x1a3b AWT 641vendor AWT 0x1a3b AWT
642vendor EVE 0x1adb EVE 642vendor EVE 0x1adb EVE
643vendor FUSIONIO 0x1aed Fusion-io 643vendor FUSIONIO 0x1aed Fusion-io
644vendor QUMRANET 0x1af4 Qumranet 644vendor QUMRANET 0x1af4 Qumranet
645vendor ASMEDIA 0x1b21 ASMedia 645vendor ASMEDIA 0x1b21 ASMedia
646vendor REDHAT 0x1b36 Red Hat 646vendor REDHAT 0x1b36 Red Hat
647vendor MARVELL2 0x1b4b Marvell 647vendor MARVELL2 0x1b4b Marvell
648vendor FRESCO 0x1b73 Fresco Logic 648vendor FRESCO 0x1b73 Fresco Logic
649vendor QINHENG2 0x1c00 Nanjing QinHeng Electronics (PCIe) 649vendor QINHENG2 0x1c00 Nanjing QinHeng Electronics (PCIe)
650vendor SYMPHONY2 0x1c1c Symphony Labs (2nd PCI Vendor ID) 650vendor SYMPHONY2 0x1c1c Symphony Labs (2nd PCI Vendor ID)
651vendor HGST 0x1c58 HGST, Inc. 651vendor HGST 0x1c58 HGST, Inc.
652vendor BEIJING_MEMBLAZE 0x1c5f Beijing Memblaze Technology Co. Ltd. 652vendor BEIJING_MEMBLAZE 0x1c5f Beijing Memblaze Technology Co. Ltd.
653vendor AMAZON 0x1d0f Amazon.com, Inc. 653vendor AMAZON 0x1d0f Amazon.com, Inc.
654vendor AQUANTIA 0x1d6a Aquantia 654vendor AQUANTIA 0x1d6a Aquantia
655vendor ROCKCHIP 0x1d87 Rockchip 655vendor ROCKCHIP 0x1d87 Rockchip
656vendor TEKRAM2 0x1de1 Tekram Technology (2nd PCI Vendor ID) 656vendor TEKRAM2 0x1de1 Tekram Technology (2nd PCI Vendor ID)
657vendor SUNIX2 0x1fd4 SUNIX Co 657vendor SUNIX2 0x1fd4 SUNIX Co
658vendor HINT 0x3388 HiNT 658vendor HINT 0x3388 HiNT
659vendor 3DLABS 0x3d3d 3D Labs 659vendor 3DLABS 0x3d3d 3D Labs
660vendor AVANCE2 0x4005 Avance Logic (2nd PCI Vendor ID) 660vendor AVANCE2 0x4005 Avance Logic (2nd PCI Vendor ID)
661vendor ADDTRON 0x4033 Addtron Technology 661vendor ADDTRON 0x4033 Addtron Technology
662vendor NETXEN 0x4040 NetXen 662vendor NETXEN 0x4040 NetXen
663vendor QINHENG 0x4348 Nanjing QinHeng Electronics 663vendor QINHENG 0x4348 Nanjing QinHeng Electronics
664vendor ICOMPRESSION 0x4444 Conexant (iCompression) 664vendor ICOMPRESSION 0x4444 Conexant (iCompression)
665vendor INDCOMPSRC 0x494f Industrial Computer Source 665vendor INDCOMPSRC 0x494f Industrial Computer Source
666vendor NETVIN 0x4a14 NetVin 666vendor NETVIN 0x4a14 NetVin
667vendor BUSLOGIC2 0x4b10 Buslogic (2nd PCI Vendor ID) 667vendor BUSLOGIC2 0x4b10 Buslogic (2nd PCI Vendor ID)
668vendor MEDIAQ 0x4d51 MediaQ 668vendor MEDIAQ 0x4d51 MediaQ
669vendor GUILLEMOT 0x5046 Guillemot 669vendor GUILLEMOT 0x5046 Guillemot
670vendor TURTLE_BEACH 0x5053 Turtle Beach 670vendor TURTLE_BEACH 0x5053 Turtle Beach
671vendor S3 0x5333 S3 671vendor S3 0x5333 S3
672vendor NETPOWER2 0x5700 NetPower (2nd PCI Vendor ID) 672vendor NETPOWER2 0x5700 NetPower (2nd PCI Vendor ID)
673vendor XENSOURCE 0x5853 XenSource, Inc. 673vendor XENSOURCE 0x5853 XenSource, Inc.
674vendor C4T 0x6374 c't Magazin 674vendor C4T 0x6374 c't Magazin
675vendor DCI 0x6666 Decision Computer 675vendor DCI 0x6666 Decision Computer
676vendor KURUSUGAWA 0x6809 Kurusugawa Electronics 676vendor KURUSUGAWA 0x6809 Kurusugawa Electronics
677vendor PCHDTV 0x7063 pcHDTV 677vendor PCHDTV 0x7063 pcHDTV
678vendor QUANCOM 0x8008 QUANCOM Electronic GmbH 678vendor QUANCOM 0x8008 QUANCOM Electronic GmbH
679vendor INTEL 0x8086 Intel 679vendor INTEL 0x8086 Intel
680vendor VIRTUALBOX 0x80ee VirtualBox 680vendor VIRTUALBOX 0x80ee VirtualBox
681vendor TRIGEM2 0x8800 Trigem Computer (2nd PCI Vendor ID) 681vendor TRIGEM2 0x8800 Trigem Computer (2nd PCI Vendor ID)
682vendor PROLAN 0x8c4a ProLAN 682vendor PROLAN 0x8c4a ProLAN
683vendor COMPUTONE 0x8e0e Computone 683vendor COMPUTONE 0x8e0e Computone
684vendor KTI 0x8e2e KTI 684vendor KTI 0x8e2e KTI
685vendor ADP 0x9004 Adaptec 685vendor ADP 0x9004 Adaptec
686vendor ADP2 0x9005 Adaptec (2nd PCI Vendor ID) 686vendor ADP2 0x9005 Adaptec (2nd PCI Vendor ID)
687vendor ATRONICS 0x907f Atronics 687vendor ATRONICS 0x907f Atronics
688vendor NETMOS 0x9710 Netmos 688vendor NETMOS 0x9710 Netmos
689vendor PARALLELS 0xaaaa Parallels  689vendor PARALLELS 0xaaaa Parallels
690vendor MICRON 0xc0a9 Micron/Crucial Technology 690vendor MICRON 0xc0a9 Micron/Crucial Technology
691vendor CHRYSALIS 0xcafe Chrysalis-ITS 691vendor CHRYSALIS 0xcafe Chrysalis-ITS
692vendor MIDDLE_DIGITAL 0xdeaf Middle Digital 692vendor MIDDLE_DIGITAL 0xdeaf Middle Digital
693vendor ARC 0xedd8 ARC Logic 693vendor ARC 0xedd8 ARC Logic
694vendor INVALID 0xffff INVALID VENDOR ID 694vendor INVALID 0xffff INVALID VENDOR ID
695 695
696/* 696/*
697 * List of known products. Grouped by vendor. 697 * List of known products. Grouped by vendor.
698 */ 698 */
699 699
700/* 3COM Products */ 700/* 3COM Products */
701product 3COM 3C985 0x0001 3c985 Gigabit Ethernet 701product 3COM 3C985 0x0001 3c985 Gigabit Ethernet
702product 3COM 3C996 0x0003 3c996 10/100/1000 Ethernet 702product 3COM 3C996 0x0003 3c996 10/100/1000 Ethernet
703product 3COM 3C556MODEM 0x1007 3c556 V.90 Mini-PCI Modem 703product 3COM 3C556MODEM 0x1007 3c556 V.90 Mini-PCI Modem
704product 3COM 3C940 0x1700 3c940 Gigabit Ethernet 704product 3COM 3C940 0x1700 3c940 Gigabit Ethernet
705product 3COM 3C339 0x3390 3c339 TokenLink Velocity 705product 3COM 3C339 0x3390 3c339 TokenLink Velocity
706product 3COM 3C359 0x3590 3c359 TokenLink Velocity XL 706product 3COM 3C359 0x3590 3c359 TokenLink Velocity XL
707product 3COM 3C450TX 0x4500 3c450-TX 10/100 Ethernet 707product 3COM 3C450TX 0x4500 3c450-TX 10/100 Ethernet
708product 3COM 3C555 0x5055 3c555 10/100 Mini-PCI Ethernet 708product 3COM 3C555 0x5055 3c555 10/100 Mini-PCI Ethernet
709product 3COM 3C575TX 0x5057 3c575-TX 10/100 Ethernet 709product 3COM 3C575TX 0x5057 3c575-TX 10/100 Ethernet
710product 3COM 3C575BTX 0x5157 3CCFE575BT 10/100 Ethernet 710product 3COM 3C575BTX 0x5157 3CCFE575BT 10/100 Ethernet
711product 3COM 3C575CTX 0x5257 3CCFE575CT 10/100 Ethernet 711product 3COM 3C575CTX 0x5257 3CCFE575CT 10/100 Ethernet
712product 3COM 3C590 0x5900 3c590 Ethernet 712product 3COM 3C590 0x5900 3c590 Ethernet
713product 3COM 3C595TX 0x5950 3c595-TX 10/100 Ethernet 713product 3COM 3C595TX 0x5950 3c595-TX 10/100 Ethernet
714product 3COM 3C595T4 0x5951 3c595-T4 10/100 Ethernet 714product 3COM 3C595T4 0x5951 3c595-T4 10/100 Ethernet
715product 3COM 3C595MII 0x5952 3c595-MII 10/100 Ethernet 715product 3COM 3C595MII 0x5952 3c595-MII 10/100 Ethernet
716product 3COM 3C154G72 0x6001 3CRWE154G72 Wireless LAN Adapter 716product 3COM 3C154G72 0x6001 3CRWE154G72 Wireless LAN Adapter
717product 3COM 3C556 0x6055 3c556 10/100 Mini-PCI Ethernet 717product 3COM 3C556 0x6055 3c556 10/100 Mini-PCI Ethernet
718product 3COM 3C556B 0x6056 3c556B 10/100 Mini-PCI Ethernet 718product 3COM 3C556B 0x6056 3c556B 10/100 Mini-PCI Ethernet
719product 3COM 3C656_E 0x6560 3CCFEM656 10/100 Ethernet 719product 3COM 3C656_E 0x6560 3CCFEM656 10/100 Ethernet
720product 3COM 3C656_M 0x6561 3CCFEM656 56k Modem 720product 3COM 3C656_M 0x6561 3CCFEM656 56k Modem
721product 3COM 3C656B_E 0x6562 3CCFEM656B 10/100 Ethernet 721product 3COM 3C656B_E 0x6562 3CCFEM656B 10/100 Ethernet
722product 3COM 3C656B_M 0x6563 3CCFEM656B 56k Modem 722product 3COM 3C656B_M 0x6563 3CCFEM656B 56k Modem
723product 3COM 3C656C_E 0x6564 3CXFEM656C 10/100 Ethernet 723product 3COM 3C656C_E 0x6564 3CXFEM656C 10/100 Ethernet
724product 3COM 3C656C_M 0x6565 3CXFEM656C 56k Modem 724product 3COM 3C656C_M 0x6565 3CXFEM656C 56k Modem
725product 3COM 3CSOHO100TX 0x7646 3cSOHO100-TX 10/100 Ethernet 725product 3COM 3CSOHO100TX 0x7646 3cSOHO100-TX 10/100 Ethernet
726product 3COM 3CRWE777A 0x7770 3crwe777a AirConnect 726product 3COM 3CRWE777A 0x7770 3crwe777a AirConnect
727product 3COM 3C804 0x7980 3c804 FDDILink SAS 727product 3COM 3C804 0x7980 3c804 FDDILink SAS
728product 3COM TOKEN 0x8811 Token Ring 728product 3COM TOKEN 0x8811 Token Ring
729product 3COM 3C900TPO 0x9000 3c900-TPO Ethernet 729product 3COM 3C900TPO 0x9000 3c900-TPO Ethernet
730product 3COM 3C900COMBO 0x9001 3c900-COMBO Ethernet 730product 3COM 3C900COMBO 0x9001 3c900-COMBO Ethernet
731product 3COM 3C900BTPO 0x9004 3c900B-TPO Ethernet 731product 3COM 3C900BTPO 0x9004 3c900B-TPO Ethernet
732product 3COM 3C900BCOMBO 0x9005 3c900B-COMBO Ethernet 732product 3COM 3C900BCOMBO 0x9005 3c900B-COMBO Ethernet
733product 3COM 3C900BTPC 0x9006 3c900B-TPC Ethernet 733product 3COM 3C900BTPC 0x9006 3c900B-TPC Ethernet
734product 3COM 3C905TX 0x9050 3c905-TX 10/100 Ethernet 734product 3COM 3C905TX 0x9050 3c905-TX 10/100 Ethernet
735product 3COM 3C905T4 0x9051 3c905-T4 10/100 Ethernet 735product 3COM 3C905T4 0x9051 3c905-T4 10/100 Ethernet
736product 3COM 3C905BTX 0x9055 3c905B-TX 10/100 Ethernet 736product 3COM 3C905BTX 0x9055 3c905B-TX 10/100 Ethernet
737product 3COM 3C905BT4 0x9056 3c905B-T4 10/100 Ethernet 737product 3COM 3C905BT4 0x9056 3c905B-T4 10/100 Ethernet
738product 3COM 3C905BCOMBO 0x9058 3c905B-COMBO 10/100 Ethernet 738product 3COM 3C905BCOMBO 0x9058 3c905B-COMBO 10/100 Ethernet
739product 3COM 3C905BFX 0x905a 3c905B-FX 100 Ethernet 739product 3COM 3C905BFX 0x905a 3c905B-FX 100 Ethernet
740product 3COM 3C905CTX 0x9200 3c905C-TX 10/100 Ethernet w/ mngmt 740product 3COM 3C905CTX 0x9200 3c905C-TX 10/100 Ethernet w/ mngmt
741product 3COM 3C905CXTX 0x9201 3c905CX-TX 10/100 Ethernet w/ mngmt 741product 3COM 3C905CXTX 0x9201 3c905CX-TX 10/100 Ethernet w/ mngmt
742product 3COM 3C920BEMBW 0x9202 3c920B-EMB-WNM Integrated Fast Ethernet 742product 3COM 3C920BEMBW 0x9202 3c920B-EMB-WNM Integrated Fast Ethernet
743product 3COM 3C910SOHOB 0x9300 3c910 OfficeConnect 10/100B Ethernet 743product 3COM 3C910SOHOB 0x9300 3c910 OfficeConnect 10/100B Ethernet
744product 3COM 3C980SRV 0x9800 3c980 Server Adapter 10/100 Ethernet 744product 3COM 3C980SRV 0x9800 3c980 Server Adapter 10/100 Ethernet
745product 3COM 3C980CTXM 0x9805 3c980C-TXM 10/100 Ethernet 745product 3COM 3C980CTXM 0x9805 3c980C-TXM 10/100 Ethernet
746product 3COM 3CR990 0x9900 3c990-TX 10/100 Ethernet w/ 3XP 746product 3COM 3CR990 0x9900 3c990-TX 10/100 Ethernet w/ 3XP
747product 3COM 3CR990TX95 0x9902 3CR990-TX-95 10/100 Ethernet w/ 3XP 747product 3COM 3CR990TX95 0x9902 3CR990-TX-95 10/100 Ethernet w/ 3XP
748product 3COM 3CR990TX97 0x9903 3CR990-TX-97 10/100 Ethernet w/ 3XP 748product 3COM 3CR990TX97 0x9903 3CR990-TX-97 10/100 Ethernet w/ 3XP
749product 3COM 3C990B 0x9904 3c990B 10/100 Ethernet w/ 3XP 749product 3COM 3C990B 0x9904 3c990B 10/100 Ethernet w/ 3XP
750product 3COM 3CR990FX 0x9905 3CR990-FX 100 Ethernet w/ 3XP 750product 3COM 3CR990FX 0x9905 3CR990-FX 100 Ethernet w/ 3XP
751product 3COM 3CR990SVR95 0x9908 3CR990-SVR-95 10/100 Ethernet w/ 3XP 751product 3COM 3CR990SVR95 0x9908 3CR990-SVR-95 10/100 Ethernet w/ 3XP
752product 3COM 3CR990SVR97 0x9909 3CR990-SVR-97 10/100 Ethernet w/ 3XP 752product 3COM 3CR990SVR97 0x9909 3CR990-SVR-97 10/100 Ethernet w/ 3XP
753product 3COM 3C990BSVR 0x990a 3c990BSVR 10/100 Ethernet w/ 3XP 753product 3COM 3C990BSVR 0x990a 3c990BSVR 10/100 Ethernet w/ 3XP
754 754
755/* 3Dfx Interactive products */ 755/* 3Dfx Interactive products */
756product 3DFX VOODOO 0x0001 Voodoo 756product 3DFX VOODOO 0x0001 Voodoo
757product 3DFX VOODOO2 0x0002 Voodoo2 757product 3DFX VOODOO2 0x0002 Voodoo2
758product 3DFX BANSHEE 0x0003 Banshee 758product 3DFX BANSHEE 0x0003 Banshee
759product 3DFX VOODOO3 0x0005 Voodoo3 759product 3DFX VOODOO3 0x0005 Voodoo3
760product 3DFX VOODOO5 0x0009 Voodoo 4/5 760product 3DFX VOODOO5 0x0009 Voodoo 4/5
761 761
762/* 3D Labs products */ 762/* 3D Labs products */
763product 3DLABS 300SX 0x0001 GLINT 300SX 763product 3DLABS 300SX 0x0001 GLINT 300SX
764product 3DLABS 500TX 0x0002 GLINT 500TX 764product 3DLABS 500TX 0x0002 GLINT 500TX
765product 3DLABS DELTA 0x0003 GLINT DELTA 765product 3DLABS DELTA 0x0003 GLINT DELTA
766product 3DLABS PERMEDIA 0x0004 GLINT Permedia 766product 3DLABS PERMEDIA 0x0004 GLINT Permedia
767product 3DLABS 500MX 0x0006 GLINT 500MX 767product 3DLABS 500MX 0x0006 GLINT 500MX
768product 3DLABS PERMEDIA2 0x0007 GLINT Permedia 2 768product 3DLABS PERMEDIA2 0x0007 GLINT Permedia 2
769product 3DLABS GAMMA 0x0008 GLINT GAMMA 769product 3DLABS GAMMA 0x0008 GLINT GAMMA
770product 3DLABS PERMEDIA2V 0x0009 GLINT Permedia 2V 770product 3DLABS PERMEDIA2V 0x0009 GLINT Permedia 2V
771product 3DLABS PERMEDIA3 0x000a GLINT Permedia 3 771product 3DLABS PERMEDIA3 0x000a GLINT Permedia 3
772product 3DLABS WILDCAT5110 0x07a2 WILDCAT 5110 772product 3DLABS WILDCAT5110 0x07a2 WILDCAT 5110
773 773
774/* 3ware products */ 774/* 3ware products */
775product 3WARE ESCALADE 0x1000 Escalade ATA RAID Controller 775product 3WARE ESCALADE 0x1000 Escalade ATA RAID Controller
776product 3WARE ESCALADE_ASIC 0x1001 Escalade ATA RAID 7000/8000 Series Controller 776product 3WARE ESCALADE_ASIC 0x1001 Escalade ATA RAID 7000/8000 Series Controller
777product 3WARE 9000 0x1002 9000 Series RAID 777product 3WARE 9000 0x1002 9000 Series RAID
778product 3WARE 9550 0x1003 9550 Series RAID 778product 3WARE 9550 0x1003 9550 Series RAID
779product 3WARE 9650 0x1004 9650 Series RAID 779product 3WARE 9650 0x1004 9650 Series RAID
780product 3WARE 9690 0x1005 9690 Series RAID 780product 3WARE 9690 0x1005 9690 Series RAID
781product 3WARE 9750 0x1010 9750 Series RAID 781product 3WARE 9750 0x1010 9750 Series RAID
782 782
783/* AboCom products */ 783/* AboCom products */
784product ABOCOM FE2500 0xab02 FE2500 10/100 Ethernet 784product ABOCOM FE2500 0xab02 FE2500 10/100 Ethernet
785product ABOCOM PCM200 0xab03 PCM200 10/100 Ethernet 785product ABOCOM PCM200 0xab03 PCM200 10/100 Ethernet
786product ABOCOM FE2000VX 0xab06 FE2000VX 10/100 Ethernet (OEM) 786product ABOCOM FE2000VX 0xab06 FE2000VX 10/100 Ethernet (OEM)
787product ABOCOM FE2500MX 0xab08 FE2500MX 10/100 Ethernet 787product ABOCOM FE2500MX 0xab08 FE2500MX 10/100 Ethernet
788 788
789/* ACC Products */ 789/* ACC Products */
790product ACC 2188 0x0000 ACCM 2188 VL-PCI Bridge 790product ACC 2188 0x0000 ACCM 2188 VL-PCI Bridge
791product ACC 2051_HB 0x2051 2051 PCI Single Chip Solution (host Bridge) 791product ACC 2051_HB 0x2051 2051 PCI Single Chip Solution (host Bridge)
792product ACC 2051_ISA 0x5842 2051 PCI Single Chip Solution (ISA Bridge) 792product ACC 2051_ISA 0x5842 2051 PCI Single Chip Solution (ISA Bridge)
793 793
794/* Acard products */ 794/* Acard products */
795product ACARD ATP850U 0x0005 ATP850U/UF UDMA IDE Controller 795product ACARD ATP850U 0x0005 ATP850U/UF UDMA IDE Controller
796product ACARD ATP860 0x0006 ATP860 UDMA IDE Controller 796product ACARD ATP860 0x0006 ATP860 UDMA IDE Controller
797product ACARD ATP860A 0x0007 ATP860-A UDMA IDE Controller 797product ACARD ATP860A 0x0007 ATP860-A UDMA IDE Controller
798product ACARD ATP865 0x0008 ATP865 UDMA IDE Controller 798product ACARD ATP865 0x0008 ATP865 UDMA IDE Controller
799product ACARD ATP865A 0x0009 ATP865-A UDMA IDE Controller 799product ACARD ATP865A 0x0009 ATP865-A UDMA IDE Controller
800product ACARD AEC6710 0x8002 AEC6710 SCSI 800product ACARD AEC6710 0x8002 AEC6710 SCSI
801product ACARD AEC6712UW 0x8010 AEC6712UW SCSI 801product ACARD AEC6712UW 0x8010 AEC6712UW SCSI
802product ACARD AEC6712U 0x8020 AEC6712U SCSI 802product ACARD AEC6712U 0x8020 AEC6712U SCSI
803product ACARD AEC6712S 0x8030 AEC6712S SCSI 803product ACARD AEC6712S 0x8030 AEC6712S SCSI
804product ACARD AEC6710D 0x8040 AEC6710D SCSI 804product ACARD AEC6710D 0x8040 AEC6710D SCSI
805product ACARD AEC6715UW 0x8050 AEC6715UW SCSI 805product ACARD AEC6715UW 0x8050 AEC6715UW SCSI
806 806
807/* Accton products */ 807/* Accton products */
808product ACCTON MPX5030 0x1211 MPX 5030/5038 Ethernet 808product ACCTON MPX5030 0x1211 MPX 5030/5038 Ethernet
809product ACCTON EN2242 0x1216 EN2242 10/100 Ethernet 809product ACCTON EN2242 0x1216 EN2242 10/100 Ethernet
810 810
811/* Acer products */ 811/* Acer products */
812product ACER M1435 0x1435 M1435 VL-PCI Bridge 812product ACER M1435 0x1435 M1435 VL-PCI Bridge
813 813
814/* Advantech products */ 814/* Advantech products */
815product ADVANTECH PCI1600 0x1600 PCI-16[12]0 serial 815product ADVANTECH PCI1600 0x1600 PCI-16[12]0 serial
816product ADVANTECH PCI1604 0x1604 PCI-1604 serial 816product ADVANTECH PCI1604 0x1604 PCI-1604 serial
817product ADVANTECH PCI1610 0x1610 PCI-1610 4 port serial 817product ADVANTECH PCI1610 0x1610 PCI-1610 4 port serial
818product ADVANTECH PCI1612 0x1612 PCI-1612 4 port serial 818product ADVANTECH PCI1612 0x1612 PCI-1612 4 port serial
819product ADVANTECH PCI1620 0x1620 PCI-1620 8 port serial (1-4) 819product ADVANTECH PCI1620 0x1620 PCI-1620 8 port serial (1-4)
820product ADVANTECH PCI1620_1 0x16ff PCI-1620 8 port serial (5-8) 820product ADVANTECH PCI1620_1 0x16ff PCI-1620 8 port serial (5-8)
821 821
822/* Acer Labs products */ 822/* Acer Labs products */
823product ALI M1445 0x1445 M1445 VL-PCI Bridge 823product ALI M1445 0x1445 M1445 VL-PCI Bridge
824product ALI M1449 0x1449 M1449 PCI-ISA Bridge 824product ALI M1449 0x1449 M1449 PCI-ISA Bridge
825product ALI M1451 0x1451 M1451 Host-PCI Bridge 825product ALI M1451 0x1451 M1451 Host-PCI Bridge
826product ALI M1461 0x1461 M1461 Host-PCI Bridge 826product ALI M1461 0x1461 M1461 Host-PCI Bridge
827product ALI M1531 0x1531 M1531 Host-PCI Bridge 827product ALI M1531 0x1531 M1531 Host-PCI Bridge
828product ALI M1533 0x1533 M1533 PCI-ISA Bridge 828product ALI M1533 0x1533 M1533 PCI-ISA Bridge
829product ALI M1541 0x1541 M1541 Host-PCI Bridge 829product ALI M1541 0x1541 M1541 Host-PCI Bridge
830product ALI M1543 0x1543 M1543 PCI-ISA Bridge 830product ALI M1543 0x1543 M1543 PCI-ISA Bridge
831product ALI M1563 0x1563 M1563 PCI-ISA Bridge 831product ALI M1563 0x1563 M1563 PCI-ISA Bridge
832product ALI M1647 0x1647 M1647 Host-PCI Bridge 832product ALI M1647 0x1647 M1647 Host-PCI Bridge
833product ALI M1689 0x1689 M1689 Host-PCI Bridge 833product ALI M1689 0x1689 M1689 Host-PCI Bridge
834product ALI M3309 0x3309 M3309 MPEG Decoder 834product ALI M3309 0x3309 M3309 MPEG Decoder
835product ALI M4803 0x5215 M4803 835product ALI M4803 0x5215 M4803
836product ALI M5229 0x5229 M5229 UDMA IDE Controller 836product ALI M5229 0x5229 M5229 UDMA IDE Controller
837product ALI M5237 0x5237 M5237 USB 1.1 Host Controller 837product ALI M5237 0x5237 M5237 USB 1.1 Host Controller
838product ALI M5239 0x5239 M5239 USB 2.0 Host Controller 838product ALI M5239 0x5239 M5239 USB 2.0 Host Controller
839product ALI M5243 0x5243 M5243 PCI-AGP Bridge 839product ALI M5243 0x5243 M5243 PCI-AGP Bridge
840product ALI M5247 0x5247 M5247 PCI-AGP Bridge 840product ALI M5247 0x5247 M5247 PCI-AGP Bridge
841product ALI M5249 0x5249 M5249 Hypertransport to PCI Bridge 841product ALI M5249 0x5249 M5249 Hypertransport to PCI Bridge
842product ALI M5257 0x5257 M5257 PCI Software Modem 842product ALI M5257 0x5257 M5257 PCI Software Modem
843product ALI M5261 0x5261 M5261 Tulip Ethernet Controller 843product ALI M5261 0x5261 M5261 Tulip Ethernet Controller
844product ALI M5288 0x5288 M5288 SATA/Raid Controller 844product ALI M5288 0x5288 M5288 SATA/Raid Controller
845product ALI M5451 0x5451 M5451 AC-Link Controller Audio Device 845product ALI M5451 0x5451 M5451 AC-Link Controller Audio Device
846product ALI M5453 0x5453 M5453 AC-Link Controller Modem Device 846product ALI M5453 0x5453 M5453 AC-Link Controller Modem Device
847product ALI M5455 0x5455 M5455 AC-Link Controller Audio Device 847product ALI M5455 0x5455 M5455 AC-Link Controller Audio Device
848product ALI M7101 0x7101 M7101 Power Management Controller 848product ALI M7101 0x7101 M7101 Power Management Controller
849 849
850/* Adaptec products */ 850/* Adaptec products */
851product ADP AIC1160 0x1160 AIC-1160 851product ADP AIC1160 0x1160 AIC-1160
852product ADP AIC7850 0x5078 AIC-7850 852product ADP AIC7850 0x5078 AIC-7850
853product ADP AIC7855 0x5578 AIC-7855 853product ADP AIC7855 0x5578 AIC-7855
854product ADP AIC5900 0x5900 AIC-5900 ATM 854product ADP AIC5900 0x5900 AIC-5900 ATM
855product ADP AIC5905 0x5905 AIC-5905 ATM 855product ADP AIC5905 0x5905 AIC-5905 ATM
856product ADP APA1480 0x6075 APA-1480 Ultra 856product ADP APA1480 0x6075 APA-1480 Ultra
857product ADP AIC7860 0x6078 AIC-7860 857product ADP AIC7860 0x6078 AIC-7860
858product ADP 2940AU 0x6178 AHA-2940A Ultra 858product ADP 2940AU 0x6178 AHA-2940A Ultra
859product ADP AIC6915 0x6915 AIC-6915 10/100 Ethernet 859product ADP AIC6915 0x6915 AIC-6915 10/100 Ethernet
860product ADP AIC7870 0x7078 AIC-7870 860product ADP AIC7870 0x7078 AIC-7870
861product ADP 2940 0x7178 AHA-2940 861product ADP 2940 0x7178 AHA-2940
862product ADP 3940 0x7278 AHA-3940 862product ADP 3940 0x7278 AHA-3940
863product ADP 3985 0x7378 AHA-3985 863product ADP 3985 0x7378 AHA-3985
864product ADP 2944 0x7478 AHA-2944 864product ADP 2944 0x7478 AHA-2944
865product ADP AIC7895 0x7895 AIC-7895 Ultra 865product ADP AIC7895 0x7895 AIC-7895 Ultra
866product ADP AIC7880 0x8078 AIC-7880 Ultra 866product ADP AIC7880 0x8078 AIC-7880 Ultra
867product ADP 2940U 0x8178 AHA-2940 Ultra 867product ADP 2940U 0x8178 AHA-2940 Ultra
868product ADP 3940U 0x8278 AHA-3940 Ultra 868product ADP 3940U 0x8278 AHA-3940 Ultra
869product ADP 389XU 0x8378 AHA-389X Ultra 869product ADP 389XU 0x8378 AHA-389X Ultra
870product ADP 2944U 0x8478 AHA-2944 Ultra 870product ADP 2944U 0x8478 AHA-2944 Ultra
871product ADP 2940UP 0x8778 AHA-2940 Ultra Pro 871product ADP 2940UP 0x8778 AHA-2940 Ultra Pro
872 872
873product ADP2 2940U2 0x0010 AHA-2940U2 U2 873product ADP2 2940U2 0x0010 AHA-2940U2 U2
874product ADP2 2930U2 0x0011 AHA-2930U2 U2 874product ADP2 2930U2 0x0011 AHA-2930U2 U2
875product ADP2 AIC7890 0x001f AIC-7890/1 U2 875product ADP2 AIC7890 0x001f AIC-7890/1 U2
876product ADP2 3950U2B 0x0050 AHA-3950U2B U2 876product ADP2 3950U2B 0x0050 AHA-3950U2B U2
877product ADP2 3950U2D 0x0051 AHA-3950U2D U2 877product ADP2 3950U2D 0x0051 AHA-3950U2D U2
878product ADP2 AIC7896 0x005f AIC-7896/7 U2 878product ADP2 AIC7896 0x005f AIC-7896/7 U2
879product ADP2 AIC7892A 0x0080 AIC-7892A U160 879product ADP2 AIC7892A 0x0080 AIC-7892A U160
880product ADP2 AIC7892B 0x0081 AIC-7892B U160 880product ADP2 AIC7892B 0x0081 AIC-7892B U160
881product ADP2 AIC7892D 0x0083 AIC-7892D U160 881product ADP2 AIC7892D 0x0083 AIC-7892D U160
882product ADP2 AIC7892P 0x008f AIC-7892P U160 882product ADP2 AIC7892P 0x008f AIC-7892P U160
883product ADP2 AIC7899A 0x00c0 AIC-7899A U160 883product ADP2 AIC7899A 0x00c0 AIC-7899A U160
884product ADP2 AIC7899B 0x00c1 AIC-7899B U160 884product ADP2 AIC7899B 0x00c1 AIC-7899B U160
885product ADP2 AIC7899D 0x00c3 AIC-7899D U160 885product ADP2 AIC7899D 0x00c3 AIC-7899D U160
886product ADP2 AIC7899F 0x00c5 AIC-7899F RAID 886product ADP2 AIC7899F 0x00c5 AIC-7899F RAID
887product ADP2 AIC7899P 0x00cf AIC-7899P U160 887product ADP2 AIC7899P 0x00cf AIC-7899P U160
888product ADP2 1420SA 0x0241 RAID 1420SA 888product ADP2 1420SA 0x0241 RAID 1420SA
889product ADP2 1430SA 0x0243 RAID 1430SA 889product ADP2 1430SA 0x0243 RAID 1430SA
890product ADP2 SERVERAID 0x0250 ServeRAID 6/7 (marco) 890product ADP2 SERVERAID 0x0250 ServeRAID 6/7 (marco)
891product ADP2 AAC2622 0x0282 AAC-2622 891product ADP2 AAC2622 0x0282 AAC-2622
892product ADP2 ASR2200S 0x0285 ASR-2200S 892product ADP2 ASR2200S 0x0285 ASR-2200S
893product ADP2 ASR2120S 0x0286 ASR-2120S 893product ADP2 ASR2120S 0x0286 ASR-2120S
894product ADP2 ASR2200S_SUB2M 0x0287 ASR-2200S 894product ADP2 ASR2200S_SUB2M 0x0287 ASR-2200S
895product ADP2 ASR2410SA 0x0290 ASR-2410SA 895product ADP2 ASR2410SA 0x0290 ASR-2410SA
896product ADP2 AAR2810SA 0x0292 AAR-2810SA 896product ADP2 AAR2810SA 0x0292 AAR-2810SA
897product ADP2 3405 0x02bb RAID 3405 897product ADP2 3405 0x02bb RAID 3405
898product ADP2 3805 0x02bc RAID 3805 898product ADP2 3805 0x02bc RAID 3805
899product ADP2 2405 0x02d5 RAID 2405 899product ADP2 2405 0x02d5 RAID 2405
900product ADP2 2445 0x02d6 RAID 2445 900product ADP2 2445 0x02d6 RAID 2445
901product ADP2 2805 0x02d7 RAID 2805 901product ADP2 2805 0x02d7 RAID 2805
902product ADP2 AAC364 0x0364 AAC-364 902product ADP2 AAC364 0x0364 AAC-364
903product ADP2 ASR5400S 0x0365 ASR-5400S 903product ADP2 ASR5400S 0x0365 ASR-5400S
904product ADP2 PERC_2QC 0x1364 Dell PERC 2/QC 904product ADP2 PERC_2QC 0x1364 Dell PERC 2/QC
905/* XXX guess */ 905/* XXX guess */
906product ADP2 PERC_3QC 0x1365 Dell PERC 3/QC 906product ADP2 PERC_3QC 0x1365 Dell PERC 3/QC
907product ADP2 HP_M110_G2 0x3227 HP M110 G2 / ASR-2610SA 907product ADP2 HP_M110_G2 0x3227 HP M110 G2 / ASR-2610SA
908 908
909/* Addtron Products */ 909/* Addtron Products */
910product ADDTRON RHINEII 0x1320 Rhine II 10/100 Ethernet 910product ADDTRON RHINEII 0x1320 Rhine II 10/100 Ethernet
911product ADDTRON 8139 0x1360 8139 Ethernet 911product ADDTRON 8139 0x1360 8139 Ethernet
912 912
913/* ADMtek products */ 913/* ADMtek products */
914product ADMTEK AL981 0x0981 AL981 (Comet) 10/100 Ethernet 914product ADMTEK AL981 0x0981 AL981 (Comet) 10/100 Ethernet
915product ADMTEK AN983 0x0985 AN983 (Centaur-P) 10/100 Ethernet 915product ADMTEK AN983 0x0985 AN983 (Centaur-P) 10/100 Ethernet
916product ADMTEK AN985 0x1985 AN985 (Centaur-C) 10/100 Ethernet 916product ADMTEK AN985 0x1985 AN985 (Centaur-C) 10/100 Ethernet
917product ADMTEK ADM5120 0x5120 Infineon ADM5120 PCI Host Bridge 917product ADMTEK ADM5120 0x5120 Infineon ADM5120 PCI Host Bridge
918product ADMTEK ADM8211 0x8201 ADM8211 11Mbps 802.11b WLAN 918product ADMTEK ADM8211 0x8201 ADM8211 11Mbps 802.11b WLAN
919product ADMTEK ADM9511 0x9511 ADM9511 (Centaur-II) 10/100 Ethernet 919product ADMTEK ADM9511 0x9511 ADM9511 (Centaur-II) 10/100 Ethernet
920product ADMTEK ADM9513 0x9513 ADM9513 (Centaur-II) 10/100 Ethernet 920product ADMTEK ADM9513 0x9513 ADM9513 (Centaur-II) 10/100 Ethernet
921 921
922/* Advanced System Products */ 922/* Advanced System Products */
923product ADVSYS 1200A 0x1100 923product ADVSYS 1200A 0x1100
924product ADVSYS 1200B 0x1200 924product ADVSYS 1200B 0x1200
925product ADVSYS ULTRA 0x1300 ABP-930/40UA 925product ADVSYS ULTRA 0x1300 ABP-930/40UA
926product ADVSYS WIDE 0x2300 ABP-940UW 926product ADVSYS WIDE 0x2300 ABP-940UW
927product ADVSYS U2W 0x2500 ASB-3940U2W 927product ADVSYS U2W 0x2500 ASB-3940U2W
928product ADVSYS U3W 0x2700 ASB-3940U3W 928product ADVSYS U3W 0x2700 ASB-3940U3W
929 929
930/* Agilent Technologies Products */ 930/* Agilent Technologies Products */
931product AGILENT TACHYON_DX2 0x0100 Tachyon DX2 FC Controller 931product AGILENT TACHYON_DX2 0x0100 Tachyon DX2 FC Controller
932 932
933/* Aironet Wireless Communicasions products */ 933/* Aironet Wireless Communicasions products */
934product AIRONET PC4xxx 0x0001 PC4500/PC4800 Wireless LAN Adapter 934product AIRONET PC4xxx 0x0001 PC4500/PC4800 Wireless LAN Adapter
935product AIRONET PCI350 0x0350 PCI350 Wireless LAN Adapter 935product AIRONET PCI350 0x0350 PCI350 Wireless LAN Adapter
936product AIRONET PC4500 0x4500 PC4500 Wireless LAN Adapter 936product AIRONET PC4500 0x4500 PC4500 Wireless LAN Adapter
937product AIRONET PC4800 0x4800 PC4800 Wireless LAN Adapter 937product AIRONET PC4800 0x4800 PC4800 Wireless LAN Adapter
938product AIRONET MPI350 0xa504 MPI350 Mini-PCI Wireless LAN Adapter 938product AIRONET MPI350 0xa504 MPI350 Mini-PCI Wireless LAN Adapter
939 939
940/* Alacritech products */ 940/* Alacritech products */
941product ALACRITECH SES1001T 0x0005 SES1001T iSCSI Accelerator 941product ALACRITECH SES1001T 0x0005 SES1001T iSCSI Accelerator
942 942
943/* Alliance products */ 943/* Alliance products */
944product ALLIANCE AT24 0x6424 AT24 944product ALLIANCE AT24 0x6424 AT24
945product ALLIANCE AT25 0x643d AT25 945product ALLIANCE AT25 0x643d AT25
946 946
947/* Alteon products */ 947/* Alteon products */
948product ALTEON ACENIC 0x0001 ACEnic 1000baseSX Ethernet 948product ALTEON ACENIC 0x0001 ACEnic 1000baseSX Ethernet
949product ALTEON ACENIC_COPPER 0x0002 ACEnic 1000baseT Ethernet 949product ALTEON ACENIC_COPPER 0x0002 ACEnic 1000baseT Ethernet
950product ALTEON BCM5700 0x0003 ACEnic BCM5700 10/100/1000 Ethernet 950product ALTEON BCM5700 0x0003 ACEnic BCM5700 10/100/1000 Ethernet
951product ALTEON BCM5701 0x0004 ACEnic BCM5701 10/100/1000 Ethernet 951product ALTEON BCM5701 0x0004 ACEnic BCM5701 10/100/1000 Ethernet
952 952
953/* Altera products */ 953/* Altera products */
954product ALTERA EP4CGX15BF14C8N 0x4c15 EP4CGX15BF14C8N 954product ALTERA EP4CGX15BF14C8N 0x4c15 EP4CGX15BF14C8N
955 955
956/* Altima products */ 956/* Altima products */
957product ALTIMA AC1000 0x03e8 AC1000 Gigabit Ethernet 957product ALTIMA AC1000 0x03e8 AC1000 Gigabit Ethernet
958product ALTIMA AC1001 0x03e9 AC1001 Gigabit Ethernet 958product ALTIMA AC1001 0x03e9 AC1001 Gigabit Ethernet
959product ALTIMA AC9100 0x03ea AC9100 Gigabit Ethernet 959product ALTIMA AC9100 0x03ea AC9100 Gigabit Ethernet
960product ALTIMA AC1003 0x03eb AC1003 Gigabit Ethernet 960product ALTIMA AC1003 0x03eb AC1003 Gigabit Ethernet
961 961
962/* Amazon.com, Inc. products */ 962/* Amazon.com, Inc. products */
963product AMAZON UART 0x8250 16650-compatible UART 963product AMAZON UART 0x8250 16650-compatible UART
964product AMAZON NVME 0x8061 NVMe SSD 964product AMAZON NVME 0x8061 NVMe SSD
965product AMAZON ENA 0xec20 Elastic Network Adapter 965product AMAZON ENA 0xec20 Elastic Network Adapter
966 966
967/* AMD products */ 967/* AMD products */
968product AMD AMD64_HT 0x1100 K8 AMD64 HyperTransport Configuration 968product AMD AMD64_HT 0x1100 K8 AMD64 HyperTransport Configuration
969product AMD AMD64_ADDR 0x1101 K8 AMD64 Address Map Configuration 969product AMD AMD64_ADDR 0x1101 K8 AMD64 Address Map Configuration
970product AMD AMD64_DRAM 0x1102 K8 AMD64 DRAM Configuration 970product AMD AMD64_DRAM 0x1102 K8 AMD64 DRAM Configuration
971product AMD AMD64_MISC 0x1103 K8 AMD64 Miscellaneous Configuration 971product AMD AMD64_MISC 0x1103 K8 AMD64 Miscellaneous Configuration
972product AMD AMD64_F10_HT 0x1200 AMD64 Family10h HyperTransport Configuration 972product AMD AMD64_F10_HT 0x1200 AMD64 Family10h HyperTransport Configuration
973product AMD AMD64_F10_ADDR 0x1201 AMD64 Family10h Address Map Configuration 973product AMD AMD64_F10_ADDR 0x1201 AMD64 Family10h Address Map Configuration
974product AMD AMD64_F10_DRAM 0x1202 AMD64 Family10h DRAM Configuration 974product AMD AMD64_F10_DRAM 0x1202 AMD64 Family10h DRAM Configuration
975product AMD AMD64_F10_MISC 0x1203 AMD64 Family10h Miscellaneous Configuration 975product AMD AMD64_F10_MISC 0x1203 AMD64 Family10h Miscellaneous Configuration
976product AMD AMD64_F10_LINK 0x1204 AMD64 Family10h Link Configuration 976product AMD AMD64_F10_LINK 0x1204 AMD64 Family10h Link Configuration
977product AMD AMD64_F11_HT 0x1300 AMD64 Family11h HyperTransport Configuration 977product AMD AMD64_F11_HT 0x1300 AMD64 Family11h HyperTransport Configuration
978product AMD AMD64_F11_ADDR 0x1301 AMD64 Family11h Address Map Configuration 978product AMD AMD64_F11_ADDR 0x1301 AMD64 Family11h Address Map Configuration
979product AMD AMD64_F11_DRAM 0x1302 AMD64 Family11h DRAM Configuration 979product AMD AMD64_F11_DRAM 0x1302 AMD64 Family11h DRAM Configuration
980product AMD AMD64_F11_MISC 0x1303 AMD64 Family11h Miscellaneous Configuration 980product AMD AMD64_F11_MISC 0x1303 AMD64 Family11h Miscellaneous Configuration
981product AMD AMD64_F11_LINK 0x1304 AMD64 Family11h Link Configuration 981product AMD AMD64_F11_LINK 0x1304 AMD64 Family11h Link Configuration
982product AMD F15_10_PF_0 0x1400 Family15h Processor Function 0 982product AMD F15_10_PF_0 0x1400 Family15h Processor Function 0
983product AMD F15_10_PF_1 0x1401 Family15h Processor Function 1 983product AMD F15_10_PF_1 0x1401 Family15h Processor Function 1
984product AMD F15_10_PF_2 0x1402 Family15h Processor Function 2 984product AMD F15_10_PF_2 0x1402 Family15h Processor Function 2
985product AMD F15_10_PF_3 0x1403 Family15h Processor Function 3 985product AMD F15_10_PF_3 0x1403 Family15h Processor Function 3
986product AMD F15_10_PF_4 0x1404 Family15h Processor Function 4 986product AMD F15_10_PF_4 0x1404 Family15h Processor Function 4
987product AMD F15_10_PF_5 0x1405 Family15h Processor Function 5 987product AMD F15_10_PF_5 0x1405 Family15h Processor Function 5
988product AMD F15_10_RC 0x1410 Family15h Root Complex 988product AMD F15_10_RC 0x1410 Family15h Root Complex
989product AMD F15_10_RP_2 0x1412 Family15h Root Port 989product AMD F15_10_RP_2 0x1412 Family15h Root Port
990product AMD F15_10_RP_3 0x1413 Family15h Root Port 990product AMD F15_10_RP_3 0x1413 Family15h Root Port
991product AMD F15_10_RP_4 0x1414 Family15h Root Port 991product AMD F15_10_RP_4 0x1414 Family15h Root Port
992product AMD F15_10_RP_5 0x1415 Family15h Root Port 992product AMD F15_10_RP_5 0x1415 Family15h Root Port
993product AMD F15_10_RP_6 0x1416 Family15h Root Port 993product AMD F15_10_RP_6 0x1416 Family15h Root Port
994product AMD F15_10_RP_7 0x1417 Family15h Root Port 994product AMD F15_10_RP_7 0x1417 Family15h Root Port
995product AMD F15_10_RP_8 0x1418 Family15h Root Port 995product AMD F15_10_RP_8 0x1418 Family15h Root Port
996product AMD F15_10_IOMMU 0x1419 Family15h IOMMU 996product AMD F15_10_IOMMU 0x1419 Family15h IOMMU
997product AMD F15_30_PF_0 0x141a Family15h Processor Function 0 997product AMD F15_30_PF_0 0x141a Family15h Processor Function 0
998product AMD F15_30_PF_1 0x141b Family15h Processor Function 1 998product AMD F15_30_PF_1 0x141b Family15h Processor Function 1
999product AMD F15_30_PF_2 0x141c Family15h Processor Function 2 999product AMD F15_30_PF_2 0x141c Family15h Processor Function 2
1000product AMD F15_30_PF_3 0x141d Family15h Processor Function 3 1000product AMD F15_30_PF_3 0x141d Family15h Processor Function 3
1001product AMD F15_30_PF_4 0x141e Family15h Processor Function 4 1001product AMD F15_30_PF_4 0x141e Family15h Processor Function 4
1002product AMD F15_30_PF_5 0x141f Family15h Processor Function 5 1002product AMD F15_30_PF_5 0x141f Family15h Processor Function 5
1003product AMD F15_30_RC 0x1422 Family15h Root Complex 1003product AMD F15_30_RC 0x1422 Family15h Root Complex
1004product AMD F15_30_IOMMU 0x1423 Family15h IOMMU 1004product AMD F15_30_IOMMU 0x1423 Family15h IOMMU
1005product AMD F15_30_HB 0x1424 Family15h Host Bridge 1005product AMD F15_30_HB 0x1424 Family15h Host Bridge
1006product AMD F15_30_RP_5 0x1425 Family15h Root Port 1006product AMD F15_30_RP_5 0x1425 Family15h Root Port
1007product AMD F15_30_RP_6 0x1426 Family15h Root Port 1007product AMD F15_30_RP_6 0x1426 Family15h Root Port
1008product AMD F16_GPPB 0x1439 Family16h GPP Bridge 1008product AMD F16_GPPB 0x1439 Family16h GPP Bridge
1009product AMD F17_RC 0x1450 Family17h Root Complex 1009product AMD F17_RC 0x1450 Family17h Root Complex
1010product AMD F17_IOMMU 0x1451 Family17h IOMMU 1010product AMD F17_IOMMU 0x1451 Family17h IOMMU
1011product AMD F17_PCIE_1 0x1452 Family17h PCIe 1011product AMD F17_PCIE_1 0x1452 Family17h PCIe
1012product AMD F17_PCIE_2 0x1453 Family17h PCIe 1012product AMD F17_PCIE_2 0x1453 Family17h PCIe
1013product AMD F17_PCIE_3 0x1454 Family17h PCIe 1013product AMD F17_PCIE_3 0x1454 Family17h PCIe
1014product AMD F17_CCP_1 0x1456 Family17h Crypto 1014product AMD F17_CCP_1 0x1456 Family17h Crypto
1015product AMD F17_HDA 0x1457 Family17h HD Audio 1015product AMD F17_HDA 0x1457 Family17h HD Audio
1016product AMD F17_PCIE_DUMMY 0x145a Family17h PCIe Dummy Function 1016product AMD F17_PCIE_DUMMY 0x145a Family17h PCIe Dummy Function
1017product AMD F17_XHCI 0x145c Family17h xHCI 1017product AMD F17_XHCI 0x145c Family17h xHCI
1018product AMD F17_XHCI_2 0x145f Family17h xHCI 1018product AMD F17_XHCI_2 0x145f Family17h xHCI
1019product AMD F17_DF_1 0x1460 Family17h Data Fabric 1019product AMD F17_DF_1 0x1460 Family17h Data Fabric
1020product AMD F17_DF_2 0x1461 Family17h Data Fabric 1020product AMD F17_DF_2 0x1461 Family17h Data Fabric
1021product AMD F17_DF_3 0x1462 Family17h Data Fabric 1021product AMD F17_DF_3 0x1462 Family17h Data Fabric
1022product AMD F17_DF_4 0x1463 Family17h Data Fabric 1022product AMD F17_DF_4 0x1463 Family17h Data Fabric
1023product AMD F17_DF_5 0x1464 Family17h Data Fabric 1023product AMD F17_DF_5 0x1464 Family17h Data Fabric
1024product AMD F17_DF_6 0x1465 Family17h Data Fabric 1024product AMD F17_DF_6 0x1465 Family17h Data Fabric
1025product AMD F17_DF_7 0x1466 Family17h Data Fabric 1025product AMD F17_DF_7 0x1466 Family17h Data Fabric
1026product AMD F17_DF_8 0x1467 Family17h Data Fabric 1026product AMD F17_DF_8 0x1467 Family17h Data Fabric
1027product AMD F17_PCIE_4 0x1470 Family17h PCIe 1027product AMD F17_PCIE_4 0x1470 Family17h PCIe
1028product AMD F17_PCIE_5 0x1471 Family17h PCIe 1028product AMD F17_PCIE_5 0x1471 Family17h PCIe
1029product AMD F17_7X_RC 0x1480 Family17h/7xh Root Complex 1029product AMD F17_7X_RC 0x1480 Family17h/7xh Root Complex
1030product AMD F17_7X_IOMMU 0x1481 Family17h/7xh IOMMU 1030product AMD F17_7X_IOMMU 0x1481 Family17h/7xh IOMMU
1031product AMD F17_7X_RESV_SPP 0x1485 Family17h/7xh Reserved SPP 1031product AMD F17_7X_RESV_SPP 0x1485 Family17h/7xh Reserved SPP
1032product AMD F17_7X_USB3 0x149c Family17h/7xh USB 3.0 Host Controller 1032product AMD F17_7X_USB3 0x149c Family17h/7xh USB 3.0 Host Controller
1033product AMD F14_RC 0x1510 Family14h Root Complex 1033product AMD F14_RC 0x1510 Family14h Root Complex
1034product AMD F14_PCIE_1 0x1512 Family14h PCIe 1034product AMD F14_PCIE_1 0x1512 Family14h PCIe
1035product AMD F14_PCIE_2 0x1513 Family14h PCIe 1035product AMD F14_PCIE_2 0x1513 Family14h PCIe
1036product AMD F14_PCIE_3 0x1514 Family14h PCIe 1036product AMD F14_PCIE_3 0x1514 Family14h PCIe
1037product AMD F14_PCIE_4 0x1515 Family14h PCIe 1037product AMD F14_PCIE_4 0x1515 Family14h PCIe
1038product AMD F14_PCIE_5 0x1516 Family14h PCIe 1038product AMD F14_PCIE_5 0x1516 Family14h PCIe
1039product AMD F16_HT 0x1530 Family16h HyperTransport Configuration 1039product AMD F16_HT 0x1530 Family16h HyperTransport Configuration
1040product AMD F16_ADDR 0x1531 Family16h Address Map Configuration 1040product AMD F16_ADDR 0x1531 Family16h Address Map Configuration
1041product AMD F16_DRAM 0x1532 Family16h DRAM Configuration 1041product AMD F16_DRAM 0x1532 Family16h DRAM Configuration
1042product AMD F16_NB 0x1533 Family16h North Bridge Configuration 1042product AMD F16_NB 0x1533 Family16h North Bridge Configuration
1043product AMD F16_CSTATE 0x1534 Family16h CPU C-state Configuration 1043product AMD F16_CSTATE 0x1534 Family16h CPU C-state Configuration
1044product AMD F16_MISC 0x1535 Family16h Miscellaneous Configuration 1044product AMD F16_MISC 0x1535 Family16h Miscellaneous Configuration
1045product AMD F16_RC 0x1536 Family16h Root Complex 1045product AMD F16_RC 0x1536 Family16h Root Complex
1046product AMD F16_CCP 0x1537 Family16h Cryptographic Coprocessor 1046product AMD F16_CCP 0x1537 Family16h Cryptographic Coprocessor
1047product AMD F16_30_RC 0x1566 Family16h Root Complex 1047product AMD F16_30_RC 0x1566 Family16h Root Complex
1048product AMD F16_30_IOMMU 0x1567 Family16h IOMMU 1048product AMD F16_30_IOMMU 0x1567 Family16h IOMMU
1049product AMD F16_HB 0x1568 Family16h Host Bridge 1049product AMD F16_HB 0x1568 Family16h Host Bridge
1050product AMD F16_30_HB 0x156b Family16h Host Bridge 1050product AMD F16_30_HB 0x156b Family16h Host Bridge
1051product AMD F15_60_PF_0 0x1570 Family15h Processor Function 0 1051product AMD F15_60_PF_0 0x1570 Family15h Processor Function 0
1052product AMD F15_60_PF_1 0x1571 Family15h Processor Function 1 1052product AMD F15_60_PF_1 0x1571 Family15h Processor Function 1
1053product AMD F15_60_PF_2 0x1572 Family15h Processor Function 2 1053product AMD F15_60_PF_2 0x1572 Family15h Processor Function 2
1054product AMD F15_60_PF_3 0x1573 Family15h Processor Function 3 1054product AMD F15_60_PF_3 0x1573 Family15h Processor Function 3
1055product AMD F15_60_PF_4 0x1574 Family15h Processor Function 4 1055product AMD F15_60_PF_4 0x1574 Family15h Processor Function 4
1056product AMD F15_60_PF_5 0x1575 Family15h Processor Function 5 1056product AMD F15_60_PF_5 0x1575 Family15h Processor Function 5
1057product AMD F15_60_RC 0x1576 Family15h Root Complex 1057product AMD F15_60_RC 0x1576 Family15h Root Complex
1058product AMD F15_60_IOMMU 0x1577 Family15h IOMMU 1058product AMD F15_60_IOMMU 0x1577 Family15h IOMMU
1059product AMD F15_60_PSP 0x1578 Family15h PSP 1059product AMD F15_60_PSP 0x1578 Family15h PSP
1060product AMD F15_60_AC 0x157a Family15h Audio Controller 1060product AMD F15_60_AC 0x157a Family15h Audio Controller
1061product AMD F15_60_HB 0x157b Family15h Host Bridge 1061product AMD F15_60_HB 0x157b Family15h Host Bridge
1062product AMD F15_60_RP 0x157c Family15h Root Port 1062product AMD F15_60_RP 0x157c Family15h Root Port
1063product AMD F16_30_HT 0x1580 Family16h HyperTransport Configuration 1063product AMD F16_30_HT 0x1580 Family16h HyperTransport Configuration
1064product AMD F16_30_ADDR 0x1581 Family16h Address Map Configuration 1064product AMD F16_30_ADDR 0x1581 Family16h Address Map Configuration
1065product AMD F16_30_DRAM 0x1582 Family16h DRAM Configuration 1065product AMD F16_30_DRAM 0x1582 Family16h DRAM Configuration
1066product AMD F16_30_NB 0x1583 Family16h North Bridge Configuration 1066product AMD F16_30_NB 0x1583 Family16h North Bridge Configuration
1067product AMD F16_30_CSTATE 0x1584 Family16h CPU C-state Configuration 1067product AMD F16_30_CSTATE 0x1584 Family16h CPU C-state Configuration
1068product AMD F16_30_MISC 0x1585 Family16h Miscellaneous Configuration 1068product AMD F16_30_MISC 0x1585 Family16h Miscellaneous Configuration
1069product AMD F17_1X_RC 0x15d0 Family17h/1xh Root Complex 1069product AMD F17_1X_RC 0x15d0 Family17h/1xh Root Complex
1070product AMD F17_1X_IOMMU 0x15d1 Family17h/1xh IOMMU 1070product AMD F17_1X_IOMMU 0x15d1 Family17h/1xh IOMMU
1071product AMD F17_1X_PCIE_1 0x15d3 Family17h/1xh PCIe 1071product AMD F17_1X_PCIE_1 0x15d3 Family17h/1xh PCIe
1072product AMD F17_1X_PCIE_2 0x15db Family17h/1xh PCIe 1072product AMD F17_1X_PCIE_2 0x15db Family17h/1xh PCIe
1073product AMD F17_1X_PCIE_3 0x15dc Family17h/1xh PCIe 1073product AMD F17_1X_PCIE_3 0x15dc Family17h/1xh PCIe
1074product AMD F17_1X_PSP 0x15df Family17h/1xh Platform Security Processor 1074product AMD F17_1X_PSP 0x15df Family17h/1xh Platform Security Processor
1075product AMD F17_1X_XHCI_1 0x15e0 Family17h/1xh xHCI 1075product AMD F17_1X_XHCI_1 0x15e0 Family17h/1xh xHCI
1076product AMD F17_1X_XHCI_2 0x15e1 Family17h/1xh xHCI 1076product AMD F17_1X_XHCI_2 0x15e1 Family17h/1xh xHCI
1077product AMD F17_1X_HDAUDIO 0x15e3 Family17h/1xh HD Audio Controller 1077product AMD F17_1X_HDAUDIO 0x15e3 Family17h/1xh HD Audio Controller
1078product AMD F17_1X_DF_0 0x15e8 Family17h/1xh Data Fabric 1078product AMD F17_1X_DF_0 0x15e8 Family17h/1xh Data Fabric
1079product AMD F17_1X_DF_1 0x15e9 Family17h/1xh Data Fabric 1079product AMD F17_1X_DF_1 0x15e9 Family17h/1xh Data Fabric
1080product AMD F17_1X_DF_2 0x15ea Family17h/1xh Data Fabric 1080product AMD F17_1X_DF_2 0x15ea Family17h/1xh Data Fabric
1081product AMD F17_1X_DF_3 0x15eb Family17h/1xh Data Fabric 1081product AMD F17_1X_DF_3 0x15eb Family17h/1xh Data Fabric
1082product AMD F17_1X_DF_4 0x15ec Family17h/1xh Data Fabric 1082product AMD F17_1X_DF_4 0x15ec Family17h/1xh Data Fabric
1083product AMD F17_1X_DF_5 0x15ed Family17h/1xh Data Fabric 1083product AMD F17_1X_DF_5 0x15ed Family17h/1xh Data Fabric
1084product AMD F17_1X_DF_6 0x15ee Family17h/1xh Data Fabric 1084product AMD F17_1X_DF_6 0x15ee Family17h/1xh Data Fabric
1085product AMD F17_1X_DF_7 0x15ef Family17h/1xh Data Fabric 1085product AMD F17_1X_DF_7 0x15ef Family17h/1xh Data Fabric
1086product AMD F15_HT 0x1600 Family15h HyperTransport Configuration 1086product AMD F15_HT 0x1600 Family15h HyperTransport Configuration
1087product AMD F15_ADDR 0x1601 Family15h Address Map Configuration 1087product AMD F15_ADDR 0x1601 Family15h Address Map Configuration
1088product AMD F15_DRAM 0x1602 Family15h DRAM Configuration 1088product AMD F15_DRAM 0x1602 Family15h DRAM Configuration
1089product AMD F15_MISC 0x1603 Family15h Miscellaneous Configuration 1089product AMD F15_MISC 0x1603 Family15h Miscellaneous Configuration
1090product AMD F15_LINK 0x1604 Family15h Link Configuration 1090product AMD F15_LINK 0x1604 Family15h Link Configuration
1091product AMD F15_NB 0x1605 Family15h North Bridge Configuration 1091product AMD F15_NB 0x1605 Family15h North Bridge Configuration
1092product AMD F14_HT 0x1700 Family12h/14h HyperTransport Configuration 1092product AMD F14_HT 0x1700 Family12h/14h HyperTransport Configuration
1093product AMD F14_ADDR 0x1701 Family12h/14h Address Map Configuration 1093product AMD F14_ADDR 0x1701 Family12h/14h Address Map Configuration
1094product AMD F14_DRAM 0x1702 Family12h/14h DRAM Configuration 1094product AMD F14_DRAM 0x1702 Family12h/14h DRAM Configuration
1095product AMD F14_NB 0x1703 Family12h/14h North Bridge Configuration 1095product AMD F14_NB 0x1703 Family12h/14h North Bridge Configuration
1096product AMD F14_CSTATE 0x1704 Family12h/14h CPU C-state Configuration 1096product AMD F14_CSTATE 0x1704 Family12h/14h CPU C-state Configuration
1097product AMD F12_RC 0x1705 Family12h Root Complex 1097product AMD F12_RC 0x1705 Family12h Root Complex
1098product AMD F12_GPP0 0x1709 Family12h GPP0 Root Port 1098product AMD F12_GPP0 0x1709 Family12h GPP0 Root Port
1099product AMD F14_MISC 0x1716 Family12h/14h Misc. Configuration 1099product AMD F14_MISC 0x1716 Family12h/14h Misc. Configuration
1100product AMD F14_HB18 0x1718 Family12h/14h Host Bridge 1100product AMD F14_HB18 0x1718 Family12h/14h Host Bridge
1101product AMD F14_HB19 0x1719 Family12h/14h Host Bridge 1101product AMD F14_HB19 0x1719 Family12h/14h Host Bridge
1102product AMD SEATTLE_PCHB_1 0x1a00 Seattle Host Bridge 1102product AMD SEATTLE_PCHB_1 0x1a00 Seattle Host Bridge
1103product AMD SEATTLE_PCHB_2 0x1a01 Seattle Host Bridge 1103product AMD SEATTLE_PCHB_2 0x1a01 Seattle Host Bridge
1104product AMD SEATTLE_PCIE 0x1a02 Seattle PCIe Root Port 1104product AMD SEATTLE_PCIE 0x1a02 Seattle PCIe Root Port
1105product AMD PCNET_PCI 0x2000 PCnet-PCI Ethernet 1105product AMD PCNET_PCI 0x2000 PCnet-PCI Ethernet
1106product AMD PCNET_HOME 0x2001 PCnet-Home HomePNA Ethernet 1106product AMD PCNET_HOME 0x2001 PCnet-Home HomePNA Ethernet
1107product AMD AM_1771_MBW 0x2003 Alchemy AM 1771 MBW 1107product AMD AM_1771_MBW 0x2003 Alchemy AM 1771 MBW
1108product AMD PCSCSI_PCI 0x2020 PCscsi-PCI SCSI 1108product AMD PCSCSI_PCI 0x2020 PCscsi-PCI SCSI
1109product AMD GEODELX_PCHB 0x2080 Geode LX Host-PCI Bridge 1109product AMD GEODELX_PCHB 0x2080 Geode LX Host-PCI Bridge
1110product AMD GEODELX_VGA 0x2081 Geode LX VGA Controller 1110product AMD GEODELX_VGA 0x2081 Geode LX VGA Controller
1111product AMD GEODELX_AES 0x2082 Geode LX AES Security Block 1111product AMD GEODELX_AES 0x2082 Geode LX AES Security Block
1112product AMD CS5536_PCISB 0x208f CS5536 GeodeLink PCI South Bridge 1112product AMD CS5536_PCISB 0x208f CS5536 GeodeLink PCI South Bridge
1113product AMD CS5536_PCIB 0x2090 CS5536 PCI-ISA Bridge 1113product AMD CS5536_PCIB 0x2090 CS5536 PCI-ISA Bridge
1114product AMD CS5536_FLASH 0x2091 CS5536 Flash 1114product AMD CS5536_FLASH 0x2091 CS5536 Flash
1115product AMD CS5536_AUDIO 0x2093 CS5536 Audio 1115product AMD CS5536_AUDIO 0x2093 CS5536 Audio
1116product AMD CS5536_OHCI 0x2094 CS5536 OHCI USB Controller 1116product AMD CS5536_OHCI 0x2094 CS5536 OHCI USB Controller
1117product AMD CS5536_EHCI 0x2095 CS5536 EHCI USB Controller 1117product AMD CS5536_EHCI 0x2095 CS5536 EHCI USB Controller
1118product AMD CS5536_UDC 0x2096 CS5536 UDC 1118product AMD CS5536_UDC 0x2096 CS5536 UDC
1119product AMD CS5536_UOC 0x2097 CS5536 UOC 1119product AMD CS5536_UOC 0x2097 CS5536 UOC
1120product AMD CS5536_IDE 0x209a CS5536 IDE Controller 1120product AMD CS5536_IDE 0x209a CS5536 IDE Controller
1121product AMD SC520_SC 0x3000 Elan SC520 System Controller 1121product AMD SC520_SC 0x3000 Elan SC520 System Controller
1122product AMD HUDSON_PCIE_0 0x43a0 Hudson PCIe Root Port 0 1122product AMD HUDSON_PCIE_0 0x43a0 Hudson PCIe Root Port 0
1123product AMD HUDSON_PCIE_1 0x43a1 Hudson PCIe Root Port 1 1123product AMD HUDSON_PCIE_1 0x43a1 Hudson PCIe Root Port 1
1124product AMD HUDSON_PCIE_2 0x43a2 Hudson PCIe Root Port 2 1124product AMD HUDSON_PCIE_2 0x43a2 Hudson PCIe Root Port 2
1125product AMD HUDSON_PCIE_3 0x43a3 Hudson PCIe Root Port 3 1125product AMD HUDSON_PCIE_3 0x43a3 Hudson PCIe Root Port 3
1126product AMD 300SERIES_PCIE 0x43b4 300 Series PCIe 1126product AMD 300SERIES_PCIE 0x43b4 300 Series PCIe
1127product AMD 300SERIES_SATA 0x43b7 300 Series SATA 1127product AMD 300SERIES_SATA 0x43b7 300 Series SATA
1128product AMD 300SERIES_XHCI 0x43bb 300 Series xHCI 1128product AMD 300SERIES_XHCI 0x43bb 300 Series xHCI
1129product AMD 400SERIES_PCIE_1 0x43c6 400 Series PCIe 1129product AMD 400SERIES_PCIE_1 0x43c6 400 Series PCIe
1130product AMD 400SERIES_PCIE_2 0x43c7 400 Series PCIe 1130product AMD 400SERIES_PCIE_2 0x43c7 400 Series PCIe
1131product AMD 400SERIES_AHCI 0x43c8 400 Series AHCI 1131product AMD 400SERIES_AHCI 0x43c8 400 Series AHCI
1132product AMD 400SERIES_XHCI 0x43d0 400 Series xHCI 1132product AMD 400SERIES_XHCI 0x43d0 400 Series xHCI
1133product AMD SC751_SC 0x7006 AMD751 System Controller 1133product AMD SC751_SC 0x7006 AMD751 System Controller
1134product AMD SC751_PPB 0x7007 AMD751 PCI-PCI Bridge 1134product AMD SC751_PPB 0x7007 AMD751 PCI-PCI Bridge
1135product AMD IGR4_AGP 0x700a AMD IGR4 AGP Bridge 1135product AMD IGR4_AGP 0x700a AMD IGR4 AGP Bridge
1136product AMD IGR4_PPB 0x700b AMD IGR4 PCI-PCI Bridge 1136product AMD IGR4_PPB 0x700b AMD IGR4 PCI-PCI Bridge
1137product AMD SC762_NB 0x700c AMD762 North Bridge 1137product AMD SC762_NB 0x700c AMD762 North Bridge
1138product AMD SC762_PPB 0x700d AMD762 AGP Bridge 1138product AMD SC762_PPB 0x700d AMD762 AGP Bridge
1139product AMD SC761_SC 0x700e AMD761 System Controller 1139product AMD SC761_SC 0x700e AMD761 System Controller
1140product AMD SC761_PPB 0x700f AMD761 PCI-PCI Bridge 1140product AMD SC761_PPB 0x700f AMD761 PCI-PCI Bridge
1141product AMD PBC755_ISA 0x7400 AMD755 PCI-ISA Bridge 1141product AMD PBC755_ISA 0x7400 AMD755 PCI-ISA Bridge
1142product AMD PBC755_IDE 0x7401 AMD755 IDE Controller 1142product AMD PBC755_IDE 0x7401 AMD755 IDE Controller
1143product AMD PBC755_PMC 0x7403 AMD755 ACPI Controller 1143product AMD PBC755_PMC 0x7403 AMD755 ACPI Controller
1144product AMD PBC755_USB 0x7404 AMD755 USB Host Controller 1144product AMD PBC755_USB 0x7404 AMD755 USB Host Controller
1145product AMD PBC756_ISA 0x7408 AMD756 PCI-ISA Bridge 1145product AMD PBC756_ISA 0x7408 AMD756 PCI-ISA Bridge
1146product AMD PBC756_IDE 0x7409 AMD756 IDE Controller 1146product AMD PBC756_IDE 0x7409 AMD756 IDE Controller
1147product AMD PBC756_PMC 0x740b AMD756 Power Management Controller 1147product AMD PBC756_PMC 0x740b AMD756 Power Management Controller
1148product AMD PBC756_USB 0x740c AMD756 USB Host Controller 1148product AMD PBC756_USB 0x740c AMD756 USB Host Controller
1149product AMD PBC766_ISA 0x7410 AMD766 South Bridge 1149product AMD PBC766_ISA 0x7410 AMD766 South Bridge
1150product AMD PBC766_IDE 0x7411 AMD766 IDE Controller 1150product AMD PBC766_IDE 0x7411 AMD766 IDE Controller
1151product AMD PBC766_PMC 0x7413 AMD766 Power Management Controller 1151product AMD PBC766_PMC 0x7413 AMD766 Power Management Controller
1152product AMD PBC766_USB 0x7414 AMD766 USB Host Controller 1152product AMD PBC766_USB 0x7414 AMD766 USB Host Controller
1153product AMD PBC768_ISA 0x7440 AMD768 PCI-ISA/LPC Bridge 1153product AMD PBC768_ISA 0x7440 AMD768 PCI-ISA/LPC Bridge
1154product AMD PBC768_IDE 0x7441 AMD768 EIDE Controller 1154product AMD PBC768_IDE 0x7441 AMD768 EIDE Controller
1155product AMD PBC768_PMC 0x7443 AMD768 Power Management Controller 1155product AMD PBC768_PMC 0x7443 AMD768 Power Management Controller
1156product AMD PBC768_AC 0x7445 AMD768 AC97 Audio 1156product AMD PBC768_AC 0x7445 AMD768 AC97 Audio
1157product AMD PBC768_MD 0x7446 AMD768 AC97 Modem 1157product AMD PBC768_MD 0x7446 AMD768 AC97 Modem
1158product AMD PBC768_PPB 0x7448 AMD768 PCI-PCI Bridge 1158product AMD PBC768_PPB 0x7448 AMD768 PCI-PCI Bridge
1159product AMD PBC768_USB 0x7449 AMD768 USB Controller 1159product AMD PBC768_USB 0x7449 AMD768 USB Controller
1160product AMD PCIX8131_PPB 0x7450 AMD8131 PCI-X Tunnel 1160product AMD PCIX8131_PPB 0x7450 AMD8131 PCI-X Tunnel
1161product AMD PCIX8131_APIC 0x7451 AMD8131 IO Apic 1161product AMD PCIX8131_APIC 0x7451 AMD8131 IO Apic
1162product AMD AGP8151_DEV 0x7454 AMD8151 AGP Device 1162product AMD AGP8151_DEV 0x7454 AMD8151 AGP Device
1163product AMD AGP8151_PPB 0x7455 AMD8151 AGP Bridge 1163product AMD AGP8151_PPB 0x7455 AMD8151 AGP Bridge
1164product AMD PCIX_PPB 0x7458 AMD8123 PCI-X Bridge 1164product AMD PCIX_PPB 0x7458 AMD8123 PCI-X Bridge
1165product AMD PCIX_APIC 0x7459 AMD8132 PCI-X IOAPIC 1165product AMD PCIX_APIC 0x7459 AMD8132 PCI-X IOAPIC
1166product AMD PBC8111 0x7460 AMD8111 I/O Hub 1166product AMD PBC8111 0x7460 AMD8111 I/O Hub
1167product AMD PBC8111_USB_7461 0x7461 AMD8111 7461 USB Host Controller 1167product AMD PBC8111_USB_7461 0x7461 AMD8111 7461 USB Host Controller
1168product AMD PBC8111_ETHER 0x7462 AMD8111 Ethernet 1168product AMD PBC8111_ETHER 0x7462 AMD8111 Ethernet
1169product AMD PBC8111_USB 0x7464 AMD8111 USB Host Controller 1169product AMD PBC8111_USB 0x7464 AMD8111 USB Host Controller
1170product AMD PBC8111_LPC 0x7468 AMD8111 LPC Controller 1170product AMD PBC8111_LPC 0x7468 AMD8111 LPC Controller
1171product AMD PBC8111_IDE 0x7469 AMD8111 IDE Controller 1171product AMD PBC8111_IDE 0x7469 AMD8111 IDE Controller
1172product AMD PBC8111_SMB 0x746a AMD8111 SMBus Controller 1172product AMD PBC8111_SMB 0x746a AMD8111 SMBus Controller
1173product AMD PBC8111_ACPI 0x746b AMD8111 ACPI Controller 1173product AMD PBC8111_ACPI 0x746b AMD8111 ACPI Controller
1174product AMD PBC8111_AC 0x746d AMD8111 AC97 Audio 1174product AMD PBC8111_AC 0x746d AMD8111 AC97 Audio
1175product AMD PBC8111_MC97 0x746e AMD8111 MC97 Modem 1175product AMD PBC8111_MC97 0x746e AMD8111 MC97 Modem
1176product AMD PBC8111_AC_756b 0x756b AMD8111 756b ACPI Controller 1176product AMD PBC8111_AC_756b 0x756b AMD8111 756b ACPI Controller
1177product AMD HUDSON_SATA 0x7800 Hudson SATA (IDE) Controller 1177product AMD HUDSON_SATA 0x7800 Hudson SATA (IDE) Controller
1178product AMD HUDSON_SATA_AHCI 0x7801 Hudson SATA (AHCI) Controller 1178product AMD HUDSON_SATA_AHCI 0x7801 Hudson SATA (AHCI) Controller
1179product AMD HUDSON_SATA_RAID 0x7802 Hudson SATA (RAID) Controller 1179product AMD HUDSON_SATA_RAID 0x7802 Hudson SATA (RAID) Controller
1180product AMD HUDSON_SATA_RAID5 0x7803 Hudson SATA (RAID5) Controller 1180product AMD HUDSON_SATA_RAID5 0x7803 Hudson SATA (RAID5) Controller
1181product AMD HUDSON_SATA_AHCI_2 0x7804 Hudson SATA (AMD AHCI) Controller 1181product AMD HUDSON_SATA_AHCI_2 0x7804 Hudson SATA (AMD AHCI) Controller
1182product AMD HUDSON_SATA_RAID_2 0x7805 Hudson SATA (RAID) Controller 1182product AMD HUDSON_SATA_RAID_2 0x7805 Hudson SATA (RAID) Controller
1183product AMD HUDSON_SDHC 0x7806 Hudson SD Flash Controller 1183product AMD HUDSON_SDHC 0x7806 Hudson SD Flash Controller
1184product AMD HUDSON_OHCI 0x7807 Hudson USB OHCI Controller 1184product AMD HUDSON_OHCI 0x7807 Hudson USB OHCI Controller
1185product AMD HUDSON_EHCI 0x7808 Hudson USB EHCI Controller 1185product AMD HUDSON_EHCI 0x7808 Hudson USB EHCI Controller
1186product AMD HUDSON_OHCI_2 0x7809 Hudson USB OHCI Controller 1186product AMD HUDSON_OHCI_2 0x7809 Hudson USB OHCI Controller
1187product AMD HUDSON_SMB 0x780b Hudson SMBus Controller 1187product AMD HUDSON_SMB 0x780b Hudson SMBus Controller
1188product AMD HUDSON_IDE 0x780c Hudson IDE Controller 1188product AMD HUDSON_IDE 0x780c Hudson IDE Controller
1189product AMD HUDSON_HDA 0x780d Hudson HD Audio Controller 1189product AMD HUDSON_HDA 0x780d Hudson HD Audio Controller
1190product AMD HUDSON_LPC 0x780e Hudson LPC Bridge 1190product AMD HUDSON_LPC 0x780e Hudson LPC Bridge
1191product AMD HUDSON_PCI 0x780f Hudson PCI Bridge 1191product AMD HUDSON_PCI 0x780f Hudson PCI Bridge
1192product AMD HUDSON_XHCI 0x7812 Hudson USB xHCI Controller 1192product AMD HUDSON_XHCI 0x7812 Hudson USB xHCI Controller
1193product AMD FCH_SDHC 0x7813 FCH SD Flash Controller 1193product AMD FCH_SDHC 0x7813 FCH SD Flash Controller
1194product AMD FCH_XHCI 0x7814 FCH USB xHCI Controller 1194product AMD FCH_XHCI 0x7814 FCH USB xHCI Controller
1195product AMD KERNCZ_SATA_1 0x7900 FCH SATA 1195product AMD KERNCZ_SATA_1 0x7900 FCH SATA
1196product AMD KERNCZ_AHCI_1 0x7901 FCH AHCI 1196product AMD KERNCZ_AHCI_1 0x7901 FCH AHCI
1197product AMD KERNCZ_RAID_1 0x7902 FCH RAID 1197product AMD KERNCZ_RAID_1 0x7902 FCH RAID
1198product AMD KERNCZ_RAID_2 0x7903 FCH RAID 1198product AMD KERNCZ_RAID_2 0x7903 FCH RAID
1199product AMD KERNCZ_AHCI_2 0x7904 FCH AHCI 1199product AMD KERNCZ_AHCI_2 0x7904 FCH AHCI
1200product AMD KERNCZ_EHCI 0x7908 FCH USB2 1200product AMD KERNCZ_EHCI 0x7908 FCH USB2
1201product AMD KERNCZ_SMB 0x790b X370/X399 SMBus Controller 1201product AMD KERNCZ_SMB 0x790b X370/X399 SMBus Controller
1202product AMD KERNCZ_LPC 0x790e FCH LPC 1202product AMD KERNCZ_LPC 0x790e FCH LPC
1203product AMD KERNCZ_XHCI 0x7914 FCH xHCI 1203product AMD KERNCZ_XHCI 0x7914 FCH xHCI
1204product AMD RS780_HB 0x9600 RS780 Host Bridge 1204product AMD RS780_HB 0x9600 RS780 Host Bridge
1205product AMD RS880_HB 0x9601 RS785/RS880 Host Bridge 1205product AMD RS880_HB 0x9601 RS785/RS880 Host Bridge
1206product AMD RS780_PPB_GFX 0x9602 RS780/RS880 PCI-PCI Bridge (int gfx) 1206product AMD RS780_PPB_GFX 0x9602 RS780/RS880 PCI-PCI Bridge (int gfx)
1207product AMD RS780_PPB_GFX0 0x9603 RS780 PCI-PCI Bridge (ext gfx port 0) 1207product AMD RS780_PPB_GFX0 0x9603 RS780 PCI-PCI Bridge (ext gfx port 0)
1208product AMD RS780_PPB0 0x9604 RS780/RS880 PCI-PCIE Bridge (port 0) 1208product AMD RS780_PPB0 0x9604 RS780/RS880 PCI-PCIE Bridge (port 0)
1209product AMD RS780_PPB1 0x9605 RS780/RS880 PCI-PCIE Bridge (port 1) 1209product AMD RS780_PPB1 0x9605 RS780/RS880 PCI-PCIE Bridge (port 1)
1210product AMD RS780_PPB2 0x9606 RS780 PCI-PCIE Bridge (port 2) 1210product AMD RS780_PPB2 0x9606 RS780 PCI-PCIE Bridge (port 2)
1211product AMD RS780_PPB3 0x9607 RS780 PCI-PCIE Bridge (port 3) 1211product AMD RS780_PPB3 0x9607 RS780 PCI-PCIE Bridge (port 3)
1212product AMD RS780_PPB4 0x9608 RS780/RS880 PCI-PCIE Bridge (port 4) 1212product AMD RS780_PPB4 0x9608 RS780/RS880 PCI-PCIE Bridge (port 4)
1213product AMD RS780_PPB5 0x9609 RS780/RS880 PCI-PCIE Bridge (port 5) 1213product AMD RS780_PPB5 0x9609 RS780/RS880 PCI-PCIE Bridge (port 5)
1214product AMD RS780_PPB6 0x960a RS780 PCI-PCIE Bridge (NB-SB link) 1214product AMD RS780_PPB6 0x960a RS780 PCI-PCIE Bridge (NB-SB link)
1215product AMD RS780_PPB7 0x960b RS780 PCI-PCIE Bridge (ext gfx port 1) 1215product AMD RS780_PPB7 0x960b RS780 PCI-PCIE Bridge (ext gfx port 1)
1216 1216
1217/* American Megatrends products */ 1217/* American Megatrends products */
1218product AMI MEGARAID3 0x1960 MegaRAID 3 1218product AMI MEGARAID3 0x1960 MegaRAID 3
1219product AMI MEGARAID 0x9010 MegaRAID 1219product AMI MEGARAID 0x9010 MegaRAID
1220product AMI MEGARAID2 0x9060 MegaRAID 2 1220product AMI MEGARAID2 0x9060 MegaRAID 2
1221 1221
1222/* Analog Devices products */ 1222/* Analog Devices products */
1223product ANALOG AD1889 0x1889 AD1889 PCI SoundMAX Controller 1223product ANALOG AD1889 0x1889 AD1889 PCI SoundMAX Controller
1224product ANALOG SAFENET 0x2f44 SafeNet Crypto Accelerator ADSP-2141 1224product ANALOG SAFENET 0x2f44 SafeNet Crypto Accelerator ADSP-2141
1225 1225
1226/* Antares Microsystems products */ 1226/* Antares Microsystems products */
1227product ANTARES TC9021 0x1021 Antares Gigabit Ethernet 1227product ANTARES TC9021 0x1021 Antares Gigabit Ethernet
1228 1228
1229/* Apple products */ 1229/* Apple products */
1230product APPLE BANDIT 0x0001 Bandit Host-PCI Bridge 1230product APPLE BANDIT 0x0001 Bandit Host-PCI Bridge
1231product APPLE GC 0x0002 Grand Central I/O Controller 1231product APPLE GC 0x0002 Grand Central I/O Controller
1232product APPLE CONTROL 0x0003 Control 1232product APPLE CONTROL 0x0003 Control
1233product APPLE PLANB 0x0004 PlanB 1233product APPLE PLANB 0x0004 PlanB
1234product APPLE OHARE 0x0007 OHare I/O Controller 1234product APPLE OHARE 0x0007 OHare I/O Controller
1235product APPLE BANDIT2 0x0008 Bandit Host-PCI Bridge 1235product APPLE BANDIT2 0x0008 Bandit Host-PCI Bridge
1236product APPLE HEATHROW 0x0010 Heathrow I/O Controller 1236product APPLE HEATHROW 0x0010 Heathrow I/O Controller
1237product APPLE PADDINGTON 0x0017 Paddington I/O Controller 1237product APPLE PADDINGTON 0x0017 Paddington I/O Controller
1238product APPLE UNINORTH_FW 0x0018 UniNorth Firewire 1238product APPLE UNINORTH_FW 0x0018 UniNorth Firewire
1239product APPLE KEYLARGO_USB 0x0019 KeyLargo USB Controller 1239product APPLE KEYLARGO_USB 0x0019 KeyLargo USB Controller
1240product APPLE UNINORTH1 0x001e UniNorth Host-PCI Bridge 1240product APPLE UNINORTH1 0x001e UniNorth Host-PCI Bridge
1241product APPLE UNINORTH2 0x001f UniNorth Host-PCI Bridge 1241product APPLE UNINORTH2 0x001f UniNorth Host-PCI Bridge
1242product APPLE UNINORTH_AGP 0x0020 UniNorth AGP Interface 1242product APPLE UNINORTH_AGP 0x0020 UniNorth AGP Interface
1243product APPLE GMAC 0x0021 GMAC Ethernet 1243product APPLE GMAC 0x0021 GMAC Ethernet
1244product APPLE KEYLARGO 0x0022 KeyLargo I/O Controller 1244product APPLE KEYLARGO 0x0022 KeyLargo I/O Controller
1245product APPLE GMAC2 0x0024 GMAC Ethernet 1245product APPLE GMAC2 0x0024 GMAC Ethernet
1246product APPLE PANGEA_MACIO 0x0025 Pangea I/O Controller 1246product APPLE PANGEA_MACIO 0x0025 Pangea I/O Controller
1247product APPLE PANGEA_USB 0x0026 Pangea USB Controller 1247product APPLE PANGEA_USB 0x0026 Pangea USB Controller
1248product APPLE PANGEA_AGP 0x0027 Pangea AGP Interface 1248product APPLE PANGEA_AGP 0x0027 Pangea AGP Interface
1249product APPLE PANGEA_PCI1 0x0028 Pangea Host-PCI Bridge 1249product APPLE PANGEA_PCI1 0x0028 Pangea Host-PCI Bridge
1250product APPLE PANGEA_PCI2 0x0029 Pangea Host-PCI Bridge 1250product APPLE PANGEA_PCI2 0x0029 Pangea Host-PCI Bridge
1251product APPLE UNINORTH_AGP2 0x002d UniNorth AGP Interface 1251product APPLE UNINORTH_AGP2 0x002d UniNorth AGP Interface
1252product APPLE UNINORTH3 0x002e UniNorth Host-PCI Bridge 1252product APPLE UNINORTH3 0x002e UniNorth Host-PCI Bridge
1253product APPLE UNINORTH4 0x002f UniNorth Host-PCI Bridge 1253product APPLE UNINORTH4 0x002f UniNorth Host-PCI Bridge
1254product APPLE PANGEA_FW 0x0030 Pangea Firewire 1254product APPLE PANGEA_FW 0x0030 Pangea Firewire
1255product APPLE UNINORTH2_FW 0x0031 UniNorth Firewire 1255product APPLE UNINORTH2_FW 0x0031 UniNorth Firewire
1256product APPLE GMAC3 0x0032 GMAC Ethernet 1256product APPLE GMAC3 0x0032 GMAC Ethernet
1257product APPLE UNINORTH_ATA 0x0033 UniNorth ATA/100 Controller 1257product APPLE UNINORTH_ATA 0x0033 UniNorth ATA/100 Controller
1258product APPLE UNINORTH_AGP3 0x0034 UniNorth AGP Bridge 1258product APPLE UNINORTH_AGP3 0x0034 UniNorth AGP Bridge
1259product APPLE UNINORTH5 0x0035 UniNorth Host-PCI Bridge 1259product APPLE UNINORTH5 0x0035 UniNorth Host-PCI Bridge
1260product APPLE UNINORTH6 0x0036 UniNorth Host-PCI Bridge 1260product APPLE UNINORTH6 0x0036 UniNorth Host-PCI Bridge
1261product APPLE KAUAI 0x003b Kauai ATA Controller 1261product APPLE KAUAI 0x003b Kauai ATA Controller
1262product APPLE INTREPID 0x003e Intrepid I/O Controller 1262product APPLE INTREPID 0x003e Intrepid I/O Controller
1263product APPLE INTREPID_USB 0x003f Intrepid USB Controller 1263product APPLE INTREPID_USB 0x003f Intrepid USB Controller
1264product APPLE K2_USB 0x0040 K2 USB Controller 1264product APPLE K2_USB 0x0040 K2 USB Controller
1265product APPLE K2 0x0041 K2 MAC-IO Controller 1265product APPLE K2 0x0041 K2 MAC-IO Controller
1266product APPLE K2_FW 0x0042 K2 Firewire 1266product APPLE K2_FW 0x0042 K2 Firewire
1267product APPLE K2_UATA 0x0043 K2 UATA Controller 1267product APPLE K2_UATA 0x0043 K2 UATA Controller
1268product APPLE U3_PPB1 0x0045 U3 PCI-PCI Bridge 1268product APPLE U3_PPB1 0x0045 U3 PCI-PCI Bridge
1269product APPLE U3_PPB2 0x0046 U3 PCI-PCI Bridge 1269product APPLE U3_PPB2 0x0046 U3 PCI-PCI Bridge
1270product APPLE U3_PPB3 0x0047 U3 PCI-PCI Bridge 1270product APPLE U3_PPB3 0x0047 U3 PCI-PCI Bridge
1271product APPLE U3_PPB4 0x0048 U3 PCI-PCI Bridge 1271product APPLE U3_PPB4 0x0048 U3 PCI-PCI Bridge
1272product APPLE U3_PPB5 0x0049 U3 PCI-PCI Bridge 1272product APPLE U3_PPB5 0x0049 U3 PCI-PCI Bridge
1273product APPLE U3_AGP 0x004b U3 AGP Interface 1273product APPLE U3_AGP 0x004b U3 AGP Interface
1274product APPLE K2_GMAC 0x004c GMAC Ethernet 1274product APPLE K2_GMAC 0x004c GMAC Ethernet
1275product APPLE SHASTA 0x004f Shasta 1275product APPLE SHASTA 0x004f Shasta
1276product APPLE SHASTA_ATA 0x0050 Shasta ATA 1276product APPLE SHASTA_ATA 0x0050 Shasta ATA
1277product APPLE SHASTA_GMAC 0x0051 Shasta GMAC 1277product APPLE SHASTA_GMAC 0x0051 Shasta GMAC
1278product APPLE SHASTA_FW 0x0052 Shasta Firewire 1278product APPLE SHASTA_FW 0x0052 Shasta Firewire
1279product APPLE SHASTA_PCI1 0x0053 Shasta PCI 1279product APPLE SHASTA_PCI1 0x0053 Shasta PCI
1280product APPLE SHASTA_PCI2 0x0054 Shasta PCI 1280product APPLE SHASTA_PCI2 0x0054 Shasta PCI
1281product APPLE SHASTA_PCI3 0x0055 Shasta PCI 1281product APPLE SHASTA_PCI3 0x0055 Shasta PCI
1282product APPLE SHASTA_HT 0x0056 Shasta HyperTransport 1282product APPLE SHASTA_HT 0x0056 Shasta HyperTransport
1283product APPLE INTREPID2_AGP 0x0066 Intrepid 2 AGP 1283product APPLE INTREPID2_AGP 0x0066 Intrepid 2 AGP
1284product APPLE INTREPID2_PCI1 0x0067 Intrepid 2 PCI 1284product APPLE INTREPID2_PCI1 0x0067 Intrepid 2 PCI
1285product APPLE INTREPID2_PCI2 0x0068 Intrepid 2 PCI 1285product APPLE INTREPID2_PCI2 0x0068 Intrepid 2 PCI
1286product APPLE INTREPID2_ATA 0x0069 Intrepid 2 ATA 1286product APPLE INTREPID2_ATA 0x0069 Intrepid 2 ATA
1287product APPLE INTREPID2_FW 0x006a Intrepid 2 FireWire 1287product APPLE INTREPID2_FW 0x006a Intrepid 2 FireWire
1288product APPLE INTREPID2_GMAC 0x006b Intrepid 2 GMAC 1288product APPLE INTREPID2_GMAC 0x006b Intrepid 2 GMAC
1289product APPLE BCM5701 0x1645 BCM5701 1289product APPLE BCM5701 0x1645 BCM5701
1290 1290
1291/* Aquantia Corp. */ 1291/* Aquantia Corp. */
1292product AQUANTIA AQC100 0x00b1 AQC100 10 Gigabit Network Adapter 1292product AQUANTIA AQC100 0x00b1 AQC100 10 Gigabit Network Adapter
1293product AQUANTIA AQC107 0x07b1 AQC107 10 Gigabit Network Adapter 1293product AQUANTIA AQC107 0x07b1 AQC107 10 Gigabit Network Adapter
1294product AQUANTIA AQC108 0x08b1 AQC108 5 Gigabit Network Adapter 1294product AQUANTIA AQC108 0x08b1 AQC108 5 Gigabit Network Adapter
1295product AQUANTIA AQC109 0x09b1 AQC109 2.5 Gigabit Network Adapter 1295product AQUANTIA AQC109 0x09b1 AQC109 2.5 Gigabit Network Adapter
 1296product AQUANTIA AQC100 0x00b1 AQC100 10 Gigabit Network Adapter
1296product AQUANTIA AQC111 0x11b1 AQC111 5 Gigabit Network Adapter 1297product AQUANTIA AQC111 0x11b1 AQC111 5 Gigabit Network Adapter
1297product AQUANTIA AQC112 0x12b1 AQC112 2.5 Gigabit Network Adapter 1298product AQUANTIA AQC112 0x12b1 AQC112 2.5 Gigabit Network Adapter
1298product AQUANTIA AQC100S 0x80b1 AQC100S 10 Gigabit Network Adapter 1299product AQUANTIA AQC100S 0x80b1 AQC100S 10 Gigabit Network Adapter
1299product AQUANTIA AQC107S 0x87b1 AQC107S 10 Gigabit Network Adapter 1300product AQUANTIA AQC107S 0x87b1 AQC107S 10 Gigabit Network Adapter
1300product AQUANTIA AQC108S 0x88b1 AQC108S 5 Gigabit Network Adapter 1301product AQUANTIA AQC108S 0x88b1 AQC108S 5 Gigabit Network Adapter
1301product AQUANTIA AQC109S 0x89b1 AQC109S 2.5 Gigabit Network Adapter 1302product AQUANTIA AQC109S 0x89b1 AQC109S 2.5 Gigabit Network Adapter
1302product AQUANTIA AQC111S 0x91b1 AQC111S 5 Gigabit Network Adapter 1303product AQUANTIA AQC111S 0x91b1 AQC111S 5 Gigabit Network Adapter
1303product AQUANTIA AQC112S 0x92b1 AQC112S 2.5 Gigabit Network Adapter 1304product AQUANTIA AQC112S 0x92b1 AQC112S 2.5 Gigabit Network Adapter
1304product AQUANTIA D100 0xd100 D100 10 Gigabit Network Adapter 1305product AQUANTIA D100 0xd100 D100 10 Gigabit Network Adapter
1305product AQUANTIA D107 0xd107 D107 10 Gigabit Network Adapter 1306product AQUANTIA D107 0xd107 D107 10 Gigabit Network Adapter
1306product AQUANTIA D108 0xd108 D108 5 Gigabit Network Adapter 1307product AQUANTIA D108 0xd108 D108 5 Gigabit Network Adapter
1307product AQUANTIA D109 0xd109 D109 2.5 Gigabit Network Adapter 1308product AQUANTIA D109 0xd109 D109 2.5 Gigabit Network Adapter
1308 1309
1309/* ARC Logic products */ 1310/* ARC Logic products */
1310product ARC 1000PV 0xa091 1000PV 1311product ARC 1000PV 0xa091 1000PV
1311product ARC 2000PV 0xa099 2000PV 1312product ARC 2000PV 0xa099 2000PV
1312product ARC 2000MT 0xa0a1 2000MT 1313product ARC 2000MT 0xa0a1 2000MT
1313 1314
1314/* Areca products */ 1315/* Areca products */
1315product ARECA ARC1110 0x1110 ARC-1110 1316product ARECA ARC1110 0x1110 ARC-1110
1316product ARECA ARC1120 0x1120 ARC-1120 1317product ARECA ARC1120 0x1120 ARC-1120
1317product ARECA ARC1130 0x1130 ARC-1130 1318product ARECA ARC1130 0x1130 ARC-1130
1318product ARECA ARC1160 0x1160 ARC-1160 1319product ARECA ARC1160 0x1160 ARC-1160
1319product ARECA ARC1170 0x1170 ARC-1170 1320product ARECA ARC1170 0x1170 ARC-1170
1320product ARECA ARC1200 0x1200 ARC-1200 1321product ARECA ARC1200 0x1200 ARC-1200
1321product ARECA ARC1200_B 0x1201 ARC-1200 rev B 1322product ARECA ARC1200_B 0x1201 ARC-1200 rev B
1322product ARECA ARC1202 0x1202 ARC-1202 1323product ARECA ARC1202 0x1202 ARC-1202
1323product ARECA ARC1210 0x1210 ARC-1210 1324product ARECA ARC1210 0x1210 ARC-1210
1324product ARECA ARC1214 0x1214 ARC-1214 1325product ARECA ARC1214 0x1214 ARC-1214
1325product ARECA ARC1220 0x1220 ARC-1220 1326product ARECA ARC1220 0x1220 ARC-1220
1326product ARECA ARC1230 0x1230 ARC-1230 1327product ARECA ARC1230 0x1230 ARC-1230
1327product ARECA ARC1260 0x1260 ARC-1260 1328product ARECA ARC1260 0x1260 ARC-1260
1328product ARECA ARC1270 0x1270 ARC-1270 1329product ARECA ARC1270 0x1270 ARC-1270
1329product ARECA ARC1280 0x1280 ARC-1280 1330product ARECA ARC1280 0x1280 ARC-1280
1330product ARECA ARC1380 0x1380 ARC-1380 1331product ARECA ARC1380 0x1380 ARC-1380
1331product ARECA ARC1381 0x1381 ARC-1381 1332product ARECA ARC1381 0x1381 ARC-1381
1332product ARECA ARC1680 0x1680 ARC-1680 1333product ARECA ARC1680 0x1680 ARC-1680
1333product ARECA ARC1681 0x1681 ARC-1681 1334product ARECA ARC1681 0x1681 ARC-1681
1334product ARECA ARC1880 0x1880 ARC-1880 1335product ARECA ARC1880 0x1880 ARC-1880
1335 1336
1336/* ASIX Electronics products */ 1337/* ASIX Electronics products */
1337product ASIX AX88140A 0x1400 AX88140A 10/100 Ethernet 1338product ASIX AX88140A 0x1400 AX88140A 10/100 Ethernet
1338 1339
1339/* ASMedia products */ 1340/* ASMedia products */
1340product ASMEDIA ASM1061_01 0x0601 ASM1061 AHCI SATA III Controller 1341product ASMEDIA ASM1061_01 0x0601 ASM1061 AHCI SATA III Controller
1341product ASMEDIA ASM1061_02 0x0602 ASM1061 AHCI SATA III Controller 1342product ASMEDIA ASM1061_02 0x0602 ASM1061 AHCI SATA III Controller
1342product ASMEDIA ASM1061_11 0x0611 ASM1061 AHCI SATA III Controller 1343product ASMEDIA ASM1061_11 0x0611 ASM1061 AHCI SATA III Controller
1343product ASMEDIA ASM1061_12 0x0612 ASM1061 AHCI SATA III Controller 1344product ASMEDIA ASM1061_12 0x0612 ASM1061 AHCI SATA III Controller
1344product ASMEDIA ASM1042 0x1042 ASM1042 USB 3.0 Host Controller 1345product ASMEDIA ASM1042 0x1042 ASM1042 USB 3.0 Host Controller
1345product ASMEDIA ASM1083 0x1080 ASM1083/1085 PCIe-PCI Bridge 1346product ASMEDIA ASM1083 0x1080 ASM1083/1085 PCIe-PCI Bridge
1346product ASMEDIA ASM1042A 0x1142 ASM1042A USB 3.0 Host Controller 1347product ASMEDIA ASM1042A 0x1142 ASM1042A USB 3.0 Host Controller
1347product ASMEDIA ASM1182 0x1182 ASM1182E PCIe Bridge Controller 1348product ASMEDIA ASM1182 0x1182 ASM1182E PCIe Bridge Controller
1348product ASMEDIA ASM1184 0x1184 ASM1184E PCIe Bridge Controller 1349product ASMEDIA ASM1184 0x1184 ASM1184E PCIe Bridge Controller
1349product ASMEDIA ASM1142 0x1242 ASM1142 USB 3.1 Host Controller 1350product ASMEDIA ASM1142 0x1242 ASM1142 USB 3.1 Host Controller
1350product ASMEDIA ASM1143 0x1343 ASM1143 USB 3.1 Host Controller 1351product ASMEDIA ASM1143 0x1343 ASM1143 USB 3.1 Host Controller
1351product ASMEDIA ASM2142 0x2142 ASM2142 USB 3.1 Host Controller 1352product ASMEDIA ASM2142 0x2142 ASM2142 USB 3.1 Host Controller
1352 1353
1353/* Asustek products */ 1354/* Asustek products */
1354product ASUSTEK HFCPCI 0x0675 ISDN 1355product ASUSTEK HFCPCI 0x0675 ISDN
1355 1356
1356/* Attansic Technology Corp. */ 1357/* Attansic Technology Corp. */
1357product ATTANSIC ETHERNET_L1E 0x1026 L1E Gigabit Ethernet Adapter 1358product ATTANSIC ETHERNET_L1E 0x1026 L1E Gigabit Ethernet Adapter
1358product ATTANSIC ETHERNET_GIGA 0x1048 L1 Gigabit Ethernet Adapter 1359product ATTANSIC ETHERNET_GIGA 0x1048 L1 Gigabit Ethernet Adapter
1359product ATTANSIC AR8132 0x1062 AR8132 L2C Fast Ethernet Adapter 1360product ATTANSIC AR8132 0x1062 AR8132 L2C Fast Ethernet Adapter
1360product ATTANSIC AR8131 0x1063 AR8131 L1C Gigabit Ethernet Adapter 1361product ATTANSIC AR8131 0x1063 AR8131 L1C Gigabit Ethernet Adapter
1361product ATTANSIC AR8151 0x1073 AR8151 v1.0 L1D Gigabit Ethernet Adapter 1362product ATTANSIC AR8151 0x1073 AR8151 v1.0 L1D Gigabit Ethernet Adapter
1362product ATTANSIC AR8151_V2 0x1083 AR8151 v2.0 L1D Gigabit Ethernet Adapter 1363product ATTANSIC AR8151_V2 0x1083 AR8151 v2.0 L1D Gigabit Ethernet Adapter
1363product ATTANSIC AR8162 0x1090 AR8162 1364product ATTANSIC AR8162 0x1090 AR8162
1364product ATTANSIC AR8161 0x1091 AR8161 1365product ATTANSIC AR8161 0x1091 AR8161
1365product ATTANSIC AR8172 0x10a0 AR8172 1366product ATTANSIC AR8172 0x10a0 AR8172
1366product ATTANSIC AR8171 0x10a1 AR8171 1367product ATTANSIC AR8171 0x10a1 AR8171
1367product ATTANSIC ETHERNET_100 0x2048 L2 100 Mbit Ethernet Adapter 1368product ATTANSIC ETHERNET_100 0x2048 L2 100 Mbit Ethernet Adapter
1368product ATTANSIC AR8152_B 0x2060 AR8152 v1.1 L2C Fast Ethernet Adapter 1369product ATTANSIC AR8152_B 0x2060 AR8152 v1.1 L2C Fast Ethernet Adapter
1369product ATTANSIC AR8152_B2 0x2062 AR8152 v2.0 L2C Fast Ethernet Adapter 1370product ATTANSIC AR8152_B2 0x2062 AR8152 v2.0 L2C Fast Ethernet Adapter
1370product ATTANSIC E2200 0xe091 Killer E2200 1371product ATTANSIC E2200 0xe091 Killer E2200
1371product ATTANSIC E2400 0xe0a1 Killer E2400 1372product ATTANSIC E2400 0xe0a1 Killer E2400
1372product ATTANSIC E2500 0xe0b1 Killer E2500 1373product ATTANSIC E2500 0xe0b1 Killer E2500
1373 1374
1374/* ATI products */ 1375/* ATI products */
1375/* See http://www.x.org/wiki/Radeon%20ASICs */ 1376/* See http://www.x.org/wiki/Radeon%20ASICs */
1376product ATI RADEON_KAVERI_HDMI 0x1308 Kaveri HDMI Audio 1377product ATI RADEON_KAVERI_HDMI 0x1308 Kaveri HDMI Audio
1377product ATI RADEON_KAVERI_R7_1 0x1313 Kaveri Radeon R7 (Kaveri) 1378product ATI RADEON_KAVERI_R7_1 0x1313 Kaveri Radeon R7 (Kaveri)
1378product ATI RADEON_WRESTLER_HDMI 0x1314 Wrestler HDMI Audio 1379product ATI RADEON_WRESTLER_HDMI 0x1314 Wrestler HDMI Audio
1379product ATI RADEON_BEAVERCREEK_HDMI 0x1714 BeaverCreek HDMI Audio 1380product ATI RADEON_BEAVERCREEK_HDMI 0x1714 BeaverCreek HDMI Audio
1380product ATI RADEON_RV380_3150 0x3150 Radeon Mobility X600 (M24) 3150 1381product ATI RADEON_RV380_3150 0x3150 Radeon Mobility X600 (M24) 3150
1381product ATI RADEON_RV380_3154 0x3154 FireGL M24 GL 3154 1382product ATI RADEON_RV380_3154 0x3154 FireGL M24 GL 3154
1382product ATI RADEON_RV380_3E50 0x3e50 Radeon X600 (RV380) 3E50 1383product ATI RADEON_RV380_3E50 0x3e50 Radeon X600 (RV380) 3E50
1383product ATI RADEON_RV380_3E54 0x3e54 FireGL V3200 (RV380) 3E54 1384product ATI RADEON_RV380_3E54 0x3e54 FireGL V3200 (RV380) 3E54
1384product ATI RADEON_RS100_4136 0x4136 Radeon IGP320 (A3) 4136 1385product ATI RADEON_RS100_4136 0x4136 Radeon IGP320 (A3) 4136
1385product ATI RADEON_RS200_A7 0x4137 Radeon IGP330/340/350 (A4) 4137 1386product ATI RADEON_RS200_A7 0x4137 Radeon IGP330/340/350 (A4) 4137
1386product ATI RADEON_R300_AD 0x4144 Radeon 9500 AD 1387product ATI RADEON_R300_AD 0x4144 Radeon 9500 AD
1387product ATI RADEON_R300_AE 0x4145 Radeon 9500 AE 1388product ATI RADEON_R300_AE 0x4145 Radeon 9500 AE
1388product ATI RADEON_R300_AF 0x4146 Radeon 9600TX AF 1389product ATI RADEON_R300_AF 0x4146 Radeon 9600TX AF
1389product ATI RADEON_R300_AG 0x4147 FireGL Z1 AG 1390product ATI RADEON_R300_AG 0x4147 FireGL Z1 AG
1390product ATI RADEON_R350_AH 0x4148 Radeon 9800SE AH 1391product ATI RADEON_R350_AH 0x4148 Radeon 9800SE AH
1391product ATI RADEON_R350_AI 0x4149 Radeon 9800 AI 1392product ATI RADEON_R350_AI 0x4149 Radeon 9800 AI
1392product ATI RADEON_R350_AJ 0x414a Radeon 9800 AJ 1393product ATI RADEON_R350_AJ 0x414a Radeon 9800 AJ
1393product ATI RADEON_R350_AK 0x414b FireGL X2 AK 1394product ATI RADEON_R350_AK 0x414b FireGL X2 AK
1394product ATI RADEON_RV350_AP 0x4150 Radeon 9600 AP 1395product ATI RADEON_RV350_AP 0x4150 Radeon 9600 AP
1395product ATI RADEON_RV350_AQ 0x4151 Radeon 9600SE AQ 1396product ATI RADEON_RV350_AQ 0x4151 Radeon 9600SE AQ
1396product ATI RADEON_RV360_AR 0x4152 Radeon 9600XT AR 1397product ATI RADEON_RV360_AR 0x4152 Radeon 9600XT AR
1397product ATI RADEON_RV350_AS 0x4153 Radeon 9600 AS 1398product ATI RADEON_RV350_AS 0x4153 Radeon 9600 AS
1398product ATI RADEON_RV350_AT 0x4154 FireGL T2 AT 1399product ATI RADEON_RV350_AT 0x4154 FireGL T2 AT
1399/* RV350 and RV360 FireFL T2 have same PCI id */ 1400/* RV350 and RV360 FireFL T2 have same PCI id */
1400product ATI RADEON_RV350_AV 0x4154 FireGL RV360 AV 1401product ATI RADEON_RV350_AV 0x4154 FireGL RV360 AV
1401product ATI MACH32 0x4158 Mach32 1402product ATI MACH32 0x4158 Mach32
1402product ATI RADEON_9600_LE_S 0x4171 Radeon 9600 LE Secondary 1403product ATI RADEON_9600_LE_S 0x4171 Radeon 9600 LE Secondary
1403product ATI RADEON_9600_XT_S 0x4172 Radeon 9600 XT Secondary 1404product ATI RADEON_9600_XT_S 0x4172 Radeon 9600 XT Secondary
1404product ATI RADEON_RS250_B7 0x4237 Radeon 7000 IGP (A4+) 1405product ATI RADEON_RS250_B7 0x4237 Radeon 7000 IGP (A4+)
1405product ATI RADEON_R200_BB 0x4242 Radeon 8500 AIW BB 1406product ATI RADEON_R200_BB 0x4242 Radeon 8500 AIW BB
1406product ATI RADEON_R200_BC 0x4243 Radeon 8500 AIW BC 1407product ATI RADEON_R200_BC 0x4243 Radeon 8500 AIW BC
1407product ATI RADEON_RS100_4336 0x4336 Radeon IGP320M (U1) 4336 1408product ATI RADEON_RS100_4336 0x4336 Radeon IGP320M (U1) 4336
1408product ATI RADEON_RS200_4337 0x4337 Radeon IGP330M/340M/350M (U2) 4337 1409product ATI RADEON_RS200_4337 0x4337 Radeon IGP330M/340M/350M (U2) 4337
1409product ATI IXP_AUDIO_200 0x4341 IXP AC'97 Audio Controller 1410product ATI IXP_AUDIO_200 0x4341 IXP AC'97 Audio Controller
1410product ATI SB200_PPB 0x4342 SB200 PCI-PCI Bridge 1411product ATI SB200_PPB 0x4342 SB200 PCI-PCI Bridge
1411product ATI SB200_EHCI 0x4345 SB200 USB2 Host Controller 1412product ATI SB200_EHCI 0x4345 SB200 USB2 Host Controller
1412product ATI SB200_OHCI_1 0x4347 SB200 USB Host Controller 1413product ATI SB200_OHCI_1 0x4347 SB200 USB Host Controller
1413product ATI SB200_OHCI_2 0x4348 SB200 USB Host Controller 1414product ATI SB200_OHCI_2 0x4348 SB200 USB Host Controller
1414product ATI IXP_IDE_200 0x4349 SB200 IXP IDE Controller 1415product ATI IXP_IDE_200 0x4349 SB200 IXP IDE Controller
1415product ATI SB200_ISA 0x434c SB200 PCI-ISA Bridge 1416product ATI SB200_ISA 0x434c SB200 PCI-ISA Bridge
1416product ATI SB200_MODEM 0x434d SB200 Modem 1417product ATI SB200_MODEM 0x434d SB200 Modem
1417product ATI SB200_SMB 0x4353 SB200 SMBus Controller 1418product ATI SB200_SMB 0x4353 SB200 SMBus Controller
1418product ATI MACH64_CT 0x4354 Mach64 CT 1419product ATI MACH64_CT 0x4354 Mach64 CT
1419product ATI MACH64_CX 0x4358 Mach64 CX 1420product ATI MACH64_CX 0x4358 Mach64 CX
1420product ATI IXP_AUDIO_300 0x4361 IXP AC'97 Audio Controller 1421product ATI IXP_AUDIO_300 0x4361 IXP AC'97 Audio Controller
1421product ATI SB300_SMB 0x4363 SB300 SMBus Controller 1422product ATI SB300_SMB 0x4363 SB300 SMBus Controller
1422product ATI IXP_IDE_300 0x4369 SB300 IXP IDE Controller 1423product ATI IXP_IDE_300 0x4369 SB300 IXP IDE Controller
1423product ATI IXP_SATA_300 0x436e IXP300 SATA Controller 1424product ATI IXP_SATA_300 0x436e IXP300 SATA Controller
1424product ATI IXP_AUDIO_400 0x4370 IXP AC'97 Audio Controller 1425product ATI IXP_AUDIO_400 0x4370 IXP AC'97 Audio Controller
1425product ATI SB400_PPB 0x4371 SB400 PCI-PCI Bridge 1426product ATI SB400_PPB 0x4371 SB400 PCI-PCI Bridge
1426product ATI SB400_SMB 0x4372 SB400 SMBus Controller 1427product ATI SB400_SMB 0x4372 SB400 SMBus Controller
1427product ATI SB400_EHCI 0x4373 SB400 USB2 Host Controller 1428product ATI SB400_EHCI 0x4373 SB400 USB2 Host Controller
1428product ATI SB400_OHCI_1 0x4374 SB400 USB Host Controller 1429product ATI SB400_OHCI_1 0x4374 SB400 USB Host Controller
1429product ATI SB400_OHCI_2 0x4375 SB400 USB Host Controller 1430product ATI SB400_OHCI_2 0x4375 SB400 USB Host Controller
1430product ATI IXP_IDE_400 0x4376 SB400 IXP IDE Controller 1431product ATI IXP_IDE_400 0x4376 SB400 IXP IDE Controller
1431product ATI SB400_ISA 0x4377 SB400 PCI-ISA Bridge 1432product ATI SB400_ISA 0x4377 SB400 PCI-ISA Bridge
1432product ATI SB400_MODEM 0x4378 SB400 Modem 1433product ATI SB400_MODEM 0x4378 SB400 Modem
1433product ATI SB400_SATA_1 0x4379 SB400 SATA Controller 1434product ATI SB400_SATA_1 0x4379 SB400 SATA Controller
1434product ATI SB400_SATA_2 0x437a SB400 SATA Controller 1435product ATI SB400_SATA_2 0x437a SB400 SATA Controller
1435product ATI SB600_SATA_1 0x4380 SB600 SATA Controller 1436product ATI SB600_SATA_1 0x4380 SB600 SATA Controller
1436product ATI SB600_SATA_2 0x4381 SB600 SATA Controller 1437product ATI SB600_SATA_2 0x4381 SB600 SATA Controller
1437product ATI SB600_AC97_AUDIO 0x4382 SB600 AC97 Audio 1438product ATI SB600_AC97_AUDIO 0x4382 SB600 AC97 Audio
1438product ATI SB600_AZALIA 0x4383 SBx00 Azalia 1439product ATI SB600_AZALIA 0x4383 SBx00 Azalia
1439product ATI SB600_PPB 0x4384 SBx00 PCI to PCI Bridge 1440product ATI SB600_PPB 0x4384 SBx00 PCI to PCI Bridge
1440product ATI SB600_SMB 0x4385 SBx00 SMBus Controller 1441product ATI SB600_SMB 0x4385 SBx00 SMBus Controller
1441product ATI SB600_USB_EHCI 0x4386 SB600 USB EHCI Controller 1442product ATI SB600_USB_EHCI 0x4386 SB600 USB EHCI Controller
1442product ATI SB600_USB_OHCI0 0x4387 SB600 USB OHCI0 Controller 1443product ATI SB600_USB_OHCI0 0x4387 SB600 USB OHCI0 Controller
1443product ATI SB600_USB_OHCI1 0x4388 SB600 USB OHCI1 Controller 1444product ATI SB600_USB_OHCI1 0x4388 SB600 USB OHCI1 Controller
1444product ATI SB600_USB_OHCI2 0x4389 SB600 USB OHCI2 Controller 1445product ATI SB600_USB_OHCI2 0x4389 SB600 USB OHCI2 Controller
1445product ATI SB600_USB_OHCI3 0x438a SB600 USB OHCI3 Controller 1446product ATI SB600_USB_OHCI3 0x438a SB600 USB OHCI3 Controller
1446product ATI SB600_USB_OHCI4 0x438b SB600 USB OHCI4 Controller 1447product ATI SB600_USB_OHCI4 0x438b SB600 USB OHCI4 Controller
1447product ATI IXP_IDE_600 0x438c SB600 IXP IDE Controller 1448product ATI IXP_IDE_600 0x438c SB600 IXP IDE Controller
1448product ATI SB600_PLB_438D 0x438d SB600 PCI to LPC Bridge 1449product ATI SB600_PLB_438D 0x438d SB600 PCI to LPC Bridge
1449product ATI SB600_AC97_MODEM 0x438e SB600 AC97 Modem 1450product ATI SB600_AC97_MODEM 0x438e SB600 AC97 Modem
1450product ATI SB700_SATA_IDE 0x4390 SB700-SB900 SATA Controller (IDE mode) 1451product ATI SB700_SATA_IDE 0x4390 SB700-SB900 SATA Controller (IDE mode)
1451product ATI SB700_SATA_AHCI 0x4391 SB700-SB900 SATA Controller (AHCI mode) 1452product ATI SB700_SATA_AHCI 0x4391 SB700-SB900 SATA Controller (AHCI mode)
1452product ATI SB700_SATA_RAID 0x4392 SB700-SB900 RAID SATA Controller 1453product ATI SB700_SATA_RAID 0x4392 SB700-SB900 RAID SATA Controller
1453product ATI SB700_SATA_RAID5 0x4393 SB700-SB900 RAID5 SATA Controller 1454product ATI SB700_SATA_RAID5 0x4393 SB700-SB900 RAID5 SATA Controller
1454product ATI SB700_SATA_AHCI2 0x4394 SB700-SB900 SATA Controller (AHCI mode) 1455product ATI SB700_SATA_AHCI2 0x4394 SB700-SB900 SATA Controller (AHCI mode)
1455product ATI SB700_SATA_STORAGE 0x4395 SB700-SB900 SATA Controller (Storage mode) 1456product ATI SB700_SATA_STORAGE 0x4395 SB700-SB900 SATA Controller (Storage mode)
1456product ATI SB700_USB_EHCI 0x4396 SB700-SB900 USB EHCI Controller 1457product ATI SB700_USB_EHCI 0x4396 SB700-SB900 USB EHCI Controller
1457product ATI SB700_USB_OHCI0 0x4397 SB700-SB900 USB OHCI Controller 1458product ATI SB700_USB_OHCI0 0x4397 SB700-SB900 USB OHCI Controller
1458product ATI SB700_USB_OHCI1 0x4398 SB700-SB900 USB OHCI Controller 1459product ATI SB700_USB_OHCI1 0x4398 SB700-SB900 USB OHCI Controller
1459product ATI SB700_USB_OHCI2 0x4399 SB700-SB900 USB OHCI Controller 1460product ATI SB700_USB_OHCI2 0x4399 SB700-SB900 USB OHCI Controller
1460product ATI SB700_IDE 0x439c SB700-SB900 IDE Controller 1461product ATI SB700_IDE 0x439c SB700-SB900 IDE Controller
1461product ATI SB700_LPC 0x439d SB700-SB900 LPC Host Controller 1462product ATI SB700_LPC 0x439d SB700-SB900 LPC Host Controller
1462product ATI SB700_PCIE0 0x43a0 SB700-SB900 PCI to PCI bridge (PCIe 0) 1463product ATI SB700_PCIE0 0x43a0 SB700-SB900 PCI to PCI bridge (PCIe 0)
1463product ATI SB700_PCIE1 0x43a1 SB700-SB900 PCI to PCI bridge (PCIe 1) 1464product ATI SB700_PCIE1 0x43a1 SB700-SB900 PCI to PCI bridge (PCIe 1)
1464product ATI SB900_PCIE2 0x43a2 SB900 PCI to PCI bridge (PCIe 2) 1465product ATI SB900_PCIE2 0x43a2 SB900 PCI to PCI bridge (PCIe 2)
1465product ATI SB900_PCIE3 0x43a3 SB900 PCI to PCI bridge (PCIe 3) 1466product ATI SB900_PCIE3 0x43a3 SB900 PCI to PCI bridge (PCIe 3)
1466product ATI RADEON_RS250_D7 0x4437 Radeon Mobility 7000 IGP 1467product ATI RADEON_RS250_D7 0x4437 Radeon Mobility 7000 IGP
1467product ATI RAGE_PRO_AGP 0x4742 3D Rage Pro (AGP) 1468product ATI RAGE_PRO_AGP 0x4742 3D Rage Pro (AGP)
1468product ATI RAGE_PRO_AGP1X 0x4744 3D Rage Pro (AGP 1x) 1469product ATI RAGE_PRO_AGP1X 0x4744 3D Rage Pro (AGP 1x)
1469product ATI RAGE_PRO_PCI_B 0x4749 3D Rage Pro Turbo 1470product ATI RAGE_PRO_PCI_B 0x4749 3D Rage Pro Turbo
1470product ATI RAGE_XC_PCI66 0x474c Rage XC (PCI66) 1471product ATI RAGE_XC_PCI66 0x474c Rage XC (PCI66)
1471product ATI RAGE_XL_AGP 0x474d Rage XL (AGP) 1472product ATI RAGE_XL_AGP 0x474d Rage XL (AGP)
1472product ATI RAGE_XC_AGP 0x474e Rage XC (AGP) 1473product ATI RAGE_XC_AGP 0x474e Rage XC (AGP)
1473product ATI RAGE_XL_PCI66 0x474f Rage XL (PCI66) 1474product ATI RAGE_XL_PCI66 0x474f Rage XL (PCI66)
1474product ATI RAGE_PRO_PCI_P 0x4750 3D Rage Pro 1475product ATI RAGE_PRO_PCI_P 0x4750 3D Rage Pro
1475product ATI RAGE_PRO_PCI_L 0x4751 3D Rage Pro (limited 3D) 1476product ATI RAGE_PRO_PCI_L 0x4751 3D Rage Pro (limited 3D)
1476product ATI RAGE_XL_PCI 0x4752 Rage XL 1477product ATI RAGE_XL_PCI 0x4752 Rage XL
1477product ATI RAGE_XC_PCI 0x4753 Rage XC 1478product ATI RAGE_XC_PCI 0x4753 Rage XC
1478product ATI RAGE_II 0x4754 3D Rage I/II 1479product ATI RAGE_II 0x4754 3D Rage I/II
1479product ATI RAGE_IIP 0x4755 3D Rage II+ 1480product ATI RAGE_IIP 0x4755 3D Rage II+
1480product ATI RAGE_IIC_PCI 0x4756 3D Rage IIC 1481product ATI RAGE_IIC_PCI 0x4756 3D Rage IIC
1481product ATI RAGE_IIC_AGP_B 0x4757 3D Rage IIC (AGP) 1482product ATI RAGE_IIC_AGP_B 0x4757 3D Rage IIC (AGP)
1482product ATI MACH64_GX 0x4758 Mach64 GX 1483product ATI MACH64_GX 0x4758 Mach64 GX
1483product ATI RAGE_IIC 0x4759 3D Rage IIC 1484product ATI RAGE_IIC 0x4759 3D Rage IIC
1484product ATI RAGE_IIC_AGP_P 0x475a 3D Rage IIC (AGP) 1485product ATI RAGE_IIC_AGP_P 0x475a 3D Rage IIC (AGP)
1485product ATI RADEON_RV250_4966 0x4966 Radeon 9000/PRO If 1486product ATI RADEON_RV250_4966 0x4966 Radeon 9000/PRO If
1486product ATI RADEON_RV250_4967 0x4967 Radeon 9000 Ig 1487product ATI RADEON_RV250_4967 0x4967 Radeon 9000 Ig
1487product ATI RADEON_R420_JH 0x4a48 Radeon X800 (R420) JH 1488product ATI RADEON_R420_JH 0x4a48 Radeon X800 (R420) JH
1488product ATI RADEON_R420_JI 0x4a49 Radeon X800PRO (R420) JI 1489product ATI RADEON_R420_JI 0x4a49 Radeon X800PRO (R420) JI
1489/* XXX 4a4a is generic, the SE should be 4a4f */ 1490/* XXX 4a4a is generic, the SE should be 4a4f */
1490product ATI RADEON_R420_JJ 0x4a4a Radeon X800SE (R420) JJ 1491product ATI RADEON_R420_JJ 0x4a4a Radeon X800SE (R420) JJ
1491/* XXX 4a4b should be the XT */ 1492/* XXX 4a4b should be the XT */
1492product ATI RADEON_R420_JK 0x4a4b Radeon X800 (R420) JK 1493product ATI RADEON_R420_JK 0x4a4b Radeon X800 (R420) JK
1493product ATI RADEON_R420_JL 0x4a4c Radeon X800 (R420) JL 1494product ATI RADEON_R420_JL 0x4a4c Radeon X800 (R420) JL
1494product ATI RADEON_R420_JM 0x4a4d FireGL X3 (R420) JM 1495product ATI RADEON_R420_JM 0x4a4d FireGL X3 (R420) JM
1495product ATI RADEON_R420_JN 0x4a4e Radeon Mobility 9800 (M18) JN 1496product ATI RADEON_R420_JN 0x4a4e Radeon Mobility 9800 (M18) JN
1496/* Duplicate, maybe this entry should be 4a50, XT Platinum */ 1497/* Duplicate, maybe this entry should be 4a50, XT Platinum */
1497product ATI RADEON_R420_JP 0x4a4e Radeon X800XT (R420) JP 1498product ATI RADEON_R420_JP 0x4a4e Radeon X800XT (R420) JP
1498product ATI RAGE_LT_PRO_AGP 0x4c42 3D Rage LT Pro (AGP 133MHz) 1499product ATI RAGE_LT_PRO_AGP 0x4c42 3D Rage LT Pro (AGP 133MHz)
1499product ATI RAGE_LT_PRO_AGP66 0x4c44 3D Rage LT Pro (AGP 66MHz) 1500product ATI RAGE_LT_PRO_AGP66 0x4c44 3D Rage LT Pro (AGP 66MHz)
1500product ATI RAGE_MOB_M3_PCI 0x4c45 Rage Mobility M3 1501product ATI RAGE_MOB_M3_PCI 0x4c45 Rage Mobility M3
1501product ATI RAGE_MOB_M3_AGP 0x4c46 Rage Mobility M3 (AGP) 1502product ATI RAGE_MOB_M3_AGP 0x4c46 Rage Mobility M3 (AGP)
1502product ATI RAGE_LT 0x4c47 3D Rage LT 1503product ATI RAGE_LT 0x4c47 3D Rage LT
1503product ATI RAGE_LT_PRO_PCI 0x4c49 3D Rage LT Pro 1504product ATI RAGE_LT_PRO_PCI 0x4c49 3D Rage LT Pro
1504product ATI RAGE_MOBILITY 0x4c4d Rage Mobility 1505product ATI RAGE_MOBILITY 0x4c4d Rage Mobility
1505product ATI RAGE_L_MOBILITY 0x4c4e Rage L Mobility 1506product ATI RAGE_L_MOBILITY 0x4c4e Rage L Mobility
1506product ATI RAGE_LT_PRO 0x4c50 3D Rage LT Pro 1507product ATI RAGE_LT_PRO 0x4c50 3D Rage LT Pro
1507product ATI RAGE_LT_PRO2 0x4c51 3D Rage LT Pro 1508product ATI RAGE_LT_PRO2 0x4c51 3D Rage LT Pro
1508product ATI RAGE_MOB_M1_PCI 0x4c52 Rage Mobility M1 (PCI) 1509product ATI RAGE_MOB_M1_PCI 0x4c52 Rage Mobility M1 (PCI)
1509product ATI RAGE_L_MOB_M1_PCI 0x4c53 Rage L Mobility (PCI) 1510product ATI RAGE_L_MOB_M1_PCI 0x4c53 Rage L Mobility (PCI)
1510product ATI RADEON_RV200_LW 0x4c57 Radeon Mobility M7 LW 1511product ATI RADEON_RV200_LW 0x4c57 Radeon Mobility M7 LW
1511product ATI RADEON_RV200_LX 0x4c58 FireGL Mobility 7800 M7 LX 1512product ATI RADEON_RV200_LX 0x4c58 FireGL Mobility 7800 M7 LX
1512product ATI RADEON_RV100_LY 0x4c59 Radeon Mobility M6 LY 1513product ATI RADEON_RV100_LY 0x4c59 Radeon Mobility M6 LY
1513product ATI RADEON_RV100_LZ 0x4c5a Radeon Mobility M6 LZ 1514product ATI RADEON_RV100_LZ 0x4c5a Radeon Mobility M6 LZ
1514product ATI RADEON_RV250_4C64 0x4c64 FireGL Mobility 9000 (M9) Ld 1515product ATI RADEON_RV250_4C64 0x4c64 FireGL Mobility 9000 (M9) Ld
1515product ATI RADEON_RV250_4C66 0x4c66 Radeon Mobility 9000 (M9) Lf 1516product ATI RADEON_RV250_4C66 0x4c66 Radeon Mobility 9000 (M9) Lf
1516product ATI RADEON_RV250_4C67 0x4c67 Radeon Mobility 9000 (M9) Lg 1517product ATI RADEON_RV250_4C67 0x4c67 Radeon Mobility 9000 (M9) Lg
1517product ATI RADEON_128_AGP4X 0x4d46 Radeon Mobility 128 AGP 4x 1518product ATI RADEON_128_AGP4X 0x4d46 Radeon Mobility 128 AGP 4x
1518product ATI RADEON_128_AGP2X 0x4d4c Radeon Mobility 128 AGP 2x 1519product ATI RADEON_128_AGP2X 0x4d4c Radeon Mobility 128 AGP 2x
1519product ATI RADEON_R300_ND 0x4e44 Radeon 9700 ND 1520product ATI RADEON_R300_ND 0x4e44 Radeon 9700 ND
1520product ATI RADEON_R300_NE 0x4e45 Radeon 9700/9500Pro NE 1521product ATI RADEON_R300_NE 0x4e45 Radeon 9700/9500Pro NE
1521product ATI RADEON_R300_NF 0x4e46 Radeon 9700 NF 1522product ATI RADEON_R300_NF 0x4e46 Radeon 9700 NF
1522product ATI RADEON_R300_NG 0x4e47 FireGL X1 NG 1523product ATI RADEON_R300_NG 0x4e47 FireGL X1 NG
1523product ATI RADEON_R350_NH 0x4e48 Radeon 9800PRO NH 1524product ATI RADEON_R350_NH 0x4e48 Radeon 9800PRO NH
1524product ATI RADEON_R350_NI 0x4e49 Radeon 9800 NI 1525product ATI RADEON_R350_NI 0x4e49 Radeon 9800 NI
1525product ATI RADEON_R360_NJ 0x4e4a Radeon 9800XT NJ 1526product ATI RADEON_R360_NJ 0x4e4a Radeon 9800XT NJ
1526product ATI RADEON_R350_NK 0x4e4b FireGL X2 NK 1527product ATI RADEON_R350_NK 0x4e4b FireGL X2 NK
1527product ATI RADEON_RV350_NP 0x4e50 Radeon Mobility 9600/9700 (M10/11) NP 1528product ATI RADEON_RV350_NP 0x4e50 Radeon Mobility 9600/9700 (M10/11) NP
1528product ATI RADEON_RV350_NQ 0x4e51 Radeon Mobility 9600 (M10) NQ 1529product ATI RADEON_RV350_NQ 0x4e51 Radeon Mobility 9600 (M10) NQ
1529product ATI RADEON_RV350_NR 0x4e52 Radeon Mobility 9600 (M11) NR 1530product ATI RADEON_RV350_NR 0x4e52 Radeon Mobility 9600 (M11) NR
1530product ATI RADEON_RV350_NS 0x4e53 Radeon Mobility 9600 (M10) NS 1531product ATI RADEON_RV350_NS 0x4e53 Radeon Mobility 9600 (M10) NS
1531product ATI RADEON_RV350_NT 0x4e54 FireGL Mobility T2 (M10) NT 1532product ATI RADEON_RV350_NT 0x4e54 FireGL Mobility T2 (M10) NT
1532product ATI RADEON_RV350_NV 0x4e56 FireGL Mobility T2e (M11) NV 1533product ATI RADEON_RV350_NV 0x4e56 FireGL Mobility T2e (M11) NV
1533product ATI RADEON_9700_9500_S 0x4e64 Radeon 9700/9500 Series Secondary 1534product ATI RADEON_9700_9500_S 0x4e64 Radeon 9700/9500 Series Secondary
1534product ATI RADEON_9700_9500_S2 0x4e65 Radeon 9700/9500 Series Secondary 1535product ATI RADEON_9700_9500_S2 0x4e65 Radeon 9700/9500 Series Secondary
1535product ATI RADEON_9600_2 0x4e66 Radeon 9600TX Secondary 1536product ATI RADEON_9600_2 0x4e66 Radeon 9600TX Secondary
1536product ATI RADEON_9800_PRO_2 0x4e68 Radeon 9800 Pro Secondary 1537product ATI RADEON_9800_PRO_2 0x4e68 Radeon 9800 Pro Secondary
1537product ATI RAGE1PCI 0x5041 Rage 128 Pro PCI 1538product ATI RAGE1PCI 0x5041 Rage 128 Pro PCI
1538product ATI RAGE1AGP2X 0x5042 Rage 128 Pro AGP 2x 1539product ATI RAGE1AGP2X 0x5042 Rage 128 Pro AGP 2x
1539product ATI RAGE1AGP4X 0x5043 Rage 128 Pro AGP 4x 1540product ATI RAGE1AGP4X 0x5043 Rage 128 Pro AGP 4x
1540product ATI RAGE1PCIT 0x5044 Rage 128 Pro PCI (TMDS) 1541product ATI RAGE1PCIT 0x5044 Rage 128 Pro PCI (TMDS)
1541product ATI RAGE1AGP2XT 0x5045 Rage 128 Pro AGP 2x (TMDS) 1542product ATI RAGE1AGP2XT 0x5045 Rage 128 Pro AGP 2x (TMDS)
1542product ATI RAGE1AGP4XT 0x5046 Rage Fury MAXX AGP 4x (TMDS) 1543product ATI RAGE1AGP4XT 0x5046 Rage Fury MAXX AGP 4x (TMDS)
1543product ATI RAGE2PCI 0x5047 Rage 128 Pro PCI 1544product ATI RAGE2PCI 0x5047 Rage 128 Pro PCI
1544product ATI RAGE2AGP2X 0x5048 Rage 128 Pro AGP 2x 1545product ATI RAGE2AGP2X 0x5048 Rage 128 Pro AGP 2x
1545product ATI RAGE2AGP4X 0x5049 Rage 128 Pro AGP 4x 1546product ATI RAGE2AGP4X 0x5049 Rage 128 Pro AGP 4x
1546product ATI RAGE2PCIT 0x504a Rage 128 Pro PCI (TMDS) 1547product ATI RAGE2PCIT 0x504a Rage 128 Pro PCI (TMDS)
1547product ATI RAGE2AGP2XT 0x504b Rage 128 Pro AGP 2x (TMDS) 1548product ATI RAGE2AGP2XT 0x504b Rage 128 Pro AGP 2x (TMDS)
1548product ATI RAGE2AGP4XT 0x504c Rage 128 Pro AGP 4x (TMDS) 1549product ATI RAGE2AGP4XT 0x504c Rage 128 Pro AGP 4x (TMDS)
1549product ATI RAGE3PCI 0x504d Rage 128 Pro PCI 1550product ATI RAGE3PCI 0x504d Rage 128 Pro PCI
1550product ATI RAGE3AGP2X 0x504e Rage 128 Pro AGP 2x 1551product ATI RAGE3AGP2X 0x504e Rage 128 Pro AGP 2x
1551product ATI RAGE3AGP4X 0x504f Rage 128 Pro AGP 4x 1552product ATI RAGE3AGP4X 0x504f Rage 128 Pro AGP 4x
1552product ATI RAGE3PCIT 0x5050 Rage 128 Pro PCI (TMDS) 1553product ATI RAGE3PCIT 0x5050 Rage 128 Pro PCI (TMDS)
1553product ATI RAGE3AGP2XT 0x5051 Rage 128 Pro AGP 2x (TMDS) 1554product ATI RAGE3AGP2XT 0x5051 Rage 128 Pro AGP 2x (TMDS)
1554product ATI RAGE3AGP4XT 0x5052 Rage 128 Pro AGP 4x (TMDS) 1555product ATI RAGE3AGP4XT 0x5052 Rage 128 Pro AGP 4x (TMDS)
1555product ATI RAGE4PCI 0x5053 Rage 128 Pro PCI 1556product ATI RAGE4PCI 0x5053 Rage 128 Pro PCI
1556product ATI RAGE4AGP2X 0x5054 Rage 128 Pro AGP 2x 1557product ATI RAGE4AGP2X 0x5054 Rage 128 Pro AGP 2x
1557product ATI RAGE4AGP4X 0x5055 Rage 128 Pro AGP 4x 1558product ATI RAGE4AGP4X 0x5055 Rage 128 Pro AGP 4x
1558product ATI RAGE4PCIT 0x5056 Rage 128 Pro PCI (TMDS) 1559product ATI RAGE4PCIT 0x5056 Rage 128 Pro PCI (TMDS)
1559product ATI RAGE4AGP2XT 0x5057 Rage 128 Pro AGP 2x (TMDS) 1560product ATI RAGE4AGP2XT 0x5057 Rage 128 Pro AGP 2x (TMDS)
1560product ATI RAGE4AGP4XT 0x5058 Rage 128 Pro AGP 4x (TMDS) 1561product ATI RAGE4AGP4XT 0x5058 Rage 128 Pro AGP 4x (TMDS)
1561product ATI RADEON_R100_QD 0x5144 Radeon QD 1562product ATI RADEON_R100_QD 0x5144 Radeon QD
1562product ATI RADEON_R100_QE 0x5145 Radeon QE 1563product ATI RADEON_R100_QE 0x5145 Radeon QE
1563product ATI RADEON_R100_QF 0x5146 Radeon QF 1564product ATI RADEON_R100_QF 0x5146 Radeon QF
1564product ATI RADEON_R100_QG 0x5147 Radeon QG 1565product ATI RADEON_R100_QG 0x5147 Radeon QG
1565product ATI RADEON_R200_QH 0x5148 FireGL 8700/8800 QH 1566product ATI RADEON_R200_QH 0x5148 FireGL 8700/8800 QH
1566product ATI RADEON_R200_QL 0x514c Radeon 8500 QL 1567product ATI RADEON_R200_QL 0x514c Radeon 8500 QL
1567product ATI RADEON_R200_QM 0x514d Radeon 9100 QM 1568product ATI RADEON_R200_QM 0x514d Radeon 9100 QM
1568product ATI RADEON_RV200_QW 0x5157 Radeon 7500 QW 1569product ATI RADEON_RV200_QW 0x5157 Radeon 7500 QW
1569product ATI RADEON_RV200_QX 0x5158 Radeon 7500 QX 1570product ATI RADEON_RV200_QX 0x5158 Radeon 7500 QX
1570product ATI RADEON_RV100_QY 0x5159 Radeon 7000/VE QY 1571product ATI RADEON_RV100_QY 0x5159 Radeon 7000/VE QY
1571product ATI RADEON_RV100_QZ 0x515a Radeon 7000/VE QZ 1572product ATI RADEON_RV100_QZ 0x515a Radeon 7000/VE QZ
1572product ATI ES1000 0x515e ES1000 1573product ATI ES1000 0x515e ES1000
1573product ATI RADEON_9100_S 0x516d Radeon 9100 Series Secondary 1574product ATI RADEON_9100_S 0x516d Radeon 9100 Series Secondary
1574product ATI RAGEGLPCI 0x5245 Rage 128 GL PCI 1575product ATI RAGEGLPCI 0x5245 Rage 128 GL PCI
1575product ATI RAGEGLAGP 0x5246 Rage 128 GL AGP 2x 1576product ATI RAGEGLAGP 0x5246 Rage 128 GL AGP 2x
1576product ATI RAGEVRPCI 0x524b Rage 128 VR PCI 1577product ATI RAGEVRPCI 0x524b Rage 128 VR PCI
1577product ATI RAGEVRAGP 0x524c Rage 128 VR AGP 2x 1578product ATI RAGEVRAGP 0x524c Rage 128 VR AGP 2x
1578product ATI RAGE4XPCI 0x5345 Rage 128 4x PCI 1579product ATI RAGE4XPCI 0x5345 Rage 128 4x PCI
1579product ATI RAGE4XA2X 0x5346 Rage 128 4x AGP 2x 1580product ATI RAGE4XA2X 0x5346 Rage 128 4x AGP 2x
1580product ATI RAGE4XA4X 0x5347 Rage 128 4x AGP 4x 1581product ATI RAGE4XA4X 0x5347 Rage 128 4x AGP 4x
1581product ATI RAGE4X 0x5348 Rage 128 4x 1582product ATI RAGE4X 0x5348 Rage 128 4x
1582product ATI RAGE24XPCI 0x534b Rage 128 4x PCI 1583product ATI RAGE24XPCI 0x534b Rage 128 4x PCI
1583product ATI RAGE24XA2X 0x534c Rage 128 4x AGP 2x 1584product ATI RAGE24XA2X 0x534c Rage 128 4x AGP 2x
1584product ATI RAGE24XA4X 0x534d Rage 128 4x AGP 4x 1585product ATI RAGE24XA4X 0x534d Rage 128 4x AGP 4x
1585product ATI RAGE24X 0x534e Rage 128 4x 1586product ATI RAGE24X 0x534e Rage 128 4x
1586product ATI RAGE128PROULTRATF 0x5446 Rage 128 Pro Ultra TF AGP 1587product ATI RAGE128PROULTRATF 0x5446 Rage 128 Pro Ultra TF AGP
1587product ATI RADEON_RV370_5460 0x5460 Radeon Mobility M300 (M22) 5460 1588product ATI RADEON_RV370_5460 0x5460 Radeon Mobility M300 (M22) 5460
1588product ATI RADEON_RV370_5464 0x5464 FireGL M22 GL 5464 1589product ATI RADEON_RV370_5464 0x5464 FireGL M22 GL 5464
1589product ATI RADEON_R423_UH 0x5548 Radeon X800 (R423) UH 1590product ATI RADEON_R423_UH 0x5548 Radeon X800 (R423) UH
1590product ATI RADEON_R423_UI 0x5549 Radeon X800PRO (R423) UI 1591product ATI RADEON_R423_UI 0x5549 Radeon X800PRO (R423) UI
1591product ATI RADEON_R423_UJ 0x554a Radeon X800LE (R423) UJ 1592product ATI RADEON_R423_UJ 0x554a Radeon X800LE (R423) UJ
1592product ATI RADEON_R423_UK 0x554b Radeon X800SE (R423) UK 1593product ATI RADEON_R423_UK 0x554b Radeon X800SE (R423) UK
1593product ATI RADEON_R430_554F 0x554f Radeon X800 GTO (R430) 554F 1594product ATI RADEON_R430_554F 0x554f Radeon X800 GTO (R430) 554F
1594product ATI RADEON_R423_UQ 0x5551 FireGL V7200 (R423) UQ 1595product ATI RADEON_R423_UQ 0x5551 FireGL V7200 (R423) UQ
1595product ATI RADEON_R423_UR 0x5552 FireGL V5100 (R423) UR 1596product ATI RADEON_R423_UR 0x5552 FireGL V5100 (R423) UR
1596product ATI RADEON_R423_UT 0x5554 FireGL V7100 (R423) UT 1597product ATI RADEON_R423_UT 0x5554 FireGL V7100 (R423) UT
1597product ATI RADEON_R430_556F 0x556f Radeon X800 GTO (R430) Secondary 1598product ATI RADEON_R430_556F 0x556f Radeon X800 GTO (R430) Secondary
1598product ATI MACH64_VT 0x5654 Mach64 VT 1599product ATI MACH64_VT 0x5654 Mach64 VT
1599product ATI MACH64_VTB 0x5655 Mach64 VTB 1600product ATI MACH64_VTB 0x5655 Mach64 VTB
1600product ATI MACH64_VT4 0x5656 Mach64 VT4 1601product ATI MACH64_VT4 0x5656 Mach64 VT4
1601product ATI RS300_HB 0x5833 RS300 Host Bridge 1602product ATI RS300_HB 0x5833 RS300 Host Bridge
1602product ATI RADEON_RS300_X4 0x5834 Radeon 9100 IGP (A4) 1603product ATI RADEON_RS300_X4 0x5834 Radeon 9100 IGP (A4)
1603product ATI RADEON_RS300_X5 0x5835 Radeon Mobility 9100 IGP (U3) 1604product ATI RADEON_RS300_X5 0x5835 Radeon Mobility 9100 IGP (U3)
1604product ATI RS300_AGP 0x5838 RS300 AGP Interface 1605product ATI RS300_AGP 0x5838 RS300 AGP Interface
1605product ATI RADEON_9200_PRO_S 0x5940 Radeon 9200 Pro Secondary 1606product ATI RADEON_9200_PRO_S 0x5940 Radeon 9200 Pro Secondary
1606product ATI RADEON_9200_S 0x5941 Radeon 9200 Secondary 1607product ATI RADEON_9200_S 0x5941 Radeon 9200 Secondary
1607product ATI RS480_HB 0x5950 RS480 Host Bridge 1608product ATI RS480_HB 0x5950 RS480 Host Bridge
1608product ATI RD580 0x5952 RD580 CrossFire Xpress 3200 Host Bridge 1609product ATI RD580 0x5952 RD580 CrossFire Xpress 3200 Host Bridge
1609product ATI RADEON_RV370_5954 0x5954 Radeon Xpress 200G Series 1610product ATI RADEON_RV370_5954 0x5954 Radeon Xpress 200G Series
1610product ATI RD790_NB 0x5956 RD790 North Bridge (Dual Slot) 1611product ATI RD790_NB 0x5956 RD790 North Bridge (Dual Slot)
1611product ATI RX780_790_HB 0x5957 RX780/RX790 Chipset Host Bridge 1612product ATI RX780_790_HB 0x5957 RX780/RX790 Chipset Host Bridge
1612product ATI RADEON_RV280_5960 0x5960 Radeon 9200PRO 5960 1613product ATI RADEON_RV280_5960 0x5960 Radeon 9200PRO 5960
1613product ATI RADEON_RV280_5961 0x5961 Radeon 9200 5961 1614product ATI RADEON_RV280_5961 0x5961 Radeon 9200 5961
1614product ATI RADEON_RV280_5962 0x5962 Radeon 9200 5962 1615product ATI RADEON_RV280_5962 0x5962 Radeon 9200 5962
1615product ATI RADEON_RV280_5963 0x5963 Radeon 9200 5963 1616product ATI RADEON_RV280_5963 0x5963 Radeon 9200 5963
1616product ATI RADEON_RV280_5964 0x5964 Radeon 9200SE 5964 1617product ATI RADEON_RV280_5964 0x5964 Radeon 9200SE 5964
1617product ATI RS482M 0x5975 Radeon Xpress Series (RS482M) 1618product ATI RS482M 0x5975 Radeon Xpress Series (RS482M)
1618product ATI RD790_PPB_GFX0_A 0x5978 RD790 PCI Bridge GFX0 Port A 1619product ATI RD790_PPB_GFX0_A 0x5978 RD790 PCI Bridge GFX0 Port A
1619product ATI RD790_PPB_GFX0_B 0x5979 RD790 PCI Bridge GFX0 Port B 1620product ATI RD790_PPB_GFX0_B 0x5979 RD790 PCI Bridge GFX0 Port B
1620product ATI RD790_PPB_GPP_A 0x597a RD790 PCI Express Bridge GPP Port A 1621product ATI RD790_PPB_GPP_A 0x597a RD790 PCI Express Bridge GPP Port A
1621product ATI RD790_PPB_GPP_B 0x597b RD790 PCI Express Bridge GPP Port B 1622product ATI RD790_PPB_GPP_B 0x597b RD790 PCI Express Bridge GPP Port B
1622product ATI RD790_PPB_GPP_C 0x597c RD790 PCI Express Bridge GPP Port C 1623product ATI RD790_PPB_GPP_C 0x597c RD790 PCI Express Bridge GPP Port C
1623product ATI RD790_PPB_GPP_D 0x597d RD790 PCI Express Bridge GPP Port D 1624product ATI RD790_PPB_GPP_D 0x597d RD790 PCI Express Bridge GPP Port D
1624product ATI RD790_PPB_GPP_E 0x597e RD790 PCI Express Bridge GPP Port E 1625product ATI RD790_PPB_GPP_E 0x597e RD790 PCI Express Bridge GPP Port E
1625product ATI RD790_PPB_GPP_F 0x597f RD790 PCI Express Bridge GPP Port F 1626product ATI RD790_PPB_GPP_F 0x597f RD790 PCI Express Bridge GPP Port F
1626product ATI RD790_PPB_GFX1_A 0x5980 RD790 PCI Bridge GFX1 Port A 1627product ATI RD790_PPB_GFX1_A 0x5980 RD790 PCI Bridge GFX1 Port A
1627product ATI RD790_PPB_GFX1_B 0x5981 RD790 PCI Bridge GFX1 Port B 1628product ATI RD790_PPB_GFX1_B 0x5981 RD790 PCI Bridge GFX1 Port B
1628product ATI RD790_PPB_NBSB 0x5982 RD790 PCI Bridge (NB-SB Link) 1629product ATI RD790_PPB_NBSB 0x5982 RD790 PCI Bridge (NB-SB Link)
1629product ATI RD890_NB_DS16 0x5a10 RD890 North Bridge Dual Slot 2x16 GFX 1630product ATI RD890_NB_DS16 0x5a10 RD890 North Bridge Dual Slot 2x16 GFX
1630product ATI RD890_NB_SS 0x5a11 RD890 North Bridge Single Slot GFX 1631product ATI RD890_NB_SS 0x5a11 RD890 North Bridge Single Slot GFX
1631product ATI RD890_NB_DS8 0x5a12 RD890 North Bridge Dual Slot 2x8 GFX 1632product ATI RD890_NB_DS8 0x5a12 RD890 North Bridge Dual Slot 2x8 GFX
1632product ATI RD890_PPB_GFX0_A 0x5a13 RD890 PCI Bridge GFX0 Port A 1633product ATI RD890_PPB_GFX0_A 0x5a13 RD890 PCI Bridge GFX0 Port A
1633product ATI RD890_PPB_GFX0_B 0x5a14 RD890 PCI Bridge GFX0 Port B 1634product ATI RD890_PPB_GFX0_B 0x5a14 RD890 PCI Bridge GFX0 Port B
1634product ATI RD890_PPB_GPP_A 0x5a15 RD890 PCI Express Bridge GPP Port A 1635product ATI RD890_PPB_GPP_A 0x5a15 RD890 PCI Express Bridge GPP Port A
1635product ATI RD890_PPB_GPP_B 0x5a16 RD890 PCI Express Bridge GPP Port B 1636product ATI RD890_PPB_GPP_B 0x5a16 RD890 PCI Express Bridge GPP Port B
1636product ATI RD890_PPB_GPP_C 0x5a17 RD890 PCI Express Bridge GPP Port C 1637product ATI RD890_PPB_GPP_C 0x5a17 RD890 PCI Express Bridge GPP Port C
1637product ATI RD890_PPB_GPP_D 0x5a18 RD890 PCI Express Bridge GPP Port D 1638product ATI RD890_PPB_GPP_D 0x5a18 RD890 PCI Express Bridge GPP Port D
1638product ATI RD890_PPB_GPP_E 0x5a19 RD890 PCI Express Bridge GPP Port E 1639product ATI RD890_PPB_GPP_E 0x5a19 RD890 PCI Express Bridge GPP Port E
1639product ATI RD890_PPB_GPP_F 0x5a1a RD890 PCI Express Bridge GPP Port F 1640product ATI RD890_PPB_GPP_F 0x5a1a RD890 PCI Express Bridge GPP Port F
1640product ATI RD890_PPB_GPP_G 0x5a1b RD890 PCI Express Bridge GPP Port G 1641product ATI RD890_PPB_GPP_G 0x5a1b RD890 PCI Express Bridge GPP Port G
1641product ATI RD890_PPB_GPP_H 0x5a1c RD890 PCI Express Bridge GPP Port H 1642product ATI RD890_PPB_GPP_H 0x5a1c RD890 PCI Express Bridge GPP Port H
1642product ATI RD890_PPB_GFX1_A 0x5a1d RD890 PCI Bridge GFX1 Port A 1643product ATI RD890_PPB_GFX1_A 0x5a1d RD890 PCI Bridge GFX1 Port A
1643product ATI RD890_PPB_GFX1_B 0x5a1e RD890 PCI Bridge GFX1 Port B 1644product ATI RD890_PPB_GFX1_B 0x5a1e RD890 PCI Bridge GFX1 Port B
1644product ATI RD890_PPB_NBSB 0x5a1f RD890 PCI Bridge (NB-SB Link) 1645product ATI RD890_PPB_NBSB 0x5a1f RD890 PCI Bridge (NB-SB Link)
1645product ATI RD890_IOMMU 0x5a23 RD890 IOMMU 1646product ATI RD890_IOMMU 0x5a23 RD890 IOMMU
1646product ATI RADEON_XPRESS_200 0x5a33 Radeon Xpress 200 1647product ATI RADEON_XPRESS_200 0x5a33 Radeon Xpress 200
1647product ATI RS480_XRP 0x5a34 RS480 PCI Express Root Port 1648product ATI RS480_XRP 0x5a34 RS480 PCI Express Root Port
1648product ATI RS480_PPB_5A36 0x5a36 RS480 PCI Express Bridge 1649product ATI RS480_PPB_5A36 0x5a36 RS480 PCI Express Bridge
1649product ATI RS480_PPB_5A37 0x5a37 RS480 PCI Express Bridge 1650product ATI RS480_PPB_5A37 0x5a37 RS480 PCI Express Bridge
1650product ATI RS480_PPB_5A38 0x5a38 RS480 PCI Express Bridge 1651product ATI RS480_PPB_5A38 0x5a38 RS480 PCI Express Bridge
1651product ATI RS480_PPB_5A3F 0x5a3f RS480 PCI Express Bridge 1652product ATI RS480_PPB_5A3F 0x5a3f RS480 PCI Express Bridge
1652product ATI RADEON_RV370_5B60 0x5b60 Radeon X300 (RV370) 5B60 1653product ATI RADEON_RV370_5B60 0x5b60 Radeon X300 (RV370) 5B60
1653product ATI RADEON_RV380_5B62 0x5b62 Radeon X600 PCI Express 1654product ATI RADEON_RV380_5B62 0x5b62 Radeon X600 PCI Express
1654product ATI RADEON_RV370_5B63 0x5b63 Radeon Sapphire X550 Silent 1655product ATI RADEON_RV370_5B63 0x5b63 Radeon Sapphire X550 Silent
1655product ATI RADEON_RV370_5B64 0x5b64 FireGL V3100 (RV370) 5B64 1656product ATI RADEON_RV370_5B64 0x5b64 FireGL V3100 (RV370) 5B64
1656product ATI RADEON_RV370_5B65 0x5b65 FireGL D1100 (RV370) 5B65 1657product ATI RADEON_RV370_5B65 0x5b65 FireGL D1100 (RV370) 5B65
1657product ATI RADEON_X300_S 0x5b70 Radeon X300 Series Secondary 1658product ATI RADEON_X300_S 0x5b70 Radeon X300 Series Secondary
1658product ATI RADEON_RV370_5B73 0x5b73 Radeon RV370 Secondary 1659product ATI RADEON_RV370_5B73 0x5b73 Radeon RV370 Secondary
1659product ATI RADEON_RV280_5C61 0x5c61 Radeon Mobility 9200 (M9+) 1660product ATI RADEON_RV280_5C61 0x5c61 Radeon Mobility 9200 (M9+)
1660product ATI RADEON_RV280_5C63 0x5c63 Radeon Mobility 9200 (M9+) 1661product ATI RADEON_RV280_5C63 0x5c63 Radeon Mobility 9200 (M9+)
1661product ATI RADEON_9200SE_S 0x5d44 Radeon 9200SE Secondary 1662product ATI RADEON_9200SE_S 0x5d44 Radeon 9200SE Secondary
1662product ATI RADEON_X850XT 0x5d52 Radeon X850 XT 1663product ATI RADEON_X850XT 0x5d52 Radeon X850 XT
1663product ATI RADEON_R423_5D57 0x5d57 Radeon X800XT (R423) 5D57 1664product ATI RADEON_R423_5D57 0x5d57 Radeon X800XT (R423) 5D57
1664product ATI RADEON_X850XT_S 0x5d72 Radeon X850 XT Secondary 1665product ATI RADEON_X850XT_S 0x5d72 Radeon X850 XT Secondary
1665product ATI RADEON_X700 0x5e4b Radeon X700 Pro 1666product ATI RADEON_X700 0x5e4b Radeon X700 Pro
1666product ATI RADEON_X700_S 0x5e6b Radeon X700 Pro Secondary 1667product ATI RADEON_X700_S 0x5e6b Radeon X700 Pro Secondary
1667product ATI RADEON_HD8790M 0x6606 Radeon HD 8790M 1668product ATI RADEON_HD8790M 0x6606 Radeon HD 8790M
1668product ATI RADEON_HD8530M 0x6607 Radeon HD 8530M 1669product ATI RADEON_HD8530M 0x6607 Radeon HD 8530M
1669product ATI RADEON_HD8600 0x6610 Radeon HD 8600 1670product ATI RADEON_HD8600 0x6610 Radeon HD 8600
1670product ATI RADEON_HD8570 0x6611 Radeon HD 8570 1671product ATI RADEON_HD8570 0x6611 Radeon HD 8570
1671product ATI RADEON_HD8500 0x6613 Radeon HD 8500 1672product ATI RADEON_HD8500 0x6613 Radeon HD 8500
1672product ATI RADEON_HD6970 0x6718 Radeon HD 6970 1673product ATI RADEON_HD6970 0x6718 Radeon HD 6970
1673product ATI RADEON_HD6950 0x6719 Radeon HD 6950 1674product ATI RADEON_HD6950 0x6719 Radeon HD 6950
1674product ATI RADEON_HD6990_1 0x671c Radeon HD 6990 1675product ATI RADEON_HD6990_1 0x671c Radeon HD 6990
1675product ATI RADEON_HD6990_2 0x671d Radeon HD 6990 1676product ATI RADEON_HD6990_2 0x671d Radeon HD 6990
1676product ATI RADEON_HD6930 0x671f Radeon HD 6930 1677product ATI RADEON_HD6930 0x671f Radeon HD 6930
1677product ATI RADEON_HD6970M 0x6720 Radeon HD 6970M 1678product ATI RADEON_HD6970M 0x6720 Radeon HD 6970M
1678product ATI RADEON_HD6900M 0x6725 Radeon HD 6900M 1679product ATI RADEON_HD6900M 0x6725 Radeon HD 6900M
1679product ATI RADEON_HD6870 0x6738 Radeon HD 6870 1680product ATI RADEON_HD6870 0x6738 Radeon HD 6870
1680product ATI RADEON_HD6850 0x6739 Radeon HD 6850 1681product ATI RADEON_HD6850 0x6739 Radeon HD 6850
1681product ATI RADEON_HD6790 0x673e Radeon HD 6790 1682product ATI RADEON_HD6790 0x673e Radeon HD 6790
1682product ATI RADEON_HD6730M 0x6740 Radeon HD 6730M 1683product ATI RADEON_HD6730M 0x6740 Radeon HD 6730M
1683product ATI RADEON_HD6600M 0x6741 Radeon HD 6600M 1684product ATI RADEON_HD6600M 0x6741 Radeon HD 6600M
1684product ATI RADEON_HD6610M 0x6742 Radeon HD 6610M 1685product ATI RADEON_HD6610M 0x6742 Radeon HD 6610M
1685product ATI RADEON_HD6650A 0x6750 Radeon HD 6650A 1686product ATI RADEON_HD6650A 0x6750 Radeon HD 6650A
1686product ATI RADEON_HD7670A 0x6751 Radeon HD 7670A 1687product ATI RADEON_HD7670A 0x6751 Radeon HD 7670A
1687product ATI RADEON_HD6670 0x6758 Radeon HD 6670 1688product ATI RADEON_HD6670 0x6758 Radeon HD 6670
1688product ATI RADEON_HD6570 0x6759 Radeon HD 6570 1689product ATI RADEON_HD6570 0x6759 Radeon HD 6570
1689product ATI RADEON_HD7570 0x675d Radeon HD 7570 1690product ATI RADEON_HD7570 0x675d Radeon HD 7570
1690product ATI RADEON_HD6510 0x675f Radeon HD 6510 1691product ATI RADEON_HD6510 0x675f Radeon HD 6510
1691product ATI RADEON_HD6400M 0x6760 Radeon HD 6400M 1692product ATI RADEON_HD6400M 0x6760 Radeon HD 6400M
1692product ATI RADEON_HD6430M 0x6761 Radeon HD 6430M 1693product ATI RADEON_HD6430M 0x6761 Radeon HD 6430M
1693product ATI RADEON_HD6400M_1 0x6764 Radeon HD 6400M 1694product ATI RADEON_HD6400M_1 0x6764 Radeon HD 6400M
1694product ATI RADEON_HD6400M_2 0x6765 Radeon HD 6400M 1695product ATI RADEON_HD6400M_2 0x6765 Radeon HD 6400M
1695product ATI RADEON_HD6450A 0x6770 Radeon HD 6450A 1696product ATI RADEON_HD6450A 0x6770 Radeon HD 6450A
1696product ATI RADEON_HD8490 0x6771 Radeon HD 8490 1697product ATI RADEON_HD8490 0x6771 Radeon HD 8490
1697product ATI RADEON_HD7450A 0x6772 Radeon HD 7450A 1698product ATI RADEON_HD7450A 0x6772 Radeon HD 7450A
1698product ATI RADEON_HD7470 0x6778 Radeon HD 7470 1699product ATI RADEON_HD7470 0x6778 Radeon HD 7470
1699product ATI RADEON_HD6450 0x6779 Radeon HD 6450 1700product ATI RADEON_HD6450 0x6779 Radeon HD 6450
1700product ATI RADEON_HD7450 0x677b Radeon HD 7450 1701product ATI RADEON_HD7450 0x677b Radeon HD 7450
1701product ATI RADEON_HD7970 0x6798 Radeon HD 7970 1702product ATI RADEON_HD7970 0x6798 Radeon HD 7970
1702product ATI RADEON_HD7900 0x6799 Radeon HD 7900 1703product ATI RADEON_HD7900 0x6799 Radeon HD 7900
1703product ATI RADEON_HD7950 0x679a Radeon HD 7950 1704product ATI RADEON_HD7950 0x679a Radeon HD 7950
1704product ATI RADEON_HD7990 0x679b Radeon HD 7990 1705product ATI RADEON_HD7990 0x679b Radeon HD 7990
1705product ATI RADEON_HD7870XT 0x679e Radeon HD 7870 XT 1706product ATI RADEON_HD7870XT 0x679e Radeon HD 7870 XT
1706product ATI RADEON_RX470 0x67df Radeon RX470 1707product ATI RADEON_RX470 0x67df Radeon RX470
1707product ATI RADEON_RX460 0x67ef Radeon RX460 1708product ATI RADEON_RX460 0x67ef Radeon RX460
1708product ATI RADEON_HD7970M 0x6800 Radeon HD 7970M 1709product ATI RADEON_HD7970M 0x6800 Radeon HD 7970M
1709product ATI RADEON_HD8970M 0x6801 Radeon HD 8970M 1710product ATI RADEON_HD8970M 0x6801 Radeon HD 8970M
1710product ATI RADEON_HD8800M 0x682b Radeon HD 8800M 1711product ATI RADEON_HD8800M 0x682b Radeon HD 8800M
1711product ATI RADEON_HD7730M 0x682f Radeon HD 7730M 1712product ATI RADEON_HD7730M 0x682f Radeon HD 7730M
1712product ATI RADEON_HD7800M 0x6830 Radeon HD 7800M 1713product ATI RADEON_HD7800M 0x6830 Radeon HD 7800M
1713product ATI RADEON_HD7700M 0x6831 Radeon HD 7700M 1714product ATI RADEON_HD7700M 0x6831 Radeon HD 7700M
1714product ATI RADEON_HD7730 0x6837 Radeon HD 7730 1715product ATI RADEON_HD7730 0x6837 Radeon HD 7730
1715product ATI RADEON_HD7700 0x683b Radeon HD 7700 1716product ATI RADEON_HD7700 0x683b Radeon HD 7700
1716product ATI RADEON_HD7770 0x683d Radeon HD 7770 1717product ATI RADEON_HD7770 0x683d Radeon HD 7770
1717product ATI RADEON_HD7750 0x683f Radeon HD 7750 1718product ATI RADEON_HD7750 0x683f Radeon HD 7750
1718product ATI RADEON_HD7600M 0x6840 Radeon HD 7600M 1719product ATI RADEON_HD7600M 0x6840 Radeon HD 7600M
1719product ATI RADEON_HD7550M 0x6841 Radeon HD 7550M 1720product ATI RADEON_HD7550M 0x6841 Radeon HD 7550M
1720product ATI RADEON_HD7000M 0x6842 Radeon HD 7000M 1721product ATI RADEON_HD7000M 0x6842 Radeon HD 7000M
1721product ATI RADEON_HD7670M 0x6843 Radeon HD 7670M 1722product ATI RADEON_HD7670M 0x6843 Radeon HD 7670M
1722product ATI RADEON_HD7400 0x6849 Radeon HD 7400 1723product ATI RADEON_HD7400 0x6849 Radeon HD 7400
1723product ATI RADEON_HD5870 0x6898 Radeon HD 5870 Cypress 1724product ATI RADEON_HD5870 0x6898 Radeon HD 5870 Cypress
1724product ATI RADEON_HD5600_RD 0x68c1 Radeon HD 5600 Redwood 1725product ATI RADEON_HD5600_RD 0x68c1 Radeon HD 5600 Redwood
1725product ATI RADEON_HD5570 0x68d9 Radeon HD 5570 1726product ATI RADEON_HD5570 0x68d9 Radeon HD 5570
1726product ATI RADEON_HD5450 0x68f9 Radeon HD 5450 1727product ATI RADEON_HD5450 0x68f9 Radeon HD 5450
1727product ATI RADEON_X1300 0x7146 Radeon X1300 Series (RV515) 1728product ATI RADEON_X1300 0x7146 Radeon X1300 Series (RV515)
1728product ATI RADEON_X1300_S 0x7166 Radeon X1300 Series (RV515) Secondary 1729product ATI RADEON_X1300_S 0x7166 Radeon X1300 Series (RV515) Secondary
1729product ATI RADEON_X1600XT 0x71c0 Radeon X1600 XT 1730product ATI RADEON_X1600XT 0x71c0 Radeon X1600 XT
1730product ATI RADEON_X1600 0x71c5 Radeon Mobility X1600 1731product ATI RADEON_X1600 0x71c5 Radeon Mobility X1600
1731product ATI RADEON_X1600XT_S 0x71e0 Radeon X1600 XT Secondary 1732product ATI RADEON_X1600XT_S 0x71e0 Radeon X1600 XT Secondary
1732product ATI RADEON_X1950 0x7280 Radeon X1950 PRO 1733product ATI RADEON_X1950 0x7280 Radeon X1950 PRO
1733product ATI RADEON_X1950_S 0x72a0 Radeon X1950 PRO Secondary 1734product ATI RADEON_X1950_S 0x72a0 Radeon X1950 PRO Secondary
1734product ATI RADEON_RS300_7834 0x7834 Radeon 9100 PRO IGP 1735product ATI RADEON_RS300_7834 0x7834 Radeon 9100 PRO IGP
1735product ATI RADEON_RS300_7835 0x7835 Radeon 9200 IGP 1736product ATI RADEON_RS300_7835 0x7835 Radeon 9200 IGP
1736product ATI RS690_HB_7910 0x7910 RS690 Host Bridge 1737product ATI RS690_HB_7910 0x7910 RS690 Host Bridge
1737product ATI RS690_HB_7911 0x7911 RS740 Host Bridge 1738product ATI RS690_HB_7911 0x7911 RS740 Host Bridge
1738product ATI RS690_PPB_7912 0x7912 RS690 GFX Bridge  1739product ATI RS690_PPB_7912 0x7912 RS690 GFX Bridge
1739product ATI RS690_PPB_7913 0x7913 RS690 PCI Express Bridge GFX 1740product ATI RS690_PPB_7913 0x7913 RS690 PCI Express Bridge GFX
1740product ATI RS690_PPB_7914 0x7914 RS690 PCI Express Bridge GPP Port A 1741product ATI RS690_PPB_7914 0x7914 RS690 PCI Express Bridge GPP Port A
1741product ATI RS690_PPB_7915 0x7915 RS690 PCI Express Bridge GPP Port B 1742product ATI RS690_PPB_7915 0x7915 RS690 PCI Express Bridge GPP Port B
1742product ATI RS690_PPB_7916 0x7916 RS690 PCI Express Bridge GPP Port C 1743product ATI RS690_PPB_7916 0x7916 RS690 PCI Express Bridge GPP Port C
1743product ATI RS690_PPB_7917 0x7917 RS690 PCI Express Bridge GPP Port D 1744product ATI RS690_PPB_7917 0x7917 RS690 PCI Express Bridge GPP Port D
1744product ATI RADEON_HD4850 0x9442 Radeon HD4850 1745product ATI RADEON_HD4850 0x9442 Radeon HD4850
1745product ATI RADEON_HD4650 0x9498 Radeon HD4650 1746product ATI RADEON_HD4650 0x9498 Radeon HD4650
1746product ATI RADEON_HD2400_XT 0x94c1 Radeon HD2400 XT 1747product ATI RADEON_HD2400_XT 0x94c1 Radeon HD2400 XT
1747product ATI RADEON_HD2400_PRO 0x94c3 Radeon HD2400 Pro 1748product ATI RADEON_HD2400_PRO 0x94c3 Radeon HD2400 Pro
1748product ATI RADEON_HD2400_M72 0x94c9 Mobility Radeon HD 2400 1749product ATI RADEON_HD2400_M72 0x94c9 Mobility Radeon HD 2400
1749product ATI RADEON_HD2400 0x94cc Radeon HD 2400 1750product ATI RADEON_HD2400 0x94cc Radeon HD 2400
1750product ATI RADEON_HD3870 0x9501 Radeon HD3870 1751product ATI RADEON_HD3870 0x9501 Radeon HD3870
1751product ATI RADEON_HD4350 0x954f Radeon HD4350 1752product ATI RADEON_HD4350 0x954f Radeon HD4350
1752product ATI RADEON_HD4300_M 0x9552 Mobility Radeon HD 4300 1753product ATI RADEON_HD4300_M 0x9552 Mobility Radeon HD 4300
1753product ATI RADEON_HD4500_M 0x9553 Mobility Radeon HD 4500 1754product ATI RADEON_HD4500_M 0x9553 Mobility Radeon HD 4500
1754product ATI RADEON_HD4500_M93 0x9555 Mobility Radeon HD 4500 1755product ATI RADEON_HD4500_M93 0x9555 Mobility Radeon HD 4500
1755product ATI RADEON_HD2600_M76 0x9581 Mobility Radeon HD 2600 1756product ATI RADEON_HD2600_M76 0x9581 Mobility Radeon HD 2600
1756product ATI RADEON_HD2600PROAGP 0x9587 Radeon HD2600 Pro AGP 1757product ATI RADEON_HD2600PROAGP 0x9587 Radeon HD2600 Pro AGP
1757product ATI RADEON_HD2600_XT 0x9588 Radeon HD2600 XT GDDR3 1758product ATI RADEON_HD2600_XT 0x9588 Radeon HD2600 XT GDDR3
1758product ATI RADEON_HD2600_PRO 0x9589 Radeon HD 2600 Pro 1759product ATI RADEON_HD2600_PRO 0x9589 Radeon HD 2600 Pro
1759product ATI RADEON_HD3650_M 0x9591 Mobility Radeon HD 3650 1760product ATI RADEON_HD3650_M 0x9591 Mobility Radeon HD 3650
1760product ATI RADEON_HD3650_AGP 0x9596 Radeon HD3650 AGP 1761product ATI RADEON_HD3650_AGP 0x9596 Radeon HD3650 AGP
1761product ATI RADEON_HD3650 0x9598 Radeon HD3650 1762product ATI RADEON_HD3650 0x9598 Radeon HD3650
1762product ATI RADEON_HD3400_M82 0x95c4 Mobility Radeon HD 3400 Series (M82) 1763product ATI RADEON_HD3400_M82 0x95c4 Mobility Radeon HD 3400 Series (M82)
1763product ATI RADEON_HD4250_S 0x95c5 Radeon HD4250 GPU (RV610) Secondary 1764product ATI RADEON_HD4250_S 0x95c5 Radeon HD4250 GPU (RV610) Secondary
1764product ATI RS780_HDMI_AUDIO 0x960f RS780 HDMI Audio 1765product ATI RS780_HDMI_AUDIO 0x960f RS780 HDMI Audio
1765product ATI RADEON_HD3200 0x9610 Radeon HD 3200 1766product ATI RADEON_HD3200 0x9610 Radeon HD 3200
1766product ATI RADEON_HD3100 0x9611 Radeon HD 3100 1767product ATI RADEON_HD3100 0x9611 Radeon HD 3100
1767product ATI RADEON_HD3200M 0x9612 Mobility Radeon HD 3200 1768product ATI RADEON_HD3200M 0x9612 Mobility Radeon HD 3200
1768product ATI RADEON_3100 0x9613 Mobility Radeon 3100 1769product ATI RADEON_3100 0x9613 Mobility Radeon 3100
1769product ATI RADEON_HD3300 0x9614 Radeon HD 3300 1770product ATI RADEON_HD3300 0x9614 Radeon HD 3300
1770product ATI RADEON_HD6550D 0x9640 Radeon HD 6550D 1771product ATI RADEON_HD6550D 0x9640 Radeon HD 6550D
1771product ATI RADEON_HD6620G 0x9641 Radeon HD 6620G 1772product ATI RADEON_HD6620G 0x9641 Radeon HD 6620G
1772product ATI RADEON_HD6370D 0x9642 Radeon HD 6370D 1773product ATI RADEON_HD6370D 0x9642 Radeon HD 6370D
1773product ATI RADEON_HD6380G 0x9643 Radeon HD 6380G 1774product ATI RADEON_HD6380G 0x9643 Radeon HD 6380G
1774product ATI RADEON_HD6410D_1 0x9644 Radeon HD 6410D 1775product ATI RADEON_HD6410D_1 0x9644 Radeon HD 6410D
1775product ATI RADEON_HD6410D_2 0x9645 Radeon HD 6410D 1776product ATI RADEON_HD6410D_2 0x9645 Radeon HD 6410D
1776product ATI RADEON_HD6520G 0x9647 Radeon HD 6520G 1777product ATI RADEON_HD6520G 0x9647 Radeon HD 6520G
1777product ATI RADEON_HD6480G_1 0x9648 Radeon HD 6480G 1778product ATI RADEON_HD6480G_1 0x9648 Radeon HD 6480G
1778product ATI RADEON_HD6480G_2 0x9649 Radeon HD 6480G 1779product ATI RADEON_HD6480G_2 0x9649 Radeon HD 6480G
1779product ATI RADEON_HD6530D 0x964a Radeon HD 6530D 1780product ATI RADEON_HD6530D 0x964a Radeon HD 6530D
1780product ATI RADEON_HD4200 0x9712 Radeon HD4200 Mobility 1781product ATI RADEON_HD4200 0x9712 Radeon HD4200 Mobility
1781product ATI RADEON_HD4290 0x9714 Radeon HD4290 Graphics 1782product ATI RADEON_HD4290 0x9714 Radeon HD4290 Graphics
1782product ATI RADEON_HD4250 0x9715 Radeon HD4250 GPU (RS880) 1783product ATI RADEON_HD4250 0x9715 Radeon HD4250 GPU (RS880)
1783product ATI RADEON_HD6310 0x9802 Radeon HD6310 Graphics 1784product ATI RADEON_HD6310 0x9802 Radeon HD6310 Graphics
1784product ATI RADEON_HD6320 0x9806 Radeon HD6320 Graphics 1785product ATI RADEON_HD6320 0x9806 Radeon HD6320 Graphics
1785product ATI RADEON_HD7340 0x9808 Radeon HD7340 Graphics 1786product ATI RADEON_HD7340 0x9808 Radeon HD7340 Graphics
1786product ATI RADEON_HDMI_DP_AUDIO 0x9840 HDMI/DP Audio 1787product ATI RADEON_HDMI_DP_AUDIO 0x9840 HDMI/DP Audio
1787product ATI RADEON_R2_R3_R3E_R4 0x9854 Radeon R2/R3/R4 Graphics 1788product ATI RADEON_R2_R3_R3E_R4 0x9854 Radeon R2/R3/R4 Graphics
1788product ATI RADEON_R5_R6_R7 0x9874 Radeon R5/R6/R7 Graphics 1789product ATI RADEON_R5_R6_R7 0x9874 Radeon R5/R6/R7 Graphics
1789product ATI RADEON_HD2900_HDA 0xaa00 Radeon HD 2900 HD Audio Controller 1790product ATI RADEON_HD2900_HDA 0xaa00 Radeon HD 2900 HD Audio Controller
1790product ATI RADEON_HD3650_HDA 0xaa01 Radeon HD 3650/3730/3750 HD Audio Controller 1791product ATI RADEON_HD3650_HDA 0xaa01 Radeon HD 3650/3730/3750 HD Audio Controller
1791product ATI RADEON_HD2600_HDA 0xaa08 Radeon HD 2600 HD Audio Controller 1792product ATI RADEON_HD2600_HDA 0xaa08 Radeon HD 2600 HD Audio Controller
1792product ATI RADEON_HD2350_HDA 0xaa10 Radeon HD 2350PRO/2400PRO/2400XT/3410 HD Audio Controller 1793product ATI RADEON_HD2350_HDA 0xaa10 Radeon HD 2350PRO/2400PRO/2400XT/3410 HD Audio Controller
1793product ATI RADEON_HD3690_HDA 0xaa18 Radeon HD 3690/3800 HD Audio Controller 1794product ATI RADEON_HD3690_HDA 0xaa18 Radeon HD 3690/3800 HD Audio Controller
1794product ATI RADEON_HD36XX_HDA 0xaa20 Radeon HD 3650/3730/3750 HD Audio Controller 1795product ATI RADEON_HD36XX_HDA 0xaa20 Radeon HD 3650/3730/3750 HD Audio Controller
1795product ATI RADEON_HD34XX_HDA 0xaa28 Radeon HD 34xx HD Audio Controller 1796product ATI RADEON_HD34XX_HDA 0xaa28 Radeon HD 34xx HD Audio Controller
1796product ATI RADEON_HD4850_HDA 0xaa30 Radeon HD 4850 HD Audio Controller 1797product ATI RADEON_HD4850_HDA 0xaa30 Radeon HD 4850 HD Audio Controller
1797product ATI RADEON_HD4350_HDA 0xaa38 Radeon HD 4350 HD Audio Controller 1798product ATI RADEON_HD4350_HDA 0xaa38 Radeon HD 4350 HD Audio Controller
1798product ATI RADEON_HD5830_HDA 0xaa50 Radeon HD 5830/5850/5870/6850/6870 HD Audio Controller 1799product ATI RADEON_HD5830_HDA 0xaa50 Radeon HD 5830/5850/5870/6850/6870 HD Audio Controller
1799product ATI RADEON_HD5700_HDA 0xaa58 Radeon HD 5700 HD Audio Controller 1800product ATI RADEON_HD5700_HDA 0xaa58 Radeon HD 5700 HD Audio Controller
1800product ATI RADEON_HD5000_HDA 0xaa60 Radeon HD 5000 HD Audio Controller 1801product ATI RADEON_HD5000_HDA 0xaa60 Radeon HD 5000 HD Audio Controller
1801product ATI RADEON_HD68XX_HDA 0xaa68 Radeon HD 5400/6300/7300 HD Audio Controller 1802product ATI RADEON_HD68XX_HDA 0xaa68 Radeon HD 5400/6300/7300 HD Audio Controller
1802product ATI RADEON_HD6930_HDA 0xaa80 Radeon HD 6930/6950/6970/6990 HD Audio Controller 1803product ATI RADEON_HD6930_HDA 0xaa80 Radeon HD 6930/6950/6970/6990 HD Audio Controller
1803product ATI RADEON_HD6790_HDA 0xaa88 Radeon HD 6790/6850/6870/7720 HD Audio Controller 1804product ATI RADEON_HD6790_HDA 0xaa88 Radeon HD 6790/6850/6870/7720 HD Audio Controller
1804product ATI RADEON_HD6500_HDA 0xaa90 Radeon HD 6500/6600/6700M HD Audio Controller 1805product ATI RADEON_HD6500_HDA 0xaa90 Radeon HD 6500/6600/6700M HD Audio Controller
1805product ATI RADEON_HD6450_HDA 0xaa98 Radeon HD 6450/7450/8450/8490, R5 230/235/235X HD Audio Controller 1806product ATI RADEON_HD6450_HDA 0xaa98 Radeon HD 6450/7450/8450/8490, R5 230/235/235X HD Audio Controller
1806product ATI RADEON_HD7870_HDA 0xaaa0 Radeon HD 7870XT/7950/7970 HD Audio Controller 1807product ATI RADEON_HD7870_HDA 0xaaa0 Radeon HD 7870XT/7950/7970 HD Audio Controller
1807product ATI RADEON_HD7700_HDA 0xaab0 Radeon HD 7700 HD Audio Controller 1808product ATI RADEON_HD7700_HDA 0xaab0 Radeon HD 7700 HD Audio Controller
1808product ATI RADEON_R7_360_HDA 0xaac0 Radeon R7 360, R9 360 HD Audio Controller 1809product ATI RADEON_R7_360_HDA 0xaac0 Radeon R7 360, R9 360 HD Audio Controller
1809product ATI RADEON_R9_290_HDA 0xaac8 Radeon R9 290/290X, 390/390X HD Audio Controller 1810product ATI RADEON_R9_290_HDA 0xaac8 Radeon R9 290/290X, 390/390X HD Audio Controller
1810product ATI RADEON_R9_285_HDA 0xaad8 Radeon R9 285/380 HD Audio Controller 1811product ATI RADEON_R9_285_HDA 0xaad8 Radeon R9 285/380 HD Audio Controller
1811product ATI RADEON_RX_460_HDA 0xaae0 Radeon RX 460/550/640SP, RX 560/560X HD Audio Controller 1812product ATI RADEON_RX_460_HDA 0xaae0 Radeon RX 460/550/640SP, RX 560/560X HD Audio Controller
1812product ATI RADEON_RX_550_HDA 0xaae8 Radeon R9 Nano, FURY HD Audio Controller 1813product ATI RADEON_RX_550_HDA 0xaae8 Radeon R9 Nano, FURY HD Audio Controller
1813product ATI RADEON_RX_470_HDA 0xaaf0 Radeon RX 470/480/570/580/590 HD Audio Controller 1814product ATI RADEON_RX_470_HDA 0xaaf0 Radeon RX 470/480/570/580/590 HD Audio Controller
1814product ATI RADEON_VEGA56_HDA 0xaaf8 Radeon Vega 56/64 HD Audio 1815product ATI RADEON_VEGA56_HDA 0xaaf8 Radeon Vega 56/64 HD Audio
1815product ATI RADEON_RX_550_HDA2 0xab00 Radeon RX 550/640SP/560/560X HD Audio Controller  1816product ATI RADEON_RX_550_HDA2 0xab00 Radeon RX 550/640SP/560/560X HD Audio Controller
1816 1817
1817/* Auravision products */ 1818/* Auravision products */
1818product AURAVISION VXP524 0x01f7 VxP524 PCI Video Processor 1819product AURAVISION VXP524 0x01f7 VxP524 PCI Video Processor
1819 1820
1820/* Aureal Semiconductor */ 1821/* Aureal Semiconductor */
1821product AUREAL AU8820 0x0001 AU8820 Vortex Digital Audio Processor 1822product AUREAL AU8820 0x0001 AU8820 Vortex Digital Audio Processor
1822product AUREAL AU8830 0x0002 AU8830 Vortex 3D Digital Audio Processor 1823product AUREAL AU8830 0x0002 AU8830 Vortex 3D Digital Audio Processor
1823 1824
1824/* Applied Micro Circuts products */ 1825/* Applied Micro Circuts products */
1825product AMCIRCUITS S5933 0x4750 S5933 PCI Matchmaker 1826product AMCIRCUITS S5933 0x4750 S5933 PCI Matchmaker
1826product AMCIRCUITS S5920 0x5920 S5920 PCI Target 1827product AMCIRCUITS S5920 0x5920 S5920 PCI Target
1827product AMCIRCUITS LANAI 0x8043 Myrinet LANai Interface 1828product AMCIRCUITS LANAI 0x8043 Myrinet LANai Interface
1828product AMCIRCUITS CAMAC 0x812d FZJ/ZEL CAMAC Controller 1829product AMCIRCUITS CAMAC 0x812d FZJ/ZEL CAMAC Controller
1829product AMCIRCUITS VICBUS 0x812e FZJ/ZEL VICBUS Interface 1830product AMCIRCUITS VICBUS 0x812e FZJ/ZEL VICBUS Interface
1830product AMCIRCUITS PCISYNC 0x812f FZJ/ZEL Synchronisation Module 1831product AMCIRCUITS PCISYNC 0x812f FZJ/ZEL Synchronisation Module
1831product AMCIRCUITS ADDI7800 0x818e ADDI-DATA APCI-7800 8-port Serial 1832product AMCIRCUITS ADDI7800 0x818e ADDI-DATA APCI-7800 8-port Serial
1832 1833
1833/* ASPEED Technology products */ 1834/* ASPEED Technology products */
1834product ASPEED AST1150 0x1150 AST1150 PCIe-to-PCI bridge 1835product ASPEED AST1150 0x1150 AST1150 PCIe-to-PCI bridge
1835product ASPEED AST1180 0x1180 AST1180 1836product ASPEED AST1180 0x1180 AST1180
1836product ASPEED AST2000 0x2000 ASPEED Graphics Family 1837product ASPEED AST2000 0x2000 ASPEED Graphics Family
1837 1838
1838/* Atheros Communications products */ 1839/* Atheros Communications products */
1839product ATHEROS AR5201 0x0007 AR5201 Wireless LAN 1840product ATHEROS AR5201 0x0007 AR5201 Wireless LAN
1840product ATHEROS AR5311 0x0011 AR5211 Wireless LAN 1841product ATHEROS AR5311 0x0011 AR5211 Wireless LAN
1841product ATHEROS AR5211 0x0012 AR5211 Wireless LAN 1842product ATHEROS AR5211 0x0012 AR5211 Wireless LAN
1842product ATHEROS AR5212 0x0013 AR5212 Wireless LAN 1843product ATHEROS AR5212 0x0013 AR5212 Wireless LAN
1843product ATHEROS AR5212_2 0x0014 AR5212 1844product ATHEROS AR5212_2 0x0014 AR5212
1844product ATHEROS AR5212_3 0x0015 AR5212 1845product ATHEROS AR5212_3 0x0015 AR5212
1845product ATHEROS AR5212_4 0x0016 AR5212 1846product ATHEROS AR5212_4 0x0016 AR5212
1846product ATHEROS AR5212_5 0x0017 AR5212 1847product ATHEROS AR5212_5 0x0017 AR5212
1847product ATHEROS AR5212_6 0x0018 AR5212 1848product ATHEROS AR5212_6 0x0018 AR5212
1848product ATHEROS AR5212_7 0x0019 AR5212 1849product ATHEROS AR5212_7 0x0019 AR5212
1849product ATHEROS AR2413 0x001a AR2413 1850product ATHEROS AR2413 0x001a AR2413
1850product ATHEROS AR5413 0x001b AR5413 1851product ATHEROS AR5413 0x001b AR5413
1851product ATHEROS AR5424 0x001c AR5424 1852product ATHEROS AR5424 0x001c AR5424
1852product ATHEROS AR5416 0x0023 AR5416 1853product ATHEROS AR5416 0x0023 AR5416
1853product ATHEROS AR5418 0x0024 AR5418 1854product ATHEROS AR5418 0x0024 AR5418
1854product ATHEROS AR9160 0x0027 AR9160 1855product ATHEROS AR9160 0x0027 AR9160
1855product ATHEROS AR9280 0x0029 AR9280 1856product ATHEROS AR9280 0x0029 AR9280
1856product ATHEROS AR9281 0x002a AR9281 1857product ATHEROS AR9281 0x002a AR9281
1857product ATHEROS AR9285 0x002b AR9285 Wireless LAN 1858product ATHEROS AR9285 0x002b AR9285 Wireless LAN
1858product ATHEROS AR2427 0x002c AR2427 Wireless LAN 1859product ATHEROS AR2427 0x002c AR2427 Wireless LAN
1859product ATHEROS AR9227 0x002d AR9227 Wireless LAN 1860product ATHEROS AR9227 0x002d AR9227 Wireless LAN
1860product ATHEROS AR9287 0x002e AR9287 Wireless LAN 1861product ATHEROS AR9287 0x002e AR9287 Wireless LAN
1861product ATHEROS AR9300 0x0030 AR9300 Wireless LAN 1862product ATHEROS AR9300 0x0030 AR9300 Wireless LAN
1862product ATHEROS AR9485 0x0032 AR9485 Wireless LAN 1863product ATHEROS AR9485 0x0032 AR9485 Wireless LAN
1863product ATHEROS AR9462 0x0034 AR9462 Wireless LAN 1864product ATHEROS AR9462 0x0034 AR9462 Wireless LAN
1864product ATHEROS AR9565 0x0036 AR9565 Wireless LAN 1865product ATHEROS AR9565 0x0036 AR9565 Wireless LAN
1865product ATHEROS QCA988X 0x003c QCA986x/988x Wireless LAN 1866product ATHEROS QCA988X 0x003c QCA986x/988x Wireless LAN
1866product ATHEROS AR5201_AP 0x0207 AR5201 Wireless LAN Reference Card (Early AP11) 1867product ATHEROS AR5201_AP 0x0207 AR5201 Wireless LAN Reference Card (Early AP11)
1867product ATHEROS AR5201_DEFAULT 0x1107 AR5201 Wireless LAN (no eeprom) 1868product ATHEROS AR5201_DEFAULT 0x1107 AR5201 Wireless LAN (no eeprom)
1868product ATHEROS AR5211_DEFAULT 0x1112 AR5211 Wireless LAN (no eeprom) 1869product ATHEROS AR5211_DEFAULT 0x1112 AR5211 Wireless LAN (no eeprom)
1869product ATHEROS AR5212_DEFAULT 0x1113 AR5212 Wireless LAN (no eeprom) 1870product ATHEROS AR5212_DEFAULT 0x1113 AR5212 Wireless LAN (no eeprom)
1870product ATHEROS AR5212_FPGA 0xf013 AR5212 Wireless LAN Reference Card (emulation board) 1871product ATHEROS AR5212_FPGA 0xf013 AR5212 Wireless LAN Reference Card (emulation board)
1871product ATHEROS AR5211_FPGA11B 0xf11b AR5211 Wireless LAN Reference Card (11b emulation board) 1872product ATHEROS AR5211_FPGA11B 0xf11b AR5211 Wireless LAN Reference Card (11b emulation board)
1872product ATHEROS AR5211_LEGACY 0xff12 AR5211 Wireless LAN Reference Card (original emulation board) 1873product ATHEROS AR5211_LEGACY 0xff12 AR5211 Wireless LAN Reference Card (original emulation board)
1873 1874
1874/* Atronics products */ 1875/* Atronics products */
1875product ATRONICS IDE_2015PL 0x2015 IDE-2015PL 1876product ATRONICS IDE_2015PL 0x2015 IDE-2015PL
1876 1877
1877/* Avance Logic products */ 1878/* Avance Logic products */
1878product AVANCE AVL2301 0x2301 AVL2301 1879product AVANCE AVL2301 0x2301 AVL2301
1879product AVANCE AVG2302 0x2302 AVG2302 1880product AVANCE AVG2302 0x2302 AVG2302
1880product AVANCE2 ALG2301 0x2301 ALG2301 1881product AVANCE2 ALG2301 0x2301 ALG2301
1881product AVANCE2 ALG2302 0x2302 ALG2302 1882product AVANCE2 ALG2302 0x2302 ALG2302
1882product AVANCE2 ALS4000 0x4000 ALS4000 Audio 1883product AVANCE2 ALS4000 0x4000 ALS4000 Audio
1883 1884
1884/* Avlab Technology products */ 1885/* Avlab Technology products */
1885product AVLAB PCI2S 0x2130 Low Profile PCI 4 Serial 1886product AVLAB PCI2S 0x2130 Low Profile PCI 4 Serial
1886product AVLAB LPPCI4S 0x2150 Low Profile PCI 4 Serial 1887product AVLAB LPPCI4S 0x2150 Low Profile PCI 4 Serial
1887product AVLAB LPPCI4S_2 0x2152 Low Profile PCI 4 Serial 1888product AVLAB LPPCI4S_2 0x2152 Low Profile PCI 4 Serial
1888 1889
1889/* CCUBE products */ 1890/* CCUBE products */
1890product CCUBE CINEMASTER 0x8888 Cinemaster C 3.0 DVD Decoder 1891product CCUBE CINEMASTER 0x8888 Cinemaster C 3.0 DVD Decoder
1891 1892
1892/* AVM products */ 1893/* AVM products */
1893product AVM B1 0x0700 Basic Rate B1 ISDN Interface 1894product AVM B1 0x0700 Basic Rate B1 ISDN Interface
1894product AVM FRITZ_CARD 0x0a00 Fritz! Card ISDN Interface 1895product AVM FRITZ_CARD 0x0a00 Fritz! Card ISDN Interface
1895product AVM FRITZ_PCI_V2_ISDN 0x0e00 Fritz!PCI v2.0 ISDN Interface 1896product AVM FRITZ_PCI_V2_ISDN 0x0e00 Fritz!PCI v2.0 ISDN Interface
1896product AVM T1 0x1200 Primary Rate T1 ISDN Interface 1897product AVM T1 0x1200 Primary Rate T1 ISDN Interface
1897 1898
1898/* AWT products */ 1899/* AWT products */
1899product AWT RT2890 0x1059 RT2890 1900product AWT RT2890 0x1059 RT2890
1900 1901
1901/* RMI products */ 1902/* RMI products */
1902product RMI XLR_PCIX 0x000b XLR PCI-X bridge 1903product RMI XLR_PCIX 0x000b XLR PCI-X bridge
1903product RMI XLS_PCIE 0xabcd XLS PCIe-PCIe bridge 1904product RMI XLS_PCIE 0xabcd XLS PCIe-PCIe bridge
1904 1905
1905/* B & B Electronics Products */ 1906/* B & B Electronics Products */
1906product BBELEC NON_ISOLATED_1_PORT 0x4201 single-channel RS-485 PCI UART 1907product BBELEC NON_ISOLATED_1_PORT 0x4201 single-channel RS-485 PCI UART
1907product BBELEC NON_ISOLATED_2_PORT 0x4202 dual-channel RS-485 PCI UART 1908product BBELEC NON_ISOLATED_2_PORT 0x4202 dual-channel RS-485 PCI UART
1908product BBELEC NON_ISOLATED_4_PORT 0x4204 quad-channel RS-485 PCI UART 1909product BBELEC NON_ISOLATED_4_PORT 0x4204 quad-channel RS-485 PCI UART
1909product BBELEC NON_ISOLATED_8_PORT 0x4208 octal-channel RS-485 PCI UART 1910product BBELEC NON_ISOLATED_8_PORT 0x4208 octal-channel RS-485 PCI UART
1910product BBELEC ISOLATED_1_PORT 0x4211 single-channel Isolated RS-485 PCI UART 1911product BBELEC ISOLATED_1_PORT 0x4211 single-channel Isolated RS-485 PCI UART
1911product BBELEC ISOLATED_2_PORT 0x4212 dual-channel Isolated RS-485 PCI UART 1912product BBELEC ISOLATED_2_PORT 0x4212 dual-channel Isolated RS-485 PCI UART
1912product BBELEC ISOLATED_4_PORT 0x4214 quad-channel Isolated RS-485 PCI UART 1913product BBELEC ISOLATED_4_PORT 0x4214 quad-channel Isolated RS-485 PCI UART
1913product BBELEC ISOLATED_8_PORT 0x4218 octal-channel Isolated RS-485 PCI UART 1914product BBELEC ISOLATED_8_PORT 0x4218 octal-channel Isolated RS-485 PCI UART
1914 1915
1915/* Beijing Memblaze Technology Co. Ltd. products */ 1916/* Beijing Memblaze Technology Co. Ltd. products */
1916product BEIJING_MEMBLAZE PBLAZE4 0x0540 PBlaze4 NVMe SSD 1917product BEIJING_MEMBLAZE PBLAZE4 0x0540 PBlaze4 NVMe SSD
1917 1918
1918/* Belkin products */ 1919/* Belkin products */
1919product BELKIN F5D6001 0x6001 F5D6001 1920product BELKIN F5D6001 0x6001 F5D6001
1920product BELKIN F5D6020V3 0x6020 F5D6020v3 802.11b 1921product BELKIN F5D6020V3 0x6020 F5D6020v3 802.11b
1921product BELKIN F5D7010 0x701f F5D7010 1922product BELKIN F5D7010 0x701f F5D7010
1922 1923
1923/* Stallion products */ 1924/* Stallion products */
1924product STALLION EC8_32 0x0000 EC8/32 1925product STALLION EC8_32 0x0000 EC8/32
1925product STALLION EC8_64 0x0002 EC8/64 1926product STALLION EC8_64 0x0002 EC8/64
1926product STALLION EASYIO 0x0003 EasyIO 1927product STALLION EASYIO 0x0003 EasyIO
1927 1928
1928/* Bit3 products */ 1929/* Bit3 products */
1929product BIT3 PCIVME617 0x0001 PCI-VME Interface Mod. 617 1930product BIT3 PCIVME617 0x0001 PCI-VME Interface Mod. 617
1930product BIT3 PCIVME618 0x0010 PCI-VME Interface Mod. 618 1931product BIT3 PCIVME618 0x0010 PCI-VME Interface Mod. 618
1931product BIT3 PCIVME2706 0x0300 PCI-VME Interface Mod. 2706 1932product BIT3 PCIVME2706 0x0300 PCI-VME Interface Mod. 2706
1932 1933
1933/* Bluesteel Networks */ 1934/* Bluesteel Networks */
1934product BLUESTEEL 5501 0x0000 5501 1935product BLUESTEEL 5501 0x0000 5501
1935product BLUESTEEL 5601 0x5601 5601 1936product BLUESTEEL 5601 0x5601 5601
1936 1937
1937/* Broadcom products */ 1938/* Broadcom products */
1938product BROADCOM BCM5752 0x1600 BCM5752 NetXtreme 1000baseT Ethernet 1939product BROADCOM BCM5752 0x1600 BCM5752 NetXtreme 1000baseT Ethernet
1939product BROADCOM BCM5752M 0x1601 BCM5752M NetXtreme 1000baseT Ethernet 1940product BROADCOM BCM5752M 0x1601 BCM5752M NetXtreme 1000baseT Ethernet
1940product BROADCOM BCM5709 0x1639 BCM5709 NetXtreme II 1000baseT Ethernet 1941product BROADCOM BCM5709 0x1639 BCM5709 NetXtreme II 1000baseT Ethernet
1941product BROADCOM BCM5709S 0x163a BCM5709 NetXtreme II 1000baseSX Ethernet 1942product BROADCOM BCM5709S 0x163a BCM5709 NetXtreme II 1000baseSX Ethernet
1942product BROADCOM BCM5716 0x163b BCM5716 NetXtreme II 1000baseT Ethernet 1943product BROADCOM BCM5716 0x163b BCM5716 NetXtreme II 1000baseT Ethernet
1943product BROADCOM BCM5716S 0x163c BCM5716 NetXtreme II 1000baseSX Ethernet 1944product BROADCOM BCM5716S 0x163c BCM5716 NetXtreme II 1000baseSX Ethernet
1944product BROADCOM BCM57811 0x163d BCM57811 10Gb Ethernet 1945product BROADCOM BCM57811 0x163d BCM57811 10Gb Ethernet
1945product BROADCOM BCM57811_MF 0x163e BCM57811 10Gb MF Ethernet 1946product BROADCOM BCM57811_MF 0x163e BCM57811 10Gb MF Ethernet
1946product BROADCOM BCM57811_VF 0x163f BCM57811 10Gb Ehternet VF 1947product BROADCOM BCM57811_VF 0x163f BCM57811 10Gb Ehternet VF
1947product BROADCOM BCM57787 0x1641 BCM57787 Gigabit Ethernet 1948product BROADCOM BCM57787 0x1641 BCM57787 Gigabit Ethernet
1948product BROADCOM BCM57764 0x1642 BCM57764 Gigabit Ethernet 1949product BROADCOM BCM57764 0x1642 BCM57764 Gigabit Ethernet
1949product BROADCOM BCM5725 0x1643 BCM5725 Gigabit Ethernet 1950product BROADCOM BCM5725 0x1643 BCM5725 Gigabit Ethernet
1950product BROADCOM BCM5700 0x1644 BCM5700 10/100/1000 Ethernet 1951product BROADCOM BCM5700 0x1644 BCM5700 10/100/1000 Ethernet
1951product BROADCOM BCM5701 0x1645 BCM5701 10/100/1000 Ethernet 1952product BROADCOM BCM5701 0x1645 BCM5701 10/100/1000 Ethernet
1952product BROADCOM BCM5702 0x1646 BCM5702 10/100/1000 Ethernet 1953product BROADCOM BCM5702 0x1646 BCM5702 10/100/1000 Ethernet
1953product BROADCOM BCM5703 0x1647 BCM5703 10/100/1000 Ethernet 1954product BROADCOM BCM5703 0x1647 BCM5703 10/100/1000 Ethernet
1954product BROADCOM BCM5704C 0x1648 BCM5704C 1000baseT Ethernet 1955product BROADCOM BCM5704C 0x1648 BCM5704C 1000baseT Ethernet
1955product BROADCOM BCM5704S_ALT 0x1649 BCM5704S 1000baseSX Ethernet 1956product BROADCOM BCM5704S_ALT 0x1649 BCM5704S 1000baseSX Ethernet
1956product BROADCOM BCM5706 0x164a BCM5706 NetXtreme II 1000baseT Ethernet 1957product BROADCOM BCM5706 0x164a BCM5706 NetXtreme II 1000baseT Ethernet
1957product BROADCOM BCM5708 0x164c BCM5708 NetXtreme II 1000baseT Ethernet 1958product BROADCOM BCM5708 0x164c BCM5708 NetXtreme II 1000baseT Ethernet
1958product BROADCOM BCM5702FE 0x164d BCM5702FE 10/100 Ethernet 1959product BROADCOM BCM5702FE 0x164d BCM5702FE 10/100 Ethernet
1959product BROADCOM BCM57710 0x164e BCM57710 NetXtreme II 10Gb Ethernet 1960product BROADCOM BCM57710 0x164e BCM57710 NetXtreme II 10Gb Ethernet
1960product BROADCOM BCM57711 0x164f BCM57711 NetXtreme II 10Gb Ethernet 1961product BROADCOM BCM57711 0x164f BCM57711 NetXtreme II 10Gb Ethernet
1961product BROADCOM BCM57711E 0x1650 BCM57711E NetXtreme II 10Gb Ethernet 1962product BROADCOM BCM57711E 0x1650 BCM57711E NetXtreme II 10Gb Ethernet
1962product BROADCOM BCM5705 0x1653 BCM5705 10/100/1000 Ethernet 1963product BROADCOM BCM5705 0x1653 BCM5705 10/100/1000 Ethernet
1963product BROADCOM BCM5705K 0x1654 BCM5705K 10/100/1000 Ethernet 1964product BROADCOM BCM5705K 0x1654 BCM5705K 10/100/1000 Ethernet
1964product BROADCOM BCM5717 0x1655 BCM5717 10/100/1000 Ethernet 1965product BROADCOM BCM5717 0x1655 BCM5717 10/100/1000 Ethernet
1965product BROADCOM BCM5718 0x1656 BCM5718 10/100/1000 Ethernet 1966product BROADCOM BCM5718 0x1656 BCM5718 10/100/1000 Ethernet
1966product BROADCOM BCM5719 0x1657 BCM5719 NetXtreme 1000baseT Ethernet 1967product BROADCOM BCM5719 0x1657 BCM5719 NetXtreme 1000baseT Ethernet
1967product BROADCOM BCM5721 0x1659 BCM5721 NetXtreme 1000baseT Ethernet 1968product BROADCOM BCM5721 0x1659 BCM5721 NetXtreme 1000baseT Ethernet
1968product BROADCOM BCM5722 0x165a BCM5722 NetXtreme 1000baseT Ethernet 1969product BROADCOM BCM5722 0x165a BCM5722 NetXtreme 1000baseT Ethernet
1969product BROADCOM BCM5723 0x165b BCM5723 NetXtreme 1000baseT Ethernet 1970product BROADCOM BCM5723 0x165b BCM5723 NetXtreme 1000baseT Ethernet
1970product BROADCOM BCM5724 0x165c BCM5724 10/100/1000 Ethernet 1971product BROADCOM BCM5724 0x165c BCM5724 10/100/1000 Ethernet
1971product BROADCOM BCM5705M 0x165d BCM5705M 10/100/1000 Ethernet 1972product BROADCOM BCM5705M 0x165d BCM5705M 10/100/1000 Ethernet
1972product BROADCOM BCM5705M_ALT 0x165e BCM5705M 10/100/1000 Ethernet 1973product BROADCOM BCM5705M_ALT 0x165e BCM5705M 10/100/1000 Ethernet
1973product BROADCOM BCM5720 0x165f BCM5720 NetXtreme 1000baseT Ethernet 1974product BROADCOM BCM5720 0x165f BCM5720 NetXtreme 1000baseT Ethernet
1974product BROADCOM BCM57712 0x1662 BCM57712 NetXtreme II 10Gb Ethernet 1975product BROADCOM BCM57712 0x1662 BCM57712 NetXtreme II 10Gb Ethernet
1975product BROADCOM BCM57712_MF 0x1663 BCM57712 NetXtreme II 10Gb Ethernet MF 1976product BROADCOM BCM57712_MF 0x1663 BCM57712 NetXtreme II 10Gb Ethernet MF
1976product BROADCOM BCM5717C 0x1665 BCM5717 10/100/1000 Ethernet 1977product BROADCOM BCM5717C 0x1665 BCM5717 10/100/1000 Ethernet
1977product BROADCOM BCM5714 0x1668 BCM5714 1000baseT Ethernet 1978product BROADCOM BCM5714 0x1668 BCM5714 1000baseT Ethernet
1978product BROADCOM BCM5714S 0x1669 BCM5714S 1000baseSX Ethernet 1979product BROADCOM BCM5714S 0x1669 BCM5714S 1000baseSX Ethernet
1979product BROADCOM BCM5780 0x166a BCM5780 NetXtreme 1000baseT Ethernet 1980product BROADCOM BCM5780 0x166a BCM5780 NetXtreme 1000baseT Ethernet
1980product BROADCOM BCM5780S 0x166b BCM5780S NetXtreme 1000baseSX Ethernet 1981product BROADCOM BCM5780S 0x166b BCM5780S NetXtreme 1000baseSX Ethernet
1981product BROADCOM BCM57712_VF 0x166f BCM57712 NetXtreme II 10Gb Ethernet VF 1982product BROADCOM BCM57712_VF 0x166f BCM57712 NetXtreme II 10Gb Ethernet VF
1982product BROADCOM BCM5705F 0x166e BCM5705F 10/100 Ethernet 1983product BROADCOM BCM5705F 0x166e BCM5705F 10/100 Ethernet
1983product BROADCOM BCM5754M 0x1672 BCM5754M NetXtreme 1000baseT Ethernet 1984product BROADCOM BCM5754M 0x1672 BCM5754M NetXtreme 1000baseT Ethernet
1984product BROADCOM BCM5755M 0x1673 BCM5755M NetXtreme 1000baseT Ethernet 1985product BROADCOM BCM5755M 0x1673 BCM5755M NetXtreme 1000baseT Ethernet
1985product BROADCOM BCM5756 0x1674 BCM5756 10/100/1000 Ethernet 1986product BROADCOM BCM5756 0x1674 BCM5756 10/100/1000 Ethernet
1986product BROADCOM BCM5750 0x1676 BCM5750 10/100/1000 Ethernet 1987product BROADCOM BCM5750 0x1676 BCM5750 10/100/1000 Ethernet
1987product BROADCOM BCM5751 0x1677 BCM5751 10/100/1000 Ethernet 1988product BROADCOM BCM5751 0x1677 BCM5751 10/100/1000 Ethernet
1988product BROADCOM BCM5715 0x1678 BCM5715 1000baseT Ethernet 1989product BROADCOM BCM5715 0x1678 BCM5715 1000baseT Ethernet
1989product BROADCOM BCM5715S 0x1679 BCM5715S 1000baseSX Ethernet 1990product BROADCOM BCM5715S 0x1679 BCM5715S 1000baseSX Ethernet
1990product BROADCOM BCM5754 0x167a BCM5754 10/100/1000 Ethernet 1991product BROADCOM BCM5754 0x167a BCM5754 10/100/1000 Ethernet
1991product BROADCOM BCM5755 0x167b BCM5755 NetXtreme 1000baseT Ethernet 1992product BROADCOM BCM5755 0x167b BCM5755 NetXtreme 1000baseT Ethernet
1992product BROADCOM BCM5750M 0x167c BCM5750M 10/100/1000 Ethernet 1993product BROADCOM BCM5750M 0x167c BCM5750M 10/100/1000 Ethernet
1993product BROADCOM BCM5751M 0x167d BCM5751M 10/100/1000 Ethernet 1994product BROADCOM BCM5751M 0x167d BCM5751M 10/100/1000 Ethernet
1994product BROADCOM BCM5751F 0x167e BCM5751F 10/100 Ethernet 1995product BROADCOM BCM5751F 0x167e BCM5751F 10/100 Ethernet
1995product BROADCOM BCM5787F 0x167f BCM5787F 10/100 Ethernet 1996product BROADCOM BCM5787F 0x167f BCM5787F 10/100 Ethernet
1996product BROADCOM BCM5761E 0x1680 BCM5761E 10/100/1000 Ethernet 1997product BROADCOM BCM5761E 0x1680 BCM5761E 10/100/1000 Ethernet
1997product BROADCOM BCM5761 0x1681 BCM5761 10/100/1000 Ethernet 1998product BROADCOM BCM5761 0x1681 BCM5761 10/100/1000 Ethernet
1998product BROADCOM BCM57762 0x1682 BCM57762 Gigabit Ethernet 1999product BROADCOM BCM57762 0x1682 BCM57762 Gigabit Ethernet
1999product BROADCOM BCM57767 0x1683 BCM57767 Gigabit Ethernet 2000product BROADCOM BCM57767 0x1683 BCM57767 Gigabit Ethernet
2000product BROADCOM BCM5764 0x1684 BCM5764 NetXtreme 1000baseT Ethernet 2001product BROADCOM BCM5764 0x1684 BCM5764 NetXtreme 1000baseT Ethernet
2001product BROADCOM BCM57766 0x1686 BCM57766 NetXtreme 1000baseT Ethernet 2002product BROADCOM BCM57766 0x1686 BCM57766 NetXtreme 1000baseT Ethernet
2002product BROADCOM BCM5762 0x1687 BCM5762 NetXtreme 1000baseT Ethernet 2003product BROADCOM BCM5762 0x1687 BCM5762 NetXtreme 1000baseT Ethernet
2003product BROADCOM BCM5761S 0x1688 BCM5761S 10/100/1000 Ethernet 2004product BROADCOM BCM5761S 0x1688 BCM5761S 10/100/1000 Ethernet
2004product BROADCOM BCM5761SE 0x1689 BCM5761SE 10/100/1000 Ethernet 2005product BROADCOM BCM5761SE 0x1689 BCM5761SE 10/100/1000 Ethernet
2005product BROADCOM BCM57800 0x168a BCM57800 NetXtreme II 10Gb Ethernet 2006product BROADCOM BCM57800 0x168a BCM57800 NetXtreme II 10Gb Ethernet
2006product BROADCOM BCM57840_OBS 0x168d BCM57840 10Gb Ethernet 2007product BROADCOM BCM57840_OBS 0x168d BCM57840 10Gb Ethernet
2007product BROADCOM BCM57810 0x168e BCM57810 10Gb Ethernet 2008product BROADCOM BCM57810 0x168e BCM57810 10Gb Ethernet
2008product BROADCOM BCM57760 0x1690 BCM57760 NetXtreme 1000baseT Ethernet 2009product BROADCOM BCM57760 0x1690 BCM57760 NetXtreme 1000baseT Ethernet
2009product BROADCOM BCM57788 0x1691 BCM57788 NetLink 1000baseT Ethernet 2010product BROADCOM BCM57788 0x1691 BCM57788 NetLink 1000baseT Ethernet
2010product BROADCOM BCM57780 0x1692 BCM57780 NetXtreme 1000baseT Ethernet 2011product BROADCOM BCM57780 0x1692 BCM57780 NetXtreme 1000baseT Ethernet
2011product BROADCOM BCM5787M 0x1693 BCM5787M 10/100/1000 Ethernet 2012product BROADCOM BCM5787M 0x1693 BCM5787M 10/100/1000 Ethernet
2012product BROADCOM BCM57790 0x1694 BCM57790 10/100 Ethernet 2013product BROADCOM BCM57790 0x1694 BCM57790 10/100 Ethernet
2013product BROADCOM BCM5782 0x1696 BCM5782 10/100/1000 Ethernet 2014product BROADCOM BCM5782 0x1696 BCM5782 10/100/1000 Ethernet
2014product BROADCOM BCM5784M 0x1698 BCM5784M NetLink 1000baseT Ethernet 2015product BROADCOM BCM5784M 0x1698 BCM5784M NetLink 1000baseT Ethernet
2015product BROADCOM BCM5785G 0x1699 BCM5785G 10/100/1000 Ethernet 2016product BROADCOM BCM5785G 0x1699 BCM5785G 10/100/1000 Ethernet
2016product BROADCOM BCM5786 0x169a BCM5786 NetLink 1000baseT Ethernet 2017product BROADCOM BCM5786 0x169a BCM5786 NetLink 1000baseT Ethernet
2017product BROADCOM BCM5787 0x169b BCM5787 NetLink 1000baseT Ethernet 2018product BROADCOM BCM5787 0x169b BCM5787 NetLink 1000baseT Ethernet
2018product BROADCOM BCM5788 0x169c BCM5788 10/100/1000 Ethernet 2019product BROADCOM BCM5788 0x169c BCM5788 10/100/1000 Ethernet
2019product BROADCOM BCM5789 0x169d BCM5789 NetLink 1000baseT Ethernet 2020product BROADCOM BCM5789 0x169d BCM5789 NetLink 1000baseT Ethernet
2020product BROADCOM BCM5785F 0x16a0 BCM5785F 10/100 Ethernet 2021product BROADCOM BCM5785F 0x16a0 BCM5785F 10/100 Ethernet
2021product BROADCOM BCM57840_4_10 0x16a1 BCM57840 4x10Gb Ethernet 2022product BROADCOM BCM57840_4_10 0x16a1 BCM57840 4x10Gb Ethernet
2022product BROADCOM BCM57840_2_20 0x16a2 BCM57840 2x20Gb Ethernet 2023product BROADCOM BCM57840_2_20 0x16a2 BCM57840 2x20Gb Ethernet
2023product BROADCOM BCM57840_MF 0x16a4 BCM57840 10Gb Ethernet MF 2024product BROADCOM BCM57840_MF 0x16a4 BCM57840 10Gb Ethernet MF
2024product BROADCOM BCM57800_MF 0x16a5 BCM57800 10Gb Ethernet MF 2025product BROADCOM BCM57800_MF 0x16a5 BCM57800 10Gb Ethernet MF
2025product BROADCOM BCM5702X 0x16a6 BCM5702X 10/100/1000 Ethernet 2026product BROADCOM BCM5702X 0x16a6 BCM5702X 10/100/1000 Ethernet
2026product BROADCOM BCM5703X 0x16a7 BCM5703X 10/100/1000 Ethernet 2027product BROADCOM BCM5703X 0x16a7 BCM5703X 10/100/1000 Ethernet
2027product BROADCOM BCM5704S 0x16a8 BCM5704S 1000baseSX Ethernet 2028product BROADCOM BCM5704S 0x16a8 BCM5704S 1000baseSX Ethernet
2028product BROADCOM BCM57800_VF 0x16a9 BCM57800 10Gb Ethernet VF 2029product BROADCOM BCM57800_VF 0x16a9 BCM57800 10Gb Ethernet VF
2029product BROADCOM BCM5706S 0x16aa BCM5706 NetXtreme II 1000baseSX 2030product BROADCOM BCM5706S 0x16aa BCM5706 NetXtreme II 1000baseSX
2030product BROADCOM BCM57840_OBS_MF 0x16ab BCM57840 10Gb Ethernet MF 2031product BROADCOM BCM57840_OBS_MF 0x16ab BCM57840 10Gb Ethernet MF
2031product BROADCOM BCM5708S 0x16ac BCM5708 NetXtreme II 1000baseSX 2032product BROADCOM BCM5708S 0x16ac BCM5708 NetXtreme II 1000baseSX
2032product BROADCOM BCM57840_VF 0x16ad BCM57840 20Gb Ethernet VF 2033product BROADCOM BCM57840_VF 0x16ad BCM57840 20Gb Ethernet VF
2033product BROADCOM BCM57810_MF 0x16ae BCM57810 10Gb Ethernet MF 2034product BROADCOM BCM57810_MF 0x16ae BCM57810 10Gb Ethernet MF
2034product BROADCOM BCM57810_VF 0x16af BCM57810 10Gb Ethernet VF 2035product BROADCOM BCM57810_VF 0x16af BCM57810 10Gb Ethernet VF
2035product BROADCOM BCM57761 0x16b0 BCM57761 10/100/1000 Ethernet 2036product BROADCOM BCM57761 0x16b0 BCM57761 10/100/1000 Ethernet
2036product BROADCOM BCM57781 0x16b1 BCM57781 10/100/1000 Ethernet 2037product BROADCOM BCM57781 0x16b1 BCM57781 10/100/1000 Ethernet
2037product BROADCOM BCM57791 0x16b2 BCM57791 10/100/1000 Ethernet 2038product BROADCOM BCM57791 0x16b2 BCM57791 10/100/1000 Ethernet
2038product BROADCOM BCM57786 0x16b3 BCM57786 10/100/1000 Ethernet 2039product BROADCOM BCM57786 0x16b3 BCM57786 10/100/1000 Ethernet
2039product BROADCOM BCM57765 0x16b4 BCM57765 Integrated Gigabit Ethernet 2040product BROADCOM BCM57765 0x16b4 BCM57765 Integrated Gigabit Ethernet
2040product BROADCOM BCM57785 0x16b5 BCM57785 Integrated Gigabit Ethernet 2041product BROADCOM BCM57785 0x16b5 BCM57785 Integrated Gigabit Ethernet
2041product BROADCOM BCM57795 0x16b6 BCM57795 10/100/1000 Ethernet 2042product BROADCOM BCM57795 0x16b6 BCM57795 10/100/1000 Ethernet
2042product BROADCOM BCM57782 0x16b7 BCM57782 10/100/1000 Ethernet 2043product BROADCOM BCM57782 0x16b7 BCM57782 10/100/1000 Ethernet
2043product BROADCOM SDMMC 0x16bc BCM577x5 SDMMC 2044product BROADCOM SDMMC 0x16bc BCM577x5 SDMMC
2044product BROADCOM MS 0x16be BCM577x5 Memstick 2045product BROADCOM MS 0x16be BCM577x5 Memstick
2045product BROADCOM XD 0x16bf BCM577x5 xD 2046product BROADCOM XD 0x16bf BCM577x5 xD
2046product BROADCOM BCM5702_ALT 0x16c6 BCM5702 10/100/1000 Ethernet 2047product BROADCOM BCM5702_ALT 0x16c6 BCM5702 10/100/1000 Ethernet
2047product BROADCOM BCM5703_ALT 0x16c7 BCM5703 10/100/1000 Ethernet 2048product BROADCOM BCM5703_ALT 0x16c7 BCM5703 10/100/1000 Ethernet
2048product BROADCOM BCM57301 0x16c8 BCM57301 NetXtreme-C 10Gb Ethernet 2049product BROADCOM BCM57301 0x16c8 BCM57301 NetXtreme-C 10Gb Ethernet
2049product BROADCOM BCM57302 0x16c9 BCM57302 NetXtreme-C 25Gb Ethernet 2050product BROADCOM BCM57302 0x16c9 BCM57302 NetXtreme-C 25Gb Ethernet
2050product BROADCOM BCM57304 0x16ca BCM57304 NetXtreme-C 50Gb Ethernet 2051product BROADCOM BCM57304 0x16ca BCM57304 NetXtreme-C 50Gb Ethernet
2051product BROADCOM BCM57311 0x16ce BCM57311 NetXtreme-C 10Gb Ethernet 2052product BROADCOM BCM57311 0x16ce BCM57311 NetXtreme-C 10Gb Ethernet
2052product BROADCOM BCM57312 0x16cf BCM57312 NetXtreme-C 25Gb Ethernet 2053product BROADCOM BCM57312 0x16cf BCM57312 NetXtreme-C 25Gb Ethernet
2053product BROADCOM BCM57402 0x16d0 BCM57402 NetXtreme-E 10Gb Ethernet 2054product BROADCOM BCM57402 0x16d0 BCM57402 NetXtreme-E 10Gb Ethernet
2054product BROADCOM BCM57404 0x16d1 BCM57404 NetXtreme-E 25Gb Ethernet 2055product BROADCOM BCM57404 0x16d1 BCM57404 NetXtreme-E 25Gb Ethernet
2055product BROADCOM BCM57406 0x16d2 BCM57406 NetXtreme-E 10GBase-T Ethernet 2056product BROADCOM BCM57406 0x16d2 BCM57406 NetXtreme-E 10GBase-T Ethernet
2056product BROADCOM BCM57407 0x16d5 BCM57407 NetXtreme-E Ethernet 2057product BROADCOM BCM57407 0x16d5 BCM57407 NetXtreme-E Ethernet
2057product BROADCOM BCM57412 0x16d6 BCM57412 NetXtreme-E Ethernet 2058product BROADCOM BCM57412 0x16d6 BCM57412 NetXtreme-E Ethernet
2058product BROADCOM BCM57414 0x16d7 BCM57414 NetXtreme-E Ethernet 2059product BROADCOM BCM57414 0x16d7 BCM57414 NetXtreme-E Ethernet
2059product BROADCOM BCM57416 0x16d8 BCM57416 NetXtreme-E Ethernet 2060product BROADCOM BCM57416 0x16d8 BCM57416 NetXtreme-E Ethernet
2060product BROADCOM BCM57417 0x16d8 BCM57417 NetXtreme-E Ethernet 2061product BROADCOM BCM57417 0x16d8 BCM57417 NetXtreme-E Ethernet
2061product BROADCOM BCM5781 0x16dd BCM5781 Integrated Gigabit Ethernet 2062product BROADCOM BCM5781 0x16dd BCM5781 Integrated Gigabit Ethernet
2062product BROADCOM BCM57314 0x16df BCM57314 2063product BROADCOM BCM57314 0x16df BCM57314
2063product BROADCOM BCM57417_SFP 0x16e2 BCM57417 NetXtreme-E 10Gb/25Gb SFP Ethernet 2064product BROADCOM BCM57417_SFP 0x16e2 BCM57417 NetXtreme-E 10Gb/25Gb SFP Ethernet
2064product BROADCOM BCM57416_SFP 0x16e3 BCM57416 NetXtreme-E 10Gb SFP Ethernet 2065product BROADCOM BCM57416_SFP 0x16e3 BCM57416 NetXtreme-E 10Gb SFP Ethernet
2065product BROADCOM BCM57407_SFP 0x16e9 BCM57407 NetXtreme-E 25Gb SFP Ethernet 2066product BROADCOM BCM57407_SFP 0x16e9 BCM57407 NetXtreme-E 25Gb SFP Ethernet
2066product BROADCOM BCM5727 0x16f3 BCM5727 Gigabit Ethernet 2067product BROADCOM BCM5727 0x16f3 BCM5727 Gigabit Ethernet
2067product BROADCOM BCM5753 0x16f7 BCM5753 10/100/1000 Ethernet 2068product BROADCOM BCM5753 0x16f7 BCM5753 10/100/1000 Ethernet
2068product BROADCOM BCM5753M 0x16fd BCM5753M 10/100/1000 Ethernet 2069product BROADCOM BCM5753M 0x16fd BCM5753M 10/100/1000 Ethernet
2069product BROADCOM BCM5753F 0x16fe BCM5753F 10/100 Ethernet 2070product BROADCOM BCM5753F 0x16fe BCM5753F 10/100 Ethernet
2070product BROADCOM BCM5903M 0x16ff BCM5903M 10/100/1000 Ethernet 2071product BROADCOM BCM5903M 0x16ff BCM5903M 10/100/1000 Ethernet
2071product BROADCOM BCM4401_B1 0x170c BCM4401-B1 10/100 Ethernet 2072product BROADCOM BCM4401_B1 0x170c BCM4401-B1 10/100 Ethernet
2072product BROADCOM BCM5901 0x170d BCM5901 10/100 Ethernet 2073product BROADCOM BCM5901 0x170d BCM5901 10/100 Ethernet
2073product BROADCOM BCM5901A2 0x170e BCM5901A 10/100 Ethernet 2074product BROADCOM BCM5901A2 0x170e BCM5901A 10/100 Ethernet
2074product BROADCOM BCM5906 0x1712 BCM5906 NetLink Fast Ethernet 2075product BROADCOM BCM5906 0x1712 BCM5906 NetLink Fast Ethernet
2075product BROADCOM BCM5906M 0x1713 BCM5906M NetLink Fast Ethernet 2076product BROADCOM BCM5906M 0x1713 BCM5906M NetLink Fast Ethernet
2076product BROADCOM BCM4303 0x4301 BCM4303 2077product BROADCOM BCM4303 0x4301 BCM4303
2077product BROADCOM BCM4307 0x4307 BCM4307 2078product BROADCOM BCM4307 0x4307 BCM4307
2078product BROADCOM BCM4311 0x4311 BCM4311 2.4GHz 2079product BROADCOM BCM4311 0x4311 BCM4311 2.4GHz
2079product BROADCOM BCM4312 0x4312 BCM4312 Dualband 2080product BROADCOM BCM4312 0x4312 BCM4312 Dualband
2080product BROADCOM BCM4313 0x4313 BCM4313 5GHz 2081product BROADCOM BCM4313 0x4313 BCM4313 5GHz
2081product BROADCOM BCM4315 0x4315 BCM4315 2.4GHz 2082product BROADCOM BCM4315 0x4315 BCM4315 2.4GHz
2082product BROADCOM BCM4318 0x4318 BCM4318 AirForce One 54g 2083product BROADCOM BCM4318 0x4318 BCM4318 AirForce One 54g
2083product BROADCOM BCM4319 0x4319 BCM4319 2084product BROADCOM BCM4319 0x4319 BCM4319
2084product BROADCOM BCM4306 0x4320 BCM4306 2085product BROADCOM BCM4306 0x4320 BCM4306
2085product BROADCOM BCM4306_2 0x4321 BCM4306 2086product BROADCOM BCM4306_2 0x4321 BCM4306
2086product BROADCOM BCM4322 0x4322 BCM4322 2087product BROADCOM BCM4322 0x4322 BCM4322
2087product BROADCOM BCM4309 0x4324 BCM4309 2088product BROADCOM BCM4309 0x4324 BCM4309
2088product BROADCOM BCM43XG 0x4325 BCM43XG 2089product BROADCOM BCM43XG 0x4325 BCM43XG
2089product BROADCOM BCM4328 0x4328 BCM4328 802.11a/b/g/n 2090product BROADCOM BCM4328 0x4328 BCM4328 802.11a/b/g/n
2090product BROADCOM BCM4329 0x4329 BCM4329 802.11b/g/n 2091product BROADCOM BCM4329 0x4329 BCM4329 802.11b/g/n
2091product BROADCOM BCM432A 0x432a BCM432A 802.11 2092product BROADCOM BCM432A 0x432a BCM432A 802.11
2092product BROADCOM BCM432B 0x432b BCM432B 802.11a/b/g/n 2093product BROADCOM BCM432B 0x432b BCM432B 802.11a/b/g/n
2093product BROADCOM BCM432C 0x432c BCM432C 802.11b/g/n 2094product BROADCOM BCM432C 0x432c BCM432C 802.11b/g/n
2094product BROADCOM BCM432D 0x432d BCM432D 802.11 2095product BROADCOM BCM432D 0x432d BCM432D 802.11
2095product BROADCOM BCM43224 0x4353 BCM43224 Dualband 802.11 2096product BROADCOM BCM43224 0x4353 BCM43224 Dualband 802.11
2096product BROADCOM BCM43225 0x4357 BCM43225 2.4GHz 802.11 2097product BROADCOM BCM43225 0x4357 BCM43225 2.4GHz 802.11
2097product BROADCOM BCM43227 0x4358 BCM43227 2.4GHz 802.11 2098product BROADCOM BCM43227 0x4358 BCM43227 2.4GHz 802.11
2098product BROADCOM BCM43228 0x4359 BCM43228 Dualband 802.11 2099product BROADCOM BCM43228 0x4359 BCM43228 Dualband 802.11
2099product BROADCOM BCM4350 0x43a3 BCM4350 802.11ac Wireless Network Adapter 2100product BROADCOM BCM4350 0x43a3 BCM4350 802.11ac Wireless Network Adapter
2100product BROADCOM BCM43602 0x43ba BCM43602 802.11ac Wireless LAN SoC 2101product BROADCOM BCM43602 0x43ba BCM43602 802.11ac Wireless LAN SoC
2101product BROADCOM BCM4401 0x4401 BCM4401 10/100 Ethernet 2102product BROADCOM BCM4401 0x4401 BCM4401 10/100 Ethernet
2102product BROADCOM BCM4401_B0 0x4401 BCM4401-B0 10/100 Ethernet 2103product BROADCOM BCM4401_B0 0x4401 BCM4401-B0 10/100 Ethernet
2103product BROADCOM BCM4727 0x4727 BCM4727 802.11b/g/n 2104product BROADCOM BCM4727 0x4727 BCM4727 802.11b/g/n
2104product BROADCOM 5801 0x5801 5801 Security Processor 2105product BROADCOM 5801 0x5801 5801 Security Processor
2105product BROADCOM 5802 0x5802 5802 Security Processor 2106product BROADCOM 5802 0x5802 5802 Security Processor
2106product BROADCOM 5805 0x5805 5805 Security Processor 2107product BROADCOM 5805 0x5805 5805 Security Processor
2107product BROADCOM 5820 0x5820 5820 Security Processor 2108product BROADCOM 5820 0x5820 5820 Security Processor
2108product BROADCOM 5821 0x5821 5821 Security Processor 2109product BROADCOM 5821 0x5821 5821 Security Processor
2109product BROADCOM 5822 0x5822 5822 Security Processor 2110product BROADCOM 5822 0x5822 5822 Security Processor
2110product BROADCOM 5823 0x5823 5823 Security Processor 2111product BROADCOM 5823 0x5823 5823 Security Processor
2111product BROADCOM 5825 0x5825 5825 Security Processor 2112product BROADCOM 5825 0x5825 5825 Security Processor
2112product BROADCOM 5860 0x5860 5860 Security Processor 2113product BROADCOM 5860 0x5860 5860 Security Processor
2113product BROADCOM 5861 0x5861 5861 Security Processor 2114product BROADCOM 5861 0x5861 5861 Security Processor
2114product BROADCOM 5862 0x5862 5862 Security Processor 2115product BROADCOM 5862 0x5862 5862 Security Processor
2115 2116
2116product BROADCOM BCM2711 0x2711 BCM2711 PCIe Host 2117product BROADCOM BCM2711 0x2711 BCM2711 PCIe Host
2117 2118
2118/* Brooktree products */ 2119/* Brooktree products */
2119product BROOKTREE BT848 0x0350 Bt848 Video Capture 2120product BROOKTREE BT848 0x0350 Bt848 Video Capture
2120product BROOKTREE BT849 0x0351 Bt849 Video Capture 2121product BROOKTREE BT849 0x0351 Bt849 Video Capture
2121product BROOKTREE BT878 0x036e Bt878 Video Capture 2122product BROOKTREE BT878 0x036e Bt878 Video Capture
2122product BROOKTREE BT879 0x036f Bt879 Video Capture 2123product BROOKTREE BT879 0x036f Bt879 Video Capture
2123product BROOKTREE BT880 0x0370 Bt880 Video Capture 2124product BROOKTREE BT880 0x0370 Bt880 Video Capture
2124product BROOKTREE BT878A 0x0878 Bt878 Video Capture (Audio Section) 2125product BROOKTREE BT878A 0x0878 Bt878 Video Capture (Audio Section)
2125product BROOKTREE BT879A 0x0879 Bt879 Video Capture (Audio Section) 2126product BROOKTREE BT879A 0x0879 Bt879 Video Capture (Audio Section)
2126product BROOKTREE BT880A 0x0880 Bt880 Video Capture (Audio Section) 2127product BROOKTREE BT880A 0x0880 Bt880 Video Capture (Audio Section)
2127product BROOKTREE BT8474 0x8474 Bt8474 Multichannel HDLC Controller 2128product BROOKTREE BT8474 0x8474 Bt8474 Multichannel HDLC Controller
2128 2129
2129/* BusLogic products */ 2130/* BusLogic products */
2130product BUSLOGIC MULTIMASTER_NC 0x0140 MultiMaster NC 2131product BUSLOGIC MULTIMASTER_NC 0x0140 MultiMaster NC
2131product BUSLOGIC MULTIMASTER 0x1040 MultiMaster 2132product BUSLOGIC MULTIMASTER 0x1040 MultiMaster
2132product BUSLOGIC FLASHPOINT 0x8130 FlashPoint 2133product BUSLOGIC FLASHPOINT 0x8130 FlashPoint
2133 2134
2134/* c't Magazin products */ 2135/* c't Magazin products */
2135product C4T GPPCI 0x6773 GPPCI 2136product C4T GPPCI 0x6773 GPPCI
2136 2137
2137/* Cavium products */ 2138/* Cavium products */
2138product CAVIUM NITROX 0x0001 Nitrox XL 2139product CAVIUM NITROX 0x0001 Nitrox XL
2139product CAVIUM THUNDERX_MRML 0xa001 Master RML Bridge to RSL devices 2140product CAVIUM THUNDERX_MRML 0xa001 Master RML Bridge to RSL devices
2140product CAVIUM THUNDERX_PCIB 0xa002 PCI Bridge 2141product CAVIUM THUNDERX_PCIB 0xa002 PCI Bridge
2141product CAVIUM THUNDERX_RESET 0xa00e Reset Controller 2142product CAVIUM THUNDERX_RESET 0xa00e Reset Controller
2142product CAVIUM THUNDERX_RNG 0xa018 Random Number Generator 2143product CAVIUM THUNDERX_RNG 0xa018 Random Number Generator
2143product CAVIUM THUNDERX_XHCI 0xa01b xHCI USB Controller 2144product CAVIUM THUNDERX_XHCI 0xa01b xHCI USB Controller
2144product CAVIUM THUNDERX_AHCI 0xa01c AHCI SATA Controller 2145product CAVIUM THUNDERX_AHCI 0xa01c AHCI SATA Controller
2145product CAVIUM THUNDERX_RAID 0xa01d RAID Coprocessor 2146product CAVIUM THUNDERX_RAID 0xa01d RAID Coprocessor
2146product CAVIUM THUNDERX_NIC 0xa01e Network Interface Controller 2147product CAVIUM THUNDERX_NIC 0xa01e Network Interface Controller
2147product CAVIUM THUNDERX_TNS 0xa01f Traffic Network Switch 2148product CAVIUM THUNDERX_TNS 0xa01f Traffic Network Switch
2148product CAVIUM THUNDERX_LMC 0xa022 DRAM Controller 2149product CAVIUM THUNDERX_LMC 0xa022 DRAM Controller
2149product CAVIUM THUNDERX_BGX 0xa026 Common Ethernet Interface 2150product CAVIUM THUNDERX_BGX 0xa026 Common Ethernet Interface
2150product CAVIUM THUNDERX_L2C_TAD 0xa02e Level 2 cache tag and data 2151product CAVIUM THUNDERX_L2C_TAD 0xa02e Level 2 cache tag and data
2151product CAVIUM THUNDERX_L2C_CBC 0xa02f L2C-CBC 2152product CAVIUM THUNDERX_L2C_CBC 0xa02f L2C-CBC
2152product CAVIUM THUNDERX_L2C_MCI 0xa030 L2C-MCI 2153product CAVIUM THUNDERX_L2C_MCI 0xa030 L2C-MCI
2153 2154
2154product CAVIUM THUNDERX_SMMU 0xa008 SMMU 2155product CAVIUM THUNDERX_SMMU 0xa008 SMMU
2155product CAVIUM THUNDERX_GIC 0xa009 Generic Interrupt Controller 2156product CAVIUM THUNDERX_GIC 0xa009 Generic Interrupt Controller
2156product CAVIUM THUNDERX_GPIO 0xa00a GPIO Controller 2157product CAVIUM THUNDERX_GPIO 0xa00a GPIO Controller
2157product CAVIUM THUNDERX_MPI_SPI 0xa00b MPI / SPI Controller 2158product CAVIUM THUNDERX_MPI_SPI 0xa00b MPI / SPI Controller
2158product CAVIUM THUNDERX_MIO_PTP 0xa00c MIO-PTP Controller 2159product CAVIUM THUNDERX_MIO_PTP 0xa00c MIO-PTP Controller
2159product CAVIUM THUNDERX_MIX 0xa00d MIX Network Controller 2160product CAVIUM THUNDERX_MIX 0xa00d MIX Network Controller
2160product CAVIUM THUNDERX_UART 0xa00f UART Controller 2161product CAVIUM THUNDERX_UART 0xa00f UART Controller
2161product CAVIUM THUNDERX_EMMC_SD 0xa010 eMMC/SD Controller 2162product CAVIUM THUNDERX_EMMC_SD 0xa010 eMMC/SD Controller
2162product CAVIUM THUNDERX_MIO_BOOT 0xa011 MIO-BOOT Controller 2163product CAVIUM THUNDERX_MIO_BOOT 0xa011 MIO-BOOT Controller
2163product CAVIUM THUNDERX_TWSI_I2C 0xa012 TWSI / I2C Controller 2164product CAVIUM THUNDERX_TWSI_I2C 0xa012 TWSI / I2C Controller
2164product CAVIUM THUNDERX_CCPI 0xa013 CCPI (Multi-node connect) 2165product CAVIUM THUNDERX_CCPI 0xa013 CCPI (Multi-node connect)
2165product CAVIUM THUNDERX_VRM 0xa014 Voltage Regulator Module 2166product CAVIUM THUNDERX_VRM 0xa014 Voltage Regulator Module
2166product CAVIUM THUNDERX_PSLI 0xa015 PCIe Switch Logic Interface 2167product CAVIUM THUNDERX_PSLI 0xa015 PCIe Switch Logic Interface
2167product CAVIUM THUNDERX_KM 0xa016 Key Memory 2168product CAVIUM THUNDERX_KM 0xa016 Key Memory
2168product CAVIUM THUNDERX_GST 0xa017 GTI (Global System Timers) 2169product CAVIUM THUNDERX_GST 0xa017 GTI (Global System Timers)
2169product CAVIUM THUNDERX_DFA 0xa019 DFA 2170product CAVIUM THUNDERX_DFA 0xa019 DFA
2170product CAVIUM THUNDERX_ZIP 0xa01a Zip Coprocessor 2171product CAVIUM THUNDERX_ZIP 0xa01a Zip Coprocessor
2171product CAVIUM THUNDERX_PEM 0xa020 PEM (PCI Express Interface) 2172product CAVIUM THUNDERX_PEM 0xa020 PEM (PCI Express Interface)
2172product CAVIUM THUNDERX_L2C 0xa021 L2C (Level-2 Cache Controller) 2173product CAVIUM THUNDERX_L2C 0xa021 L2C (Level-2 Cache Controller)
2173product CAVIUM THUNDERX_OCLA 0xa023 OCLA (On-Chip Logic Analyzer) 2174product CAVIUM THUNDERX_OCLA 0xa023 OCLA (On-Chip Logic Analyzer)
2174product CAVIUM THUNDERX_OSM 0xa024 OSM 2175product CAVIUM THUNDERX_OSM 0xa024 OSM
2175product CAVIUM THUNDERX_GSER 0xa025 GSER (General Serializer/Deserializer) 2176product CAVIUM THUNDERX_GSER 0xa025 GSER (General Serializer/Deserializer)
2176product CAVIUM THUNDERX_IOBN 0xa027 IOBN 2177product CAVIUM THUNDERX_IOBN 0xa027 IOBN
2177product CAVIUM THUNDERX_NCSCI 0xa029 NCSI (Network Controller Sideband Interface) 2178product CAVIUM THUNDERX_NCSCI 0xa029 NCSI (Network Controller Sideband Interface)
2178product CAVIUM THUNDERX_SGPIO 0xa02a SGPIO (Serial GPIO controller for SATA disk lights) 2179product CAVIUM THUNDERX_SGPIO 0xa02a SGPIO (Serial GPIO controller for SATA disk lights)
2179product CAVIUM THUNDERX_SMI_MDIO 0xa02b SMI / MDIO Controller 2180product CAVIUM THUNDERX_SMI_MDIO 0xa02b SMI / MDIO Controller
2180product CAVIUM THUNDERX_DAP 0xa02c DAP (Debug Access Port) 2181product CAVIUM THUNDERX_DAP 0xa02c DAP (Debug Access Port)
2181product CAVIUM THUNDERX_PCIERC 0xa02d PCIERC (PCIe Root Complex) 2182product CAVIUM THUNDERX_PCIERC 0xa02d PCIERC (PCIe Root Complex)
2182product CAVIUM THUNDERX_MIOS_FUS 0xa031 MIO-FUS (Fuse Access Controller) 2183product CAVIUM THUNDERX_MIOS_FUS 0xa031 MIO-FUS (Fuse Access Controller)
2183product CAVIUM THUNDERX_FUSE 0xa032 FUSF (Fuse Controller) 2184product CAVIUM THUNDERX_FUSE 0xa032 FUSF (Fuse Controller)
2184product CAVIUM THUNDERX_RNGVF 0xa033 Random Number Generator virtual function 2185product CAVIUM THUNDERX_RNGVF 0xa033 Random Number Generator virtual function
2185product CAVIUM THUNDERX_NICVF 0xa034 Network Interface Controller virtual function 2186product CAVIUM THUNDERX_NICVF 0xa034 Network Interface Controller virtual function
2186product CAVIUM THUNDERX_PB 0xa035 Parallel Bus 2187product CAVIUM THUNDERX_PB 0xa035 Parallel Bus
2187product CAVIUM THUNDERX_RAIDVF 0xa036 RAD (RAID acceleration engine) virtual function 2188product CAVIUM THUNDERX_RAIDVF 0xa036 RAD (RAID acceleration engine) virtual function
2188product CAVIUM THUNDERX_ZIPVF 0xa037 ZIP virtual function 2189product CAVIUM THUNDERX_ZIPVF 0xa037 ZIP virtual function
2189product CAVIUM THUNDERX_CA 0xa040 CPT Cryptographic Accelerator 2190product CAVIUM THUNDERX_CA 0xa040 CPT Cryptographic Accelerator
2190 2191
2191/* Chelsio products */ 2192/* Chelsio products */
2192product CHELSIO PE9000 0x0020 PE9000 10GbE 2193product CHELSIO PE9000 0x0020 PE9000 10GbE
2193product CHELSIO T302E 0x0021 T302e 2194product CHELSIO T302E 0x0021 T302e
2194product CHELSIO T310E 0x0022 T310e 2195product CHELSIO T310E 0x0022 T310e
2195product CHELSIO T320X 0x0023 T320x 2196product CHELSIO T320X 0x0023 T320x
2196product CHELSIO T302X 0x0024 T302x 2197product CHELSIO T302X 0x0024 T302x
2197product CHELSIO T320E 0x0025 T320e 2198product CHELSIO T320E 0x0025 T320e
2198product CHELSIO T310X 0x0026 T310x 2199product CHELSIO T310X 0x0026 T310x
2199product CHELSIO T3B10 0x0030 T3B10 2200product CHELSIO T3B10 0x0030 T3B10
2200product CHELSIO T3B20 0x0031 T3B20 2201product CHELSIO T3B20 0x0031 T3B20
2201product CHELSIO T3B02 0x0032 T3B02 2202product CHELSIO T3B02 0x0032 T3B02
2202product CHELSIO T3B04 0x0033 T3B04 2203product CHELSIO T3B04 0x0033 T3B04
2203product CHELSIO T3C10 0x0035 T3C10 2204product CHELSIO T3C10 0x0035 T3C10
2204product CHELSIO S320E_CR 0x0036 S320E-CR 2205product CHELSIO S320E_CR 0x0036 S320E-CR
2205product CHELSIO N320E_G2 0x0037 N320E-G2 2206product CHELSIO N320E_G2 0x0037 N320E-G2
2206product CHELSIO T440_DBG 0x4400 T440-dbg 2207product CHELSIO T440_DBG 0x4400 T440-dbg
2207product CHELSIO T420_CR 0x4401 T420-CR 2208product CHELSIO T420_CR 0x4401 T420-CR
2208product CHELSIO T422_CR 0x4402 T422-CR 2209product CHELSIO T422_CR 0x4402 T422-CR
2209product CHELSIO T440_CR 0x4403 T440-CR 2210product CHELSIO T440_CR 0x4403 T440-CR
2210product CHELSIO T420_BCH 0x4404 T420-BCH 2211product CHELSIO T420_BCH 0x4404 T420-BCH
2211product CHELSIO T440_BCH 0x4405 T440-BCH 2212product CHELSIO T440_BCH 0x4405 T440-BCH
2212product CHELSIO T440_CH 0x4406 T440-CH 2213product CHELSIO T440_CH 0x4406 T440-CH
2213product CHELSIO T420_SO 0x4407 T420-SO 2214product CHELSIO T420_SO 0x4407 T420-SO
2214product CHELSIO T420_CX 0x4408 T420-CX 2215product CHELSIO T420_CX 0x4408 T420-CX
2215product CHELSIO T420_BT 0x4409 T420-BT 2216product CHELSIO T420_BT 0x4409 T420-BT
2216product CHELSIO T404_BT 0x440a T404-BT 2217product CHELSIO T404_BT 0x440a T404-BT
2217product CHELSIO T440_LP_CR 0x440e T440-LP-CR 2218product CHELSIO T440_LP_CR 0x440e T440-LP-CR
2218product CHELSIO T580_DBG 0x5400 T580-dbg 2219product CHELSIO T580_DBG 0x5400 T580-dbg
2219product CHELSIO T520_CR 0x5401 T520-CR 2220product CHELSIO T520_CR 0x5401 T520-CR
2220product CHELSIO T522_CR 0x5402 T522-CR 2221product CHELSIO T522_CR 0x5402 T522-CR
2221product CHELSIO T540_CR 0x5403 T540-CR 2222product CHELSIO T540_CR 0x5403 T540-CR
2222product CHELSIO T520_SO 0x5407 T520-SO 2223product CHELSIO T520_SO 0x5407 T520-SO
2223product CHELSIO T520_BT 0x5409 T520-BT 2224product CHELSIO T520_BT 0x5409 T520-BT
2224product CHELSIO T504_BT 0x540a T504-BT 2225product CHELSIO T504_BT 0x540a T504-BT
2225product CHELSIO T580_CR 0x540d T580-CR 2226product CHELSIO T580_CR 0x540d T580-CR
2226product CHELSIO T540_LP_CR 0x540e T540-LP-CR 2227product CHELSIO T540_LP_CR 0x540e T540-LP-CR
2227product CHELSIO T580_LP_CR 0x5410 T580-LP-CR 2228product CHELSIO T580_LP_CR 0x5410 T580-LP-CR
2228product CHELSIO T520_LL_CR 0x5411 T520-LL-CR 2229product CHELSIO T520_LL_CR 0x5411 T520-LL-CR
2229product CHELSIO T560_CR 0x5412 T560-CR 2230product CHELSIO T560_CR 0x5412 T560-CR
2230product CHELSIO T580_LP_SO_CR 0x5414 T580-LP-SO-CR 2231product CHELSIO T580_LP_SO_CR 0x5414 T580-LP-SO-CR
2231product CHELSIO T502_BT 0x5415 T502-BT 2232product CHELSIO T502_BT 0x5415 T502-BT
2232product CHELSIO T6_DBG_25 0x6400 T6-DBG-25 2233product CHELSIO T6_DBG_25 0x6400 T6-DBG-25
2233product CHELSIO T6225_CR 0x6401 T6225-CR 2234product CHELSIO T6225_CR 0x6401 T6225-CR
2234product CHELSIO T6225_SO_CR 0x6402 T6225-SO-CR 2235product CHELSIO T6225_SO_CR 0x6402 T6225-SO-CR
2235product CHELSIO T6425_CR 0x6403 T6425-CR 2236product CHELSIO T6425_CR 0x6403 T6425-CR
2236product CHELSIO T6425_SO_CR 0x6404 T6425-SO-CR 2237product CHELSIO T6425_SO_CR 0x6404 T6425-SO-CR
2237product CHELSIO T6225_OCP_SO 0x6405 T6225-OCP-SO 2238product CHELSIO T6225_OCP_SO 0x6405 T6225-OCP-SO
2238product CHELSIO T62100_OCP_SO 0x6406 T62100-OCP-SO 2239product CHELSIO T62100_OCP_SO 0x6406 T62100-OCP-SO
2239product CHELSIO T62100_LP_CR 0x6407 T62100-LP-CR 2240product CHELSIO T62100_LP_CR 0x6407 T62100-LP-CR
2240product CHELSIO T62100_SO_CR 0x6408 T62100-SO-CR 2241product CHELSIO T62100_SO_CR 0x6408 T62100-SO-CR
2241product CHELSIO T6210_BT 0x6409 T6210-BT 2242product CHELSIO T6210_BT 0x6409 T6210-BT
2242product CHELSIO T62100_CR 0x640d T62100-CR 2243product CHELSIO T62100_CR 0x640d T62100-CR
2243product CHELSIO T6_DBG_100 0x6410 T6-DBG-100 2244product CHELSIO T6_DBG_100 0x6410 T6-DBG-100
2244product CHELSIO T6225_LL_CR 0x6411 T6225-LL-CR 2245product CHELSIO T6225_LL_CR 0x6411 T6225-LL-CR
2245product CHELSIO T61100_OCP_SO 0x6414 T61100-OCP-SO 2246product CHELSIO T61100_OCP_SO 0x6414 T61100-OCP-SO
2246product CHELSIO T6201_BT 0x6415 T6201-BT 2247product CHELSIO T6201_BT 0x6415 T6201-BT
2247product CHELSIO T6225_80 0x6480 T6225 80 2248product CHELSIO T6225_80 0x6480 T6225 80
2248product CHELSIO T62100_81 0x6481 T62100 81 2249product CHELSIO T62100_81 0x6481 T62100 81
2249product CHELSIO T62100_84 0x6484 T62100 84 2250product CHELSIO T62100_84 0x6484 T62100 84
2250product CHELSIO T4_FPGA 0xa000 Terminator 4 FPGA 2251product CHELSIO T4_FPGA 0xa000 Terminator 4 FPGA
2251product CHELSIO T5_FPGA 0xb000 Terminator 5 FPGA 2252product CHELSIO T5_FPGA 0xb000 Terminator 5 FPGA
2252product CHELSIO T6_FPGA 0xc006 Terminator 6 FPGA 2253product CHELSIO T6_FPGA 0xc006 Terminator 6 FPGA
2253 2254
2254/* Chips and Technologies products */ 2255/* Chips and Technologies products */
2255product CHIPS 64310 0x00b8 64310 2256product CHIPS 64310 0x00b8 64310
2256product CHIPS 69000 0x00c0 69000 2257product CHIPS 69000 0x00c0 69000
2257product CHIPS 65545 0x00d8 65545 2258product CHIPS 65545 0x00d8 65545
2258product CHIPS 65548 0x00dc 65548 2259product CHIPS 65548 0x00dc 65548
2259product CHIPS 65550 0x00e0 65550 2260product CHIPS 65550 0x00e0 65550
2260product CHIPS 65554 0x00e4 65554 2261product CHIPS 65554 0x00e4 65554
2261product CHIPS 69030 0x0c30 69030 2262product CHIPS 69030 0x0c30 69030
2262 2263
2263/* Chrysalis products */ 2264/* Chrysalis products */
2264product CHRYSALIS LUNAVPN 0x0001 LunaVPN 2265product CHRYSALIS LUNAVPN 0x0001 LunaVPN
2265 2266
2266/* Cirrus Logic products */ 2267/* Cirrus Logic products */
2267product CIRRUS CL_GD7548 0x0038 CL-GD7548 2268product CIRRUS CL_GD7548 0x0038 CL-GD7548
2268product CIRRUS CL_GD5430 0x00a0 CL-GD5430 2269product CIRRUS CL_GD5430 0x00a0 CL-GD5430
2269product CIRRUS CL_GD5434_4 0x00a4 CL-GD5434-4 2270product CIRRUS CL_GD5434_4 0x00a4 CL-GD5434-4
2270product CIRRUS CL_GD5434_8 0x00a8 CL-GD5434-8 2271product CIRRUS CL_GD5434_8 0x00a8 CL-GD5434-8
2271product CIRRUS CL_GD5436 0x00ac CL-GD5436 2272product CIRRUS CL_GD5436 0x00ac CL-GD5436
2272product CIRRUS CL_GD5446 0x00b8 CL-GD5446 2273product CIRRUS CL_GD5446 0x00b8 CL-GD5446
2273product CIRRUS CL_GD5480 0x00bc CL-GD5480 2274product CIRRUS CL_GD5480 0x00bc CL-GD5480
2274product CIRRUS CL_PD6729 0x1100 CL-PD6729 2275product CIRRUS CL_PD6729 0x1100 CL-PD6729
2275product CIRRUS CL_PD6832 0x1110 CL-PD6832 PCI-CardBus Bridge 2276product CIRRUS CL_PD6832 0x1110 CL-PD6832 PCI-CardBus Bridge
2276product CIRRUS CL_PD6833 0x1113 CL-PD6833 PCI-CardBus Bridge 2277product CIRRUS CL_PD6833 0x1113 CL-PD6833 PCI-CardBus Bridge
2277product CIRRUS CL_GD7542 0x1200 CL-GD7542 2278product CIRRUS CL_GD7542 0x1200 CL-GD7542
2278product CIRRUS CL_GD7543 0x1202 CL-GD7543 2279product CIRRUS CL_GD7543 0x1202 CL-GD7543
2279product CIRRUS CL_GD7541 0x1204 CL-GD7541 2280product CIRRUS CL_GD7541 0x1204 CL-GD7541
2280product CIRRUS CL_CD4400 0x4400 CL-CD4400 Communications Controller 2281product CIRRUS CL_CD4400 0x4400 CL-CD4400 Communications Controller
2281product CIRRUS CS4610 0x6001 CS4610 SoundFusion Audio Accelerator 2282product CIRRUS CS4610 0x6001 CS4610 SoundFusion Audio Accelerator
2282product CIRRUS CS4280 0x6003 CS4280 CrystalClear Audio Interface 2283product CIRRUS CS4280 0x6003 CS4280 CrystalClear Audio Interface
2283product CIRRUS CS4615 0x6004 CS4615 2284product CIRRUS CS4615 0x6004 CS4615
2284product CIRRUS CS4281 0x6005 CS4281 CrystalClear Audio Interface 2285product CIRRUS CS4281 0x6005 CS4281 CrystalClear Audio Interface
2285 2286
2286/* Adaptec's AAR-1210SA serial ATA RAID controller uses the CMDTECH chip */ 2287/* Adaptec's AAR-1210SA serial ATA RAID controller uses the CMDTECH chip */
2287product CMDTECH AAR_1210SA 0x0240 AAR-1210SA SATA RAID Controller 2288product CMDTECH AAR_1210SA 0x0240 AAR-1210SA SATA RAID Controller
2288product CMDTECH AAR_1220SA 0x0242 AAR-1220SA SATA RAID Controller 2289product CMDTECH AAR_1220SA 0x0242 AAR-1220SA SATA RAID Controller
2289/* CMD Technology products -- info gleaned from their web site */ 2290/* CMD Technology products -- info gleaned from their web site */
2290product CMDTECH 640 0x0640 PCI0640 2291product CMDTECH 640 0x0640 PCI0640
2291/* No data on the CMD Tech. web site for the following as of Mar. 3 '98 */ 2292/* No data on the CMD Tech. web site for the following as of Mar. 3 '98 */
2292product CMDTECH 642 0x0642 PCI0642 2293product CMDTECH 642 0x0642 PCI0642
2293/* datasheets available from www.cmd.com for the followings */ 2294/* datasheets available from www.cmd.com for the followings */
2294product CMDTECH 643 0x0643 PCI0643 2295product CMDTECH 643 0x0643 PCI0643