U-Boot 2022.10 以前のバージョンのバグにより、U-Boot が 533 日 18 時間 14 分を超えると、WATCHDOG_RESET 関数はウォッチドッグのリセットに失敗します。これは、WATCHDOG_RESET は 64 ビットのシステムカウンターレジスターから値をタイムスタンプとして取得して間隔期間を計算しますが、レジスターがオーバーフローしたかどうかはチェックしないためです。
このような失敗を回避するには、次の 2 つの方法があります。
- U-Boot 2022.10 以前のバージョンでは、ウォッチドッグドライバーモデル (DM) の WATCHDOG_RESET 機能を使用しないでください。代わりに、ウォッチドッグ デバイス ドライバー インターフェイスを使用してください。
- U-Boot 2023.01 以降のバージョンにアップグレードします。
これはU-Bootのバグであり、U-Boot 2023.01から修正されました、以下のリンクを参照してください: