Skip to contentSkip to conversation

twl4030: create regulator devices

PATCH In review David Brownell 1 participant 1 message Nov 12, 2008

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 3/4 twl4030: create regulator devices

Initial code to create twl4030 voltage regulator devices, using the new regulator framework. Note that this now starts to care what name is used to declare the TWL chip:

- TWL4030 is the "old" chip; all newer ones have a bigger variety of VAUX2 voltages. (Boards using the newer chip include at least Overo and Pandora; udpated here to report they're using catalog versions of the TWL5030.)

- The tps65930 and tps65920 are cost-reduced catalog versions of the TWL5030 parts ... they don't have as many regulators, have no battery charger, and trim audio corners too. (Beagle rev C is rumored to use the '30 part.)

Code that could ("should"?) leverage the regulator stuff include twl4030 USB transceiver support and MMC glue, and LCD support for 3430SDP and Labrador boards. Setup will need more work, some of it board-specific.

---
 arch/arm/mach-omap2/board-omap3pandora.c |    2 
 arch/arm/mach-omap2/board-overo.c        |    2 
 drivers/mfd/twl4030-core.c               |  188 +++++++++++++++++++++++++++--
 include/linux/i2c/twl4030.h              |   12 +
 4 files changed, 192 insertions(+), 12 deletions(-)
arch/arm/mach-omap2/board-omap3pandora.c +1 -1
@@ -162,7 +162,7 @@ static struct twl4030_platform_data omap
 
 static struct i2c_board_info __initdata omap3pandora_i2c_boardinfo[] = {
 	{
-		I2C_BOARD_INFO("twl4030", 0x48),
+		I2C_BOARD_INFO("tps65950", 0x48),
 		.flags = I2C_CLIENT_WAKE,
 		.irq = INT_34XX_SYS_NIRQ,
 		.platform_data = &omap3pandora_twldata,
arch/arm/mach-omap2/board-overo.c +1 -1
@@ -167,7 +167,7 @@ static struct twl4030_platform_data over
 
 static struct i2c_board_info __initdata overo_i2c_boardinfo[] = {
 	{
-		I2C_BOARD_INFO("twl4030", 0x48),
+		I2C_BOARD_INFO("tps65950", 0x48),
 		.flags = I2C_CLIENT_WAKE,
 		.irq = INT_34XX_SYS_NIRQ,
 		.platform_data = &overo_twldata,
drivers/mfd/twl4030-core.c +178 -10

251 lines not on this page · raw message

include/linux/i2c/twl4030.h +12 -0
@@ -345,6 +345,18 @@ struct twl4030_platform_data {
 	struct twl4030_usb_data			*usb;
 	struct twl4030_power_data		*power;
 
+	/* LDO regulators */
+	struct regulator_init_data		*vdac;
+	struct regulator_init_data		*vpll1;
+	struct regulator_init_data		*vpll2;
+	struct regulator_init_data		*vmmc1;
+	struct regulator_init_data		*vmmc2;
+	struct regulator_init_data		*vsim;
+	struct regulator_init_data		*vaux1;
+	struct regulator_init_data		*vaux2;
+	struct regulator_init_data		*vaux3;
+	struct regulator_init_data		*vaux4;
+
 	/* REVISIT more to come ... _nothing_ should be hard-wired */
 };