aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorEric Miao <eric.miao@marvell.com>2008-06-02 03:42:14 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-09 16:38:33 -0400
commit9c1db1a1333197bc04dfd0c71d15f8ed43eb844d (patch)
tree2ac220ac5af04eeb31932d9aaee4ad8ac884f9f0 /arch
parent481b55262e396930e6e35b8a6d41e7c146e10241 (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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-pxa/littleton.c53
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)
361static inline void littleton_init_keypad(void) {} 362static 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)
366static 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
402static 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
408static void __init littleton_init_nand(void)
409{
410 pxa3xx_set_nand_info(&littleton_nand_info);
411}
412#else
413static inline void littleton_init_nand(void) {}
414#endif /* CONFIG_MTD_NAND_PXA3xx || CONFIG_MTD_NAND_PXA3xx_MODULE */
415
364static void __init littleton_init(void) 416static 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
379MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") 432MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)")