diff options
| author | Eric Miao <eric.miao@marvell.com> | 2008-06-02 03:42:14 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-07-09 16:38:33 -0400 |
| commit | 9c1db1a1333197bc04dfd0c71d15f8ed43eb844d (patch) | |
| tree | 2ac220ac5af04eeb31932d9aaee4ad8ac884f9f0 | |
| parent | 481b55262e396930e6e35b8a6d41e7c146e10241 (diff) | |
[ARM] pxa: add pxa3xx NAND support for littleton
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Sergey Podstavin <spodstavin@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-pxa/littleton.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index ff81a84c19aa..9a4f51d48758 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | #include <asm/arch/pxafb.h> | 38 | #include <asm/arch/pxafb.h> |
| 39 | #include <asm/arch/ssp.h> | 39 | #include <asm/arch/ssp.h> |
| 40 | #include <asm/arch/pxa27x_keypad.h> | 40 | #include <asm/arch/pxa27x_keypad.h> |
| 41 | #include <asm/arch/pxa3xx_nand.h> | ||
| 41 | #include <asm/arch/littleton.h> | 42 | #include <asm/arch/littleton.h> |
| 42 | 43 | ||
| 43 | #include "generic.h" | 44 | #include "generic.h" |
| @@ -361,6 +362,57 @@ static void __init littleton_init_keypad(void) | |||
| 361 | static inline void littleton_init_keypad(void) {} | 362 | static inline void littleton_init_keypad(void) {} |
| 362 | #endif | 363 | #endif |
| 363 | 364 | ||
| 365 | #if defined(CONFIG_MTD_NAND_PXA3xx) || defined(CONFIG_MTD_NAND_PXA3xx_MODULE) | ||
| 366 | static struct mtd_partition littleton_nand_partitions[] = { | ||
| 367 | [0] = { | ||
| 368 | .name = "Bootloader", | ||
| 369 | .offset = 0, | ||
| 370 | .size = 0x060000, | ||
| 371 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
| 372 | }, | ||
| 373 | [1] = { | ||
| 374 | .name = "Kernel", | ||
| 375 | .offset = 0x060000, | ||
| 376 | .size = 0x200000, | ||
| 377 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
| 378 | }, | ||
| 379 | [2] = { | ||
| 380 | .name = "Filesystem", | ||
| 381 | .offset = 0x0260000, | ||
| 382 | .size = 0x3000000, /* 48M - rootfs */ | ||
| 383 | }, | ||
| 384 | [3] = { | ||
| 385 | .name = "MassStorage", | ||
| 386 | .offset = 0x3260000, | ||
| 387 | .size = 0x3d40000, | ||
| 388 | }, | ||
| 389 | [4] = { | ||
| 390 | .name = "BBT", | ||
| 391 | .offset = 0x6FA0000, | ||
| 392 | .size = 0x80000, | ||
| 393 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
| 394 | }, | ||
| 395 | /* NOTE: we reserve some blocks at the end of the NAND flash for | ||
| 396 | * bad block management, and the max number of relocation blocks | ||
| 397 | * differs on different platforms. Please take care with it when | ||
| 398 | * defining the partition table. | ||
| 399 | */ | ||
| 400 | }; | ||
| 401 | |||
| 402 | static struct pxa3xx_nand_platform_data littleton_nand_info = { | ||
| 403 | .enable_arbiter = 1, | ||
| 404 | .parts = littleton_nand_partitions, | ||
| 405 | .nr_parts = ARRAY_SIZE(littleton_nand_partitions), | ||
| 406 | }; | ||
| 407 | |||
| 408 | static void __init littleton_init_nand(void) | ||
| 409 | { | ||
| 410 | pxa3xx_set_nand_info(&littleton_nand_info); | ||
| 411 | } | ||
| 412 | #else | ||
| 413 | static inline void littleton_init_nand(void) {} | ||
| 414 | #endif /* CONFIG_MTD_NAND_PXA3xx || CONFIG_MTD_NAND_PXA3xx_MODULE */ | ||
| 415 | |||
| 364 | static void __init littleton_init(void) | 416 | static void __init littleton_init(void) |
| 365 | { | 417 | { |
| 366 | /* initialize MFP configurations */ | 418 | /* initialize MFP configurations */ |
| @@ -374,6 +426,7 @@ static void __init littleton_init(void) | |||
| 374 | 426 | ||
| 375 | littleton_init_lcd(); | 427 | littleton_init_lcd(); |
| 376 | littleton_init_keypad(); | 428 | littleton_init_keypad(); |
| 429 | littleton_init_nand(); | ||
| 377 | } | 430 | } |
| 378 | 431 | ||
| 379 | MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") | 432 | MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") |
