summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ehci_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/ehci_pci.c')
-rw-r--r--sys/dev/usb/ehci_pci.c80
1 files changed, 75 insertions, 5 deletions
diff --git a/sys/dev/usb/ehci_pci.c b/sys/dev/usb/ehci_pci.c
index 439a3f5..9918efc 100644
--- a/sys/dev/usb/ehci_pci.c
+++ b/sys/dev/usb/ehci_pci.c
@@ -79,24 +79,66 @@ __FBSDID("$FreeBSD$");
#define PCI_EHCI_VENDORID_ACERLABS 0x10b9
#define PCI_EHCI_VENDORID_AMD 0x1022
#define PCI_EHCI_VENDORID_APPLE 0x106b
+#define PCI_EHCI_VENDORID_ATI 0x1002
#define PCI_EHCI_VENDORID_CMDTECH 0x1095
#define PCI_EHCI_VENDORID_INTEL 0x8086
#define PCI_EHCI_VENDORID_NEC 0x1033
#define PCI_EHCI_VENDORID_OPTI 0x1045
+#define PCI_EHCI_VENDORID_PHILIPS 0x1131
#define PCI_EHCI_VENDORID_SIS 0x1039
#define PCI_EHCI_VENDORID_NVIDIA 0x12D2
#define PCI_EHCI_VENDORID_NVIDIA2 0x10DE
#define PCI_EHCI_VENDORID_VIA 0x1106
+/* AcerLabs/ALi */
+#define PCI_EHCI_DEVICEID_M5239 0x523910b9
+static const char *ehci_device_m5239 = "ALi M5239 USB 2.0 controller";
+
+/* AMD */
+#define PCI_EHCI_DEVICEID_8111 0x10227463
+static const char *ehci_device_8111 = "AMD 8111 USB 2.0 controller";
+
+/* ATI */
+#define PCI_EHCI_DEVICEID_SB200 0x43451002
+static const char *ehci_device_sb200 = "ATI SB200 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_SB400 0x43731002
+static const char *ehci_device_sb400 = "ATI SB400 USB 2.0 controller";
+
+/* Intel */
+#define PCI_EHCI_DEVICEID_6300 0x25ad8086
+static const char *ehci_device_6300 = "Intel 6300ESB USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_ICH4 0x24cd8086
+static const char *ehci_device_ich4 = "Intel 82801DB/L/M (ICH4) USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_ICH5 0x24dd8086
+static const char *ehci_device_ich5 = "Intel 82801EB/R (ICH5) USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_ICH6 0x265c8086
+static const char *ehci_device_ich6 = "Intel 82801FB (ICH6) USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_ICH7 0x27cc8086
+static const char *ehci_device_ich7 = "Intel 82801GB/R (ICH7) USB 2.0 controller";
+
+/* NEC */
#define PCI_EHCI_DEVICEID_NEC 0x00e01033
static const char *ehci_device_nec = "NEC uPD 720100 USB 2.0 controller";
+/* NVIDIA */
+#define PCI_EHCI_DEVICEID_NF2 0x006810de
+static const char *ehci_device_nf2 = "NVIDIA nForce2 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_NF2_400 0x008810de
+static const char *ehci_device_nf2_400 = "NVIDIA nForce2 Ultra 400 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_NF3 0x00d810de
+static const char *ehci_device_nf3 = "NVIDIA nForce3 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_NF3_250 0x00e810de
+static const char *ehci_device_nf3_250 = "NVIDIA nForce3 250 USB 2.0 controller";
+#define PCI_EHCI_DEVICEID_NF4 0x005b10de
+static const char *ehci_device_nf4 = "NVIDIA nForce4 USB 2.0 controller";
+
+/* Philips */
+#define PCI_EHCI_DEVICEID_ISP156X 0x15621131
+static const char *ehci_device_isp156x = "Philips ISP156x USB 2.0 controller";
+
#define PCI_EHCI_DEVICEID_VIA 0x31041106
static const char *ehci_device_via = "VIA VT6202 USB 2.0 controller";
-#define PCI_EHCI_DEVICEID_ICH4 0x24cd8086
-static const char *ehci_device_ich4 = "Intel 82801DB/DBL/DBM (ICH4) USB 2.0 controller";
-
static const char *ehci_device_generic = "EHCI (generic) USB 2.0 controller";
#define PCI_EHCI_BASE_REG 0x10
@@ -164,12 +206,40 @@ ehci_pci_match(device_t self)
u_int32_t device_id = pci_get_devid(self);
switch (device_id) {
+ case PCI_EHCI_DEVICEID_M5239:
+ return (ehci_device_m5239);
+ case PCI_EHCI_DEVICEID_8111:
+ return (ehci_device_8111);
+ case PCI_EHCI_DEVICEID_SB200:
+ return (ehci_device_sb200);
+ case PCI_EHCI_DEVICEID_SB400:
+ return (ehci_device_sb400);
+ case PCI_EHCI_DEVICEID_6300:
+ return (ehci_device_6300);
+ case PCI_EHCI_DEVICEID_ICH4:
+ return (ehci_device_ich4);
+ case PCI_EHCI_DEVICEID_ICH5:
+ return (ehci_device_ich5);
+ case PCI_EHCI_DEVICEID_ICH6:
+ return (ehci_device_ich6);
+ case PCI_EHCI_DEVICEID_ICH7:
+ return (ehci_device_ich7);
case PCI_EHCI_DEVICEID_NEC:
return (ehci_device_nec);
+ case PCI_EHCI_DEVICEID_NF2:
+ return (ehci_device_nf2);
+ case PCI_EHCI_DEVICEID_NF2_400:
+ return (ehci_device_nf2_400);
+ case PCI_EHCI_DEVICEID_NF3:
+ return (ehci_device_nf3);
+ case PCI_EHCI_DEVICEID_NF3_250:
+ return (ehci_device_nf3_250);
+ case PCI_EHCI_DEVICEID_NF4:
+ return (ehci_device_nf4);
+ case PCI_EHCI_DEVICEID_ISP156X:
+ return (ehci_device_isp156x);
case PCI_EHCI_DEVICEID_VIA:
return (ehci_device_via);
- case PCI_EHCI_DEVICEID_ICH4:
- return (ehci_device_ich4);
default:
if (pci_get_class(self) == PCIC_SERIALBUS
&& pci_get_subclass(self) == PCIS_SERIALBUS_USB
OpenPOWER on IntegriCloud