Linux Boot Flow#
This module illustrates the Linux boot flow.
On K3 architecture based devices, the ROM only supports boot via R5. This means that the bootloader has to run on the R5 core. The Linux boot architecture is shown in the below figure. This boot architecture keeps safety in mind, while also allowing for a faster boot time.
+------------------------------------------------------------------------+
| DMSC(M3) | R5 | ARM64(A53) |
+------------------------------------------------------------------------+
| +---------+ | | |
| | Reset | | | |
| +---------+ | | |
| : | | |
| +---------+ | +------------+ | |
| | *ROM* |---------|-->| Reset rls | | |
| +---------+ | +------------+ | |
| | | | : | |
| | ROM | | : | |
| |services | | : | |
| | | | +-------------+ | |
| | | | | *R5 ROM* | | |
| | | | +-------------+ | |
| | |<--------|---| Load & auth | | |
| | | | | tiboot3.bin | | |
| | | | | (R5 SPL + | | |
| | Start | | | SYSFW image)| | |
| | SYSFW | | +-------------+ | |
| +--------+ | : | |
| : | : | |
| +---------+ | : | |
| | *SYSFW* | | +-------------+ | |
| | | | | *R5 SPL* | | |
| | | | +-------------+ | |
| | | | | DDR | | |
| | | | | Config | | |
| | | | +-------------+ | |
| | |<--------|---| Start A53 | | |
| | | | | and Reset | | |
| | | | +-------------+ | |
| | | | | +-----------+ |
| | |---------|-----------------------|---->| Reset rls | |
| | | | | +-----------+ |
| | DMSC | | | : |
| |Services | | | +-----------+ |
| | |<--------|-----------------------|---->|*ATF/OPTEE*| |
| | | | | +-----------+ |
| | | | | : |
| | | | | +-----------+ |
| | |<--------|-----------------------|---->| *A53 SPL* | |
| | | | | +-----------+ |
| | | | | | Load | |
| | | | | | u-boot.img| |
| | | | | +-----------+ |
| | | | | : |
| | | | | +-----------+ |
| | |<--------|-----------------------|---->| *U-Boot* | |
| | | | | +-----------+ |
| | | | | | prompt | |
| | | | | +-----------+ |
| | | | | | Load | |
| | | | | |Kernel/DTB | |
| | | | | +-----------+ |
| | | | | : |
| | | | | +-----------+ |
| | |<--------|-----------------------|---->| *Linux* | |
| | | | | +-----------+ |
| +---------+ | | |
| | | |
+------------------------------------------------------------------------+
The SMS acts as master and provides all the critical services. R5 & A53 requests SMS to get these services as shown in the above diagram.