add reboot fix from #1312

SVN-Revision: 6563
master
Felix Fietkau 18 years ago
parent bf622ab0ae
commit 53a5d4131f
  1. 4
      target/linux/brcm47xx-2.6/files/arch/mips/bcm947xx/setup.c
  2. 10
      target/linux/brcm47xx-2.6/files/drivers/ssb/driver_chipcommon/chipcommon.c
  3. 1
      target/linux/brcm47xx-2.6/files/include/linux/ssb/ssb_driver_chipcommon.h

@ -54,7 +54,7 @@ static void bcm47xx_machine_restart(char *command)
*/
/* Set the watchdog timer to reset immediately */
//TODO sb_watchdog(sbh, 1);
ssb_chipco_watchdog(&ssb.chipco, 1);
while (1)
cpu_relax();
}
@ -63,7 +63,7 @@ static void bcm47xx_machine_halt(void)
{
/* Disable interrupts and watchdog and spin forever */
local_irq_disable();
//TODO sb_watchdog(sbh, 0);
ssb_chipco_watchdog(&ssb.chipco, 0);
while (1)
cpu_relax();
}

@ -401,3 +401,13 @@ int ssb_chipco_serial_init(struct ssb_chipcommon *cc,
return nr_ports;
}
#endif /* CONFIG_SSB_SERIAL */
/* Set chip watchdog reset timer to fire in 'ticks' backplane cycles */
int
ssb_chipco_watchdog(struct ssb_chipcommon *cc, uint ticks)
{
/* instant NMI */
chipco_write32(cc, SSB_CHIPCO_WATCHDOG, ticks);
return 0;
}
EXPORT_SYMBOL(ssb_chipco_watchdog);

@ -417,6 +417,7 @@ static inline u32 ssb_chipco_gpio_polarity(struct ssb_chipcommon *cc,
}
/* TODO: GPIO reservation */
extern int ssb_chipco_watchdog(struct ssb_chipcommon *cc, uint ticks);
#ifdef CONFIG_SSB_SERIAL
extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc,

Loading…
Cancel
Save