Add new USB host controller PCI ID's.

Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after:	1 week
Sponsored by:	NVIDIA Networking
This commit is contained in:
Hans Petter Selasky 2022-02-06 13:14:27 +01:00
parent d21e71efce
commit 42cf33dd1a
2 changed files with 22 additions and 1 deletions

View File

@ -117,6 +117,8 @@ ehci_pci_match(device_t self)
return ("AMD CS5536 (Geode) USB 2.0 controller");
case 0x78081022:
return ("AMD FCH USB 2.0 controller");
case 0x79081022:
return ("AMD FCH USB 2.0 controller");
case 0x43451002:
return "ATI SB200 USB 2.0 controller";

View File

@ -62,6 +62,9 @@ __FBSDID("$FreeBSD$");
#include <dev/usb/controller/xhcireg.h>
#include "usb_if.h"
#define PCI_XHCI_VENDORID_AMD 0x1022
#define PCI_XHCI_VENDORID_INTEL 0x8086
static device_probe_t xhci_pci_probe;
static device_detach_t xhci_pci_detach;
static usb_take_controller_t xhci_pci_take_controller;
@ -106,6 +109,8 @@ xhci_pci_match(device_t self)
return ("AMD 300 Series USB 3.0 controller");
case 0x78141022:
return ("AMD FCH USB 3.0 controller");
case 0x79141022:
return ("AMD FCH USB 3.0 controller");
case 0x145f1d94:
return ("Hygon USB 3.0 controller");
@ -367,7 +372,21 @@ xhci_pci_attach(device_t self)
}
device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus);
sprintf(sc->sc_vendor, "0x%04x", pci_get_vendor(self));
switch (pci_get_vendor(self)) {
case PCI_XHCI_VENDORID_AMD:
strlcpy(sc->sc_vendor, "AMD", sizeof(sc->sc_vendor));
break;
case PCI_XHCI_VENDORID_INTEL:
strlcpy(sc->sc_vendor, "Intel", sizeof(sc->sc_vendor));
break;
default:
if (bootverbose)
device_printf(self, "(New XHCI DeviceId=0x%08x)\n",
pci_get_devid(self));
snprintf(sc->sc_vendor, sizeof(sc->sc_vendor),
"(0x%04x)", pci_get_vendor(self));
break;
}
if (sc->sc_irq_res != NULL) {
err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,