On Thu, 2018-08-30 at 22:43 +0300, Dmitry Osipenko wrote: > Hello, > > This series adds support for CPU frequency scaling on Tegra30 and > device > tree support that allows to implement thermal throttling and > customize > available CPU frequencies per-board. The tegra20-cpufreq driver has > been > re-worked to support that all. > > Note that Tegra30 support not strictly depends on the clock patches > that > are under review now, CPUFREQ driver will fail to probe until CCLKG > clock > will get exposed by the clock driver. Hence this series can be > applied > independently of the clock patches, CPUFREQ will start to work on > Tegra30 > once both patchsets will be applied. In general this seems to work fine both on Colibri T20 as well as Apalis/Colibri T30. However I did notice a few things plus have some additional questions: - Both T20 as well as T30 currently limit the max frequency to 1 GHz while there are clearly T30 SKUs which may allow higher frequencies (e.g. our regular T30 aka Embedded SKU 1.3 GHz max resp. 1.4 GHz single core only, commercial T30 aka AP33 or T33 or whatever it is called up to 1.6 GHz max resp. 1.7 GHz single core only). Would I have to allow this via custom OPPs in my device tree? - However, certain OPPs may also require adjusting core/cpu voltages which is not yet taken care of as far as I can tell, correct? - I believe in downstream certain OPPs also take silicon parameters aka speedo whatever into account. Any comments/plans concerning this? - With "cpufreq-info -f" I could only observe like the top 3-4 OPPs while it does not to go further down even when idling. Why could that be resp. what could cause this? - Unfortunately "cpufreq-info --stats" currently does not seem to output anything. Would that require something special to be implemented? Other than that you may add the following to the whole series: Tested-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> > Dmitry Osipenko (5): > dt-bindings: cpufreq: Add binding for NVIDIA Tegra20/30 > cpufreq: tegra20: Support OPP, thermal cooling and Tegra30 > ARM: tegra: Create tegra20-cpufreq device on Tegra30 > ARM: dts: tegra20: Add CPU Operating Performance Points > ARM: dts: tegra30: Add CPU Operating Performance Points > > .../cpufreq/nvidia,tegra20-cpufreq.txt | 38 ++ > arch/arm/boot/dts/tegra20.dtsi | 58 +++ > arch/arm/boot/dts/tegra30.dtsi | 65 ++++ > arch/arm/mach-tegra/tegra.c | 4 + > drivers/cpufreq/Kconfig.arm | 2 + > drivers/cpufreq/cpufreq-dt-platdev.c | 2 + > drivers/cpufreq/tegra20-cpufreq.c | 334 +++++++++++++--- > -- > 7 files changed, 422 insertions(+), 81 deletions(-) > create mode 100644 > Documentation/devicetree/bindings/cpufreq/nvidia,tegra20-cpufreq.txt