Add tinybootblock support for broadcom/bcm5785.
authorPatrick Georgi <patrick.georgi@coresystems.de>
Sat, 22 May 2010 15:07:15 +0000 (15:07 +0000)
committerPatrick Georgi <patrick.georgi@coresystems.de>
Sat, 22 May 2010 15:07:15 +0000 (15:07 +0000)
In the bootblock, 4MB of ROM are mapped instead of the
default 1MB

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Myles Watson <mylesgw@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5580 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/southbridge/broadcom/bcm5785/Kconfig
src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c
src/southbridge/broadcom/bcm5785/bcm5785_enable_rom.c [new file with mode: 0644]
src/southbridge/broadcom/bcm5785/bootblock.c [new file with mode: 0644]

index c51dcb2b1757a230a71e9ff71563259212275920..d72afd8d2c9924315d2b5214732b967eaafbde3a 100644 (file)
@@ -1,2 +1,8 @@
 config SOUTHBRIDGE_BROADCOM_BCM5785
        bool
+       select HAVE_HARD_RESET
+
+config BOOTBLOCK_SOUTHBRIDGE_INIT
+       string
+       default "southbridge/broadcom/bcm5785/bootblock.c"
+       depends on SOUTHBRIDGE_BROADCOM_BCM5785
index d448bf67c3c4183d13a845cb766850d6732e937f..62e004dac3af3fb602cc5cf16c0963fdc7b17cd3 100644 (file)
@@ -4,20 +4,7 @@
  */
 
 #include <reset.h>
-static void bcm5785_enable_rom(void)
-{
-        unsigned char byte;
-        device_t addr;
-
-        /* Enable 4MB rom access at 0xFFC00000 - 0xFFFFFFFF */
-        /* Locate the BCM 5785 SB PCI Main */
-        addr = pci_locate_device(PCI_ID(0x1166, 0x0205), 0); // 0x0201?
-
-        /* Set the 4MB enable bit bit */
-        byte = pci_read_config8(addr, 0x41);
-        byte |= 0x0e;
-        pci_write_config8(addr, 0x41, byte);
-}
+#include "bcm5785_enable_rom.c"
 
 static void bcm5785_enable_lpc(void)
 {
diff --git a/src/southbridge/broadcom/bcm5785/bcm5785_enable_rom.c b/src/southbridge/broadcom/bcm5785/bcm5785_enable_rom.c
new file mode 100644 (file)
index 0000000..7d484d8
--- /dev/null
@@ -0,0 +1,14 @@
+static void bcm5785_enable_rom(void)
+{
+       unsigned char byte;
+       device_t addr;
+
+       /* Enable 4MB rom access at 0xFFC00000 - 0xFFFFFFFF */
+       /* Locate the BCM 5785 SB PCI Main */
+       addr = pci_locate_device(PCI_ID(0x1166, 0x0205), 0); // 0x0201?
+
+       /* Set the 4MB enable bit bit */
+       byte = pci_read_config8(addr, 0x41);
+       byte |= 0x0e;
+       pci_write_config8(addr, 0x41, byte);
+}
diff --git a/src/southbridge/broadcom/bcm5785/bootblock.c b/src/southbridge/broadcom/bcm5785/bootblock.c
new file mode 100644 (file)
index 0000000..eab61a3
--- /dev/null
@@ -0,0 +1,5 @@
+#include "bcm5785_enable_rom.c"
+
+static void bootblock_southbridge_init(void) {
+        bcm5785_enable_rom();
+}