Re: [PATCH 3/3] ARM: tegra: Pass multiple versions in opp-supported-hw property

From: Dmitry Osipenko
Date: Tue Sep 01 2020 - 09:23:41 EST


31.08.2020 14:04, Viresh Kumar пишет:
> On 31-08-20, 12:54, Dmitry Osipenko wrote:
>> It's not clear to me how it could be applicable to the Tegra CPU OPP
>> because Tegra depends on a combination of SPEEDO + PROCESS versions.
>>
>> It's not like all voltages are the same for all OPPs that have the same
>> PROCESS ID, otherwise it indeed would be nice to have
>> "opp-microvolt-process0", but unfortunately this variant is not suitable
>> for Tegra because some freqs have different voltages using the same
>> PROCESS ID and the same applies to the SPEEDO ID.
>
> How exactly do you know what voltage belongs to a particular OPP ?

>From these tables:

https://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=blob;f=arch/arm/mach-tegra/tegra2_dvfs.c;hb=l4t/l4t-r16-r2#l157

https://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=blob;f=arch/arm/mach-tegra/tegra3_dvfs.c;hb=l4t/l4t-r16-r2#l148

> opp@216000000 {
> clock-latency-ns = <400000>;
> opp-supported-hw = <0x0F 0x0003>;
> opp-hz = /bits/ 64 <216000000>;
> opp-microvolt-fast-process0 = <750000 750000 1125000>;
> opp-microvolt-slow-process0 = <750000 850000 1125000>;
>
> };
>
> opp@312000000 {
> clock-latency-ns = <400000>;
> opp-supported-hw = <0x0F 0x0003>;
> opp-hz = /bits/ 64 <312000000>;
> opp-microvolt-fast-process0 = <750000 750000 1125000>;
> opp-microvolt-slow-process0 = <750000 850000 1125000>;
> };
>
> You can make any combinations of such names that come from speedo,
> process, or something else. If you can get this done as a fixed
> formula then it is workable.
>

IIUC, there is no fixed formula for Tegra, at least I don't see it. For
example, if you'll take a look at the 1300MHz OPP of Tegra30, then you
could see that this freq has a lot of voltages each depending on
specific combination of SPEEDO+PROCESS versions.