cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL
authorChristoph Niedermaier <cniedermaier@dh-electronics.com>
Tue, 11 Feb 2020 11:58:07 +0000 (12:58 +0100)
committerViresh Kumar <viresh.kumar@linaro.org>
Wed, 12 Feb 2020 04:10:41 +0000 (09:40 +0530)
imx6ul_opp_check_speed_grading is called for both i.MX6UL and i.MX6ULL.
Since the i.MX6ULL was introduced to a separate ocotp compatible node
later, it is possible that the i.MX6ULL has also dtbs with
"fsl,imx6ull-ocotp". On a system without nvmem-cell speed grade a
missing check on this node causes a driver fail without considering
the cpu speed grade.

This patch prevents unwanted cpu overclocking on i.MX6ULL with compatible
node "fsl,imx6ull-ocotp" in old dtbs without nvmem-cell speed grade.

Fixes: 2733fb0d0699 ("cpufreq: imx6q: read OCOTP through nvmem for imx6ul/imx6ull")
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/imx6q-cpufreq.c

index 648a09a..1fcbbd5 100644 (file)
@@ -280,6 +280,9 @@ static int imx6ul_opp_check_speed_grading(struct device *dev)
                void __iomem *base;
 
                np = of_find_compatible_node(NULL, NULL, "fsl,imx6ul-ocotp");
+               if (!np)
+                       np = of_find_compatible_node(NULL, NULL,
+                                                    "fsl,imx6ull-ocotp");
                if (!np)
                        return -ENOENT;