Skip to contentSkip to conversation

Combine dsi and sdi under the same vdds supply.

PATCH In review Mathieu Poirier 3 participants 3 messages Jul 15, 2010 – Jul 17, 2010

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

PATCH 1/1 Combine dsi and sdi under the same vdds supply.

Quoted 1 line

From b817304b25a0358f2897d39048adfada8d4126bc Mon Sep 17 00:00:00 2001

From: Mathieu J. Poirier <[email protected]>
Date: Wed, 14 Jul 2010 15:31:46 -0600
Subject: [PATCH] Combine dsi and sdi under the same vdds supply.

The omapfb driver can't locate its display sink because of an initialization error in the DSS subsystem. This error is caused by a missing sdi entry in the board power regulator list. Adding the missing sdi entry and combining dsi and sdi under the same vdds supply.

Signed-off-by <[email protected]>
---
 arch/arm/mach-omap2/board-omap3beagle.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
arch/arm/mach-omap2/board-omap3beagle.c +6 -5
index 69b154c..32565dc 100644
@@ -162,8 +162,10 @@ static struct platform_device beagle_dss_device = {
 static struct regulator_consumer_supply beagle_vdac_supply =
 	REGULATOR_SUPPLY("vdda_dac", "omapdss");
 
-static struct regulator_consumer_supply beagle_vdvi_supply =
-	REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply beagle_vdds_supplies[] = {
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
+};
 
 static void __init beagle_display_init(void)
 {
@@ -291,7 +293,6 @@ static struct regulator_init_data beagle_vdac = {
 /* 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
@@ -299,8 +300,8 @@ static struct regulator_init_data beagle_vpll2 = {
 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
 	},
-	.num_consumer_supplies	= 1,
-	.consumer_supplies	= &beagle_vdvi_supply,
+	.num_consumer_supplies  = ARRAY_SIZE(beagle_vdds_supplies),
+	.consumer_supplies      = beagle_vdds_supplies,
 };
 
 static struct twl4030_usb_data beagle_usb_data = {
Signature · 1 line
1.7.0.4
#1 lore raw

Tomi, Koen,

Quoted 5 lines · Mathieu Poirier
Quoted 1 line

From b817304b25a0358f2897d39048adfada8d4126bc Mon Sep 17 00:00:00 2001

From: Mathieu J. Poirier <[email protected]>
Date: Wed, 14 Jul 2010 15:31:46 -0600
Subject: [PATCH] Combine dsi and sdi under the same vdds supply.

Quoted 8 lines

The omapfb driver can't locate its display sink because of an initialization error in the DSS subsystem. This error is caused by a missing sdi entry in the board power regulator list. Adding the missing sdi entry and combining dsi and sdi under the same vdds supply.

Signed-off-by <[email protected]>

care to take a quick look at this one?

- Paul

Quoted 45 lines
---
 arch/arm/mach-omap2/board-omap3beagle.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
arch/arm/mach-omap2/board-omap3beagle.c +6 -5
index 69b154c..32565dc 100644
@@ -162,8 +162,10 @@ static struct platform_device beagle_dss_device = {
 static struct regulator_consumer_supply beagle_vdac_supply =
 	REGULATOR_SUPPLY("vdda_dac", "omapdss");
 
-static struct regulator_consumer_supply beagle_vdvi_supply =
-	REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply beagle_vdds_supplies[] = {
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
+};
 
 static void __init beagle_display_init(void)
 {
@@ -291,7 +293,6 @@ static struct regulator_init_data beagle_vdac = {
 /* 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
@@ -299,8 +300,8 @@ static struct regulator_init_data beagle_vpll2 = {
 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
 	},
-	.num_consumer_supplies	= 1,
-	.consumer_supplies	= &beagle_vdvi_supply,
+	.num_consumer_supplies  = ARRAY_SIZE(beagle_vdds_supplies),
+	.consumer_supplies      = beagle_vdds_supplies,
 };
 
 static struct twl4030_usb_data beagle_usb_data = {
Signature · 1 line
1.7.0.4
#2 lore raw

Hi,

Sorry for top posting, using MS outlook web access.

I don't think this patch is needed. SDI output requires vdds_sdi to work, but beagle board doesn't use SDI. I believe you have for some reason enabled SDI in kernel config. Disabling it should fix the boot problem.

The DSS driver should probably only try to get the regulator if SDI interface is actually being used, as the current way makes it impossible to use the same kernel for different boards...

Tomi
________________________________________
From: [email protected] [[email protected]] On Behalf Of ext Paul Walmsley [[email protected]]
Sent: Saturday, July 17, 2010 02:21
To: Koen Kooi; Valkeinen Tomi (Nokia-MS/Helsinki)
Cc: Mathieu Poirier; [email protected]; [email protected]
Subject: Re: [PATCH] Combine dsi and sdi under the same vdds supply.

Tomi, Koen,

Quoted 5 lines · Mathieu Poirier
Quoted 1 line

From b817304b25a0358f2897d39048adfada8d4126bc Mon Sep 17 00:00:00 2001

From: Mathieu J. Poirier <[email protected]>
Date: Wed, 14 Jul 2010 15:31:46 -0600
Subject: [PATCH] Combine dsi and sdi under the same vdds supply.

Quoted 8 lines

The omapfb driver can't locate its display sink because of an initialization error in the DSS subsystem. This error is caused by a missing sdi entry in the board power regulator list. Adding the missing sdi entry and combining dsi and sdi under the same vdds supply.

Signed-off-by <[email protected]>

care to take a quick look at this one?

- Paul

Quoted 41 lines
---
 arch/arm/mach-omap2/board-omap3beagle.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
arch/arm/mach-omap2/board-omap3beagle.c +6 -6
index 69b154c..32565dc 100644
@@ -162,8 +162,10 @@ static struct platform_device beagle_dss_device = {
 static struct regulator_consumer_supply beagle_vdac_supply =
      REGULATOR_SUPPLY("vdda_dac", "omapdss");
 
-static struct regulator_consumer_supply beagle_vdvi_supply =
-     REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply beagle_vdds_supplies[] = {
+     REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+     REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
+};
 
 static void __init beagle_display_init(void)
 {
@@ -291,7 +293,6 @@ static struct regulator_init_data beagle_vdac = {
 /* 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
@@ -299,8 +300,8 @@ static struct regulator_init_data beagle_vpll2 = {
              .valid_ops_mask         = REGULATOR_CHANGE_MODE
                                      | REGULATOR_CHANGE_STATUS,
      },
-     .num_consumer_supplies  = 1,
-     .consumer_supplies      = &beagle_vdvi_supply,
+     .num_consumer_supplies  = ARRAY_SIZE(beagle_vdds_supplies),
+     .consumer_supplies      = beagle_vdds_supplies,
 };
 
 static struct twl4030_usb_data beagle_usb_data = {
--
Quoted 4 lines

1.7.0.4

--
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