RE: [PATCH] omap3: Add basic support for 720MHz part

Vishwanath Sripathy
2011-01-19T08:56:09Z

Kooi,

> -----Original Message-----
> From: Koen Kooi [mailto:koen@dominion.thruhere.net]
> Sent: Tuesday, January 18, 2011 11:47 PM
> To: Vishwanath Sripathy
> Cc: Nishanth Menon; Sanjeev Premi; l-o List; Thara Gopinath
> Subject: Re: [PATCH] omap3: Add basic support for 720MHz part
>
>
> Op 18 jan 2011, om 18:18 heeft Vishwanath Sripathy het volgende
> geschreven:
>
> > Kooi,
> >
> >> -----Original Message-----
> >> From: Nishanth Menon [mailto:nm@ti.com]
> >> Sent: Tuesday, January 18, 2011 10:19 PM
> >> To: Koen Kooi
> >> Cc: Sanjeev Premi; l-o List; thara@ti.com; Vishwanath Sripathy
> >> Subject: Re: [PATCH] omap3: Add basic support for 720MHz part
> >>
> >> Koen Kooi wrote, on 01/18/2011 05:38 PM:
> >>>
> >>> Op 18 jan 2011, om 08:49 heeft Sanjeev Premi het volgende
> >> geschreven:
> >>>
> >>>> This patch adds support for new speed enhanced parts with ARM
> >>>> and IVA running at 720MHz and 520MHz respectively. These parts
> >>>> can be probed at run-time by reading PRODID.SKUID[3:0] at
> >>>> 0x4830A20C [1].
> >>>>
> >>>> This patch specifically does following:
> >>>> * Detect devices capable of 720MHz.
> >>>> * Add new OPP
> >>>> * Ensure that OPP is conditionally enabled.
> >>>> * Check for presence of IVA before attempting to enable
> >>>> the corresponding OPP.
> >>>
> >>> Thanks for the updated patch!
> >>>
> >>> I'm still having problem using this together with DVFS, the kernel
> >> won't scale beyond 600MHz because 600MHz and 720MHz share the
> >> same voltage. Thara, Nishant, do you have any suggestions on how
> to
> >> convince the kernel that 2 frequencies can share the same voltage
> >> settings?
> >> + Vishwa
> > Yes, this is a limitation with the current set of DVFS patches.
> > With the next version of DVFS patches (will be out soon) this feature
is
> > going to be supported. That means you can have 2 opps with the same
> > voltage but with different frequency. The device will be configured
> based
> > on user requested frequency.
>
> Just to have a crude hack, would something like this work?:
>
> /* MPU OPP6 */
> - OPP_INITIALIZER("mpu", false, 720000000, 1350000),
> + OPP_INITIALIZER("mpu", false, 720000000, 1350001),
>
> Or will I fall into a (post)divider trap where the kernel panics because
it
> can't do that exact voltage?
>
> The TRM[1] chickens out with the OPP definitions:
>
>
------------------>8------------------------------------------------------
------
> ---
> Six generic processor OPPs can be defined as:
> 1. OPP6 (VDD1 = v4, (MPU_CLK = fmpu5, IVA2_CLK = fiva5))
> 2. OPP5 (VDD1 = v4, (MPU_CLK = fmpu4, IVA2_CLK = fiva4))
> 3. OPP4 (VDD1 = v3, (MPU_CLK = fmpu3, IVA2_CLK = fiva3))
> 4. OPP3 (VDD1 = v2 , (MPU_CLK = fmpu2, IVA2_CLK = fiva2))
> 5. OPP2 (VDD1 = v1 , (MPU_CLK = fmpu1, IVA2_CLK = fiva1))
> 6. OPP1 (VDD1 = v0 , (MPU_CLK = fmpu0, IVA2_CLK = fiva0))
> where v4 > v3 > v2 > v1 > v0,
>
------------------8<------------------------------------------------------
------
> ---
>
> My limited sample size of 3 board (2x beagle C4, 1x overo tide) shows
> 600MHz@1.3V works as well, but I don't know how much slack that has.
> And I haven't check if the hardware can do 1.3V exactly or has rounded
> up.
>
> So, what's the quickest way with the current code to get 720MHz
> "working"? I've voided my warranty on everything already, so that isn't
a
> problem :)
If you want a quick hack, you can modify the voltage for 700M marginally
(like you have done above). But it needs to be done in multiple places.
You need to modify IVA OPP6 entry in opp table and OPP6 voltage value in
voltage.h as well besides above change. This should work.

Vishwa
>
> regards,
>
> Koen
>
> [1] spruf98m.pdf page 355