]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
twl: beagle regulator updates
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sat, 15 Nov 2008 20:41:34 +0000 (12:41 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 25 Nov 2008 23:24:52 +0000 (15:24 -0800)
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 <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/board-omap3beagle.c

index c0f08db5746468dd4f2616f7e63c9685ff829f06..9b7f4af34236326d8121bd91d7fae0c86521dac5 100644 (file)
@@ -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 beagle_gpio_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 beagle_twldata = {
        .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[] = {