SPRAD44 june   2023 AM6442

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Required Hardware and Software
  6. 3AM6442 RTI Watchdog Modules
    1. 3.1 How the RTI Works in the U-Boot?
  7. 4About Those Six Commands in the U-Boot
  8. 5How to Turn These Commands Into C Code?
    1. 5.1 Entire RTI Patch for This Application Note
  9. 6References

Introduction

This document demonstrates the U-Boot software watchdog implementation. The technique being used is the Real Time Interrupt (RTI).

In general, there are two types of watchdogs:

  • External watchdogs (hardware)
  • Internal watchdogs System-on-Chip (SoC) inside, call it software watchdog

RTI is a software watchdog that is included in the AM6442 device. This a Digital Window Watchdog (DDWD).

There are seven RTI modules allocated in the MCU domain and Main domain. Table 1-1 is from the RTI Overview section in the AM64x/AM243x Technical Reference Manual.

Table 1-1 RTI Allocation Across Device Domains
Instance Domain
MCU Main
MCU_RTI0 -
RTI0 -
RTI1 -
RTI8 -
RTI9 -
RTI10 -
RTI11 -

Instances in the MCU domain:

  • MCU_RTI0 is dedicated to the MCU cluster (MCU_M4FSS0) in the lockstep. When unlocked, it serves as a Windowed Watchdog for the first M4F CPU core in the MCU domain (MCU_M4FSS0_CORE0).

Instances in the MAIN domain:

These are intended to function as a Digital Windowed Watchdog for the CPU core and are associated with the following items:

  • RTI0 is dedicated to the first A53 CPU core in the A53 cluster (A53SS0_CORE0)
  • RTI1 is dedicated to the second A53 CPU core in the A53 cluster (A53SS0_CORE1)
  • RTI8 is dedicated to the first R5F CPU core in the Main domain (R5FSS0_CORE0)
  • RTI9 is dedicated to the second R5F CPU core in the Main domain (R5FSS0_CORE1)
  • RTI10 is dedicated to the third R5F CPU core in the Main domain (R5FSS1_CORE0)
  • RTI11 is dedicated to the fourth R5F CPU core in the Main domain (R5FSS1_CORE1)

The U-Boot code is used to control the RTI0 due to fact that the U-Boot is mainly running on the A53 core0.

This application note provides information about:

  • How to start the test commands running from U-Boot prompt
  • How to make these commands turning into C code
  • What it looks like when running

Sometimes, the U-Boot gets stuck and the developer needs to reset the system without cold boot; the watchdog is needed at that time. For example, according to the AM64x/AM243x Processor Silicon Revision 1.0, 2.0 Errata, if the customer needs to have the ETH boot on the U-Boot, then the ETH gets stuck. When this happens, the RTI triggers the watchdog reset, then the ETH can be recovered again. For more information, see the patch attached in this document, and see the “eth_initialize()” function.

The AM64x SDK8.2 release is used in this document (Version: 08.02.00.17 Release date: 26 Apr 2022).