SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The MCU boot process flow is shown in Figure 4-3.
The values of (MCU_)BOOTMODE pins are latched into the Device Status register (CTRLMMR_WKUP_DEVSTAT) by hardware as the device comes out of global cold reset. When MCU Only boot was selected, only MCU_BOOTMODE pins are taken into account and only MCUSS set of peripherals are available for boot. For more information how to set BOOTMODE and MCU_BOOTMODE pins, see Section 4.3, Boot Mode Pins.
The DMSC is the boot master of MCU. DMSC performs the necessary configurations and releases MCU's reset for CPU0 and CPU1 simultaneously even when in split mode.
DMSC releases MCU's reset for CPU0 and CPU1 simultaneously regardless if MCU CPUs are in lockstep or split mode.
The MCU checks the boot mode pins and then configures the apropriate peripheral interface to get access to a boot image. A cursory check of the image is made, and the image is passed to DMSC. DMSC ROM then will perform code verification and route the boot image to the on-chip RAM. Once the image has been received, MCU enters a clean state and idles. DMSC ROM code will assert reset to the MCU, redirect the boot vector to the newly loaded image, and release the reset. This restarts the MCU with the MCU ROM code fully disconnected.
The MCU ROM code executes only on initial power up (POR). On subsequent (warm) resets, the reset vector base address will point to run-time loaded code (the SBL), and not ROM.
DMSC ROM sets up a 3-minute watchdog timer (MCU_RTI0) timeout. During this time, the MCU boot needs to get completed, otherwise a WDT reset will occur. Once the MCU image is loaded (SBL/SPL), DMSC ROM will restart the watchdog timer for additional 3 minutes upon entering the MCU SBL. The customer-provided MCU image needs to load and install the TI-provided SYSFW image into the DMSC, which will manage the watchdog timer during run time.
The following system conditions must be met at POR to perform device boot:
Figure 4-4 describes the external bootloader (SBL) typical tasks.
Upon MCU reset and SBL execution start, DMSC ROM restarts the RTI watchdog timer for additional 180 seconds of timeout. During that time, SBL must load the DMSC firmware provided by TI otherwise a MCU reset will occur as a preventive measure against software misbehavior.
One of the SBL's main tasks is to load the DMSC firmware. Only after this task is performed, SBL can load the other processor (A72s, R5s) image and request a reset release from DMSC firmware for those cores.