diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom2.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom2.c | 64 | 
1 files changed, 57 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index ffe188cb18e..3ad9ecf7f5e 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c @@ -71,30 +71,80 @@ static struct twl4030_platform_data zoom2_twldata = {  #ifdef CONFIG_OMAP_MUX  static struct omap_board_mux board_mux[] __initdata = { +	/* WLAN IRQ - GPIO 162 */ +	OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), +	/* WLAN POWER ENABLE - GPIO 101 */ +	OMAP3_MUX(CAM_D2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), +	/* WLAN SDIO: MMC3 CMD */ +	OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLUP), +	/* WLAN SDIO: MMC3 CLK */ +	OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP), +	/* WLAN SDIO: MMC3 DAT[0-3] */ +	OMAP3_MUX(ETK_D3, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP), +	OMAP3_MUX(ETK_D4, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP), +	OMAP3_MUX(ETK_D5, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP), +	OMAP3_MUX(ETK_D6, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),  	{ .reg_offset = OMAP_MUX_TERMINATOR },  };  #else  #define board_mux	NULL  #endif +static struct mtd_partition zoom_nand_partitions[] = { +	/* All the partition sizes are listed in terms of NAND block size */ +	{ +		.name		= "X-Loader-NAND", +		.offset		= 0, +		.size		= 4 * (64 * 2048),	/* 512KB, 0x80000 */ +		.mask_flags	= MTD_WRITEABLE,	/* force read-only */ +	}, +	{ +		.name		= "U-Boot-NAND", +		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x80000 */ +		.size		= 10 * (64 * 2048),	/* 1.25MB, 0x140000 */ +		.mask_flags	= MTD_WRITEABLE,	/* force read-only */ +	}, +	{ +		.name		= "Boot Env-NAND", +		.offset		= MTDPART_OFS_APPEND,   /* Offset = 0x1c0000 */ +		.size		= 2 * (64 * 2048),	/* 256KB, 0x40000 */ +	}, +	{ +		.name		= "Kernel-NAND", +		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x0200000*/ +		.size		= 240 * (64 * 2048),	/* 30M, 0x1E00000 */ +	}, +	{ +		.name		= "system", +		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x2000000 */ +		.size		= 3328 * (64 * 2048),	/* 416M, 0x1A000000 */ +	}, +	{ +		.name		= "userdata", +		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1C000000*/ +		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */ +	}, +	{ +		.name		= "cache", +		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1E000000*/ +		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */ +	}, +}; +  static void __init omap_zoom2_init(void)  {  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);  	zoom_peripherals_init(); +	board_nand_init(zoom_nand_partitions, +			ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);  	zoom_debugboard_init();  } -static void __init omap_zoom2_map_io(void) -{ -	omap2_set_globals_343x(); -	omap34xx_map_common_io(); -} -  MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")  	.phys_io	= ZOOM_UART_BASE,  	.io_pg_offst	= (ZOOM_UART_VIRT >> 18) & 0xfffc,  	.boot_params	= 0x80000100, -	.map_io		= omap_zoom2_map_io, +	.map_io		= omap3_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_zoom2_init_irq,  	.init_machine	= omap_zoom2_init,  |