nt9856x/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.h
2023-05-17 15:33:39 +08:00

53 lines
1.4 KiB
C
Executable File

#ifndef SYS_LINUXBOOT_H
#define SYS_LINUXBOOT_H
typedef struct _FDT_INFO {
unsigned int linux_addr;
unsigned int linux_size;
unsigned int linuxtmp_addr;
unsigned int linuxtmp_size;
unsigned int bridge_addr;
unsigned int bridge_size;
// following are for check memory partition
unsigned int dram_addr;
unsigned int dram_size;
unsigned int fdt_addr;
unsigned int fdt_size;
unsigned int rtos_addr;
unsigned int rtos_size;
unsigned int hdal_addr;
unsigned int hdal_size;
unsigned int shmem_addr;
unsigned int shmem_size;
} FDT_INFO;
typedef struct _LINUXTMP_PARTITION {
unsigned int tmp_begin;
unsigned int tmp_curr;
unsigned int tmp_end;
unsigned int tmp2_begin; // if it available, means small dram.
unsigned int tmp2_curr; // use the memory 8MB - rtos_addr
unsigned int tmp2_end; // to store fdt and ramdisk
unsigned int fdt_addr;
unsigned int fdt_size;
unsigned int ramfs_addr;
unsigned int ramfs_size;
unsigned int bootargs_addr;
unsigned int bootargs_size;
unsigned int lz_linux_addr;
unsigned int lz_linux_size;
unsigned int nvtpack_addr;
unsigned int nvtpack_size;
} LINUXTMP_PARTITION;
typedef struct _LINUXBOOT_INFO {
FDT_INFO fdt_info;
LINUXTMP_PARTITION linuxtmp;
} LINUXBOOT_INFO;
int linuxboot_setup(LINUXBOOT_INFO *p_info);
void linuxboot_go(LINUXBOOT_INFO *p_linuxtmp);
int linuxboot_set_flash_preload(LINUXBOOT_INFO *p_info); //optional, for fastboot-ai on nor
void linuxboot_set_extra_bootarg(char* bootarg);
#endif