summaryrefslogtreecommitdiff
path: root/src/southbridge/intel/i82801er/i82801er_uhci.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2006-04-06 21:40:36 +0000
committerStefan Reinauer <stepan@openbios.org>2006-04-06 21:40:36 +0000
commit84e4bf69c7f0b6b4cf685fe0d6abf6ec93b2eff5 (patch)
tree716c33a7500dba12b30b3306656afd75824a5266 /src/southbridge/intel/i82801er/i82801er_uhci.c
parent966d0e6d70b20b6d14e265d59aaad37ce84d2ddb (diff)
downloadcoreboot-84e4bf69c7f0b6b4cf685fe0d6abf6ec93b2eff5.tar.xz
interesting behavior, i thought svn could do moves.
the result should be ok though.. the purpose is dropping the old i82801er southbridge code and using the ich5r code instead because its the same chip but the code looks more solid and is used by many more systems. Some of the old i82801er features have been ported (like hpet enable) git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2241 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/southbridge/intel/i82801er/i82801er_uhci.c')
-rw-r--r--src/southbridge/intel/i82801er/i82801er_uhci.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/southbridge/intel/i82801er/i82801er_uhci.c b/src/southbridge/intel/i82801er/i82801er_uhci.c
new file mode 100644
index 0000000000..733acb7410
--- /dev/null
+++ b/src/southbridge/intel/i82801er/i82801er_uhci.c
@@ -0,0 +1,56 @@
+#include <console/console.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ids.h>
+#include <device/pci_ops.h>
+#include "i82801er.h"
+
+static void uhci_init(struct device *dev)
+{
+ uint32_t cmd;
+
+#if 1
+ printk_debug("UHCI: Setting up controller.. ");
+ cmd = pci_read_config32(dev, PCI_COMMAND);
+ pci_write_config32(dev, PCI_COMMAND,
+ cmd | PCI_COMMAND_MASTER);
+
+
+ printk_debug("done.\n");
+#endif
+
+}
+
+static struct pci_operations lops_pci = {
+ /* The subsystem id follows the ide controller */
+ .set_subsystem = 0,
+};
+
+static struct device_operations uhci_ops = {
+ .read_resources = pci_dev_read_resources,
+ .set_resources = pci_dev_set_resources,
+ .enable_resources = pci_dev_enable_resources,
+ .init = uhci_init,
+ .scan_bus = 0,
+ .enable = i82801er_enable,
+ .ops_pci = &lops_pci,
+};
+
+static struct pci_driver uhci_driver __pci_driver = {
+ .ops = &uhci_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_82801ER_USB,
+};
+
+static struct pci_driver usb2_driver __pci_driver = {
+ .ops = &uhci_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_82801ER_USB2,
+};
+
+static struct pci_driver usb3_driver __pci_driver = {
+ .ops = &uhci_ops,
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_82801ER_USB3,
+};
+