aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/boards/renesas/hs7751rvoip/setup.c13
-rw-r--r--arch/sh/boards/renesas/rts7751r2d/setup.c7
2 files changed, 16 insertions, 4 deletions
diff --git a/arch/sh/boards/renesas/hs7751rvoip/setup.c b/arch/sh/boards/renesas/hs7751rvoip/setup.c
index 29fb5ff70fb5..7ce577822dc0 100644
--- a/arch/sh/boards/renesas/hs7751rvoip/setup.c
+++ b/arch/sh/boards/renesas/hs7751rvoip/setup.c
@@ -12,15 +12,14 @@
12 12
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/irq.h> 14#include <linux/irq.h>
15 15#include <linux/mm.h>
16#include <linux/vmalloc.h>
16#include <linux/hdreg.h> 17#include <linux/hdreg.h>
17#include <linux/ide.h> 18#include <linux/ide.h>
19#include <linux/pm.h>
18#include <asm/io.h> 20#include <asm/io.h>
19#include <asm/hs7751rvoip/hs7751rvoip.h> 21#include <asm/hs7751rvoip/hs7751rvoip.h>
20 22
21#include <linux/mm.h>
22#include <linux/vmalloc.h>
23
24/* defined in mm/ioremap.c */ 23/* defined in mm/ioremap.c */
25extern void * p3_ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags); 24extern void * p3_ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags);
26 25
@@ -31,6 +30,11 @@ const char *get_system_type(void)
31 return "HS7751RVoIP"; 30 return "HS7751RVoIP";
32} 31}
33 32
33static void hs7751rvoip_power_off(void)
34{
35 ctrl_outw(ctrl_inw(PA_OUTPORTR) & 0xffdf, PA_OUTPORTR);
36}
37
34/* 38/*
35 * Initialize the board 39 * Initialize the board
36 */ 40 */
@@ -38,6 +42,7 @@ void __init platform_setup(void)
38{ 42{
39 printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n"); 43 printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n");
40 ctrl_outb(0xf0, PA_OUTPORTR); 44 ctrl_outb(0xf0, PA_OUTPORTR);
45 pm_power_off = hs7751rvoip_power_off;
41 debug_counter = 0; 46 debug_counter = 0;
42} 47}
43 48
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c
index 2587fd1a0240..7953dde0b91c 100644
--- a/arch/sh/boards/renesas/rts7751r2d/setup.c
+++ b/arch/sh/boards/renesas/rts7751r2d/setup.c
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/pm.h>
13#include <asm/io.h> 14#include <asm/io.h>
14#include <asm/rts7751r2d/rts7751r2d.h> 15#include <asm/rts7751r2d/rts7751r2d.h>
15 16
@@ -20,6 +21,11 @@ const char *get_system_type(void)
20 return "RTS7751R2D"; 21 return "RTS7751R2D";
21} 22}
22 23
24static void rts7751r2d_power_off(void)
25{
26 ctrl_outw(0x0001, PA_POWOFF);
27}
28
23/* 29/*
24 * Initialize the board 30 * Initialize the board
25 */ 31 */
@@ -27,5 +33,6 @@ void __init platform_setup(void)
27{ 33{
28 printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n"); 34 printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n");
29 ctrl_outw(0x0000, PA_OUTPORT); 35 ctrl_outw(0x0000, PA_OUTPORT);
36 pm_power_off = rts7751r2d_power_off;
30 debug_counter = 0; 37 debug_counter = 0;
31} 38}