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 MCELF loading. More... | |
struct | Bootloader_BootImageInfo |
Data structure containing information related all CPUs, this will be filled by Bootloader_parseAndLoadMultiCoreELF. More... | |
struct | Bootloader_LoadImageParams |
Data structure containing necessary structs to load AppImage on different CPUs. More... | |
Macros | |
#define | BOOTLOADER_INVALID_ID ((uint32_t)0xDEADBABE) |
Invalid ID magic number to be used for initializations. More... | |
#define | BOOTLOADER_OPMODE_LOCKSTEP (0U) |
Operating mode type. More... | |
#define | BOOTLOADER_OPMODE_STANDALONE (1U) |
#define | BOOTLOADER_MEDIA_MEM ((uint32_t)0xB0070001) |
Boot media IDs. More... | |
#define | BOOTLOADER_MEDIA_FLASH ((uint32_t)0xB0070002) |
#define | BOOTLOADER_MEDIA_EMMC ((uint32_t)0xB0070003) |
#define | BOOTLOADER_MEDIA_SD ((uint32_t)0xB0070004) |
#define | BOOTLOADER_MEDIA_BUFIO ((uint32_t)0xB0070005) |
#define | BOOTLOADER_MEDIA_UART ((uint32_t)0xB0070006) |
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... | |
typedef int32_t(* | Bootloader_imgCustomFxn) (void *args) |
Driver implementation to enable a custom function for a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More... | |
Enumerations | |
enum | Bootloader_AppImageLoadStatus { BOOTLOADER_IMAGE_NOT_LOADED, BOOTLOADER_IMAGE_LOADED } |
AppImage load status. 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_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... | |
void | Bootloader_JumpSelfCpu (void) |
API to jump self CPU. More... | |
int32_t | Bootloader_bootCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo) |
API to boot a non-self CPU. More... | |
int32_t | Bootloader_runSelfCpuWithLinux () |
API to boot self CPU with Linux. More... | |
uint32_t | Bootloader_getMulticoreImageSize (Bootloader_Handle handle) |
API to fetch the size of the multicore image. More... | |
uint32_t | Bootloader_isCorePresent (Bootloader_Handle handle, uint32_t cslCoreId) |
API to check if a particular core's ELF image is present in the multicore image. More... | |
uint32_t | Bootloader_getBootMedia (Bootloader_Handle handle) |
API to get the selected boot media in the bootloader instance. More... | |
void | Bootloader_ReservedMemInit (uint32_t startAddress, uint32_t regionlength) |
API to set the memory region of bootloader. More... | |
void | Bootloader_powerOffCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo) |
API to power off a core. More... | |
int32_t | Bootloader_parseAndLoadMultiCoreELF (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo) |
API to parse and load a multicore ELF image for Flash, eMMC & SD bootmedia. More... | |
int32_t | Bootloader_UartParseAndLoadMultiCoreELF (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo) |
API to parse and load a multicore ELF image for Uart bootmedia. More... | |
void | Bootloader_openDma () |
API to open DMA channel. More... | |
void | Bootloader_closeDma () |
API to close DMA channel. More... | |