[PATCH 2/2] OMAP3: beagle xm: enable upto 800MHz OPP

Nishanth Menon nm at ti.com
Thu Jan 6 08:44:37 EST 2011

Koen Kooi had written, on 01/06/2011 07:00 AM, the following:
> Op 6 jan 2011, om 13:24 heeft Nishanth Menon het volgende geschreven:
>> Kevin Hilman wrote, on 01/05/2011 05:28 PM:
>>> Nishanth Menon<nm at ti.com>  writes:
>>>> Beagle XM uses 3730 and the board design allows enabling 800MHz and 1GHz
>>>> OPPs. However, We need Smart reflex class 1.5 and ABB to enable 1GHz safely.
>>>> For the moment, we tweak the default table to allow for 800Mhz OPP usage.
>>> Isn't this common to any board using 3730 (or 3630?)
>> no it is not. only certain boards are capable of higher frequencies - there is a procedure called PDN analysis and vmin search that needs to be performed to guarentee this.
> What about the "new" 3530s that can run at 720MHz? Those have been speed binned and given a different SKU. I'm using the attached 4 patches (Tony master + beagle patches _+ dvfs: http://dominion.thruhere.net/git/cgit.cgi/linux-omap/log/?h=koen/beagle-next) on my beagle C4 and overo tide to get 720MHz. They don't really work:
for 3530, keep in mind that not *all* boards can support 720MHz (esp the 
old 3430 boards, like my poor SDP3430).
since we consider 3530 as 3430 as well, add a default disabled 720MHz 
OPP in the 3430 table and enable it:
a) if this has anything to do with board behavior (which, unlike 36xx, I 
dont think is the case for 35xx), enable similar to this patch on the 
required boards on a need basis (e.g. based on board rev)
b) if this is a silicon behavior, then, you should modify the 
omap3_opp_init to ensure that for the right silicon this is enabled 
(e.g. only for 3530 rev X onwards or something similar) - but you will 
need some way to detect it in s/w (not through bootargs please!)

> root at usrp-e1xx:~# cpufreq-set -f 720000
> [  104.976318] platform iva.0: omap_voltage_scale: Already at the requestedrate 430000000
> [  104.986236] platform mpu.0: omap_voltage_scale: Already at the requestedrate 600000000
> [  104.996032] platform iva.0: omap_voltage_scale: Already at the requestedrate 430000000
> [  105.006408] platform mpu.0: omap_voltage_scale: Already at the requestedrate 600000000
This is coz we dont have 720MHz and max enabled freq is 600MHz so it 
falls back to that freq.

> But:
> root at usrp-e1xx:~# dmesg | grep 720
> [    0.000000] OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp 720mhz )
> [    0.000000] Kernel command line: console=ttyO2,115200n8 mpurate=720 vram=16M mem=99M at 0x80000000 mem=384M at 0x88000000 omapfb.mode=dvi:1024x768MR-24 at 60 omapfb.vram=0:8M,1:4M,2:4M omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
> [    0.000000] overo_opp_init: 720MHz MPU OPPs enabled!
> [    0.000000] Switched to new clocking rate (Crystal/Core/MPU): 26.0/224/720 MHz
> root at usrp-e1xx:~# cpufreq-info 
> cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
> Report errors and bugs to cpufreq at vger.kernel.org, please.
> analyzing CPU 0:
>   driver: omap
>   CPUs which run at the same hardware frequency: 0
>   CPUs which need to have their frequency coordinated by software: 0
>   maximum transition latency: 300 us.
>   hardware limits: 125 MHz - 720 MHz
>   available frequency steps: 125 MHz, 250 MHz, 500 MHz, 550 MHz, 600 MHz, 720 MHz
>   available cpufreq governors: conservative, ondemand, userspace, powersave, performance
>   current policy: frequency should be within 125 MHz and 720 MHz.
>                   The governor "userspace" may decide which speed to use
>                   within this range.
>   current CPU frequency is 600 MHz (asserted by call to hardware).
>   cpufreq stats: 125 MHz:0.00%, 250 MHz:0.00%, 500 MHz:0.00%, 550 MHz:0.00%, 600 MHz:100.00%, 720 MHz:0.00%  (1)
> So how do I "properly" get 720MHz on those parts?

as discussed above.

Nishanth Menon

More information about the linux-arm-kernel mailing list