diff --git a/sys/dev/usb/uhci_pci.c b/sys/dev/usb/uhci_pci.c index 3aaf3f3c6b4..828761f68fe 100644 --- a/sys/dev/usb/uhci_pci.c +++ b/sys/dev/usb/uhci_pci.c @@ -86,6 +86,10 @@ static const char *uhci_device_piix4 = "Intel 82371AB/EB (PIIX4) USB controller" static const char *uhci_device_ich = "Intel 82801AA (ICH) USB controller"; #define PCI_UHCI_DEVICEID_ICH0 0x24228086 static const char *uhci_device_ich0 = "Intel 82801AB (ICH0) USB controller"; +#define PCI_UHCI_DEVICEID_ICH2_A 0x24428086 +static const char *uhci_device_ich2_a = "Intel 82801BA/BAM (ICH2) USB controller USB-A"; +#define PCI_UHCI_DEVICEID_ICH2_B 0x24448086 +static const char *uhci_device_ich2_b = "Intel 82801BA/BAM (ICH2) USB controller USB-B"; #define PCI_UHCI_DEVICEID_440MX 0x719a8086 static const char *uhci_device_440mx = "Intel 82443MX USB controller"; #define PCI_UHCI_DEVICEID_VT83C572 0x30381106 @@ -140,6 +144,10 @@ uhci_pci_match(device_t self) return (uhci_device_ich); } else if (device_id == PCI_UHCI_DEVICEID_ICH0) { return (uhci_device_ich0); + } else if (device_id == PCI_UHCI_DEVICEID_ICH2_A) { + return (uhci_device_ich2_a); + } else if (device_id == PCI_UHCI_DEVICEID_ICH2_B) { + return (uhci_device_ich2_b); } else if (device_id == PCI_UHCI_DEVICEID_440MX) { return (uhci_device_440mx); } else if (device_id == PCI_UHCI_DEVICEID_VT83C572) { @@ -223,6 +231,14 @@ uhci_pci_attach(device_t self) device_set_desc(sc->sc_bus.bdev, uhci_device_ich0); sprintf(sc->sc_vendor, "Intel"); break; + case PCI_UHCI_DEVICEID_ICH2_A: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich2_a); + sprintf(sc->sc_vendor, "Intel"); + break; + case PCI_UHCI_DEVICEID_ICH2_B: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich2_b); + 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"); diff --git a/sys/pci/uhci_pci.c b/sys/pci/uhci_pci.c index 3aaf3f3c6b4..828761f68fe 100644 --- a/sys/pci/uhci_pci.c +++ b/sys/pci/uhci_pci.c @@ -86,6 +86,10 @@ static const char *uhci_device_piix4 = "Intel 82371AB/EB (PIIX4) USB controller" static const char *uhci_device_ich = "Intel 82801AA (ICH) USB controller"; #define PCI_UHCI_DEVICEID_ICH0 0x24228086 static const char *uhci_device_ich0 = "Intel 82801AB (ICH0) USB controller"; +#define PCI_UHCI_DEVICEID_ICH2_A 0x24428086 +static const char *uhci_device_ich2_a = "Intel 82801BA/BAM (ICH2) USB controller USB-A"; +#define PCI_UHCI_DEVICEID_ICH2_B 0x24448086 +static const char *uhci_device_ich2_b = "Intel 82801BA/BAM (ICH2) USB controller USB-B"; #define PCI_UHCI_DEVICEID_440MX 0x719a8086 static const char *uhci_device_440mx = "Intel 82443MX USB controller"; #define PCI_UHCI_DEVICEID_VT83C572 0x30381106 @@ -140,6 +144,10 @@ uhci_pci_match(device_t self) return (uhci_device_ich); } else if (device_id == PCI_UHCI_DEVICEID_ICH0) { return (uhci_device_ich0); + } else if (device_id == PCI_UHCI_DEVICEID_ICH2_A) { + return (uhci_device_ich2_a); + } else if (device_id == PCI_UHCI_DEVICEID_ICH2_B) { + return (uhci_device_ich2_b); } else if (device_id == PCI_UHCI_DEVICEID_440MX) { return (uhci_device_440mx); } else if (device_id == PCI_UHCI_DEVICEID_VT83C572) { @@ -223,6 +231,14 @@ uhci_pci_attach(device_t self) device_set_desc(sc->sc_bus.bdev, uhci_device_ich0); sprintf(sc->sc_vendor, "Intel"); break; + case PCI_UHCI_DEVICEID_ICH2_A: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich2_a); + sprintf(sc->sc_vendor, "Intel"); + break; + case PCI_UHCI_DEVICEID_ICH2_B: + device_set_desc(sc->sc_bus.bdev, uhci_device_ich2_b); + 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");