[Letux-kernel] [RFC PATCH 0/3] Enable 1GHz support on omap36xx

H. Nikolaus Schaller hns at goldelico.com
Mon Sep 9 20:11:13 CEST 2019


> Am 09.09.2019 um 18:54 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi Tony,
> 
>> Am 09.09.2019 um 18:32 schrieb Tony Lindgren <tony at atomide.com>:
>> 
>> Hi,
>> 
>> * 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.

Ok, we have to check if the ti,abb-v2 "LDO" driver 
drivers/regulator/ti-abb-regulator.c
can handle that with a DT entry similar to:

https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/omap5.dtsi#L365

Needs a little time to add to a new version of the patch set.

> 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).

I'll leave this out for the moment for future study.

BR and thanks,
Nikolaus



More information about the Letux-kernel mailing list