3.2. 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 DMSC acts as master and provides all the critical services. R5 & ARM64 requests DMSC to get these services as shown in the above diagram.