AM62x MCU+ SDK  08.06.00
SBL Booting Linux From OSPI

Introduction

  • SBL booting Linux (see SBL OSPI Linux Multistage) is a secondary bootloader application that boots Linux on A53 core and RTOS/NORTOS application on R5, M4 cores.
  • The bootloader makes use of 6 appimages
    • A Linux appimage containing the Linux binaries (ATF, OPTEE, A53 SPL).
    • tiboot3.bin with SBL stage1, TIFS, BoardConfig
    • Appimage for SBL stage2
    • Appimage for MCU M4
    • Appimage for HSM M4
    • DM firmware appimage for DM R5
  • 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.

Features Supported

  • Boots R5, M4 cores and Linux on A53 from OSPI.
  • SBL booting Linux can be used when early booting of R5 and M4 cores are required. When using uBoot to run R5 and M4 cores the application will start running on R5, M4 cores only after booting Linux

Features NOT Supported

  • If SD card or other boot modes are required, user might need to switch to booting Linux using Linux uBoot.

Bootflow for SBL booting linux from OSPI

Note
The binaries for R5, M4 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

Bootflow for SBL booting Linux

OSPI memory layout for SBL booting Linux from OSPI

Note
The flash address R5, M4 appimages and Linux appimages can be configured using Syscfg
0x0 +----------------------------+
| tiboot3.bin |
| (SBL stage1,TIFS,boardcfg) |
| |
0x80000 +----------------------------+
| SBL Stage2 |
| |
0x100000 +----------------------------+
| MCU M4 App Image |
| |
0x280000 +----------------------------+
| ospi.u-boot(4m) |
| |
0x680000 +----------------------------+
| ospi.env(128k) |
| |
0x6c0000 +----------------------------+
| ospi.env.backup(128k) |
| |
0x740000 +----------------------------+
| padding (768k) |
0x800000 +----------------------------+
| HSM App Image |
| |
0xA00000 +----------------------------+
| DM App Image |
| |
0xC00000 +----------------------------+
| Linux App Image |
| |
0x3fc0000 +----------------------------+
| ospi.phypattern (256k) |
| |
+----------------------------+

SD card Partitioning

Note
The default SD card image for am62xx-evm can be used to boot Linux using SBL
The tiboot3.bin, tispl.bin, u-boot.img will not be used for booting Linux when using SBL booting Linux.
U-boot needs to be flashed at the flash device only.
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.

  • 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