summaryrefslogtreecommitdiff
path: root/src/southbridge/broadcom
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/broadcom')
-rw-r--r--src/southbridge/broadcom/bcm5785/Kconfig6
-rw-r--r--src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c15
-rw-r--r--src/southbridge/broadcom/bcm5785/bcm5785_enable_rom.c14
-rw-r--r--src/southbridge/broadcom/bcm5785/bootblock.c5
4 files changed, 26 insertions, 14 deletions
diff --git a/src/southbridge/broadcom/bcm5785/Kconfig b/src/southbridge/broadcom/bcm5785/Kconfig
index c51dcb2b17..d72afd8d2c 100644
--- a/src/southbridge/broadcom/bcm5785/Kconfig
+++ b/src/southbridge/broadcom/bcm5785/Kconfig
@@ -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
diff --git a/src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c b/src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c
index d448bf67c3..62e004dac3 100644
--- a/src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c
+++ b/src/southbridge/broadcom/bcm5785/bcm5785_early_setup.c
@@ -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
index 0000000000..7d484d87c2
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5785/bcm5785_enable_rom.c
@@ -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
index 0000000000..eab61a367f
--- /dev/null
+++ b/src/southbridge/broadcom/bcm5785/bootblock.c
@@ -0,0 +1,5 @@
+#include "bcm5785_enable_rom.c"
+
+static void bootblock_southbridge_init(void) {
+ bcm5785_enable_rom();
+}