MLK-22258 imx8mn: Update speed grade
authorYe Li <ye.li@nxp.com>
Fri, 12 Jul 2019 06:20:02 +0000 (23:20 -0700)
committerYe Li <ye.li@nxp.com>
Mon, 15 Jul 2019 03:37:02 +0000 (20:37 -0700)
imx8mn speed grade fuse uses new definitions as below. So have
to update get_cpu_speed_grade_hz function to match it.

SPEED_GRADING[5:0]:
SPEED_GRADE[5:4]    SPEED_GRADE[3:0]    MHz
      xx                0000            2300
      xx                0001            2200
      xx                0010            2100
      xx                0011            2000
      xx                0100            1900
      xx                0101            1800
      xx                0110            1700
      xx                0111            1600
      xx                1000            1500
      xx                1001            1400
      xx                1010            1300
      xx                1011            1200
      xx                1100            1100
      xx                1101            1000
      xx                1110             900
      xx                1111             800

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit e4e9ba2e868ea1b55581bdc1b7096cfb9cc15009)

arch/arm/mach-imx/cpu.c

index e05929a..45d5661 100644 (file)
@@ -438,6 +438,12 @@ u32 get_cpu_speed_grade_hz(void)
 
        val = readl(&fuse->tester3);
        val >>= OCOTP_TESTER3_SPEED_SHIFT;
+
+       if (is_imx8mn()) {
+               val &= 0xf;
+               return 2300000000 - val * 100000000;
+       }
+
        if (is_imx8mm())
                val &= 0x7;
        else