aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100
diff options
context:
space:
mode:
authorKristoffer Ericson <Kristoffer_e1@hotmail.com>2007-07-26 02:46:17 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-28 15:52:45 -0400
commitcc46f659705c722ae6020dd7411c4ac39cec4408 (patch)
treecc3c8858e49936bb7d6f49c6da9a589d87b57e57 /arch/arm/mach-sa1100
parent219e3dcd1dd34d5b9b663977136877dcb393626a (diff)
[ARM] 4529/1: [HP Jornada 7XX] - Fix jornada720.c to use SSP driver
This fixes the jornada720.c file : * ifdef for CONFIG_SA1100_JORNADA720_SSP since we dont want to include anything not selected in menyconfig. * add documentation for init for future reference * change platform driver name from jornada720_mcu -> jornada_ssp. * change maintainer in file. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-sa1100')
-rw-r--r--arch/arm/mach-sa1100/jornada720.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c
index 64067cd58d36..52ac37d1e23a 100644
--- a/arch/arm/mach-sa1100/jornada720.c
+++ b/arch/arm/mach-sa1100/jornada720.c
@@ -3,6 +3,7 @@
3 * 3 *
4 * HP Jornada720 init code 4 * HP Jornada720 init code
5 * 5 *
6 * Copyright (C) 2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
6 * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> 7 * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl>
7 * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net> 8 * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net>
8 * 9 *
@@ -220,14 +221,16 @@ static struct platform_device sa1111_device = {
220 .resource = sa1111_resources, 221 .resource = sa1111_resources,
221}; 222};
222 223
223static struct platform_device jornada720_mcu_device = { 224static struct platform_device jornada_ssp_device = {
224 .name = "jornada720_mcu", 225 .name = "jornada_ssp",
225 .id = -1, 226 .id = -1,
226}; 227};
227 228
228static struct platform_device *devices[] __initdata = { 229static struct platform_device *devices[] __initdata = {
229 &sa1111_device, 230 &sa1111_device,
230 &jornada720_mcu_device, 231#ifdef CONFIG_SA1100_JORNADA720_SSP
232 &jornada_ssp_device,
233#endif
231 &s1d13xxxfb_device, 234 &s1d13xxxfb_device,
232}; 235};
233 236
@@ -236,19 +239,19 @@ static int __init jornada720_init(void)
236 int ret = -ENODEV; 239 int ret = -ENODEV;
237 240
238 if (machine_is_jornada720()) { 241 if (machine_is_jornada720()) {
239 GPDR |= GPIO_GPIO20; 242 /* we want to use gpio20 as input to drive the clock of our uart 3 */
240 /* oscillator setup (line 116 of HP's doc) */ 243 GPDR |= GPIO_GPIO20; /* Clear gpio20 pin as input */
241 TUCR = TUCR_VAL; 244 TUCR = TUCR_VAL;
242 /* resetting SA1111 (line 118 of HP's doc) */ 245 GPSR = GPIO_GPIO20; /* start gpio20 pin */
243 GPSR = GPIO_GPIO20;
244 udelay(1); 246 udelay(1);
245 GPCR = GPIO_GPIO20; 247 GPCR = GPIO_GPIO20; /* stop gpio20 */
246 udelay(1); 248 udelay(1);
247 GPSR = GPIO_GPIO20; 249 GPSR = GPIO_GPIO20; /* restart gpio20 */
248 udelay(20); 250 udelay(20); /* give it some time to restart */
249 251
250 ret = platform_add_devices(devices, ARRAY_SIZE(devices)); 252 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
251 } 253 }
254
252 return ret; 255 return ret;
253} 256}
254 257
@@ -345,7 +348,7 @@ static void __init jornada720_mach_init(void)
345} 348}
346 349
347MACHINE_START(JORNADA720, "HP Jornada 720") 350MACHINE_START(JORNADA720, "HP Jornada 720")
348 /* Maintainer: Michael Gernoth <michael@gernoth.net> */ 351 /* Maintainer: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> */
349 .phys_io = 0x80000000, 352 .phys_io = 0x80000000,
350 .io_pg_offst = ((0xf8000000) >> 18) & 0xfffc, 353 .io_pg_offst = ((0xf8000000) >> 18) & 0xfffc,
351 .boot_params = 0xc0000100, 354 .boot_params = 0xc0000100,