Skip to contentSkip to conversation

omap: rx51: Use REGULATOR_SUPPLY macro when initializing regulator consumers

PATCH Superseded Jarkko Nikula 2 participants 6 messages May 18, 2010 – May 20, 2010

Subsystems (3)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 omap: rx51: Use REGULATOR_SUPPLY macro when initializing regulator consumers

---
 arch/arm/mach-omap2/board-rx51-peripherals.c |   43 ++++++-------------------
 1 files changed, 11 insertions(+), 32 deletions(-)
arch/arm/mach-omap2/board-rx51-peripherals.c +11 -32
index 8179d55..ead7ee1 100644
@@ -272,48 +272,27 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
 	{}	/* Terminator */
 };
 
-static struct regulator_consumer_supply rx51_vmmc1_supply = {
-	.supply   = "vmmc",
-	.dev_name = "mmci-omap-hs.0",
-};
+static struct regulator_consumer_supply rx51_vmmc1_supply =
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.0");
 
-static struct regulator_consumer_supply rx51_vaux3_supply = {
-	.supply   = "vmmc",
-	.dev_name = "mmci-omap-hs.1",
-};
+static struct regulator_consumer_supply rx51_vaux3_supply =
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1");
 
-static struct regulator_consumer_supply rx51_vsim_supply = {
-	.supply   = "vmmc_aux",
-	.dev_name = "mmci-omap-hs.1",
-};
+static struct regulator_consumer_supply rx51_vsim_supply =
+	REGULATOR_SUPPLY("vmmc_aux", "mmci-omap-hs.1");
 
 static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
-	{
-		.supply		= "AVDD",
-		.dev_name	= "2-0018",
-	},
-	{
-		.supply		= "DRVDD",
-		.dev_name	= "2-0018",
-	},
+	REGULATOR_SUPPLY("AVDD", "2-0018"),
+	REGULATOR_SUPPLY("DRVDD", "2-0018"),
 	/* Keep vmmc as last item. It is not iterated for newer boards */
-	{
-		.supply		= "vmmc",
-		.dev_name	= "mmci-omap-hs.1",
-	},
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
 };
 
 static struct regulator_consumer_supply rx51_vio_supplies[] = {
 	/* tlv320aic3x digital supplies */
-	{
-		.supply		= "IOVDD",
-		.dev_name	= "2-0018"
-	},
-	{
-		.supply		= "DVDD",
-		.dev_name	= "2-0018"
-	},
+	REGULATOR_SUPPLY("IOVDD", "2-0018"),
+	REGULATOR_SUPPLY("DVDD", "2-0018"),
 };
 
 static struct regulator_init_data rx51_vaux1 = {
Signature · 1 line
1.7.1
#1 lore raw

PATCH 2/2 omap: rx51: Add supplies and data for the tpa6130a2 headphone amplifier

---
This is build and boot safe but required if wanting to add support for headphones in upcoming sound/soc/omap/rx51.c.

---
 arch/arm/mach-omap2/board-rx51-peripherals.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-rx51-peripherals.c +14 -0
index ead7ee1..2376ef7 100644
@@ -33,6 +33,8 @@
 #include <plat/onenand.h>
 #include <plat/gpmc-smc91x.h>
 
+#include <sound/tpa6130a2-plat.h>
+
 #include "mux.h"
 #include "hsmmc.h"
 
@@ -285,6 +287,9 @@ static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
 	REGULATOR_SUPPLY("AVDD", "2-0018"),
 	REGULATOR_SUPPLY("DRVDD", "2-0018"),
+	/* tpa6130a2 */
+	REGULATOR_SUPPLY("CPVSS", "2-0060"),
+	REGULATOR_SUPPLY("Vdd", "2-0060"),
 	/* Keep vmmc as last item. It is not iterated for newer boards */
 	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
 };
@@ -652,10 +657,19 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
 	},
 };
 
