diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-ldp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-ldp.c | 35 | 
1 files changed, 28 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index e5dc74875f9..e2ba77957a8 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -288,13 +288,10 @@ static struct omap_board_config_kernel ldp_config[] __initdata = {  	{ OMAP_TAG_LCD,		&ldp_lcd_config },  }; -static void __init omap_ldp_init_irq(void) +static void __init omap_ldp_init_early(void)  { -	omap_board_config = ldp_config; -	omap_board_config_size = ARRAY_SIZE(ldp_config);  	omap2_init_common_infrastructure();  	omap2_init_common_devices(NULL, NULL); -	omap_init_irq();  }  static struct twl4030_usb_data ldp_usb_data = { @@ -330,6 +327,26 @@ static struct regulator_init_data ldp_vmmc1 = {  	.consumer_supplies	= &ldp_vmmc1_supply,  }; +/* ads7846 on SPI */ +static struct regulator_consumer_supply ldp_vaux1_supplies[] = { +	REGULATOR_SUPPLY("vcc", "spi1.0"), +}; + +/* VAUX1 */ +static struct regulator_init_data ldp_vaux1 = { +	.constraints = { +		.min_uV			= 3000000, +		.max_uV			= 3000000, +		.apply_uV		= true, +		.valid_modes_mask	= REGULATOR_MODE_NORMAL +					| REGULATOR_MODE_STANDBY, +		.valid_ops_mask		= REGULATOR_CHANGE_MODE +					| REGULATOR_CHANGE_STATUS, +	}, +	.num_consumer_supplies		= ARRAY_SIZE(ldp_vaux1_supplies), +	.consumer_supplies		= ldp_vaux1_supplies, +}; +  static struct twl4030_platform_data ldp_twldata = {  	.irq_base	= TWL4030_IRQ_BASE,  	.irq_end	= TWL4030_IRQ_END, @@ -338,6 +355,7 @@ static struct twl4030_platform_data ldp_twldata = {  	.madc		= &ldp_madc_data,  	.usb		= &ldp_usb_data,  	.vmmc1		= &ldp_vmmc1, +	.vaux1		= &ldp_vaux1,  	.gpio		= &ldp_gpio_data,  	.keypad		= &ldp_kp_twl4030_data,  }; @@ -423,6 +441,8 @@ static struct mtd_partition ldp_nand_partitions[] = {  static void __init omap_ldp_init(void)  {  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); +	omap_board_config = ldp_config; +	omap_board_config_size = ARRAY_SIZE(ldp_config);  	ldp_init_smsc911x();  	omap_i2c_init();  	platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); @@ -434,7 +454,7 @@ static void __init omap_ldp_init(void)  	omap_serial_init();  	usb_musb_init(&musb_board_data);  	board_nand_init(ldp_nand_partitions, -		ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS); +		ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0);  	omap2_hsmmc_init(mmc);  	/* link regulators to MMC adapters */ @@ -443,9 +463,10 @@ static void __init omap_ldp_init(void)  MACHINE_START(OMAP_LDP, "OMAP LDP board")  	.boot_params	= 0x80000100, -	.map_io		= omap3_map_io,  	.reserve	= omap_reserve, -	.init_irq	= omap_ldp_init_irq, +	.map_io		= omap3_map_io, +	.init_early	= omap_ldp_init_early, +	.init_irq	= omap_init_irq,  	.init_machine	= omap_ldp_init,  	.timer		= &omap_timer,  MACHINE_END  |