Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant

The 1.2 GHz variant of the Armada 3720 SOC is unstable with DVFS: when
the SOC boots, the WTMI firmware sets clocks and AVS values that work
correctly with 1.2 GHz CPU frequency, but random crashes occur once
cpufreq driver starts scaling.

We do not know currently what is the reason:
- it may be that the voltage value for L0 for 1.2 GHz variant provided
by the vendor in the OTP is simply incorrect when scaling is used,
- it may be that some delay is needed somewhere,
- it may be something else.

The most sane solution now seems to be to simply forbid the cpufreq
driver on 1.2 GHz variant.

Signed-off-by: Marek Behún <kabel@kernel.org>
Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

authored by

Marek Behún and committed by
Viresh Kumar
484f2b7c 5d79e5ce

+5 -1
+5 -1
drivers/cpufreq/armada-37xx-cpufreq.c
··· 104 104 }; 105 105 106 106 static struct armada_37xx_dvfs armada_37xx_dvfs[] = { 107 - {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, 107 + /* 108 + * The cpufreq scaling for 1.2 GHz variant of the SOC is currently 109 + * unstable because we do not know how to configure it properly. 110 + */ 111 + /* {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, */ 108 112 {.cpu_freq_max = 1000*1000*1000, .divider = {1, 2, 4, 5} }, 109 113 {.cpu_freq_max = 800*1000*1000, .divider = {1, 2, 3, 4} }, 110 114 {.cpu_freq_max = 600*1000*1000, .divider = {2, 4, 5, 6} },