ARM: imx: Fix bmode detection from grp10
[platform/kernel/u-boot.git] / arch / arm / mach-imx / init.c
index 720ad67..d18e3c7 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright 2015 Freescale Semiconductor, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <asm/io.h>
@@ -65,7 +64,7 @@ void init_aips(void)
        }
 }
 
-void imx_set_wdog_powerdown(bool enable)
+void imx_wdog_disable_powerdown(void)
 {
        struct wdog_regs *wdog1 = (struct wdog_regs *)WDOG1_BASE_ADDR;
        struct wdog_regs *wdog2 = (struct wdog_regs *)WDOG2_BASE_ADDR;
@@ -75,13 +74,13 @@ void imx_set_wdog_powerdown(bool enable)
 #endif
 
        /* Write to the PDE (Power Down Enable) bit */
-       writew(enable, &wdog1->wmcr);
-       writew(enable, &wdog2->wmcr);
+       writew(0, &wdog1->wmcr);
+       writew(0, &wdog2->wmcr);
 
-       if (is_mx6sx() || is_mx6ul() || is_mx7())
-               writew(enable, &wdog3->wmcr);
+       if (is_mx6sx() || is_mx6ul() || is_mx6ull() || is_mx7())
+               writew(0, &wdog3->wmcr);
 #ifdef CONFIG_MX7D
-       writew(enable, &wdog4->wmcr);
+       writew(0, &wdog4->wmcr);
 #endif
 }
 
@@ -119,7 +118,7 @@ void boot_mode_apply(unsigned cfg_val)
 #if defined(CONFIG_MX6)
 u32 imx6_src_get_boot_mode(void)
 {
-       if (imx6_is_bmode_from_gpr9())
+       if (readl(&src_base->gpr10) & IMX6_SRC_GPR10_BMODE)
                return readl(&src_base->gpr9);
        else
                return readl(&src_base->sbmr1);