aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/uhci_pci.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/sys/dev/usb/uhci_pci.c b/sys/dev/usb/uhci_pci.c
index db3d5c6bc523..2334d31388c4 100644
--- a/sys/dev/usb/uhci_pci.c
+++ b/sys/dev/usb/uhci_pci.c
@@ -102,6 +102,15 @@ static const char *uhci_device_ich3_a = "Intel 82801CA/CAM (ICH3) USB controller
#define PCI_UHCI_DEVICEID_ICH3_B 0x24848086
static const char *uhci_device_ich3_b = "Intel 82801CA/CAM (ICH3) USB controller USB-B";
+#define PCI_UHCI_DEVICEID_ICH4_A 0x24c28086
+static const char *uhci_device_ich4_a = "Intel 82801DB (ICH4) USB controller USB-A";
+
+#define PCI_UHCI_DEVICEID_ICH4_B 0x24c48086
+static const char *uhci_device_ich4_b = "Intel 82801DB (ICH4) USB controller USB-B";
+
+#define PCI_UHCI_DEVICEID_ICH4_C 0x24c78086
+static const char *uhci_device_ich4_c = "Intel 82801DB (ICH4) USB controller USB-C";
+
#define PCI_UHCI_DEVICEID_440MX 0x719a8086
static const char *uhci_device_440mx = "Intel 82443MX USB controller";
@@ -168,6 +177,12 @@ uhci_pci_match(device_t self)
return (uhci_device_ich3_a);
} else if (device_id == PCI_UHCI_DEVICEID_ICH3_B) {
return (uhci_device_ich3_b);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH4_A) {
+ return (uhci_device_ich4_a);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH4_B) {
+ return (uhci_device_ich4_b);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH4_C) {
+ return (uhci_device_ich4_c);
} else if (device_id == PCI_UHCI_DEVICEID_440MX) {
return (uhci_device_440mx);
} else if (device_id == PCI_UHCI_DEVICEID_460GX) {
@@ -268,6 +283,18 @@ uhci_pci_attach(device_t self)
device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_b);
sprintf(sc->sc_vendor, "Intel");
break;
+ case PCI_UHCI_DEVICEID_ICH4_A:
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich4_a);
+ sprintf(sc->sc_vendor, "Intel");
+ break;
+ case PCI_UHCI_DEVICEID_ICH4_B:
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich4_b);
+ sprintf(sc->sc_vendor, "Intel");
+ break;
+ case PCI_UHCI_DEVICEID_ICH4_C:
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich4_c);
+ sprintf(sc->sc_vendor, "Intel");
+ break;
case PCI_UHCI_DEVICEID_440MX:
device_set_desc(sc->sc_bus.bdev, uhci_device_440mx);
sprintf(sc->sc_vendor, "Intel");