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>
9 static void init(struct device *dev) {
10 struct mainboard_config *mainboard = (struct mainboard_config*)dev->chip_info;
13 unsigned devfn = PCI_DEVFN(0xd, 0);
16 if (mainboard->nicirq)
17 nicirq = mainboard->nicirq;
19 printk(BIOS_DEBUG, "AMD RUMBA ENTER %s\n", __func__);
22 printk(BIOS_DEBUG, "%s (%x,%x)SET PCI interrupt line to %d\n",
23 __func__, bus, devfn, nicirq);
24 nic = dev_find_slot(bus, devfn);
26 printk(BIOS_ERR, "Could not find NIC\n");
28 pci_write_config8(nic, PCI_INTERRUPT_LINE, nicirq);
31 printk(BIOS_DEBUG, "AMD RUMBA EXIT %s\n", __func__);
34 static void enable_dev(struct device *dev)
36 dev->ops->init = init;
39 struct chip_operations mainboard_ops = {
40 CHIP_NAME("AMD Rumba Mainboard")
41 .enable_dev = enable_dev,