aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-ldp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-ldp.c')
-rw-r--r--arch/arm/mach-omap2/board-ldp.c43
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
392static 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
391static void __init omap_ldp_init(void) 424static 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
409static void __init omap_ldp_map_io(void)
410{
411 omap2_set_globals_343x();
412 omap34xx_map_common_io();
413}
414
415MACHINE_START(OMAP_LDP, "OMAP LDP board") 444MACHINE_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,