From e56d9d79e587e945f219e5a98e5ab33680546215 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Wed, 10 Jan 2018 13:20:30 +0800 Subject: [PATCH] imx: cpu: add cpu speed/grade for i.MX8M Use more general enum types for speed grade. Refine get_cpu_speed_grade_hz to support i.MX8M. Signed-off-by: Peng Fan Cc: Stefano Babic Cc: Fabio Estevam Reviewed-by: Stefano Babic --- arch/arm/mach-imx/cpu.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index 52dbafb..fd6d08c 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -333,16 +333,18 @@ void set_chipselect_size(int const cs_size) } #endif -#if defined(CONFIG_MX7) +#if defined(CONFIG_MX7) || defined(CONFIG_MX8M) /* * OCOTP_TESTER3[9:8] (see Fusemap Description Table offset 0x440) * defines a 2-bit SPEED_GRADING */ #define OCOTP_TESTER3_SPEED_SHIFT 8 -#define OCOTP_TESTER3_SPEED_800MHZ 0 -#define OCOTP_TESTER3_SPEED_500MHZ 1 -#define OCOTP_TESTER3_SPEED_1GHZ 2 -#define OCOTP_TESTER3_SPEED_1P2GHZ 3 +enum cpu_speed { + OCOTP_TESTER3_SPEED_GRADE0, + OCOTP_TESTER3_SPEED_GRADE1, + OCOTP_TESTER3_SPEED_GRADE2, + OCOTP_TESTER3_SPEED_GRADE3, +}; u32 get_cpu_speed_grade_hz(void) { @@ -357,15 +359,16 @@ u32 get_cpu_speed_grade_hz(void) val &= 0x3; switch(val) { - case OCOTP_TESTER3_SPEED_800MHZ: + case OCOTP_TESTER3_SPEED_GRADE0: return 800000000; - case OCOTP_TESTER3_SPEED_500MHZ: - return 500000000; - case OCOTP_TESTER3_SPEED_1GHZ: - return 1000000000; - case OCOTP_TESTER3_SPEED_1P2GHZ: - return 1200000000; + case OCOTP_TESTER3_SPEED_GRADE1: + return is_mx7() ? 500000000 : 1000000000; + case OCOTP_TESTER3_SPEED_GRADE2: + return is_mx7() ? 1000000000 : 1300000000; + case OCOTP_TESTER3_SPEED_GRADE3: + return is_mx7() ? 1200000000 : 1500000000; } + return 0; } -- 2.7.4