aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/uhci_pci.c
diff options
context:
space:
mode:
authorBenno Rice <benno@FreeBSD.org>2008-04-11 05:50:53 +0000
committerBenno Rice <benno@FreeBSD.org>2008-04-11 05:50:53 +0000
commit44b779b337e62acfcd4dda247fd81a102903f116 (patch)
tree2c8309468fcf9f66d08df4b3d8df260c6e3d5f90 /sys/dev/usb/uhci_pci.c
parent86b3e19077f8d4cf7c126e4e74fe42bd91be9eae (diff)
downloadsrc-44b779b337e62acfcd4dda247fd81a102903f116.tar.gz
src-44b779b337e62acfcd4dda247fd81a102903f116.zip
Identify ICH9 USB controllers.
I've taken a slightly different approach than is used with the ICH8 controllers in that each controller is not identified individually (eg USB A, USB B, etc). Instead I've given then same description to each one even though the device ID differs. This can easily be changed if desired, or ICH8 (and any others using that approach) can be made to work as this does.
Notes
Notes: svn path=/head/; revision=178099
Diffstat (limited to 'sys/dev/usb/uhci_pci.c')
-rw-r--r--sys/dev/usb/uhci_pci.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/dev/usb/uhci_pci.c b/sys/dev/usb/uhci_pci.c
index ee6960a00a3a..1b9ac484c7c5 100644
--- a/sys/dev/usb/uhci_pci.c
+++ b/sys/dev/usb/uhci_pci.c
@@ -166,6 +166,14 @@ static const char *uhci_device_ich8_d = "Intel 82801H (ICH8) USB controller USB-
#define PCI_UHCI_DEVICEID_ICH8_E 0x28358086
static const char *uhci_device_ich8_e = "Intel 82801H (ICH8) USB controller USB-E";
+#define PCI_UHCI_DEVICEID_ICH9_A 0x29348086
+#define PCI_UHCI_DEVICEID_ICH9_B 0x29358086
+#define PCI_UHCI_DEVICEID_ICH9_C 0x29368086
+#define PCI_UHCI_DEVICEID_ICH9_D 0x29378086
+#define PCI_UHCI_DEVICEID_ICH9_E 0x29388086
+#define PCI_UHCI_DEVICEID_ICH9_F 0x29398086
+static const char *uhci_device_ich9 = "Intel 82801I (ICH9) USB controller";
+
#define PCI_UHCI_DEVICEID_440MX 0x719a8086
static const char *uhci_device_440mx = "Intel 82443MX USB controller";
@@ -275,6 +283,18 @@ uhci_pci_match(device_t self)
return (uhci_device_ich8_d);
} else if (device_id == PCI_UHCI_DEVICEID_ICH8_E) {
return (uhci_device_ich8_e);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_A) {
+ return (uhci_device_ich9);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_B) {
+ return (uhci_device_ich9);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_C) {
+ return (uhci_device_ich9);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_D) {
+ return (uhci_device_ich9);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_E) {
+ return (uhci_device_ich9);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH9_F) {
+ return (uhci_device_ich9);
} else if (device_id == PCI_UHCI_DEVICEID_440MX) {
return (uhci_device_440mx);
} else if (device_id == PCI_UHCI_DEVICEID_460GX) {