diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /arch/sh/boards/board-urquell.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'arch/sh/boards/board-urquell.c')
-rw-r--r-- | arch/sh/boards/board-urquell.c | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/arch/sh/boards/board-urquell.c b/arch/sh/boards/board-urquell.c index 36b8bac9b124..a9bd6e3ee10b 100644 --- a/arch/sh/boards/board-urquell.c +++ b/arch/sh/boards/board-urquell.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * Renesas Technology Corp. SH7786 Urquell Support. | 2 | * Renesas Technology Corp. SH7786 Urquell Support. |
3 | * | 3 | * |
4 | * Copyright (C) 2008 Kuninori Morimoto <morimoto.kuninori@renesas.com> | 4 | * Copyright (C) 2008 Kuninori Morimoto <morimoto.kuninori@renesas.com> |
5 | * Copyright (C) 2009 Paul Mundt | 5 | * Copyright (C) 2009, 2010 Paul Mundt |
6 | * | 6 | * |
7 | * Based on board-sh7785lcr.c | 7 | * Based on board-sh7785lcr.c |
8 | * Copyright (C) 2008 Yoshihiro Shimoda | 8 | * Copyright (C) 2008 Yoshihiro Shimoda |
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <linux/irq.h> | 21 | #include <linux/irq.h> |
22 | #include <linux/clk.h> | ||
22 | #include <mach/urquell.h> | 23 | #include <mach/urquell.h> |
23 | #include <cpu/sh7786.h> | 24 | #include <cpu/sh7786.h> |
24 | #include <asm/heartbeat.h> | 25 | #include <asm/heartbeat.h> |
@@ -50,26 +51,17 @@ | |||
50 | */ | 51 | */ |
51 | 52 | ||
52 | /* HeartBeat */ | 53 | /* HeartBeat */ |
53 | static struct resource heartbeat_resources[] = { | 54 | static struct resource heartbeat_resource = { |
54 | [0] = { | 55 | .start = BOARDREG(SLEDR), |
55 | .start = BOARDREG(SLEDR), | 56 | .end = BOARDREG(SLEDR), |
56 | .end = BOARDREG(SLEDR), | 57 | .flags = IORESOURCE_MEM | IORESOURCE_MEM_16BIT, |
57 | .flags = IORESOURCE_MEM, | ||
58 | }, | ||
59 | }; | ||
60 | |||
61 | static struct heartbeat_data heartbeat_data = { | ||
62 | .regsize = 16, | ||
63 | }; | 58 | }; |
64 | 59 | ||
65 | static struct platform_device heartbeat_device = { | 60 | static struct platform_device heartbeat_device = { |
66 | .name = "heartbeat", | 61 | .name = "heartbeat", |
67 | .id = -1, | 62 | .id = -1, |
68 | .dev = { | 63 | .num_resources = 1, |
69 | .platform_data = &heartbeat_data, | 64 | .resource = &heartbeat_resource, |
70 | }, | ||
71 | .num_resources = ARRAY_SIZE(heartbeat_resources), | ||
72 | .resource = heartbeat_resources, | ||
73 | }; | 65 | }; |
74 | 66 | ||
75 | /* LAN91C111 */ | 67 | /* LAN91C111 */ |
@@ -184,6 +176,27 @@ static int urquell_mode_pins(void) | |||
184 | return __raw_readw(UBOARDREG(MDSWMR)); | 176 | return __raw_readw(UBOARDREG(MDSWMR)); |
185 | } | 177 | } |
186 | 178 | ||
179 | static int urquell_clk_init(void) | ||
180 | { | ||
181 | struct clk *clk; | ||
182 | int ret; | ||
183 | |||
184 | /* | ||
185 | * Only handle the EXTAL case, anyone interfacing a crystal | ||
186 | * resonator will need to provide their own input clock. | ||
187 | */ | ||
188 | if (test_mode_pin(MODE_PIN9)) | ||
189 | return -EINVAL; | ||
190 | |||
191 | clk = clk_get(NULL, "extal"); | ||
192 | if (!clk || IS_ERR(clk)) | ||
193 | return PTR_ERR(clk); | ||
194 | ret = clk_set_rate(clk, 33333333); | ||
195 | clk_put(clk); | ||
196 | |||
197 | return ret; | ||
198 | } | ||
199 | |||
187 | /* Initialize the board */ | 200 | /* Initialize the board */ |
188 | static void __init urquell_setup(char **cmdline_p) | 201 | static void __init urquell_setup(char **cmdline_p) |
189 | { | 202 | { |
@@ -200,4 +213,5 @@ static struct sh_machine_vector mv_urquell __initmv = { | |||
200 | .mv_setup = urquell_setup, | 213 | .mv_setup = urquell_setup, |
201 | .mv_init_irq = urquell_init_irq, | 214 | .mv_init_irq = urquell_init_irq, |
202 | .mv_mode_pins = urquell_mode_pins, | 215 | .mv_mode_pins = urquell_mode_pins, |
216 | .mv_clk_init = urquell_clk_init, | ||
203 | }; | 217 | }; |