3aa5211dd0e30043efbcee6eae8c5ec86e28730a
[coreboot.git] / src / southbridge / amd / amd8111 / amd8111_usb2.c
1 //2003 Copywright Tyan
2
3 #include <console/console.h>
4 #include <device/device.h>
5 #include <device/pci.h>
6 #include <device/pci_ids.h>
7 #include <device/pci_ops.h>
8 #include "amd8111.h"
9
10 #if 0
11
12 static void lpci_set_subsystem(device_t dev, unsigned vendor, unsigned device)
13 {
14         pci_write_config32(dev, 0x70, 
15                 ((device & 0xffff) << 16) | (vendor & 0xffff));
16 }
17
18 static struct pci_operations lops_pci = {
19         .set_subsystem = lpci_set_subsystem,
20 };
21
22 #endif
23
24 static void amd8111_usb2_enable(device_t dev)
25 {
26         // Due to buggy USB2 we force it to disable. 
27         dev->enabled = 0;
28         amd8111_enable(dev);
29         printk(BIOS_DEBUG, "USB2 disabled.\n");
30 }
31
32 static struct device_operations usb2_ops  = {
33         .read_resources   = pci_dev_read_resources,
34         .set_resources    = pci_dev_set_resources,
35         .enable_resources = pci_dev_enable_resources,
36         .scan_bus         = 0,
37         .enable           = amd8111_usb2_enable,
38         // .ops_pci          = &lops_pci,
39 };
40
41 static const struct pci_driver usb2_driver __pci_driver = {
42         .ops    = &usb2_ops,
43         .vendor = PCI_VENDOR_ID_AMD,
44         .device = PCI_DEVICE_ID_AMD_8111_USB2,
45 };