From d30867eecdf510e7bf90722447943122ac33fbdb Mon Sep 17 00:00:00 2001 From: Bai Ping Date: Fri, 10 Mar 2017 14:54:01 +0800 Subject: MLK-14409-01 ARM: imx: Add speed grading fuse check for 900MHz on i.mx6ull According to the latest datasheet(Rev.1,02/2017), when the internal LDO is enabled, the ARM core can run at 900MHz. We need to check the speed grading fuse to determine the max ARM core frequency. Signed-off-by: Bai Ping (cherry picked from commit cc0edd14c5fc3b5590302572687b08f80563c683) (cherry picked from commit c0821bb630b5a993a7cb8405f228f8bbd9e0bef7) --- arch/arm/mach-imx/mach-imx6ul.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-imx/mach-imx6ul.c b/arch/arm/mach-imx/mach-imx6ul.c index dcabfb199702..9eb97e8c2c32 100644 --- a/arch/arm/mach-imx/mach-imx6ul.c +++ b/arch/arm/mach-imx/mach-imx6ul.c @@ -71,7 +71,7 @@ static void __init imx6ul_enet_phy_init(void) #define OCOTP_CFG3 0x440 #define OCOTP_CFG3_SPEED_SHIFT 16 #define OCOTP_CFG3_SPEED_696MHZ 0x2 -#define OCOTP_CFG3_SPEED_1_GHZ 0x3 +#define OCOTP_CFG3_SPEED_900MHZ 0x3 static void __init imx6ul_opp_check_speed_grading(struct device *cpu_dev) { @@ -100,7 +100,7 @@ static void __init imx6ul_opp_check_speed_grading(struct device *cpu_dev) * 2b'00: Reserved; * 2b'01: 528000000Hz; * 2b'10: 700000000Hz(i.MX6UL), 800000000Hz(i.MX6ULL); - * 2b'11: Reserved(i.MX6UL), 1GHz(i.MX6ULL); + * 2b'11: 900000000Hz(i.MX6ULL); * We need to set the max speed of ARM according to fuse map. */ val = readl_relaxed(base + OCOTP_CFG3); @@ -114,15 +114,15 @@ static void __init imx6ul_opp_check_speed_grading(struct device *cpu_dev) } if (cpu_is_imx6ull()) { - if (val != OCOTP_CFG3_SPEED_1_GHZ) { - if (dev_pm_opp_disable(cpu_dev, 996000000)) - pr_warn("Failed to disable 996MHz OPP\n"); - } - if (val != OCOTP_CFG3_SPEED_696MHZ) { if (dev_pm_opp_disable(cpu_dev, 792000000)) pr_warn("Failed to disable 792MHz OPP\n"); } + + if (val != OCOTP_CFG3_SPEED_900MHZ) { + if(dev_pm_opp_disable(cpu_dev, 900000000)) + pr_warn("Failed to disable 900MHz OPP\n"); + } } iounmap(base); -- cgit v1.2.3