diff --git a/src/mainboard/bcm/e100/irq_tables.c b/src/mainboard/bcm/e100/irq_tables.c index dbad0c3c68..57302bebf1 100644 --- a/src/mainboard/bcm/e100/irq_tables.c +++ b/src/mainboard/bcm/e100/irq_tables.c @@ -1,10 +1,10 @@ #include -#define CHECKSUM 0x22 +#define CHECKSUM 0x26 const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ - 32+16*4, /* there can be total 6 devices on the bus */ + 32+16*6, /* there can be total 6 devices on the bus */ 0x00, /* Bus 0 */ 0x08, /* Device 1, Function 0 */ 0x0C20, /* reserve IRQ 11, 10, 5, for PCI */ @@ -25,7 +25,7 @@ const struct irq_routing_table intel_irq_routing_table = { 0x00, 0x00}, {0x00, 0x10, {{0x41, 0xdef8}, {0x42, 0xdef8}, {0x43, 0xdef8}, {0x44, 0xdef8}}, 0x00, 0x00}, - {0x00, 0x0a, {{0x41, 0xdef8}, {0x42, 0xdef8}, {0x43, 0xdef8}, {0x44, 0xdef8}}, + {0x00, 0x08, {{0x41, 0xdef8}, {0x42, 0xdef8}, {0x43, 0xdef8}, {0x44, 0xdef8}}, 0x00, 0x00}, } }; diff --git a/src/mainboard/bcm/e100/mainboard.c b/src/mainboard/bcm/e100/mainboard.c index 0d5b51e0f2..e54adc9825 100644 --- a/src/mainboard/bcm/e100/mainboard.c +++ b/src/mainboard/bcm/e100/mainboard.c @@ -215,9 +215,8 @@ mainboard_fixup(void) pcidev = pci_find_device(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, (void *)NULL); pci_read_config_word(pcidev, 0x74, &acpibase); - - pci_read_config_byte(pcidev, 0x7c, &data); - pci_write_config_byte(pcidev, 0x7c, data | 0x02); + /* Flash can not be flashed, enable USB device in undocumented Bit 6 */ + pci_write_config_byte(pcidev, 0x45, 0xA0); led_on(10); diff --git a/util/config/bcm-e100.config b/util/config/bcm-e100.config index 38219f8e4c..888b2aa65b 100644 --- a/util/config/bcm-e100.config +++ b/util/config/bcm-e100.config @@ -21,6 +21,9 @@ docipl mainboard/bcm/e100/ipl.S # Use the internal VGA frame buffer device option HAVE_FRAMEBUFFER +# Disable Some Internal PCI device +option DISABLE_INTERNAL_DEVICES + # use ELF Loader to load Etherboot option USE_ELF_BOOT=1