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

From: H. Nikolaus Schaller
Date: Mon Sep 09 2019 - 14:11:32 EST



> Am 09.09.2019 um 18:54 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>:
>
> Hi Tony,
>
>> Am 09.09.2019 um 18:32 schrieb Tony Lindgren <tony@xxxxxxxxxxx>:
>>
>> Hi,
>>
>> * H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> [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