View Single Post
Posts: 3,074 | Thanked: 12,964 times | Joined on Mar 2010 @ Sofia,Bulgaria
#1999
@Estel - ok, I will try to explain the SR situation AIUI

From gathered efuse values (posted here by several users and from my devices) it is pretty obvious that there are only two OPPs which have values calibrated - 125MHz and 250MHz. The other frequencies (500,550 and 600) have one and the same values for all the devices so far. Which does not look like there was any calibration, just a random numbers someone (TI most probably) has decided will be OK for all.

The problem is (and that is why I am saying voltages are too high) that based on that calibration values SR puts voltage for 250 MHz to be around 28-30 on my two devices and on another one i borrow. In the same time those devices work without any issue with a voltages around 21-23 for the same 250 MHz frequency.

So what I have done?

First - 125 MHz and 250 MHz calibration is lowered in such a way that SR calculates voltage to be around 21 - 23 for 250 MHz( it still depends on initial calibration, so "weak" device will get higher voltage). The values for higher OPPs are calculated based on 250MHz re-calculated calibration value, so again "weak" device will receive more juice.

The re-calculation is done in such a way that value for OPP(n) is based on value for OPP(n-1) plus a constant. And if DSP is overclocked an additional voltage is applied too(12.5 mV for 520MHz and 25mV for 600 MHz). Of course without having documentation for SmartReflex I cannot be sure whether re-calibrated values are optimal, but so far it seems that they are at least close to. And one of the reasons I ask for SR calculated voltages for different OPPs is that when we have them one can compare his/her manually undervolted profile with SR undervolted thus checking if they are similar/equal.

The last thing is 125MHz - I have an impression that we can run the device with voltage around 14-16 on that frequency, increasing battery life by several hours. But now hardcoded lower limit for voltage is 18 (was 20). That is why I want as many as possible people to test 125 MHz with values in range 14-18, so I can further lower the hardcoded limit.

BTW there is still a minor issue in SR driver - every time a frequency is switched SR starts AVS from highest possible voltage, which is inefficient. For KP50 I plan to optimize that too. And I will check VDD2 SR too, because if VDD1 calibration is too high it is possible that VDD2 is the same.

Re too much undervolting - TBH creeping filesystem corruption seems like an urban myth to me. If your device is undervolted too much DSP will cry loudly in an instant. Could be that I am wrong of course . Anyway, as now I (almost) understand how SR works I can easy fix/tweak any issue that could appear.

EDIT:
Hey, I don't get one thing. Before re-calibration, device with 900 mhz as max limit and SR enabled, would instantly turn off - it was always told, that this behavior was due to voltage set too low. Now You're telling us, that stock calibration turns voltage too high. Was that just "urban legend", and in fact, voltage was set too high?
There were no calibration values above 600MHz. I such case for frequencies above 600MHz calibration for 600MHz was used. Too low of course. And that is another proof that stock calibrations were set too high - most devices were running 805MHz with calibration for 600MHz.

Last edited by freemangordon; 2011-11-13 at 16:50.
 

The Following 11 Users Say Thank You to freemangordon For This Useful Post: