Patchwork UBUNTU : SAUCE - ARM: Adding vdd_sdi regulator supply to OMAP3EVM

login
register
mail settings
Submitter Mathieu Poirier
Date Sept. 15, 2010, 11:30 p.m.
Message ID <1284593451.3586.17.camel@black>
Download mbox | patch
Permalink /patch/64926/
State Accepted
Delegated to: Leann Ogasawara
Headers show

Comments

Mathieu Poirier - Sept. 15, 2010, 11:30 p.m.
>From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001
From: Mathieu J. Poirier <mathieu.poirier@canonical.com>
Date: Wed, 15 Sep 2010 17:14:01 -0600
Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM

This is to allow the omapfb sub system to complete its
initialisation properly and enable LCD display.

https://bugs.launchpad.net/bugs/630885

Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com>
---
 arch/arm/mach-omap2/board-omap3evm.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
Tim Gardner - Sept. 16, 2010, 2:02 p.m.
On 09/15/2010 05:30 PM, Mathieu Poirier wrote:
>> From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001
> From: Mathieu J. Poirier<mathieu.poirier@canonical.com>
> Date: Wed, 15 Sep 2010 17:14:01 -0600
> Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM
>
> This is to allow the omapfb sub system to complete its
> initialisation properly and enable LCD display.
>
> https://bugs.launchpad.net/bugs/630885
>
> Signed-off-by: Mathieu Poirier<mathieu.poirier@canonical.com>
> ---
>   arch/arm/mach-omap2/board-omap3evm.c |   10 +++++-----
>   1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
> index ef89ffa..be62606 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = {
>   };
>
>   /* VPLL2 for digital video outputs */
> -static struct regulator_consumer_supply omap3_evm_vpll2_supply = {
> -	.supply		= "vdvi",
> -	.dev		=&omap3_evm_lcd_device.dev,
> +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
> +	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
>   };
>
>   static struct regulator_init_data omap3_evm_vpll2 = {
> @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
>   		.valid_ops_mask		= REGULATOR_CHANGE_MODE
>   					| REGULATOR_CHANGE_STATUS,
>   	},
> -	.num_consumer_supplies	= 1,
> -	.consumer_supplies	=&omap3_evm_vpll2_supply,
> +	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdds_supplies),
> +	.consumer_supplies	= omap3_evm_vdds_supplies,
>   };
>
>   static struct twl4030_platform_data omap3evm_twldata = {

With the kernel freeze in effect you now need to write the SRU 
justification. This patch is also a bit short on provenance, e.g., 
http://marc.info/?l=linux-omap&m=126829773001754&w=2
Mathieu Poirier - Sept. 16, 2010, 2:44 p.m.
SRU Justification:

Impact: When booting the omapdss subsystem is looking for a regulator
named "vdds_sdi". When the regulator is not found the initialisation
sequence is aborted, resulting in omapfb not finding a display to work
with.

Fix: The problem was fixed by lumping a "vdds_sdi" with the already
existing "vdds_dsi" regulator. This fix take its root from work done on
the Beagle board and the Pandora board. More spefically:
 - 7b097896e4a5b5ea4798db806e63a1138b1b8eb8
 - f6873eedd94df20cfb705856a78440a4c176c6b6

Testcase:
 - When booting an EVM board without the patch there is no LCD display.
When booting with the patch you get a graphical display.



On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote:
> >From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001
> From: Mathieu J. Poirier <mathieu.poirier@canonical.com>
> Date: Wed, 15 Sep 2010 17:14:01 -0600
> Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM
> 
> This is to allow the omapfb sub system to complete its
> initialisation properly and enable LCD display.
> 
> https://bugs.launchpad.net/bugs/630885
> 
> Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com>
> ---
>  arch/arm/mach-omap2/board-omap3evm.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
> index ef89ffa..be62606 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = {
>  };
>  
>  /* VPLL2 for digital video outputs */
> -static struct regulator_consumer_supply omap3_evm_vpll2_supply = {
> -	.supply		= "vdvi",
> -	.dev		= &omap3_evm_lcd_device.dev,
> +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
> +	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
>  };
>  
>  static struct regulator_init_data omap3_evm_vpll2 = {
> @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
>  		.valid_ops_mask		= REGULATOR_CHANGE_MODE
>  					| REGULATOR_CHANGE_STATUS,
>  	},
> -	.num_consumer_supplies	= 1,
> -	.consumer_supplies	= &omap3_evm_vpll2_supply,
> +	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdds_supplies),
> +	.consumer_supplies	= omap3_evm_vdds_supplies,
>  };
>  
>  static struct twl4030_platform_data omap3evm_twldata = {
> -- 
> 1.7.0.4
> 
> 
> 
>
Tim Gardner - Sept. 16, 2010, 4:56 p.m.
I note that you've marked this as 'SAUCE', but it looks like it should 
also go upstream. Agreed?

rtg

On 09/16/2010 08:44 AM, Mathieu Poirier wrote:
>
> SRU Justification:
>
> Impact: When booting the omapdss subsystem is looking for a regulator
> named "vdds_sdi". When the regulator is not found the initialisation
> sequence is aborted, resulting in omapfb not finding a display to work
> with.
>
> Fix: The problem was fixed by lumping a "vdds_sdi" with the already
> existing "vdds_dsi" regulator. This fix take its root from work done on
> the Beagle board and the Pandora board. More spefically:
>   - 7b097896e4a5b5ea4798db806e63a1138b1b8eb8
>   - f6873eedd94df20cfb705856a78440a4c176c6b6
>
> Testcase:
>   - When booting an EVM board without the patch there is no LCD display.
> When booting with the patch you get a graphical display.
>
>
>
> On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote:
>> > From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001
>> From: Mathieu J. Poirier<mathieu.poirier@canonical.com>
>> Date: Wed, 15 Sep 2010 17:14:01 -0600
>> Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM
>>
>> This is to allow the omapfb sub system to complete its
>> initialisation properly and enable LCD display.
>>
>> https://bugs.launchpad.net/bugs/630885
>>
>> Signed-off-by: Mathieu Poirier<mathieu.poirier@canonical.com>
>> ---
>>   arch/arm/mach-omap2/board-omap3evm.c |   10 +++++-----
>>   1 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
>> index ef89ffa..be62606 100644
>> --- a/arch/arm/mach-omap2/board-omap3evm.c
>> +++ b/arch/arm/mach-omap2/board-omap3evm.c
>> @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = {
>>   };
>>
>>   /* VPLL2 for digital video outputs */
>> -static struct regulator_consumer_supply omap3_evm_vpll2_supply = {
>> -	.supply		= "vdvi",
>> -	.dev		=&omap3_evm_lcd_device.dev,
>> +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
>> +	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
>> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
>>   };
>>
>>   static struct regulator_init_data omap3_evm_vpll2 = {
>> @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
>>   		.valid_ops_mask		= REGULATOR_CHANGE_MODE
>>   					| REGULATOR_CHANGE_STATUS,
>>   	},
>> -	.num_consumer_supplies	= 1,
>> -	.consumer_supplies	=&omap3_evm_vpll2_supply,
>> +	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdds_supplies),
>> +	.consumer_supplies	= omap3_evm_vdds_supplies,
>>   };
>>
>>   static struct twl4030_platform_data omap3evm_twldata = {
>> --
>> 1.7.0.4
>>
>>
>>
>>
>
>
>
Leann Ogasawara - Sept. 17, 2010, 9:32 p.m.
Applied to Maverick linux master but with a modified commit message to
include much of the information outlined in the SRU justification.

Thanks,
Leann

On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote:
> >From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001
> From: Mathieu J. Poirier <mathieu.poirier@canonical.com>
> Date: Wed, 15 Sep 2010 17:14:01 -0600
> Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM
> 
> This is to allow the omapfb sub system to complete its
> initialisation properly and enable LCD display.
> 
> https://bugs.launchpad.net/bugs/630885
> 
> Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com>
> ---
>  arch/arm/mach-omap2/board-omap3evm.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
> index ef89ffa..be62606 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = {
>  };
>  
>  /* VPLL2 for digital video outputs */
> -static struct regulator_consumer_supply omap3_evm_vpll2_supply = {
> -	.supply		= "vdvi",
> -	.dev		= &omap3_evm_lcd_device.dev,
> +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
> +	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
>  };
>  
>  static struct regulator_init_data omap3_evm_vpll2 = {
> @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
>  		.valid_ops_mask		= REGULATOR_CHANGE_MODE
>  					| REGULATOR_CHANGE_STATUS,
>  	},
> -	.num_consumer_supplies	= 1,
> -	.consumer_supplies	= &omap3_evm_vpll2_supply,
> +	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdds_supplies),
> +	.consumer_supplies	= omap3_evm_vdds_supplies,
>  };
>  
>  static struct twl4030_platform_data omap3evm_twldata = {
> -- 
> 1.7.0.4
> 
> 
> 
>

Patch

diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index ef89ffa..be62606 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -514,9 +514,9 @@  static struct regulator_init_data omap3_evm_vdac = {
 };
 
 /* VPLL2 for digital video outputs */
-static struct regulator_consumer_supply omap3_evm_vpll2_supply = {
-	.supply		= "vdvi",
-	.dev		= &omap3_evm_lcd_device.dev,
+static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = {
+	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
 };
 
 static struct regulator_init_data omap3_evm_vpll2 = {
@@ -530,8 +530,8 @@  static struct regulator_init_data omap3_evm_vpll2 = {
 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
 	},
-	.num_consumer_supplies	= 1,
-	.consumer_supplies	= &omap3_evm_vpll2_supply,
+	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdds_supplies),
+	.consumer_supplies	= omap3_evm_vdds_supplies,
 };
 
 static struct twl4030_platform_data omap3evm_twldata = {