diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3beagle.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 89 | 
1 files changed, 16 insertions, 73 deletions
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 7f21d24bd43..34f84111276 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -50,7 +50,6 @@  #include "mux.h"  #include "hsmmc.h" -#include "timer-gp.h"  #include "pm.h"  #include "common-board-devices.h" @@ -210,14 +209,6 @@ static struct omap_dss_board_info beagle_dss_data = {  	.default_device = &beagle_dvi_device,  }; -static struct regulator_consumer_supply beagle_vdac_supply = -	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); - -static struct regulator_consumer_supply beagle_vdvi_supplies[] = { -	REGULATOR_SUPPLY("vdds_dsi", "omapdss"), -	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), -}; -  static void __init beagle_display_init(void)  {  	int r; @@ -239,12 +230,12 @@ static struct omap2_hsmmc_info mmc[] = {  	{}	/* Terminator */  }; -static struct regulator_consumer_supply beagle_vmmc1_supply = { -	.supply			= "vmmc", +static struct regulator_consumer_supply beagle_vmmc1_supply[] = { +	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),  }; -static struct regulator_consumer_supply beagle_vsim_supply = { -	.supply			= "vmmc_aux", +static struct regulator_consumer_supply beagle_vsim_supply[] = { +	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),  };  static struct gpio_led gpio_leds[]; @@ -267,10 +258,6 @@ static int beagle_twl_gpio_setup(struct device *dev,  	mmc[0].gpio_cd = gpio + 0;  	omap2_hsmmc_init(mmc); -	/* link regulators to MMC adapters */ -	beagle_vmmc1_supply.dev = mmc[0].dev; -	beagle_vsim_supply.dev = mmc[0].dev; -  	/*  	 * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active  	 * high / others active low) @@ -336,8 +323,8 @@ static struct regulator_init_data beagle_vmmc1 = {  					| REGULATOR_CHANGE_MODE  					| REGULATOR_CHANGE_STATUS,  	}, -	.num_consumer_supplies	= 1, -	.consumer_supplies	= &beagle_vmmc1_supply, +	.num_consumer_supplies	= ARRAY_SIZE(beagle_vmmc1_supply), +	.consumer_supplies	= beagle_vmmc1_supply,  };  /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ @@ -351,62 +338,15 @@ static struct regulator_init_data beagle_vsim = {  					| REGULATOR_CHANGE_MODE  					| REGULATOR_CHANGE_STATUS,  	}, -	.num_consumer_supplies	= 1, -	.consumer_supplies	= &beagle_vsim_supply, -}; - -/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ -static struct regulator_init_data beagle_vdac = { -	.constraints = { -		.min_uV			= 1800000, -		.max_uV			= 1800000, -		.valid_modes_mask	= REGULATOR_MODE_NORMAL -					| REGULATOR_MODE_STANDBY, -		.valid_ops_mask		= REGULATOR_CHANGE_MODE -					| REGULATOR_CHANGE_STATUS, -	}, -	.num_consumer_supplies	= 1, -	.consumer_supplies	= &beagle_vdac_supply, -}; - -/* VPLL2 for digital video outputs */ -static struct regulator_init_data beagle_vpll2 = { -	.constraints = { -		.name			= "VDVI", -		.min_uV			= 1800000, -		.max_uV			= 1800000, -		.valid_modes_mask	= REGULATOR_MODE_NORMAL -					| REGULATOR_MODE_STANDBY, -		.valid_ops_mask		= REGULATOR_CHANGE_MODE -					| REGULATOR_CHANGE_STATUS, -	}, -	.num_consumer_supplies	= ARRAY_SIZE(beagle_vdvi_supplies), -	.consumer_supplies	= beagle_vdvi_supplies, -}; - -static struct twl4030_usb_data beagle_usb_data = { -	.usb_mode	= T2_USB_MODE_ULPI, -}; - -static struct twl4030_codec_audio_data beagle_audio_data; - -static struct twl4030_codec_data beagle_codec_data = { -	.audio_mclk = 26000000, -	.audio = &beagle_audio_data, +	.num_consumer_supplies	= ARRAY_SIZE(beagle_vsim_supply), +	.consumer_supplies	= beagle_vsim_supply,  };  static struct twl4030_platform_data beagle_twldata = { -	.irq_base	= TWL4030_IRQ_BASE, -	.irq_end	= TWL4030_IRQ_END, -  	/* platform_data for children goes here */ -	.usb		= &beagle_usb_data,  	.gpio		= &beagle_gpio_data, -	.codec		= &beagle_codec_data,  	.vmmc1		= &beagle_vmmc1,  	.vsim		= &beagle_vsim, -	.vdac		= &beagle_vdac, -	.vpll2		= &beagle_vpll2,  };  static struct i2c_board_info __initdata beagle_i2c_eeprom[] = { @@ -417,6 +357,12 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {  static int __init omap3_beagle_i2c_init(void)  { +	omap3_pmic_get_config(&beagle_twldata, +			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, +			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); + +	beagle_twldata.vpll2->constraints.name = "VDVI"; +  	omap3_pmic_init("twl4030", &beagle_twldata);  	/* Bus 3 is attached to the DVI port where devices like the pico DLP  	 * projector don't work reliably with 400kHz */ @@ -486,10 +432,7 @@ static void __init omap3_beagle_init_early(void)  static void __init omap3_beagle_init_irq(void)  { -	omap_init_irq(); -#ifdef CONFIG_OMAP_32K_TIMER -	omap2_gp_clockevent_set_gptimer(12); -#endif +	omap3_init_irq();  }  static struct platform_device *omap3_beagle_devices[] __initdata = { @@ -599,5 +542,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")  	.init_early	= omap3_beagle_init_early,  	.init_irq	= omap3_beagle_init_irq,  	.init_machine	= omap3_beagle_init, -	.timer		= &omap_timer, +	.timer		= &omap3_secure_timer,  MACHINE_END  |