twl: beagle regulator updates
Subsystems (3)
PATCH 3/4 twl: beagle regulator updates
From: David Brownell <[email protected]>
Add init data for the LDO regulators used on Beagle boards:
- VMMC1 is the main MMC1 power
- VSIM powers MMC1 too: DAT4-DAT7 pins, for HSMMC cards
- VDAC for S-Video output
Those regulators need to be hooked up to the MMC1 and FB (?) devices through the regulator framework.
Signed-off-by David Brownell <[email protected]>
--- arch/arm/mach-omap2/board-omap3beagle.c | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
arch/arm/mach-omap2/board-omap3beagle.c +39 -0
@@ -28,6 +28,8 @@#include <linux/mtd/partitions.h> #include <linux/mtd/nand.h> +#include <linux/regulator/machine.h> +#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h>
@@ -163,6 +165,40 @@ static struct twl4030_gpio_platform_data .setup = beagle_twl_gpio_setup, }; +/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ +static struct regulator_init_data beagle_vmmc1 = { + .constraints = { + .valid_modes_mask =REGULATOR_MODE_NORMAL + |REGULATOR_MODE_STANDBY , + .valid_ops_mask =REGULATOR_CHANGE_VOLTAGE + |REGULATOR_CHANGE_MODE + |REGULATOR_CHANGE_STATUS , + }, +}; + +/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ +static struct regulator_init_data beagle_vsim = { + .constraints = { + .valid_modes_mask =REGULATOR_MODE_NORMAL + |REGULATOR_MODE_STANDBY , + .valid_ops_mask =REGULATOR_CHANGE_VOLTAGE + |REGULATOR_CHANGE_MODE + |REGULATOR_CHANGE_STATUS , + }, +}; + +/* 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 , + }, +}; +static struct twl4030_platform_data beagle_twldata = { .irq_base =TWL4030_IRQ_BASE , .irq_end =TWL4030_IRQ_END ,
@@ -171,6 +207,9 @@ static struct twl4030_platform_data beag .usb = &beagle_usb_data, .gpio = &beagle_gpio_data, .power = &generic3430_t2scripts_data, + .vmmc1 = &beagle_vmmc1, + .vsim = &beagle_vsim, + .vdac = &beagle_vdac, };static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = {