Skip to content

Commit

Permalink
arm-trusted-firmware-mediatek: fix hang on reboot on MT7622
Browse files Browse the repository at this point in the history
With recent updates of TF-A the previously already fixed bug slipped
back into the source tree. Again, reorder bl2 init for MT7622 and
initialize WDT only after DRAM init has completed to avoid the
notorious hang.

Signed-off-by: Daniel Golle <[email protected]>
  • Loading branch information
dangowrt committed Sep 10, 2023
1 parent 9725524 commit 948ad2e
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
2 changes: 1 addition & 1 deletion package/boot/arm-trusted-firmware-mediatek/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=arm-trusted-firmware-mediatek
PKG_RELEASE:=1
PKG_RELEASE:=2

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
From 9e8cb08bc64530e7511b86a131cfad1ae0199586 Mon Sep 17 00:00:00 2001
From: Daniel Golle <[email protected]>
Date: Sun, 10 Sep 2023 23:35:47 +0100
Subject: [PATCH] mt7622: move wdt init after dram init

resolves hang on reboot
---
plat/mediatek/mt7622/bl2/bl2_plat_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/plat/mediatek/mt7622/bl2/bl2_plat_init.c
+++ b/plat/mediatek/mt7622/bl2/bl2_plat_init.c
@@ -40,7 +40,6 @@ bool plat_is_my_cpu_primary(void)
const struct initcall bl2_initcalls[] = {
INITCALL(plat_mt_cpuxgpt_init),
INITCALL(generic_delay_timer_init),
- INITCALL(mtk_wdt_init),
INITCALL(mtk_print_cpu),
INITCALL(mtk_pin_init),
#ifndef IMAGE_BL2PL
@@ -49,6 +48,7 @@ const struct initcall bl2_initcalls[] =
INITCALL(mtk_pwrap_init),
INITCALL(mtk_pmic_init),
INITCALL(mtk_mem_init),
+ INITCALL(mtk_wdt_init),

INITCALL(NULL)
};

0 comments on commit 948ad2e

Please sign in to comment.