Hello TI experts,
We have custom SOM modules based on AM62 platform. My intention is to enable watchdog driver/functionality in u-boot for that. I tried to enable below configs of RTI watchdog in u-boot, however with this change, I see crash in U-boot and system can not recover from it, hence unable to boot linux / kernel.
U-boot configs to enable RTI watchdog:
diff --git a/configs/verdin-am62_a53_defconfig b/configs/verdin-am62_a53_defconfig index f56617d8b7..d02f781907 100644 --- a/configs/verdin-am62_a53_defconfig +++ b/configs/verdin-am62_a53_defconfig @@ -182,3 +182,11 @@ CONFIG_SYSRESET_TI_SCI=y CONFIG_DM_THERMAL=y CONFIG_FS_FAT_MAX_CLUSTSIZE=16384 CONFIG_HEXDUMP=y +CONFIG_WDT=y +CONFIG_CMD_WDT=y +CONFIG_WDT_K3_RTI=y +CONFIG_SPL_WDT=y
U-boot crash log snippets when above configs are enabled.
U-Boot SPL 2023.04-00043-g626d73cf84b-dirty (Mar 06 2024 - 15:39:22 +0100) SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)') SPL initial stack usage: 13368 bytes Trying to boot from MMC1 Authentication passed Authentication passed Authentication passed Authentication passed Authentication passed Starting ATF on ARM64 core... NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 NOTICE: BL31: Built : 15:01:16, Dec 13 2023 I/TC: I/TC: OP-TEE version: 4.0.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Fri Jan 5 08:34:42 UTC 2024 aarch64 I/TC: WARNING: This OP-TEE configuration might be insecure! I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html I/TC: Primary CPU initializing I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)') I/TC: HUK Initialized I/TC: Primary CPU switching to normal world boot U-Boot SPL 2023.04-00043-g626d73cf84b-dirty (Mar 06 2024 - 15:39:32 +0100) SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)') SPL initial stack usage: 1904 bytes Trying to boot from MMC1 Authentication passed Authentication passed U-Boot 2023.04-00043-g626d73cf84b-dirty (Mar 06 2024 - 15:39:32 +0100) SoC: AM62X SR1.0 HS-FS DRAM: 1 GiB Core: 148 devices, 32 uclasses, devicetree: separate WDT: Started watchdog@e000000 with servicing every 1000ms (60s timeout) WDT: Started watchdog@e010000 with servicing every 1000ms (60s timeout) "Synchronous Abort" handler, esr 0x96000010 elr: 000000008085a50c lr : 000000008085a508 (reloc) elr: 000000009bf5850c lr : 000000009bf58508 x0 : 0000000099f04cd0 x1 : 000000000e020000 x2 : 0000000000000000 x3 : 000000009bf584f4 x4 : 0000000099ee97a8 x5 : 0000000000000000 x6 : 000000000000003c x7 : 000000000000000a x8 : 0000000099ee9870 x9 : 0000000000000008 x10: 00000000000023ac x11: 0000000099ee951c x12: 0000000000002378 x13: 0000000000000000 x14: 0000000099ee9870 x15: 0000000000000002 x16: 000000009bf53fcc x17: 0000000000000000 x18: 0000000099efbd70 x19: 000000000000ea60 x20: 000000009bfb2ba1 x21: 000000009bfb2b89 x22: 00000000000003e8 x23: 0000000000000009 x24: 0000000000000000 x25: 00000000800b2193 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000000000 x29: 0000000099ee9790 Code: f9000bf3 aa0103f3 97ff70c3 f9400001 (b9409021) Resetting CPU ... resetting ...
Mentioned U-boot crash is persisting across manline u-boot, TI downstream U-boot and with the latest ti-sci FW v9.2.5 when RTI watchdog is enabled.
Questions:
- How to enable watchdog in U-boot for AM62 ?
- Is U-boot watchdog functionality tested and working on AM62 based platforms ? Any reference to this would be really helpful.
Thank you.
SW details:
U-boot:
DTSI:
- https://git.toradex.com/cgit/u-boot-toradex.git/tree/arch/arm/dts/k3-am62-verdin.dtsi?h=toradex_ti-u-boot-2023.04
- https://git.toradex.com/cgit/u-boot-toradex.git/tree/arch/arm/dts/k3-am625-verdin-r5.dts?h=toradex_ti-u-boot-2023.04
Regards,
Parth P