[REPOST PATCH 0/2] ARM: OMAP3+: VCVP mapping fixes to get DVFS working

Tero Kristo t-kristo at ti.com
Fri Oct 17 05:35:37 PDT 2014


On 10/17/2014 02:55 PM, Enric Balletbo Serra wrote:
> 2014-10-17 7:55 GMT+02:00 Tero Kristo <t-kristo at ti.com>:
>> On 10/16/2014 05:21 PM, Enric Balletbo Serra wrote:
>>>
>>> Hi,
>>>
>>> 2014-10-10 16:06 GMT+02:00 Tero Kristo <t-kristo at ti.com>:
>>>>
>>>> Hi,
>>>>
>>>> Seems like MPU DVFS does not scale the voltages currently with DT boot,
>>>> due to missing mapping between regulator -> VCVP. Fixed this by adding
>>>> support for platform data in the TWL regulator DT case + adding platform
>>>> data quirk for the same. This same already works in the legacy boot, the
>>>> platform data is passed fine.
>>>>
>>>> Tested on omap3-beagle by measuring the MPU voltage rail.
>>>>
>>>> OMAP4+ platforms do not currently register DVFS regulator, so this set by
>>>> itself does not fix OMAP4 (needs the TPS MPU regulator added to DT etc.
>>>> for OMAP4460.)
>>>>
>>>> -Tero
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>> Tony proposed in the IRC apply this patch series in order to solve the
>>> following error messages with kernel 3.17
>>>
>>> [    2.522949] omap2_set_init_voltage: unable to find boot up OPP for
>>> vdd_mpu_iva
>>> [    2.533721] omap2_set_init_voltage: unable to set vdd_mpu_iva
>>> [    2.541564] omap2_set_init_voltage: unable to find boot up OPP for
>>> vdd_core
>>> [    2.551208] omap2_set_init_voltage: unable to set vdd_core
>>>
>>> I'm using omap3-igep0020, I didn't mesure the MPU voltage rail but
>>> should these patches solve these errors ? Did you resolve these errors
>>> on your Beagleboard ?
>>
>>
>> These prints are caused by something else: namely the fact that beagleboard
>> rev C4+ boots up at 720MHz. This OPP is not supported by the kernel and
>> quelches out the warning prints.
>>
>> This should be fixed by modifying the OPP tables under the dtsi files,
>> however the nasty thing is not all beagleboards support 720MHz OPP. You
>> either need to specify a dts file for beagle-revC4 or do some kernel magic
>> to manually disable the 720MHz OPP on non-supported boards.
>>
>
> Adding and modifying some printk looks the problem is because it can't
> find the device opp.
>
> [    2.532836] cpu cpu0: dev_pm_opp_find_freq_ceil: can't find device opp
> [    2.542755] omap2_set_init_voltage: unable to find boot up OPP for
> vdd_mpu_iva (clk = dpll1_ck - freq = 600000000)
> [    2.554931] omap2_set_init_voltage: unable to set vdd_mpu_iva
>
> [    2.562957] platform 68000000.ocp: dev_pm_opp_find_freq_ceil: can't
> find device opp
> [    2.573333] omap2_set_init_voltage: unable to find boot up OPP for
> vdd_core (clk = l3_ick - freq = 200000000)
> [    2.584442] omap2_set_init_voltage: unable to set vdd_core
>
>
> The of_init_opp_table who reads the 'operating-points" from dtb is
> called after. Should be called before?
>
> [    2.592834] cpu cpu0: of_init_opp_table: init_opp_table
>

What is the board revision you got? Looks like it boots up at 600/200MHz.

You can also try tweaking around the tables under opp3xxx_data.c, not 
sure if these are initialized in the correct order either. However, the 
lack of these tables and the warnings mentioned do not prevent cpufreq 
from working, cpufreq is dependant on the DT tables. That being said, I 
am not sure if the legacy OPP tables are even needed anymore on DT boot...

-Tero




More information about the linux-arm-kernel mailing list