1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-18 19:38:26 +02:00

add reboot fix from #1312

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6563 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2007-03-14 01:26:57 +00:00
parent c7a59f885d
commit e7a1c344d4
3 changed files with 13 additions and 2 deletions

View File

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

View File

@ -401,3 +401,13 @@ int ssb_chipco_serial_init(struct ssb_chipcommon *cc,
return nr_ports; return nr_ports;
} }
#endif /* CONFIG_SSB_SERIAL */ #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);

View File

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