summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbenno <benno@FreeBSD.org>2004-07-19 23:22:10 +0000
committerbenno <benno@FreeBSD.org>2004-07-19 23:22:10 +0000
commit3d95456d2a0e657d9abf3c66778dfd6e97587b96 (patch)
treeb83009ad392dd828b6db9621d9d12b3aeaea8628 /sys
parent3781ade946da4c5bd02725bda2e5307f2dea4da0 (diff)
downloadFreeBSD-src-3d95456d2a0e657d9abf3c66778dfd6e97587b96.zip
FreeBSD-src-3d95456d2a0e657d9abf3c66778dfd6e97587b96.tar.gz
Identify VIA EHCI root hubs and at least one VIA USB2.0 controller.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/ehci_pci.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/usb/ehci_pci.c b/sys/dev/usb/ehci_pci.c
index c2da667..a367932 100644
--- a/sys/dev/usb/ehci_pci.c
+++ b/sys/dev/usb/ehci_pci.c
@@ -86,10 +86,14 @@ __FBSDID("$FreeBSD$");
#define PCI_EHCI_VENDORID_SIS 0x1039
#define PCI_EHCI_VENDORID_NVIDIA 0x12D2
#define PCI_EHCI_VENDORID_NVIDIA2 0x10DE
+#define PCI_EHCI_VENDORID_VIA 0x1106
#define PCI_EHCI_DEVICEID_NEC 0x00e01033
static const char *ehci_device_nec = "NEC uPD 720100 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_VIA 0x31041106
+static const char *ehci_device_via = "VIA VT6202 USB 2.0 controller";
+
static const char *ehci_device_generic = "EHCI (generic) USB 2.0 controller";
#define PCI_EHCI_BASE_REG 0x10
@@ -106,6 +110,8 @@ ehci_pci_match(device_t self)
switch (device_id) {
case PCI_EHCI_DEVICEID_NEC:
return (ehci_device_nec);
+ case PCI_EHCI_DEVICEID_VIA:
+ return (ehci_device_via);
default:
if (pci_get_class(self) == PCIC_SERIALBUS
&& pci_get_subclass(self) == PCIS_SERIALBUS_USB
@@ -220,6 +226,9 @@ ehci_pci_attach(device_t self)
case PCI_EHCI_VENDORID_NVIDIA2:
sprintf(sc->sc_vendor, "nVidia");
break;
+ case PCI_EHCI_VENDORID_VIA:
+ sprintf(sc->sc_vendor, "VIA");
+ break;
default:
if (bootverbose)
device_printf(self, "(New EHCI DeviceId=0x%08x)\n",
OpenPOWER on IntegriCloud