brcm47xx: make reboot a more reliable

A reboot is issued by setting the watchdog timer to a low value, when
the value is decreased from 1 to 0 by the hardware the system will
reboot. Setting this value to 1 does not work every time, it is a
little bit more reliable when setting it to 3. This timer runs with
some MHz or KHz so nobody will notice the increased waiting.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 41548
lede-17.01
Hauke Mehrtens 2014-07-07 20:12:40 +00:00
parent f42c36ea60
commit 0a5145e851
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,17 @@
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -56,12 +56,12 @@ static void bcm47xx_machine_restart(char
switch (bcm47xx_bus_type) {
#ifdef CONFIG_BCM47XX_SSB
case BCM47XX_BUS_TYPE_SSB:
- ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 1);
+ ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 3);
break;
#endif
#ifdef CONFIG_BCM47XX_BCMA
case BCM47XX_BUS_TYPE_BCMA:
- bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 1);
+ bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 3);
break;
#endif
}

View File

@ -0,0 +1,17 @@
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -59,12 +59,12 @@ static void bcm47xx_machine_restart(char
switch (bcm47xx_bus_type) {
#ifdef CONFIG_BCM47XX_SSB
case BCM47XX_BUS_TYPE_SSB:
- ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 1);
+ ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 3);
break;
#endif
#ifdef CONFIG_BCM47XX_BCMA
case BCM47XX_BUS_TYPE_BCMA:
- bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 1);
+ bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 3);
break;
#endif
}