+static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = {
+	.id			= TPA6130A2,
+	.power_gpio		= 98,
+};
+
 static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
 	{
 		I2C_BOARD_INFO("tlv320aic3x", 0x18),
 	},
+	{
+		I2C_BOARD_INFO("tpa6130a2", 0x60),
+		.platform_data = &rx51_tpa6130a2_data,
+	}
 };
 
 static int __init rx51_i2c_init(void)
Signature · 1 line
1.7.1
#2 lore raw

Re: [PATCH 2/2] omap: rx51: Add supplies and data for the tpa6130a2 headphone amplifier

Hei Jarkko,

Quoted 22 lines · Jarkko Nikula

---
This is build and boot safe but required if wanting to add support for headphones in upcoming sound/soc/omap/rx51.c.

---
 arch/arm/mach-omap2/board-rx51-peripherals.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-rx51-peripherals.c +2 -0
index ead7ee1..2376ef7 100644
@@ -33,6 +33,8 @@
 #include <plat/onenand.h>
 #include <plat/gpmc-smc91x.h>
 
+#include <sound/tpa6130a2-plat.h>
+
 #include "mux.h"
 #include "hsmmc.h"
 

arch/arm/mach-omap2/board-rx51-peripherals.c static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { · line 291

Quoted 5 lines
arch/arm/mach-omap2/board-rx51-peripherals.c +2 -0
@@ -285,6 +287,9 @@ static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
 	REGULATOR_SUPPLY("AVDD", "2-0018"),
 	REGULATOR_SUPPLY("DRVDD", "2-0018"),
+	/* tpa6130a2 */
+	REGULATOR_SUPPLY("CPVSS", "2-0060"),

Isn't CPVSS grounded? Well that wouldn't hurt to put it here, but it doesnt belong to vmmc2 though.

Quoted 26 lines
arch/arm/mach-omap2/board-rx51-peripherals.c +10 -0
+	REGULATOR_SUPPLY("Vdd", "2-0060"),
 	/* Keep vmmc as last item. It is not iterated for newer boards */
 	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
 };
@@ -652,10 +657,19 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
 	},
 };
 
+static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = {
+	.id			= TPA6130A2,
+	.power_gpio		= 98,
+};
+
 static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
 	{
 		I2C_BOARD_INFO("tlv320aic3x", 0x18),
 	},
+	{
+		I2C_BOARD_INFO("tpa6130a2", 0x60),
+		.platform_data = &rx51_tpa6130a2_data,
+	}
 };
 
 static int __init rx51_i2c_init(void)
Signature · 1 line
1.7.1
#3 lore raw

Re: [PATCH 2/2] omap: rx51: Add supplies and data for the tpa6130a2 headphone amplifier

Quoted 9 lines · On Tue, 18 May 2010 15:48:48 +0300 Eduardo Valentin…

