diff options
Diffstat (limited to 'package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch')
-rw-r--r-- | package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch b/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch new file mode 100644 index 0000000000..d8905986e2 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-mt7622-initialize-watchdog-after-DDR-init.patch @@ -0,0 +1,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(); + } |