SBL Booting Linux From OSPI
Introduction
SBL booting Linux (SBL OSPI Linux Multistage) is a secondary bootloader application that boots Linux on A53 core and RTOS/NORTOS application on R5, MCU-R5 cores.
The bootloader makes use of 5 appimages
A Linux appimage containing the Linux binaries (ATF, OPTEE, A53 SPL).
tiboot3.bin with SBL stage1, TIFS, BoardConfig
Appimage for WKUP R5 with SBL stage2
Appimage for MCU R5
Appimage for HSM M4
Boots WKUP-R5F, MCU-R5, HSM-M4 cores and Linux on A53 from OSPI.
SBL booting Linux can be used when early booting of WKUP-R5F, HSM-M4 and MCU-R5 cores are required. When using uBoot, the application will start running on WKUP-R5F, HSM-M4 and MCU-R5 cores only after booting Linux.
The Linux appimage can be generated by using Linux Appimage Generator Tool
The appimages will be flashed to the offset specified by SysCfg, the SBL parses the appimages from these locations, loads and run the cores.
Bootflow for SBL booting linux from OSPI
Note
The binaries for WKUP-R5F, MCU-R5 cores need not be in the linux root partition (root/lib/firmware), when SBL is booting Linux. :::
The bootflow for SBL booting Linux is as follows

The stage 2 bootloader and the Device manager application are combined as a single appimage
The SBL stage 1 will self load SBL stage 2 + Device manager application to WKUP-R5 core and run self CPU
Then two threads namely, main thread and SBL stage 2 thread will be created for parallel execution
The main thread will open the drivers required for application, do the SciServer init and run the WKUP-R5 core application
The SBL thread will set the clock and open the drivers for the peripherals used by the SBL.
Then it boots the HSM-M4 core, MCU-R5 core and linux on A53 core.
Note
The peripherals used by SBL and application are separated by using the sysconfig option ‘Instance added by bootloader’.
Note
For the peripherals used by SBL, the ‘Instance added by bootloader’ option is enabled in the sysconfig as shown.
Note

Note
These peripherals will be opened/closed in the SBL thread and it will not get opened/closed in the common Drivers_open/Drivers_close function called in the main thread.
OSPI memory layout for SBL booting Linux from OSPI
Note
The flash address R5F, M4F appimages and Linux appimages can be configured using Syscfg :::
Note
The flash address RF5, MCU-R5F, HSM-M4 and Linux appimages can be configured using Syscfg :::
0x0 +----------------------------+
| tiboot3.bin |
| (SBL stage1,TIFS,boardcfg) |
| |
0x80000 +----------------------------+
| SBL Stage2 + DM Image |
| |
0x240000 +----------------------------+
| HSM App Image |
| |
0x280000 +----------------------------+
| ospi.u-boot(4m) |
| |
0x800000 +----------------------------+
| MCU R5 App Image |
| |
0x1200000 +----------------------------+
| Linux App Image |
| |
+----------------------------+
SD card Partitioning
Note
The tiboot3.bin, tispl.bin will not be used for booting Linux when using SBL booting Linux.
Note
The R5 binaries in the root partition (eg : root/lib/firmware/am64-main-r5f0_0-fw) will not be used when SBL boots Linux and R5,M4 cores.
The default Linux SD card image for AM64x-evm has two partitons
Note
The tiboot3.bin, tispl.bin, u-boot.img will not be used for booting Linux when using SBL booting Linux.
Note
U-boot needs to be flashed at the flash device only.
Note
The M4 binaries in the root partition (eg : root/lib/firmware/am62-m4f0_0-fw) will not be used when SBL boots Linux and R5,M4 cores.
The default Linux SD card image for am62x-sk has two partitons. No files from boot partition will be used while booting from OSPI flash device.
Note
The tiboot3.bin, tispl.bin, u-boot.img will not be used for booting Linux when using SBL booting Linux.
Note
U-boot needs to be flashed at the flash device only.
Note
The R5 binaries in the root partition (eg : root/lib/firmware/am62a-mcu-r5f0_0-fw) will not be used when SBL boots Linux and R5 cores.
The default Linux SD card image for am62ax-sk has two partitons. No files from boot partition will be used while booting from OSPI flash device.
Note
The default SD card image for AM62Px-evm can be used to boot Linux using SBL
Note
The tiboot3.bin, tispl.bin, u-boot.img will not be used for booting Linux when using SBL booting Linux.
Note
U-boot needs to be flashed at the flash device only.
Note
The R5 binaries in the root partition (eg : root/lib/firmware/am62p-mcu-r5f0_0-fw) will not be used when SBL boots Linux and R5 cores.
The default Linux SD card image for am62px-sk has two partitons. No files from boot partition will be used while booting from OSPI flash device.
A FAT partition (boot) contatining
tiboot3.bin
tispl.bin
u-boot.img
uboot.env
A ext4 partition (root) containing
Linux Kernel image
Linux DTB
Linux file system
See Also