aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2007-02-04 17:36:52 -0500
committerPaul Mackerras <paulus@samba.org>2007-02-06 22:03:22 -0500
commitf620be99e9355c41693f0c748ba9260f69278ee0 (patch)
treee2acc48246629e4afe44abff2f04f79ee9092f61 /arch
parent1199919b69ff9559a3d3444fb5eb45b7cc48264d (diff)
[POWERPC] pasemi: Implement restart
Implement reset on platforms/pasemi. Default is just to reset the cpu using the SDC registers. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/pasemi/setup.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c
index f69f5e76618f..cabf7017c05e 100644
--- a/arch/powerpc/platforms/pasemi/setup.c
+++ b/arch/powerpc/platforms/pasemi/setup.c
@@ -38,21 +38,13 @@
38 38
39#include "pasemi.h" 39#include "pasemi.h"
40 40
41static void pas_restart(char *cmd) 41static void __iomem *reset_reg;
42{
43 printk("restart unimplemented, looping...\n");
44 for (;;) ;
45}
46
47static void pas_power_off(void)
48{
49 printk("power off unimplemented, looping...\n");
50 for (;;) ;
51}
52 42
53static void pas_halt(void) 43static void pas_restart(char *cmd)
54{ 44{
55 pas_power_off(); 45 printk("Restarting...\n");
46 while (1)
47 out_le32(reset_reg, 0x6000000);
56} 48}
57 49
58#ifdef CONFIG_SMP 50#ifdef CONFIG_SMP
@@ -82,6 +74,10 @@ void __init pas_setup_arch(void)
82 conswitchp = &dummy_con; 74 conswitchp = &dummy_con;
83#endif 75#endif
84 76
77 /* Remap SDC register for doing reset */
78 /* XXXOJN This should maybe come out of the device tree */
79 reset_reg = ioremap(0xfc101100, 4);
80
85 pasemi_idle_init(); 81 pasemi_idle_init();
86} 82}
87 83
@@ -211,8 +207,6 @@ define_machine(pas) {
211 .init_IRQ = pas_init_IRQ, 207 .init_IRQ = pas_init_IRQ,
212 .get_irq = mpic_get_irq, 208 .get_irq = mpic_get_irq,
213 .restart = pas_restart, 209 .restart = pas_restart,
214 .power_off = pas_power_off,
215 .halt = pas_halt,
216 .get_boot_time = pas_get_boot_time, 210 .get_boot_time = pas_get_boot_time,
217 .calibrate_decr = generic_calibrate_decr, 211 .calibrate_decr = generic_calibrate_decr,
218 .check_legacy_ioport = pas_check_legacy_ioport, 212 .check_legacy_ioport = pas_check_legacy_ioport,