On 16.08.21 15:19, Marek Behún wrote:
When booting over UART, sending U-Boot proper may take too much time and
MCU watchdog will reset the board before U-Boot proper is loaded.

Better disable MCU watchdog in SPL when booting over UART.

Signed-off-by: Marek Behún <marek.be...@nic.cz>

Applied to u-boot-marvell/master

Thanks,
Stefan

---
  board/CZ.NIC/turris_omnia/turris_omnia.c | 17 ++++++++++++++++-
  configs/turris_omnia_defconfig           |  1 +
  2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c 
b/board/CZ.NIC/turris_omnia/turris_omnia.c
index a84a409f43..b0391c973d 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -419,12 +419,27 @@ int board_early_init_f(void)
        return 0;
  }
+void spl_board_init(void)
+{
+       /*
+        * If booting from UART, disable MCU watchdog in SPL, since uploading
+        * U-Boot proper can take too much time and trigger it.
+        */
+       if (get_boot_device() == BOOT_DEVICE_UART)
+               disable_mcu_watchdog();
+}
+
  int board_init(void)
  {
        /* address of boot parameters */
        gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
- disable_mcu_watchdog();
+       /*
+        * If not booting from UART, MCU watchdog was not disabled in SPL,
+        * disable it now.
+        */
+       if (get_boot_device() != BOOT_DEVICE_UART)
+               disable_mcu_watchdog();
return 0;
  }
diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
index cd443ceb30..67f8bdadaf 100644
--- a/configs/turris_omnia_defconfig
+++ b/configs/turris_omnia_defconfig
@@ -33,6 +33,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
  # CONFIG_DISPLAY_BOARDINFO is not set
  CONFIG_DISPLAY_BOARDINFO_LATE=y
  CONFIG_MISC_INIT_R=y
+CONFIG_SPL_BOARD_INIT=y
  CONFIG_SPL_I2C=y
  CONFIG_CMD_MEMTEST=y
  CONFIG_SYS_ALT_MEMTEST=y



Viele Grüße,
Stefan

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to