SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
For Armv8 cores such as A72, two boot modes are supported: legacy 32-bit address boot mode, and 64-bit address boot mode. The selection is asserted before the A72 core is out of reset and is based on the configuration of the following Compute Cluster register:
When the A72 core is configured for a 32-bit address boot mode, the boot vector is fixed at address 0x0000_0000, which corresponds to the start address of the 2KB boot RAM (PSRAM2KECC0_RAM).
When the A72 core is configured for a 64-bit address boot mode, the boot vector is determined by the RVBARADDRx tie-off signal, which is configured via associated Compute Cluster registers:
The Compute Cluster RVBARAADRx setting is latched into the A72 RVBAR register, where reset is applied. Once reset is released, the A72 RVBAR register becomes read-only and the latched value is used as a boot vector location.
Table 6-10 summarizes the A72 boot mode specifics.
32-bit Address Boot Mode | 64-bit Address Boot Mode |
---|---|
Boot vector is part of vector table | Boot vector is not part of vector table |
Boot vector has a fixed address: 0x0000_0000. It corresponds to the 2KB boot RAM (PSRAM2KECC0_RAM) | Boot vector is determined by RVBARADDRx[39:2] tie-off setting per core.(1) |
Location of the vector table is fixed by default (0x0000_0000) | No default location of vector table |
No need to program A72 VBAR register if vector table stays at the default address | Each A72 core boot code must program VBAR_ELn core registers to initialize its location of the vector tables for the various Armv8 exception levels |
Vector table is 32B | Vector table is 128B |
Vector table location can be reprogrammed after boot | Vector table location is unknown until it is programmed after reset |