AM64x MCU+ SDK  08.02.00
bootloader.h File Reference

Introduction

Bootloader Driver API/interface file.

Go to the source code of this file.

Data Structures

struct  Bootloader_Params
 Parameters passed during Bootloader_open() More...
 
struct  Bootloader_Fxns
 Driver implementation callbacks. More...
 
struct  Bootloader_Config
 Bootloader driver configuration, these are filled by SysCfg based on the boot media selected. More...
 
struct  Bootloader_CpuInfo
 Data structure containing information related to a particular CPU, required for RPRC loading. More...
 
struct  Bootloader_BootImageInfo
 Data structure containing information related all CPUs, this will be filled by Bootloader_parseMultiCoreAppImage. More...
 

Macros

#define BOOTLOADER_INVALID_ID   (0xDEADBABE)
 Invalid ID magic number to be used for initializations. More...
 
#define BOOTLOADER_MEDIA_MEM   (0xB0070001)
 Boot media IDs. More...
 
#define BOOTLOADER_MEDIA_FLASH   (0xB0070002)
 
#define BOOTLOADER_MEDIA_EMMC   (0xB0070003)
 

Typedefs

typedef void * Bootloader_Handle
 Handle to the Bootloader driver returned by Bootloader_open() More...
 
Bootloader driver implementation callbacks
typedef int32_t(* Bootloader_imgOpenFxn) (void *args, Bootloader_Params *params)
 Driver implementation to open a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
 
typedef int32_t(* Bootloader_imgReadFxn) (void *dstAddr, uint32_t length, void *args)
 Driver implementation to read from boot media using a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
 
typedef uint32_t(* Bootloader_imgOffsetFxn) (void *args)
 Driver implementation to get the current offset in the boot media. More...
 
typedef void(* Bootloader_imgSeekFxn) (uint32_t location, void *args)
 Driver implementation to read from boot media using a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
 
typedef void(* Bootloader_imgCloseFxn) (void *handle, void *args)
 Driver implementation to close a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
 

Functions

void Bootloader_Params_init (Bootloader_Params *params)
 Initialize Bootloader params. More...
 
void Bootloader_BootImageInfo_init (Bootloader_BootImageInfo *bootImageInfo)
 Initialize BootImage info. More...
 
void Bootloader_CpuInfo_init (Bootloader_CpuInfo *cpuInfo)
 Initialize CPU info. More...
 
Bootloader_Handle Bootloader_open (uint32_t instanceNum, Bootloader_Params *openParams)
 Open bootloader driver. More...
 
void Bootloader_close (Bootloader_Handle handle)
 Close bootloader driver. More...
 
int32_t Bootloader_loadCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 API to load a non-self CPU. More...
 
int32_t Bootloader_loadSelfCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 API to load self CPU. More...
 
int32_t Bootloader_runCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 API to run a non-self CPU. More...
 
int32_t Bootloader_runSelfCpu (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
 API to boot self CPU. More...
 
int32_t Bootloader_bootCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 API to boot a non-self CPU. More...
 
int32_t Bootloader_bootSelfCpu (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
 API to boot self CPU. More...
 
int32_t Bootloader_parseMultiCoreAppImage (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
 Parse Multicore Appimage. More...
 
int32_t Bootloader_rprcImageParseEntryPoint (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 Parse entrypoint from RPRC. More...
 
int32_t Bootloader_rprcImageLoad (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
 Load application binaries into SOC memory. More...
 
int32_t Bootloader_parseAndLoadLinuxAppImage (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
 Parse and load linux Appimage, containing linux binaries(ATF, OPTEE, SPL) More...
 
int32_t Bootloader_runSelfCpuWithLinux ()
 API to boot self CPU with Linux. More...