arch/arm/mach-omap2/board-rx51-peripherals.c static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { · line 291

Quoted 6 lines
arch/arm/mach-omap2/board-rx51-peripherals.c +2 -0
@@ -285,6 +287,9 @@ static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
 	REGULATOR_SUPPLY("AVDD", "2-0018"),
 	REGULATOR_SUPPLY("DRVDD", "2-0018"),
+	/* tpa6130a2 */
+	REGULATOR_SUPPLY("CPVSS", "2-0060"),

Isn't CPVSS grounded? Well that wouldn't hurt to put it here, but it doesnt belong to vmmc2 though.

Thanks Eduardo! For me it looks this CPVSS supply is miss-added to the tpa6130a2 as spec says for this pin:

"Negative supply generated by the charge pump. Decouple to pin 19 on the QFN or a CPVSS B2 15, 16 P GND plane. Use a 1 μF capacitor."

I'll send a fix first to the tpa6130a2 and repost this one after that.

Signature · 5 lines
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw

Re: [PATCH 2/2] omap: rx51: Add supplies and data for the tpa6130a2 headphone amplifier

Quoted 12 lines · Jarkko Nikula
Quoted 9 lines · On Tue, 18 May 2010 15:48:48 +0300 Eduardo Valentin…

arch/arm/mach-omap2/board-rx51-peripherals.c static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { · line 291

Quoted 6 lines
arch/arm/mach-omap2/board-rx51-peripherals.c +2 -0
@@ -285,6 +287,9 @@ static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
 	REGULATOR_SUPPLY("AVDD", "2-0018"),
 	REGULATOR_SUPPLY("DRVDD", "2-0018"),
+	/* tpa6130a2 */
+	REGULATOR_SUPPLY("CPVSS", "2-0060"),

Isn't CPVSS grounded? Well that wouldn't hurt to put it here, but it doesnt belong to vmmc2 though.

Quoted 5 lines

Thanks Eduardo! For me it looks this CPVSS supply is miss-added to the tpa6130a2 as spec says for this pin:

"Negative supply generated by the charge pump. Decouple to pin 19 on the QFN or a CPVSS B2 15, 16 P GND plane. Use a 1 μF capacitor."

right.

Quoted 2 lines

I'll send a fix first to the tpa6130a2 and repost this one after that.

OK. good.

Quoted 4 lines
Signature · 2 lines
-- 
Jarkko

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Acked-by on v1 1/2
#5 lore raw
In reply to Jarkko Nikula

Moi Jarkko,

Quoted 1 line · Jarkko Nikula

I don't have any major objections on this one. I'd just add a patch description though. Other than that:

Quoted 70 lines
---
 arch/arm/mach-omap2/board-rx51-peripherals.c |   43 ++++++-------------------
 1 files changed, 11 insertions(+), 32 deletions(-)
arch/arm/mach-omap2/board-rx51-peripherals.c +11 -32
index 8179d55..ead7ee1 100644
@@ -272,48 +272,27 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
 	{}	/* Terminator */
 };
 
-static struct regulator_consumer_supply rx51_vmmc1_supply = {
-	.supply   = "vmmc",
-	.dev_name = "mmci-omap-hs.0",
-};
+static struct regulator_consumer_supply rx51_vmmc1_supply =
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.0");
 
-static struct regulator_consumer_supply rx51_vaux3_supply = {
-	.supply   = "vmmc",
-	.dev_name = "mmci-omap-hs.1",
-};
+static struct regulator_consumer_supply rx51_vaux3_supply =
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1");
 
-static struct regulator_consumer_supply rx51_vsim_supply = {
-	.supply   = "vmmc_aux",
-	.dev_name = "mmci-omap-hs.1",
-};
+static struct regulator_consumer_supply rx51_vsim_supply =
+	REGULATOR_SUPPLY("vmmc_aux", "mmci-omap-hs.1");
 
 static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
 	/* tlv320aic3x analog supplies */
-	{
-		.supply		= "AVDD",
-		.dev_name	= "2-0018",
-	},
-	{
-		.supply		= "DRVDD",
-		.dev_name	= "2-0018",
-	},
+	REGULATOR_SUPPLY("AVDD", "2-0018"),
+	REGULATOR_SUPPLY("DRVDD", "2-0018"),
 	/* Keep vmmc as last item. It is not iterated for newer boards */
-	{
-		.supply		= "vmmc",
-		.dev_name	= "mmci-omap-hs.1",
-	},
+	REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
 };
 
 static struct regulator_consumer_supply rx51_vio_supplies[] = {
 	/* tlv320aic3x digital supplies */
-	{
-		.supply		= "IOVDD",
-		.dev_name	= "2-0018"
-	},
-	{
-		.supply		= "DVDD",
-		.dev_name	= "2-0018"
-	},
+	REGULATOR_SUPPLY("IOVDD", "2-0018"),
+	REGULATOR_SUPPLY("DVDD", "2-0018"),
 };
 
 static struct regulator_init_data rx51_vaux1 = {
Signature · 1 line
1.7.1