Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 279966
b: refs/heads/master
c: b23fcd9
h: refs/heads/master
v: v3
  • Loading branch information
Russell King committed Jan 5, 2012
1 parent 158b84b commit a308787
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 114c19b7b53523a6304c4b4fc51a22d006da3726
refs/heads/master: b23fcd9035a35b032c624ac2f23f40ea941d5355
22 changes: 21 additions & 1 deletion trunk/arch/arm/mach-lpc32xx/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ int clk_is_sysclk_mainosc(void)
/*
* System reset via the watchdog timer
*/
void lpc32xx_watchdog_reset(void)
static void lpc32xx_watchdog_reset(void)
{
/* Make sure WDT clocks are enabled */
__raw_writel(LPC32XX_CLKPWR_PWMCLK_WDOG_EN,
Expand Down Expand Up @@ -311,3 +311,23 @@ void __init lpc32xx_map_io(void)
{
iotable_init(lpc32xx_io_desc, ARRAY_SIZE(lpc32xx_io_desc));
}

void lpc23xx_restart(char mode, const char *cmd)
{
switch (mode) {
case 's':
case 'h':
printk(KERN_CRIT "RESET: Rebooting system\n");

lpc32xx_watchdog_reset();
break;

default:
/* Do nothing */
break;
}

/* Wait for watchdog to reset system */
while (1)
;
}
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-lpc32xx/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ extern void __init lpc32xx_init_irq(void);
extern void __init lpc32xx_map_io(void);
extern void __init lpc32xx_serial_init(void);
extern void __init lpc32xx_gpio_init(void);
extern void lpc23xx_restart(char, const char *);


/*
* Structure used for setting up and querying the PLLS
Expand Down
18 changes: 0 additions & 18 deletions trunk/arch/arm/mach-lpc32xx/include/mach/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,24 +26,6 @@ static void arch_idle(void)

static inline void arch_reset(char mode, const char *cmd)
{
extern void lpc32xx_watchdog_reset(void);

switch (mode) {
case 's':
case 'h':
printk(KERN_CRIT "RESET: Rebooting system\n");

lpc32xx_watchdog_reset();
break;

default:
/* Do nothing */
break;
}

/* Wait for watchdog to reset system */
while (1)
;
}

#endif
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-lpc32xx/phy3250.c
Original file line number Diff line number Diff line change
Expand Up @@ -388,4 +388,5 @@ MACHINE_START(PHY3250, "Phytec 3250 board with the LPC3250 Microcontroller")
.init_irq = lpc32xx_init_irq,
.timer = &lpc32xx_timer,
.init_machine = phy3250_board_init,
.restart = lpc23xx_restart,
MACHINE_END

0 comments on commit a308787

Please sign in to comment.