diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-ldp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-ldp.c | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 9cd2669113e4..00d9b13b01c5 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | #include <plat/board.h> | 38 | #include <plat/board.h> |
| 39 | #include <plat/common.h> | 39 | #include <plat/common.h> |
| 40 | #include <plat/gpmc.h> | 40 | #include <plat/gpmc.h> |
| 41 | #include <mach/board-zoom.h> | ||
| 41 | 42 | ||
| 42 | #include <asm/delay.h> | 43 | #include <asm/delay.h> |
| 43 | #include <plat/control.h> | 44 | #include <plat/control.h> |
| @@ -388,6 +389,38 @@ static struct omap_musb_board_data musb_board_data = { | |||
| 388 | .power = 100, | 389 | .power = 100, |
| 389 | }; | 390 | }; |
| 390 | 391 | ||
| 392 | static struct mtd_partition ldp_nand_partitions[] = { | ||
| 393 | /* All the partition sizes are listed in terms of NAND block size */ | ||
| 394 | { | ||
| 395 | .name = "X-Loader-NAND", | ||
| 396 | .offset = 0, | ||
| 397 | .size = 4 * (64 * 2048), /* 512KB, 0x80000 */ | ||
| 398 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
| 399 | }, | ||
| 400 | { | ||
| 401 | .name = "U-Boot-NAND", | ||
| 402 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */ | ||
| 403 | .size = 10 * (64 * 2048), /* 1.25MB, 0x140000 */ | ||
| 404 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
| 405 | }, | ||
| 406 | { | ||
| 407 | .name = "Boot Env-NAND", | ||
| 408 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x1c0000 */ | ||
| 409 | .size = 2 * (64 * 2048), /* 256KB, 0x40000 */ | ||
| 410 | }, | ||
| 411 | { | ||
| 412 | .name = "Kernel-NAND", | ||
| 413 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x0200000*/ | ||
| 414 | .size = 240 * (64 * 2048), /* 30M, 0x1E00000 */ | ||
| 415 | }, | ||
| 416 | { | ||
| 417 | .name = "File System - NAND", | ||
| 418 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x2000000 */ | ||
| 419 | .size = MTDPART_SIZ_FULL, /* 96MB, 0x6000000 */ | ||
| 420 | }, | ||
| 421 | |||
| 422 | }; | ||
| 423 | |||
| 391 | static void __init omap_ldp_init(void) | 424 | static void __init omap_ldp_init(void) |
| 392 | { | 425 | { |
| 393 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 426 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| @@ -400,23 +433,19 @@ static void __init omap_ldp_init(void) | |||
| 400 | ads7846_dev_init(); | 433 | ads7846_dev_init(); |
| 401 | omap_serial_init(); | 434 | omap_serial_init(); |
| 402 | usb_musb_init(&musb_board_data); | 435 | usb_musb_init(&musb_board_data); |
| 436 | board_nand_init(ldp_nand_partitions, | ||
| 437 | ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS); | ||
| 403 | 438 | ||
| 404 | omap2_hsmmc_init(mmc); | 439 | omap2_hsmmc_init(mmc); |
| 405 | /* link regulators to MMC adapters */ | 440 | /* link regulators to MMC adapters */ |
| 406 | ldp_vmmc1_supply.dev = mmc[0].dev; | 441 | ldp_vmmc1_supply.dev = mmc[0].dev; |
| 407 | } | 442 | } |
| 408 | 443 | ||
| 409 | static void __init omap_ldp_map_io(void) | ||
| 410 | { | ||
| 411 | omap2_set_globals_343x(); | ||
| 412 | omap34xx_map_common_io(); | ||
| 413 | } | ||
| 414 | |||
| 415 | MACHINE_START(OMAP_LDP, "OMAP LDP board") | 444 | MACHINE_START(OMAP_LDP, "OMAP LDP board") |
| 416 | .phys_io = 0x48000000, | 445 | .phys_io = 0x48000000, |
| 417 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | 446 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, |
| 418 | .boot_params = 0x80000100, | 447 | .boot_params = 0x80000100, |
| 419 | .map_io = omap_ldp_map_io, | 448 | .map_io = omap3_map_io, |
| 420 | .reserve = omap_reserve, | 449 | .reserve = omap_reserve, |
| 421 | .init_irq = omap_ldp_init_irq, | 450 | .init_irq = omap_ldp_init_irq, |
| 422 | .init_machine = omap_ldp_init, | 451 | .init_machine = omap_ldp_init, |
