The SB600 also has the BootFailTimer. We should disable it,
otherwise it will keeps reboot. The comment was also added in
detail to make less confusing when we debug SB600/SB700.

Signed-off-by: Zheng Bao <[email protected]>


Index: src/southbridge/amd/sb600/sb600_early_setup.c
===================================================================
--- src/southbridge/amd/sb600/sb600_early_setup.c       (revision 5234)
+++ src/southbridge/amd/sb600/sb600_early_setup.c       (working copy)
@@ -71,8 +71,16 @@
        u32 reg32;
        device_t dev;
 
+       dev = pci_locate_device(PCI_ID(0x1002, 0x4385), 0);     /* SMBUS
controller */
+       /* NOTE: Set BootTimerDisable, otherwise it would keep
rebooting!!
+        * This bit has no meaning if debug strap is not enabled. So if
the
+        * board keeps rebooting and the code fails to reach here, we
could
+        * disable the debug strap first. */
+       reg32 = pci_read_config32(dev, 0x4C);
+       reg32 |= 1 << 31;
+       pci_write_config32(dev, 0x4C, reg32);
+
        /* Enable lpc controller */
-       dev = pci_locate_device(PCI_ID(0x1002, 0x4385), 0);     /* SMBUS
controller */
        reg32 = pci_read_config32(dev, 0x64);
        reg32 |= 1 << 20;
        pci_write_config32(dev, 0x64, reg32);
Index: src/southbridge/amd/sb700/sb700_early_setup.c
===================================================================
--- src/southbridge/amd/sb700/sb700_early_setup.c       (revision 5234)
+++ src/southbridge/amd/sb700/sb700_early_setup.c       (working copy)
@@ -102,8 +102,11 @@
        u32 reg32;
        device_t dev;
 
-       /* NOTE: Set BootTimerDisable, otherwise it would keep
rebooting!! */
        dev = pci_locate_device(PCI_ID(0x1002, 0x4385), 0);     /* SMBUS
controller */
+       /* NOTE: Set BootTimerDisable, otherwise it would keep
rebooting!!
+        * This bit has no meaning if debug strap is not enabled. So if
the
+        * board keeps rebooting and the code fails to reach here, we
could
+        * disable the debug strap first. */
        reg32 = pci_read_config32(dev, 0x4C);
        reg32 |= 1 << 31;
        pci_write_config32(dev, 0x4C, reg32);

Attachment: sb600_sb700_disable_boot_timer.patch
Description: sb600_sb700_disable_boot_timer.patch

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to