diff mbox

[2/4] OMAP4: TWL: Add common omapdss supplies

Message ID 1314001599-17951-3-git-send-email-tomi.valkeinen@ti.com (mailing list archive)
State New, archived
Delegated to: Tomi Valkeinen
Headers show

Commit Message

Tomi Valkeinen Aug. 22, 2011, 8:26 a.m. UTC
OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration for
this into twl-common.c

Mark VCXIO as always_on, as VCXIO is used by multiple components,
including the MPU, and turning it off when DSS doesn't need it would
lead the device to halt.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/twl-common.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

Comments

archit taneja Sept. 2, 2011, 6:40 a.m. UTC | #1
Hi,

On Monday 22 August 2011 01:56 PM, Valkeinen, Tomi wrote:
> OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration for
> this into twl-common.c
>
> Mark VCXIO as always_on, as VCXIO is used by multiple components,
> including the MPU, and turning it off when DSS doesn't need it would
> lead the device to halt.

I had a query. Is this the right place to set always_on to true? Won't 
this lead to VCXIO being always on all omap4 boards? Is it necessary 
that VCXIO will be used to power on MPU for all omap4 boards?

Archit

>
> Signed-off-by: Tomi Valkeinen<tomi.valkeinen@ti.com>
> ---
>   arch/arm/mach-omap2/twl-common.c |    9 +++++++++
>   1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
> index 4f6d216..52243577 100644
> --- a/arch/arm/mach-omap2/twl-common.c
> +++ b/arch/arm/mach-omap2/twl-common.c
> @@ -235,6 +235,12 @@ static struct regulator_init_data omap4_vana_idata = {
>   	},
>   };
>
> +static struct regulator_consumer_supply omap4_vcxio_supply[] = {
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dss"),
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
> +	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.1"),
> +};
> +
>   static struct regulator_init_data omap4_vcxio_idata = {
>   	.constraints = {
>   		.min_uV			= 1800000,
> @@ -243,7 +249,10 @@ static struct regulator_init_data omap4_vcxio_idata = {
>   					| REGULATOR_MODE_STANDBY,
>   		.valid_ops_mask		= REGULATOR_CHANGE_MODE
>   					| REGULATOR_CHANGE_STATUS,
> +		.always_on		= true,
>   	},
> +	.num_consumer_supplies	= ARRAY_SIZE(omap4_vcxio_supply),
> +	.consumer_supplies	= omap4_vcxio_supply,
>   };
>
>   static struct regulator_init_data omap4_vusb_idata = {

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tomi Valkeinen Sept. 2, 2011, 7:30 a.m. UTC | #2
On Fri, 2011-09-02 at 12:10 +0530, Archit Taneja wrote:
> Hi,
> 
> On Monday 22 August 2011 01:56 PM, Valkeinen, Tomi wrote:
> > OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration
> for
> > this into twl-common.c
> >
> > Mark VCXIO as always_on, as VCXIO is used by multiple components,
> > including the MPU, and turning it off when DSS doesn't need it would
> > lead the device to halt.
> 
> I had a query. Is this the right place to set always_on to true?
> Won't 
> this lead to VCXIO being always on all omap4 boards? Is it necessary 
> that VCXIO will be used to power on MPU for all omap4 boards? 

I don't really know, but TRM's 27.2.1 Power Requirements chapter shows
vcxio connected to multiple places. It's an example, but I would guess
it is the common setup, thus setting it to always on in twl-common.c
sounds ok.

If there will be an omap4 board with different setup, then we need to
revisit this.

 Tomi


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

Patch

diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 4f6d216..52243577 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -235,6 +235,12 @@  static struct regulator_init_data omap4_vana_idata = {
 	},
 };
 
+static struct regulator_consumer_supply omap4_vcxio_supply[] = {
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dss"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.1"),
+};
+
 static struct regulator_init_data omap4_vcxio_idata = {
 	.constraints = {
 		.min_uV			= 1800000,
@@ -243,7 +249,10 @@  static struct regulator_init_data omap4_vcxio_idata = {
 					| REGULATOR_MODE_STANDBY,
 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
+		.always_on		= true,
 	},
+	.num_consumer_supplies	= ARRAY_SIZE(omap4_vcxio_supply),
+	.consumer_supplies	= omap4_vcxio_supply,
 };
 
 static struct regulator_init_data omap4_vusb_idata = {