imx8qm: fix cpu frequency reporting
authorMarcel Ziswiler <marcel@ziswiler.com>
Fri, 31 May 2019 16:00:18 +0000 (19:00 +0300)
committerStefano Babic <sbabic@denx.de>
Tue, 11 Jun 2019 08:42:48 +0000 (10:42 +0200)
CPU frequency reporting failed with the following error message being
printed:

sc_pm_get_clock_rate: resource:507 clk:2: res:3
Could not read CPU frequency: -22
CPU:   NXP i.MX8QM RevB A53 at 0 MHz

Fix this by differentiating between the A35 as found on the i.MX 8QXP
and the A53 as found on the i.MX 8QM SoCs.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
arch/arm/mach-imx/imx8/cpu.c

index 53f9a8735ad6dcd41bc38fc851019879c655a73a..aa78444d8ffcdbf0a3fb22f4d259c347d0825562 100644 (file)
@@ -623,8 +623,10 @@ static ulong imx8_get_cpu_rate(void)
 {
        ulong rate;
        int ret;
+       int type = is_cortex_a35() ? SC_R_A35 : is_cortex_a53() ?
+                  SC_R_A53 : SC_R_A72;
 
-       ret = sc_pm_get_clock_rate(-1, SC_R_A35, SC_PM_CLK_CPU,
+       ret = sc_pm_get_clock_rate(-1, type, SC_PM_CLK_CPU,
                                   (sc_pm_clock_rate_t *)&rate);
        if (ret) {
                printf("Could not read CPU frequency: %d\n", ret);