aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch
blob: d8905986e2f94325c30bdf9da9453f163827f4da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 2a012775b3ab6e72091c8be1c2d4bf5972407eb5 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
Date: Sat, 27 Aug 2022 21:38:33 +0100
Subject: [PATCH] mediatek: mt7622: initialize watchdog after DDR init

Initializing the WDT before memory calibration breaks reboot at least
on some MT7622 boards like the Bananapi BPi-R64:
NOTICE:  BL2: v2.7(release):OpenWrt v2022-08-18-9c9c4994-2 (mt7622-emmc-2ddr)
NOTICE:  BL2: Built : 04:00:25, Aug 27 2022
ERROR:   Cannot find any pass-window
ERROR:   no DATLAT taps pass, DATLAT calibration fail!
ERROR:   DATLAT calibration fail, write back to  20!
ERROR:   EMI: complex R/W mem test failed: -2

Move watchdog initialization to happen only after memory initialization
has completed to avoid the problem.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 plat/mediatek/mt7622/bl2_plat_setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/plat/mediatek/mt7622/bl2_plat_setup.c
+++ b/plat/mediatek/mt7622/bl2_plat_setup.c
@@ -277,7 +277,6 @@ void bl2_platform_setup(void)
 	plat_mt_cpuxgpt_init();
 	generic_delay_timer_init();
 
-	mtk_wdt_init();
 	mtk_pin_init();
 #ifndef USING_BL2PL
 	mtk_pll_init();
@@ -285,6 +284,7 @@ void bl2_platform_setup(void)
 	mtk_pwrap_init();
 	mtk_pmic_init();
 	mtk_mem_init();
+	mtk_wdt_init();
 
 	mtk_io_setup();
 }