[Letux-kernel] [RFC PATCH 0/3] Enable 1GHz support on omap36xx
H. Nikolaus Schaller
hns at goldelico.com
Mon Sep 9 18:54:04 CEST 2019
> Am 09.09.2019 um 18:32 schrieb Tony Lindgren <tony at atomide.com>:
> * H. Nikolaus Schaller <hns at goldelico.com> [190909 14:57]:
>> Another question that came up by private mail from André was if we
>> should better disable the turbo OPPs of omap34xx and 36xx by default
>> (status = "disabled";) because there are concerns about overheating
>> the chips and we have no thermal regulation like for omap4 & 5.
>> But this would mean that every board DTS would have to set it explicitly
>> to "enabled".
> Yes I started thinking about that too. I think there is a requirement
> to do the scaling via the voltage processor for the higher modes.
It depends on how you read the little footnotes...
Table 4-18. Processor Voltages Without SmartReflex:
• This table defines the safe VDD1 (vdd_mpu_iva) voltage ranges to be used before using the SmartReflex AVS feature for OPPs calibration.
• Values are defined when SmartReflexTM feature is deactivated. They can be lower when SmartReflexTM is activated.
• OPP130 and OPP1G are not available above TJ of 90C.
• (6) OPP1G is a high performance operating point which has following requirements:
• – ABB LDO must be set to FBB (Forward Body Bias) mode when switching to this OPP. It requires having a 1 F capacitor connected to cap_vdd_bb_mpu_iva.
• – AVS (Adaptive Voltage Scaling) power technique must be used to achieve optimum operating voltage.
So I read this as:
* OPP130 and OPP1G should be guarded by 90°C thermal framework
* OPP1G should also set the ABB LDO to FBB mode
* AVS does only reduce voltage levels (to save energy = heat = problem)
* only if we want "optimum operating voltage" (read as: "lowest possible voltage" = "highest energy saving") we must use AVS
I.e. we do not necessarily need AVS or SmartReflex or help from the
twl4030 (except for changing the voltage).
> And there needs to be some way to automatically change to a lower
> OPP in some cases.
That should probably be done through the thermal framework like
on omap4 & omap5?
> For normal OPPs, using the twl regulator directly should be OK.
Maybe for the turbo OPPs as well.
> For the higher modes, maybe we could pass the callback functions
> from arch/arm/mach-omap2/voltage.c for the twl regulator so the
> voltage processor hardware can handle them directly. Or add a
> separate regulator driver operating the voltages like Nishanth
> posted patches for earlier.
So in my (limited) understanding it would suffice to set the ABB LDO
to FBB mode for OPP1G.
And make sure that the TJ does not exceed 90°C by reducing the cpufreq
through the thermal framework. But: the thermal sensors of the omap3
are quite odd (they seem to jump up by 10° after first use).
More information about the Letux-kernel