* [PATCHv5] omap3: Add basic support for 720MHz part
@ 2011-02-09 8:10 Sanjeev Premi
2011-02-10 16:45 ` Kevin Hilman
0 siblings, 1 reply; 7+ messages in thread
From: Sanjeev Premi @ 2011-02-09 8:10 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds support for speed enhanced variant of OMAP35x
processors. These parts allow ARM and IVA running at 720MHz
and 520MHz respectively.
These parts can be detected at runtime by reading contents of
PRODID.SKUID[3:0] at 0x4830A20C [1].
This patch specifically does following:
* Add new OPP to omap34xx_opp_def_list[] - disabled by default.
* Detect devices capable of running at new OPP.
* Enable new OPP only if device supports it.
* Check for presence of IVA before attempting to enable the
corresponding OPP.
[1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
It appears from discussions (on this patch) that a variant of
OMAP3430 supports this OPP but lacks runtime detection. This
OPP can be enabled for these device by either:
1) Setting the bit corresponding to OMAP3_HAS_720MHZ
in 'omap3_features'. (Refer changes to id.c)
2) Removing check for omap3_has_720mhz() before enabling
the OPP. (Refer changes to opp3xxx_data.c)
3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
the board file. (Refer changes to opp3xxx_data.c).
This should, ideally, be done before omap3_opp_init() is
called during device_initcall().
CAUTION: This should be done for identified parts only.
Else, the device could be damaged permanently.
Signed-off-by: Sanjeev Premi <premi@ti.com>
Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
---
Since v4:
Updated the commit text addressing comments from
Kevin Hilman (khilman at ti.com).
Since v3:
1) Minor changes to comments and braces.
Since v2:
1) pr_xxx() -> dev_xxx() functions - suggested by
Manjunath (manjugk at ti.com)
2) Add check for presense of IVA - earlier planned to
be in a separate patch; but we multiple discussions
on optimizations.
3) Do look-up for hwmod corresponding for iva only if
iva is present. Should save multiple strcmp()s in
_lookup().
Since v1:
1) Using opp_enable() to enable the OPP after the OPP
table has been initialized.
2) Starting at 3 levels of indent, the statements had
be broken into multiple lines for most of the code.
So, opted to create a new static that enables the
OPPs corresponding to 720MHz.
3) I have only build tested this patch - will be able
to confirm working tomorrow. With any further change,
if needed. (However, functionally nothing has changed.)
arch/arm/mach-omap2/control.h | 6 +++
arch/arm/mach-omap2/id.c | 5 +++
arch/arm/mach-omap2/opp3xxx_data.c | 63 ++++++++++++++++++++++++++++++++-
arch/arm/plat-omap/include/plat/cpu.h | 2 +
4 files changed, 75 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
index f0629ae..c338466 100644
--- a/arch/arm/mach-omap2/control.h
+++ b/arch/arm/mach-omap2/control.h
@@ -365,6 +365,12 @@
#define FEAT_NEON 0
#define FEAT_NEON_NONE 1
+/* Product ID register */
+#define OMAP3_PRODID 0x020C
+
+/* Mask to extract SKU ID from Product ID */
+#define OMAP3_SKUID_MASK 0x0f
+#define OMAP3_SKUID_720MHZ 0x08
#ifndef __ASSEMBLY__
#ifdef CONFIG_ARCH_OMAP2PLUS
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 5f9086c..8c4500f 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -191,6 +191,10 @@ static void __init omap3_check_features(void)
if (!cpu_is_omap3505() && !cpu_is_omap3517())
omap3_features |= OMAP3_HAS_IO_WAKEUP;
+ status = (OMAP3_SKUID_MASK & read_tap_reg(OMAP3_PRODID));
+ if (status & OMAP3_SKUID_720MHZ)
+ omap3_features |= OMAP3_HAS_720MHZ;
+
/*
* TODO: Get additional info (where applicable)
* e.g. Size of L2 cache.
@@ -445,6 +449,7 @@ static void __init omap3_cpuinfo(void)
OMAP3_SHOW_FEATURE(neon);
OMAP3_SHOW_FEATURE(isp);
OMAP3_SHOW_FEATURE(192mhz_clk);
+ OMAP3_SHOW_FEATURE(720mhz);
printk(")\n");
}
diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
index 0486fce..cba17f7 100644
--- a/arch/arm/mach-omap2/opp3xxx_data.c
+++ b/arch/arm/mach-omap2/opp3xxx_data.c
@@ -17,8 +17,10 @@
* GNU General Public License for more details.
*/
#include <linux/module.h>
+#include <linux/opp.h>
#include <plat/cpu.h>
+#include <plat/omap_device.h>
#include "omap_opp_data.h"
@@ -33,6 +35,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
OPP_INITIALIZER("mpu", true, 550000000, 1270000),
/* MPU OPP5 */
OPP_INITIALIZER("mpu", true, 600000000, 1350000),
+ /* MPU OPP6 */
+ OPP_INITIALIZER("mpu", false, 720000000, 1350000),
/*
* L3 OPP1 - 41.5 MHz is disabled because: The voltage for that OPP is
@@ -58,6 +62,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
OPP_INITIALIZER("iva", true, 400000000, 1270000),
/* DSP OPP5 */
OPP_INITIALIZER("iva", true, 430000000, 1350000),
+ /* DSP OPP6 */
+ OPP_INITIALIZER("iva", false, 520000000, 1350000),
};
static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
@@ -85,6 +91,57 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
OPP_INITIALIZER("iva", false, 800000000, 1375000),
};
+
+/**
+ * omap3_opp_enable_720Mhz() - Enable the OPP corresponding to 720MHz
+ *
+ * This function would be executed only if the silicon is capable of
+ * running at the 720MHz.
+ */
+static int __init omap3_opp_enable_720Mhz(void)
+{
+ int r = -ENODEV;
+ struct omap_hwmod *oh_mpu = omap_hwmod_lookup("mpu");
+ struct omap_hwmod *oh_iva;
+ struct platform_device *pdev;
+
+ if (!oh_mpu || !oh_mpu->od) {
+ goto err;
+ } else {
+ pdev = &oh_mpu->od->pdev;
+
+ r = opp_enable(&pdev->dev, 720000000);
+ if (r < 0) {
+ dev_err(&pdev->dev,
+ "opp_enable() failed for mpu at 720MHz");
+ goto err;
+ }
+ }
+
+ if (omap3_has_iva()) {
+ oh_iva = omap_hwmod_lookup("iva");
+
+ if (!oh_iva || !oh_iva->od) {
+ r = -ENODEV;
+ goto err;
+ } else {
+ pdev = &oh_iva->od->pdev;
+
+ r = opp_enable(&pdev->dev, 520000000);
+ if (r < 0) {
+ dev_err(&pdev->dev,
+ "opp_enable() failed for iva at 520MHz");
+ goto err;
+ }
+ }
+ }
+
+ dev_info(&pdev->dev, "Enabled OPP corresponding to 720MHz\n");
+
+err:
+ return r;
+}
+
/**
* omap3_opp_init() - initialize omap3 opp table
*/
@@ -98,10 +155,14 @@ static int __init omap3_opp_init(void)
if (cpu_is_omap3630())
r = omap_init_opp_table(omap36xx_opp_def_list,
ARRAY_SIZE(omap36xx_opp_def_list));
- else
+ else {
r = omap_init_opp_table(omap34xx_opp_def_list,
ARRAY_SIZE(omap34xx_opp_def_list));
+ if (omap3_has_720mhz())
+ r = omap3_opp_enable_720Mhz();
+ }
+
return r;
}
device_initcall(omap3_opp_init);
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index 73d91ee..e624ee1 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -455,6 +455,7 @@ extern u32 omap3_features;
#define OMAP3_HAS_ISP BIT(4)
#define OMAP3_HAS_192MHZ_CLK BIT(5)
#define OMAP3_HAS_IO_WAKEUP BIT(6)
+#define OMAP3_HAS_720MHZ BIT(7)
#define OMAP3_HAS_FEATURE(feat,flag) \
static inline unsigned int omap3_has_ ##feat(void) \
@@ -469,5 +470,6 @@ OMAP3_HAS_FEATURE(neon, NEON)
OMAP3_HAS_FEATURE(isp, ISP)
OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
+OMAP3_HAS_FEATURE(720mhz, 720MHZ)
#endif
--
1.7.2.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2011-02-09 8:10 [PATCHv5] omap3: Add basic support for 720MHz part Sanjeev Premi
@ 2011-02-10 16:45 ` Kevin Hilman
2012-06-22 9:33 ` Laurent Pinchart
0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2011-02-10 16:45 UTC (permalink / raw)
To: linux-arm-kernel
Sanjeev Premi <premi@ti.com> writes:
> This patch adds support for speed enhanced variant of OMAP35x
> processors. These parts allow ARM and IVA running at 720MHz
> and 520MHz respectively.
>
> These parts can be detected at runtime by reading contents of
> PRODID.SKUID[3:0] at 0x4830A20C [1].
>
> This patch specifically does following:
> * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
> * Detect devices capable of running at new OPP.
> * Enable new OPP only if device supports it.
> * Check for presence of IVA before attempting to enable the
> corresponding OPP.
>
> [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
>
> It appears from discussions (on this patch) that a variant of
> OMAP3430 supports this OPP but lacks runtime detection. This
> OPP can be enabled for these device by either:
> 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
> in 'omap3_features'. (Refer changes to id.c)
> 2) Removing check for omap3_has_720mhz() before enabling
> the OPP. (Refer changes to opp3xxx_data.c)
> 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
> the board file. (Refer changes to opp3xxx_data.c).
> This should, ideally, be done before omap3_opp_init() is
> called during device_initcall().
>
> CAUTION: This should be done for identified parts only.
> Else, the device could be damaged permanently.
>
> Signed-off-by: Sanjeev Premi <premi@ti.com>
> Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2011-02-10 16:45 ` Kevin Hilman
@ 2012-06-22 9:33 ` Laurent Pinchart
2014-02-06 19:26 ` Laurent Pinchart
0 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2012-06-22 9:33 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Thursday 10 February 2011 08:45:00 Kevin Hilman wrote:
> Sanjeev Premi <premi@ti.com> writes:
> > This patch adds support for speed enhanced variant of OMAP35x
> > processors. These parts allow ARM and IVA running at 720MHz
> > and 520MHz respectively.
> >
> > These parts can be detected at runtime by reading contents of
> > PRODID.SKUID[3:0] at 0x4830A20C [1].
> >
> > This patch specifically does following:
> > * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
> > * Detect devices capable of running at new OPP.
> > * Enable new OPP only if device supports it.
> > * Check for presence of IVA before attempting to enable the
> >
> > corresponding OPP.
> >
> > [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
> >
> > It appears from discussions (on this patch) that a variant of
> > OMAP3430 supports this OPP but lacks runtime detection. This
> >
> > OPP can be enabled for these device by either:
> > 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
> >
> > in 'omap3_features'. (Refer changes to id.c)
> >
> > 2) Removing check for omap3_has_720mhz() before enabling
> >
> > the OPP. (Refer changes to opp3xxx_data.c)
> >
> > 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
> >
> > the board file. (Refer changes to opp3xxx_data.c).
> > This should, ideally, be done before omap3_opp_init() is
> > called during device_initcall().
> >
> > CAUTION: This should be done for identified parts only.
> >
> > Else, the device could be damaged permanently.
> >
> > Signed-off-by: Sanjeev Premi <premi@ti.com>
> > Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
>
> Acked-by: Kevin Hilman <khilman@ti.com>
This patch seems to never have made it upstream. Is there a reason for that ?
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2012-06-22 9:33 ` Laurent Pinchart
@ 2014-02-06 19:26 ` Laurent Pinchart
2014-02-07 13:51 ` Nishanth Menon
0 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2014-02-06 19:26 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
On Friday 22 June 2012 11:33:51 Laurent Pinchart wrote:
> On Thursday 10 February 2011 08:45:00 Kevin Hilman wrote:
> > Sanjeev Premi <premi@ti.com> writes:
> > > This patch adds support for speed enhanced variant of OMAP35x
> > > processors. These parts allow ARM and IVA running at 720MHz
> > > and 520MHz respectively.
> > >
> > > These parts can be detected at runtime by reading contents of
> > > PRODID.SKUID[3:0] at 0x4830A20C [1].
> > >
> > > This patch specifically does following:
> > > * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
> > > * Detect devices capable of running at new OPP.
> > > * Enable new OPP only if device supports it.
> > > * Check for presence of IVA before attempting to enable the
> > >
> > > corresponding OPP.
> > >
> > > [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
> > >
> > > It appears from discussions (on this patch) that a variant of
> > > OMAP3430 supports this OPP but lacks runtime detection. This
> > >
> > > OPP can be enabled for these device by either:
> > > 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
> > >
> > > in 'omap3_features'. (Refer changes to id.c)
> > >
> > > 2) Removing check for omap3_has_720mhz() before enabling
> > >
> > > the OPP. (Refer changes to opp3xxx_data.c)
> > >
> > > 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
> > >
> > > the board file. (Refer changes to opp3xxx_data.c).
> > > This should, ideally, be done before omap3_opp_init() is
> > > called during device_initcall().
> > >
> > > CAUTION: This should be done for identified parts only.
> > >
> > > Else, the device could be damaged permanently.
> > >
> > > Signed-off-by: Sanjeev Premi <premi@ti.com>
> > > Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
> >
> > Acked-by: Kevin Hilman <khilman@ti.com>
>
> This patch seems to never have made it upstream. Is there a reason for that
> ?
Ping ?
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2014-02-06 19:26 ` Laurent Pinchart
@ 2014-02-07 13:51 ` Nishanth Menon
2014-02-10 12:17 ` Laurent Pinchart
0 siblings, 1 reply; 7+ messages in thread
From: Nishanth Menon @ 2014-02-07 13:51 UTC (permalink / raw)
To: linux-arm-kernel
Laurent,
On Thu, Feb 6, 2014 at 1:26 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Hi all,
>
> On Friday 22 June 2012 11:33:51 Laurent Pinchart wrote:
>> On Thursday 10 February 2011 08:45:00 Kevin Hilman wrote:
>> > Sanjeev Premi <premi@ti.com> writes:
>> > > This patch adds support for speed enhanced variant of OMAP35x
>> > > processors. These parts allow ARM and IVA running at 720MHz
>> > > and 520MHz respectively.
>> > >
>> > > These parts can be detected at runtime by reading contents of
>> > > PRODID.SKUID[3:0] at 0x4830A20C [1].
>> > >
>> > > This patch specifically does following:
>> > > * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
>> > > * Detect devices capable of running at new OPP.
>> > > * Enable new OPP only if device supports it.
>> > > * Check for presence of IVA before attempting to enable the
>> > >
>> > > corresponding OPP.
>> > >
>> > > [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
>> > >
>> > > It appears from discussions (on this patch) that a variant of
>> > > OMAP3430 supports this OPP but lacks runtime detection. This
>> > >
>> > > OPP can be enabled for these device by either:
>> > > 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
>> > >
>> > > in 'omap3_features'. (Refer changes to id.c)
>> > >
>> > > 2) Removing check for omap3_has_720mhz() before enabling
>> > >
>> > > the OPP. (Refer changes to opp3xxx_data.c)
>> > >
>> > > 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
>> > >
>> > > the board file. (Refer changes to opp3xxx_data.c).
>> > > This should, ideally, be done before omap3_opp_init() is
>> > > called during device_initcall().
>> > >
>> > > CAUTION: This should be done for identified parts only.
>> > >
>> > > Else, the device could be damaged permanently.
>> > >
>> > > Signed-off-by: Sanjeev Premi <premi@ti.com>
>> > > Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
>> >
>> > Acked-by: Kevin Hilman <khilman@ti.com>
>>
>> This patch seems to never have made it upstream. Is there a reason for that
>> ?
>
> Ping ?
We'd have to figure out a proper opp modifier logic with device tree.
considering that non-dt boot is slowly getting dismantled in
mach-omap2, to add new capabilities in non-dt is not really a good
idea at this point in time - Further, we do have equivalent
requirements in other TI SoCs as well -
Regards,
Nishanth Menon
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2014-02-07 13:51 ` Nishanth Menon
@ 2014-02-10 12:17 ` Laurent Pinchart
2014-02-10 14:46 ` Nishanth Menon
0 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2014-02-10 12:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Nishanth,
On Friday 07 February 2014 07:51:00 Nishanth Menon wrote:
> On Thu, Feb 6, 2014 at 1:26 PM, Laurent Pinchart wrote:
> > On Friday 22 June 2012 11:33:51 Laurent Pinchart wrote:
> >> On Thursday 10 February 2011 08:45:00 Kevin Hilman wrote:
> >> > Sanjeev Premi <premi@ti.com> writes:
> >> > > This patch adds support for speed enhanced variant of OMAP35x
> >> > > processors. These parts allow ARM and IVA running at 720MHz
> >> > > and 520MHz respectively.
> >> > >
> >> > > These parts can be detected at runtime by reading contents of
> >> > > PRODID.SKUID[3:0] at 0x4830A20C [1].
> >> > >
> >> > > This patch specifically does following:
> >> > > * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
> >> > > * Detect devices capable of running at new OPP.
> >> > > * Enable new OPP only if device supports it.
> >> > > * Check for presence of IVA before attempting to enable the
> >> > > corresponding OPP.
> >> > >
> >> > > [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
> >> > >
> >> > > It appears from discussions (on this patch) that a variant of
> >> > > OMAP3430 supports this OPP but lacks runtime detection. This
> >> > > OPP can be enabled for these device by either:
> >> > > 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
> >> > > in 'omap3_features'. (Refer changes to id.c)
> >> > >
> >> > > 2) Removing check for omap3_has_720mhz() before enabling
> >> > > the OPP. (Refer changes to opp3xxx_data.c)
> >> > >
> >> > > 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
> >> > > the board file. (Refer changes to opp3xxx_data.c).
> >> > > This should, ideally, be done before omap3_opp_init() is
> >> > > called during device_initcall().
> >> > >
> >> > > CAUTION: This should be done for identified parts only.
> >> > > Else, the device could be damaged permanently.
> >> > >
> >> > > Signed-off-by: Sanjeev Premi <premi@ti.com>
> >> > > Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
> >> >
> >> > Acked-by: Kevin Hilman <khilman@ti.com>
> >>
> >> This patch seems to never have made it upstream. Is there a reason for
> >> that
> >> ?
> >
> > Ping ?
>
> We'd have to figure out a proper opp modifier logic with device tree.
> considering that non-dt boot is slowly getting dismantled in mach-omap2, to
> add new capabilities in non-dt is not really a good idea at this point in
> time - Further, we do have equivalent requirements in other TI SoCs as well
Good point, but I'm not sure to see where this patch is specific to legacy
boot. The two functions it modifies, and omap3xxx_check_features() and
omap3_opp_init(), are called for DT boot as well.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCHv5] omap3: Add basic support for 720MHz part
2014-02-10 12:17 ` Laurent Pinchart
@ 2014-02-10 14:46 ` Nishanth Menon
0 siblings, 0 replies; 7+ messages in thread
From: Nishanth Menon @ 2014-02-10 14:46 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Feb 10, 2014 at 6:17 AM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
>> On Thu, Feb 6, 2014 at 1:26 PM, Laurent Pinchart wrote:
>> > On Friday 22 June 2012 11:33:51 Laurent Pinchart wrote:
>> >> On Thursday 10 February 2011 08:45:00 Kevin Hilman wrote:
>> >> > Sanjeev Premi <premi@ti.com> writes:
>> >> > > This patch adds support for speed enhanced variant of OMAP35x
>> >> > > processors. These parts allow ARM and IVA running at 720MHz
>> >> > > and 520MHz respectively.
>> >> > >
>> >> > > These parts can be detected at runtime by reading contents of
>> >> > > PRODID.SKUID[3:0] at 0x4830A20C [1].
>> >> > >
>> >> > > This patch specifically does following:
>> >> > > * Add new OPP to omap34xx_opp_def_list[] - disabled by default.
>> >> > > * Detect devices capable of running at new OPP.
>> >> > > * Enable new OPP only if device supports it.
>> >> > > * Check for presence of IVA before attempting to enable the
>> >> > > corresponding OPP.
>> >> > >
>> >> > > [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
>> >> > >
>> >> > > It appears from discussions (on this patch) that a variant of
>> >> > > OMAP3430 supports this OPP but lacks runtime detection. This
>> >> > > OPP can be enabled for these device by either:
>> >> > > 1) Setting the bit corresponding to OMAP3_HAS_720MHZ
>> >> > > in 'omap3_features'. (Refer changes to id.c)
>> >> > >
>> >> > > 2) Removing check for omap3_has_720mhz() before enabling
>> >> > > the OPP. (Refer changes to opp3xxx_data.c)
>> >> > >
>> >> > > 3) Calling opp_enable() for 720MHz/VDD1 and 520MHz/VDD2 in
>> >> > > the board file. (Refer changes to opp3xxx_data.c).
>> >> > > This should, ideally, be done before omap3_opp_init() is
>> >> > > called during device_initcall().
>> >> > >
>> >> > > CAUTION: This should be done for identified parts only.
>> >> > > Else, the device could be damaged permanently.
>> >> > >
>> >> > > Signed-off-by: Sanjeev Premi <premi@ti.com>
>> >> > > Reviewed-by: G, Manjunath Kondaiah <manjugk@ti.com>
>> >> >
>> >> > Acked-by: Kevin Hilman <khilman@ti.com>
>> >>
>> >> This patch seems to never have made it upstream. Is there a reason for
>> >> that
>> >> ?
>> >
>> > Ping ?
>>
>> We'd have to figure out a proper opp modifier logic with device tree.
>> considering that non-dt boot is slowly getting dismantled in mach-omap2, to
>> add new capabilities in non-dt is not really a good idea at this point in
>> time - Further, we do have equivalent requirements in other TI SoCs as well
>
> Good point, but I'm not sure to see where this patch is specific to legacy
> boot. The two functions it modifies, and omap3xxx_check_features() and
> omap3_opp_init(), are called for DT boot as well.
omap3_opp_init() ->omap_init_opp_table returns if of_have_populated_dt().
check_features enable a flag for omap3_opp_init to pick the right OPPs
up -> this is precisely the intent of something like opp modifier
logic.
Regards,
Nishanth Menon
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-02-10 14:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-09 8:10 [PATCHv5] omap3: Add basic support for 720MHz part Sanjeev Premi
2011-02-10 16:45 ` Kevin Hilman
2012-06-22 9:33 ` Laurent Pinchart
2014-02-06 19:26 ` Laurent Pinchart
2014-02-07 13:51 ` Nishanth Menon
2014-02-10 12:17 ` Laurent Pinchart
2014-02-10 14:46 ` Nishanth Menon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).