diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-07-03 06:24:30 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-07-03 11:51:24 -0400 |
commit | 54c272acd16dbfb7b83948b04bf19ba451885284 (patch) | |
tree | 8d09e53453f905737411c9ce29fde7642ac98846 /arch/arm | |
parent | 9db829f485c553a0e677a165b37f877bf74f36ff (diff) |
[ARM] JIVE: Initialise the sleep configuration registers
Ensure that the S3C2412 sleep configuration registers
are approriately setup so that the device can safely
go to sleep.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-s3c2412/mach-jive.c | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c index 05da51d1ce4e..7cfab868cce3 100644 --- a/arch/arm/mach-s3c2412/mach-jive.c +++ b/arch/arm/mach-s3c2412/mach-jive.c | |||
@@ -319,6 +319,94 @@ static void __init jive_machine_init(void) | |||
319 | sysdev_class_register(&jive_pm_sysclass); | 319 | sysdev_class_register(&jive_pm_sysclass); |
320 | sysdev_register(&jive_pm_sysdev); | 320 | sysdev_register(&jive_pm_sysdev); |
321 | 321 | ||
322 | /* write our sleep configurations for the IO. Pull down all unused | ||
323 | * IO, ensure that we have turned off all peripherals we do not | ||
324 | * need, and configure the ones we do need. */ | ||
325 | |||
326 | /* Port B sleep */ | ||
327 | |||
328 | __raw_writel(S3C2412_SLPCON_IN(0) | | ||
329 | S3C2412_SLPCON_PULL(1) | | ||
330 | S3C2412_SLPCON_HIGH(2) | | ||
331 | S3C2412_SLPCON_PULL(3) | | ||
332 | S3C2412_SLPCON_PULL(4) | | ||
333 | S3C2412_SLPCON_PULL(5) | | ||
334 | S3C2412_SLPCON_PULL(6) | | ||
335 | S3C2412_SLPCON_HIGH(7) | | ||
336 | S3C2412_SLPCON_PULL(8) | | ||
337 | S3C2412_SLPCON_PULL(9) | | ||
338 | S3C2412_SLPCON_PULL(10), S3C2412_GPBSLPCON); | ||
339 | |||
340 | /* Port C sleep */ | ||
341 | |||
342 | __raw_writel(S3C2412_SLPCON_PULL(0) | | ||
343 | S3C2412_SLPCON_PULL(1) | | ||
344 | S3C2412_SLPCON_PULL(2) | | ||
345 | S3C2412_SLPCON_PULL(3) | | ||
346 | S3C2412_SLPCON_PULL(4) | | ||
347 | S3C2412_SLPCON_PULL(5) | | ||
348 | S3C2412_SLPCON_LOW(6) | | ||
349 | S3C2412_SLPCON_PULL(6) | | ||
350 | S3C2412_SLPCON_PULL(7) | | ||
351 | S3C2412_SLPCON_PULL(8) | | ||
352 | S3C2412_SLPCON_PULL(9) | | ||
353 | S3C2412_SLPCON_PULL(10) | | ||
354 | S3C2412_SLPCON_PULL(11) | | ||
355 | S3C2412_SLPCON_PULL(12) | | ||
356 | S3C2412_SLPCON_PULL(13) | | ||
357 | S3C2412_SLPCON_PULL(14) | | ||
358 | S3C2412_SLPCON_PULL(15), S3C2412_GPCSLPCON); | ||
359 | |||
360 | /* Port D sleep */ | ||
361 | |||
362 | __raw_writel(S3C2412_SLPCON_ALL_PULL, S3C2412_GPDSLPCON); | ||
363 | |||
364 | /* Port F sleep */ | ||
365 | |||
366 | __raw_writel(S3C2412_SLPCON_LOW(0) | | ||
367 | S3C2412_SLPCON_LOW(1) | | ||
368 | S3C2412_SLPCON_LOW(2) | | ||
369 | S3C2412_SLPCON_EINT(3) | | ||
370 | S3C2412_SLPCON_EINT(4) | | ||
371 | S3C2412_SLPCON_EINT(5) | | ||
372 | S3C2412_SLPCON_EINT(6) | | ||
373 | S3C2412_SLPCON_EINT(7), S3C2412_GPFSLPCON); | ||
374 | |||
375 | /* Port G sleep */ | ||
376 | |||
377 | __raw_writel(S3C2412_SLPCON_IN(0) | | ||
378 | S3C2412_SLPCON_IN(1) | | ||
379 | S3C2412_SLPCON_IN(2) | | ||
380 | S3C2412_SLPCON_IN(3) | | ||
381 | S3C2412_SLPCON_IN(4) | | ||
382 | S3C2412_SLPCON_IN(5) | | ||
383 | S3C2412_SLPCON_IN(6) | | ||
384 | S3C2412_SLPCON_IN(7) | | ||
385 | S3C2412_SLPCON_PULL(8) | | ||
386 | S3C2412_SLPCON_PULL(9) | | ||
387 | S3C2412_SLPCON_IN(10) | | ||
388 | S3C2412_SLPCON_PULL(11) | | ||
389 | S3C2412_SLPCON_PULL(12) | | ||
390 | S3C2412_SLPCON_PULL(13) | | ||
391 | S3C2412_SLPCON_IN(14) | | ||
392 | S3C2412_SLPCON_PULL(15), S3C2412_GPGSLPCON); | ||
393 | |||
394 | /* Port H sleep */ | ||
395 | |||
396 | __raw_writel(S3C2412_SLPCON_PULL(0) | | ||
397 | S3C2412_SLPCON_PULL(1) | | ||
398 | S3C2412_SLPCON_PULL(2) | | ||
399 | S3C2412_SLPCON_PULL(3) | | ||
400 | S3C2412_SLPCON_PULL(4) | | ||
401 | S3C2412_SLPCON_PULL(5) | | ||
402 | S3C2412_SLPCON_PULL(6) | | ||
403 | S3C2412_SLPCON_IN(7) | | ||
404 | S3C2412_SLPCON_IN(8) | | ||
405 | S3C2412_SLPCON_PULL(9) | | ||
406 | S3C2412_SLPCON_IN(10), S3C2412_GPHSLPCON); | ||
407 | |||
408 | /* initialise the power management now we've setup everything. */ | ||
409 | |||
322 | s3c2410_pm_init(); | 410 | s3c2410_pm_init(); |
323 | 411 | ||
324 | s3c_device_nand.dev.platform_data = &jive_nand_info; | 412 | s3c_device_nand.dev.platform_data = &jive_nand_info; |