diff mbox

[PATCHv2,4/5] TEMP: OMAP3: beagle rev-c4: enable OPP6

Message ID 1310565638-13140-5-git-send-email-t-kristo@ti.com (mailing list archive)
State Superseded
Headers show

Commit Message

Tero Kristo July 13, 2011, 2 p.m. UTC
Beagleboard rev-c4 has a speed sorted OMAP3530 chip which can run at 720MHz.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
 arch/arm/mach-omap2/board-omap3beagle.c |   32 +++++++++++++++++++++++++++++++
 arch/arm/mach-omap2/opp3xxx_data.c      |    4 +++
 2 files changed, 36 insertions(+), 0 deletions(-)

Comments

Sanjeev Premi July 13, 2011, 5:49 p.m. UTC | #1
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Kristo, Tero
> Sent: Wednesday, July 13, 2011 7:31 PM
> To: linux-omap@vger.kernel.org
> Cc: broonie@opensource.wolfsonmicro.com; Girdwood, Liam; Hilman, Kevin
> Subject: [PATCHv2 4/5] TEMP: OMAP3: beagle rev-c4: enable OPP6
> 
> Beagleboard rev-c4 has a speed sorted OMAP3530 chip which can 
> run at 720MHz.
> 
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
> ---
>  arch/arm/mach-omap2/board-omap3beagle.c |   32 
> +++++++++++++++++++++++++++++++
>  arch/arm/mach-omap2/opp3xxx_data.c      |    4 +++
>  2 files changed, 36 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-omap3beagle.c 
> b/arch/arm/mach-omap2/board-omap3beagle.c
> index d7ae648..5ab507d 100644
> --- a/arch/arm/mach-omap2/board-omap3beagle.c
> +++ b/arch/arm/mach-omap2/board-omap3beagle.c
> @@ -592,6 +592,38 @@ static void __init beagle_opp_init(void)
>  		return;
>  	}
>  
> +	/* Custom OPP enabled for C4 */
> +	if (omap3_beagle_version == OMAP3BEAGLE_BOARD_C4) {
> +		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> +		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
> +		struct device *dev;
> +
> +		if (!mh || !dh) {
> +			pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n",
> +				__func__, mh, dh);
> +		}
> +		/* Enable MPU 720MHz opp */
> +		dev = &mh->od->pdev.dev;
> +		r = opp_enable(dev, 720000000);
> +
> +		/* Enable IVA 520MHz opp */
> +		dev = &dh->od->pdev.dev;
> +		r |= opp_enable(dev, 520000000);
> +
> +		if (r) {
> +			pr_err("%s: failed to enable higher opp %d\n",
> +				__func__, r);
> +			/*
> +			 * Cleanup - disable the higher freqs - 
> we dont care
> +			 * about the results
> +			 */
> +			dev = &mh->od->pdev.dev;
> +			opp_disable(dev, 720000000);
> +			dev = &dh->od->pdev.dev;
> +			opp_disable(dev, 520000000);
> +		}
> +	}
> +
>  	/* Custom OPP enabled for all xM versions */
>  	if (cpu_is_omap3630()) {
>  		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> diff --git a/arch/arm/mach-omap2/opp3xxx_data.c 
> b/arch/arm/mach-omap2/opp3xxx_data.c
> index d95f3f9..a0f5fe1 100644
> --- a/arch/arm/mach-omap2/opp3xxx_data.c
> +++ b/arch/arm/mach-omap2/opp3xxx_data.c
> @@ -98,6 +98,8 @@ static struct omap_opp_def __initdata 
> omap34xx_opp_def_list[] = {
>  	OPP_INITIALIZER("mpu", true, 550000000, 
> OMAP3430_VDD_MPU_OPP4_UV),
>  	/* MPU OPP5 */
>  	OPP_INITIALIZER("mpu", true, 600000000, 
> OMAP3430_VDD_MPU_OPP5_UV),
> +	/* MPU OPP6 : omap3530 high speed grade only */
> +	OPP_INITIALIZER("mpu", false, 720000000, 
> OMAP3430_VDD_MPU_OPP5_UV),
>  
>  	/*
>  	 * L3 OPP1 - 41.5 MHz is disabled because: The voltage 
> for that OPP is
> @@ -123,6 +125,8 @@ static struct omap_opp_def __initdata 
> omap34xx_opp_def_list[] = {
>  	OPP_INITIALIZER("iva", true, 400000000, 
> OMAP3430_VDD_MPU_OPP4_UV),
>  	/* DSP OPP5 */
>  	OPP_INITIALIZER("iva", true, 430000000, 
> OMAP3430_VDD_MPU_OPP5_UV),
> +	/* DSP OPP6 : omap3530 high speed grade only */
> +	OPP_INITIALIZER("iva", false, 520000000, 
> OMAP3430_VDD_MPU_OPP5_UV),
>  };
>  
>  static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {

[sp] Basic support for 720MHz was already closed early this year.
     See: http://marc.info/?l=linux-omap&m=129735630928696&w=2

     I cannot check the current tree status right now; but I assume
     the patch should already be in.

~sanjeev

> -- 
> 1.7.4.1
> 
> 
> Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 
> 0115040-6. Kotipaikka: Helsinki
>  
> 
> --
> 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
> --
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
Tero Kristo July 14, 2011, 7:10 a.m. UTC | #2
On Wed, 2011-07-13 at 19:49 +0200, Premi, Sanjeev wrote:
> > 
Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 0115040-6. Kotipaikka: Helsinki
 
-----Original Message-----

> > From: linux-omap-owner@vger.kernel.org 
> > [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Kristo, Tero
> > Sent: Wednesday, July 13, 2011 7:31 PM
> > To: linux-omap@vger.kernel.org
> > Cc: broonie@opensource.wolfsonmicro.com; Girdwood, Liam; Hilman, Kevin
> > Subject: [PATCHv2 4/5] TEMP: OMAP3: beagle rev-c4: enable OPP6
> > 
> > Beagleboard rev-c4 has a speed sorted OMAP3530 chip which can 
> > run at 720MHz.
> > 
> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
> > ---
> >  arch/arm/mach-omap2/board-omap3beagle.c |   32 
> > +++++++++++++++++++++++++++++++
> >  arch/arm/mach-omap2/opp3xxx_data.c      |    4 +++
> >  2 files changed, 36 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/board-omap3beagle.c 
> > b/arch/arm/mach-omap2/board-omap3beagle.c
> > index d7ae648..5ab507d 100644
> > --- a/arch/arm/mach-omap2/board-omap3beagle.c
> > +++ b/arch/arm/mach-omap2/board-omap3beagle.c
> > @@ -592,6 +592,38 @@ static void __init beagle_opp_init(void)
> >  		return;
> >  	}
> >  
> > +	/* Custom OPP enabled for C4 */
> > +	if (omap3_beagle_version == OMAP3BEAGLE_BOARD_C4) {
> > +		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> > +		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
> > +		struct device *dev;
> > +
> > +		if (!mh || !dh) {
> > +			pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n",
> > +				__func__, mh, dh);
> > +		}
> > +		/* Enable MPU 720MHz opp */
> > +		dev = &mh->od->pdev.dev;
> > +		r = opp_enable(dev, 720000000);
> > +
> > +		/* Enable IVA 520MHz opp */
> > +		dev = &dh->od->pdev.dev;
> > +		r |= opp_enable(dev, 520000000);
> > +
> > +		if (r) {
> > +			pr_err("%s: failed to enable higher opp %d\n",
> > +				__func__, r);
> > +			/*
> > +			 * Cleanup - disable the higher freqs - 
> > we dont care
> > +			 * about the results
> > +			 */
> > +			dev = &mh->od->pdev.dev;
> > +			opp_disable(dev, 720000000);
> > +			dev = &dh->od->pdev.dev;
> > +			opp_disable(dev, 520000000);
> > +		}
> > +	}
> > +
> >  	/* Custom OPP enabled for all xM versions */
> >  	if (cpu_is_omap3630()) {
> >  		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
> > diff --git a/arch/arm/mach-omap2/opp3xxx_data.c 
> > b/arch/arm/mach-omap2/opp3xxx_data.c
> > index d95f3f9..a0f5fe1 100644
> > --- a/arch/arm/mach-omap2/opp3xxx_data.c
> > +++ b/arch/arm/mach-omap2/opp3xxx_data.c
> > @@ -98,6 +98,8 @@ static struct omap_opp_def __initdata 
> > omap34xx_opp_def_list[] = {
> >  	OPP_INITIALIZER("mpu", true, 550000000, 
> > OMAP3430_VDD_MPU_OPP4_UV),
> >  	/* MPU OPP5 */
> >  	OPP_INITIALIZER("mpu", true, 600000000, 
> > OMAP3430_VDD_MPU_OPP5_UV),
> > +	/* MPU OPP6 : omap3530 high speed grade only */
> > +	OPP_INITIALIZER("mpu", false, 720000000, 
> > OMAP3430_VDD_MPU_OPP5_UV),
> >  
> >  	/*
> >  	 * L3 OPP1 - 41.5 MHz is disabled because: The voltage 
> > for that OPP is
> > @@ -123,6 +125,8 @@ static struct omap_opp_def __initdata 
> > omap34xx_opp_def_list[] = {
> >  	OPP_INITIALIZER("iva", true, 400000000, 
> > OMAP3430_VDD_MPU_OPP4_UV),
> >  	/* DSP OPP5 */
> >  	OPP_INITIALIZER("iva", true, 430000000, 
> > OMAP3430_VDD_MPU_OPP5_UV),
> > +	/* DSP OPP6 : omap3530 high speed grade only */
> > +	OPP_INITIALIZER("iva", false, 520000000, 
> > OMAP3430_VDD_MPU_OPP5_UV),
> >  };
> >  
> >  static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
> 
> [sp] Basic support for 720MHz was already closed early this year.
>      See: http://marc.info/?l=linux-omap&m=129735630928696&w=2
> 
>      I cannot check the current tree status right now; but I assume
>      the patch should already be in.
> 

Yea, I heard this was agreed upon, however it is not in the tree yet.
Thus I just added this patch in the set for testing purposes... and
tagged as TEMP.

> ~sanjeev
> 
> > -- 
> > 1.7.4.1
> > 
> > 
> > Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 
> > 0115040-6. Kotipaikka: Helsinki
> >  
> > 
> > --
> > 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
> > 


--
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
Sanjeev Premi July 14, 2011, 8:46 a.m. UTC | #3
> -----Original Message-----
> From: Kristo, Tero 
> Sent: Thursday, July 14, 2011 12:41 PM
> To: Premi, Sanjeev
> Cc: linux-omap@vger.kernel.org; 
> broonie@opensource.wolfsonmicro.com; Girdwood, Liam; Hilman, Kevin
> Subject: RE: [PATCHv2 4/5] TEMP: OMAP3: beagle rev-c4: enable OPP6
> 
> On Wed, 2011-07-13 at 19:49 +0200, Premi, Sanjeev wrote:
> > > 
> Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 
> 0115040-6. Kotipaikka: Helsinki
>  
> -----Original Message-----
> 
> > > From: linux-omap-owner@vger.kernel.org 
> > > [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of 
> Kristo, Tero
> > > Sent: Wednesday, July 13, 2011 7:31 PM
> > > To: linux-omap@vger.kernel.org
> > > Cc: broonie@opensource.wolfsonmicro.com; Girdwood, Liam; 
> Hilman, Kevin
> > > Subject: [PATCHv2 4/5] TEMP: OMAP3: beagle rev-c4: enable OPP6
> > > 
> > > Beagleboard rev-c4 has a speed sorted OMAP3530 chip which can 
> > > run at 720MHz.
> > > 
> > > Signed-off-by: Tero Kristo <t-kristo@ti.com>
> > > ---

[snip]...[snip]

> > 
> > [sp] Basic support for 720MHz was already closed early this year.
> >      See: http://marc.info/?l=linux-omap&m=129735630928696&w=2
> > 
> >      I cannot check the current tree status right now; but I assume
> >      the patch should already be in.
> > 
> 
> Yea, I heard this was agreed upon, however it is not in the tree yet.
> Thus I just added this patch in the set for testing purposes... and
> tagged as TEMP.

I noticed this today morning. Will be reposting it today after rebase.

~sanjeev

> 
> > ~sanjeev
> > 
> > > -- 
> > > 1.7.4.1
> > > 
> > > 
> > > Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 
> > > 0115040-6. Kotipaikka: Helsinki
> > >  
> > > 
> > > --
> > > 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
> > > 
> 
> 
> --
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/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index d7ae648..5ab507d 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -592,6 +592,38 @@  static void __init beagle_opp_init(void)
 		return;
 	}
 
+	/* Custom OPP enabled for C4 */
+	if (omap3_beagle_version == OMAP3BEAGLE_BOARD_C4) {
+		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
+		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
+		struct device *dev;
+
+		if (!mh || !dh) {
+			pr_err("%s: Aiee.. no mpu/dsp devices? %p %p\n",
+				__func__, mh, dh);
+		}
+		/* Enable MPU 720MHz opp */
+		dev = &mh->od->pdev.dev;
+		r = opp_enable(dev, 720000000);
+
+		/* Enable IVA 520MHz opp */
+		dev = &dh->od->pdev.dev;
+		r |= opp_enable(dev, 520000000);
+
+		if (r) {
+			pr_err("%s: failed to enable higher opp %d\n",
+				__func__, r);
+			/*
+			 * Cleanup - disable the higher freqs - we dont care
+			 * about the results
+			 */
+			dev = &mh->od->pdev.dev;
+			opp_disable(dev, 720000000);
+			dev = &dh->od->pdev.dev;
+			opp_disable(dev, 520000000);
+		}
+	}
+
 	/* Custom OPP enabled for all xM versions */
 	if (cpu_is_omap3630()) {
 		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
index d95f3f9..a0f5fe1 100644
--- a/arch/arm/mach-omap2/opp3xxx_data.c
+++ b/arch/arm/mach-omap2/opp3xxx_data.c
@@ -98,6 +98,8 @@  static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
 	OPP_INITIALIZER("mpu", true, 550000000, OMAP3430_VDD_MPU_OPP4_UV),
 	/* MPU OPP5 */
 	OPP_INITIALIZER("mpu", true, 600000000, OMAP3430_VDD_MPU_OPP5_UV),
+	/* MPU OPP6 : omap3530 high speed grade only */
+	OPP_INITIALIZER("mpu", false, 720000000, OMAP3430_VDD_MPU_OPP5_UV),
 
 	/*
 	 * L3 OPP1 - 41.5 MHz is disabled because: The voltage for that OPP is
@@ -123,6 +125,8 @@  static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
 	OPP_INITIALIZER("iva", true, 400000000, OMAP3430_VDD_MPU_OPP4_UV),
 	/* DSP OPP5 */
 	OPP_INITIALIZER("iva", true, 430000000, OMAP3430_VDD_MPU_OPP5_UV),
+	/* DSP OPP6 : omap3530 high speed grade only */
+	OPP_INITIALIZER("iva", false, 520000000, OMAP3430_VDD_MPU_OPP5_UV),
 };
 
 static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {