- O2, enums, and switch statements work in romcc
[coreboot.git] / src / southbridge / amd / amd8111 / amd8111_usb.c
1 #include <console/console.h>
2 #include <device/device.h>
3 #include <device/pci.h>
4 #include <device/pci_ids.h>
5 #include <device/pci_ops.h>
6 #include "amd8111.h"
7
8 static void usb_init(struct device *dev)
9 {
10         uint32_t cmd;
11
12         printk_debug("USB: Setting up controller.. ");
13         cmd = pci_read_config32(dev, PCI_COMMAND);
14         pci_write_config32(dev, PCI_COMMAND, 
15                 cmd | PCI_COMMAND_IO | PCI_COMMAND_MEMORY | 
16                 PCI_COMMAND_MASTER | PCI_COMMAND_INVALIDATE);
17
18
19         printk_debug("done.\n");
20
21 }
22
23 static struct device_operations usb_ops  = {
24         .read_resources   = pci_dev_read_resources,
25         .set_resources    = pci_dev_set_resources,
26         .enable_resources = pci_dev_enable_resources,
27         .init             = usb_init,
28         .scan_bus         = 0,
29         .enable           = amd8111_enable,
30 };
31
32 static struct pci_driver usb_driver __pci_driver = {
33         .ops    = &usb_ops,
34         .vendor = PCI_VENDOR_ID_AMD,
35         .device = PCI_DEVICE_ID_AMD_8111_USB,
36 };
37