cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
authorChristoph Niedermaier <cniedermaier@dh-electronics.com>
Wed, 22 Nov 2023 13:41:13 +0000 (14:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2023 07:52:24 +0000 (08:52 +0100)
[ Upstream commit 2e4e0984c7d696cc74cf2fd7e7f62997f0e9ebe6 ]

For a 900MHz i.MX6ULL CPU the 792MHz OPP is disabled. There is no
convincing reason to disable this OPP. If a CPU can run at 900MHz,
it should also be able to cope with 792MHz. Looking at the voltage
level of 792MHz in [1] (page 24, table 10. "Operating Ranges") the
current defined OPP is above the minimum. So the voltage level
shouldn't be a problem. However in [2] (page 24, table 10.
"Operating Ranges"), it is not mentioned that 792MHz OPP isn't
allowed. Change it to only disable 792MHz OPP for i.MX6ULL types
below 792 MHz.

[1] https://www.nxp.com/docs/en/data-sheet/IMX6ULLIEC.pdf
[2] https://www.nxp.com/docs/en/data-sheet/IMX6ULLCEC.pdf

Fixes: 0aa9abd4c212 ("cpufreq: imx6q: check speed grades for i.MX6ULL")
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
[ Viresh: Edited subject ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/cpufreq/imx6q-cpufreq.c

index 494d044..33728c2 100644 (file)
@@ -327,7 +327,7 @@ static int imx6ul_opp_check_speed_grading(struct device *dev)
                        imx6x_disable_freq_in_opp(dev, 696000000);
 
        if (of_machine_is_compatible("fsl,imx6ull")) {
-               if (val != OCOTP_CFG3_6ULL_SPEED_792MHZ)
+               if (val < OCOTP_CFG3_6ULL_SPEED_792MHZ)
                        imx6x_disable_freq_in_opp(dev, 792000000);
 
                if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)