@ -36,6 +36,9 @@
# include "compiler.h"
# include <asm/byteorder.h>
/* Define this to avoid #ifdefs later on */
struct lmb ;
# ifdef USE_HOSTCC
/* new uImage format support enabled on host */
@ -92,6 +95,30 @@
# define IMAGE_ENABLE_SHA1 0
# endif
# endif /* CONFIG_FIT */
# ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
# define IMAGE_ENABLE_RAMDISK_HIGH 1
# else
# define IMAGE_ENABLE_RAMDISK_HIGH 0
# endif
# ifdef CONFIG_OF_LIBFDT
# define IMAGE_ENABLE_OF_LIBFDT 1
# else
# define IMAGE_ENABLE_OF_LIBFDT 0
# endif
# ifdef CONFIG_SYS_BOOT_GET_CMDLINE
# define IMAGE_BOOT_GET_CMDLINE 1
# else
# define IMAGE_BOOT_GET_CMDLINE 0
# endif
# ifdef CONFIG_OF_BOARD_SETUP
# define IMAAGE_OF_BOARD_SETUP 1
# else
# define IMAAGE_OF_BOARD_SETUP 0
# endif
/*
@ -280,9 +307,7 @@ typedef struct bootm_headers {
ulong rd_start , rd_end ; /* ramdisk start/end */
# ifdef CONFIG_OF_LIBFDT
char * ft_addr ; /* flat dev tree address */
# endif
ulong ft_len ; /* length of flat device tree */
ulong initrd_start ;
@ -390,21 +415,14 @@ ulong genimg_get_image(ulong img_addr);
int boot_get_ramdisk ( int argc , char * const argv [ ] , bootm_headers_t * images ,
uint8_t arch , ulong * rd_start , ulong * rd_end ) ;
# ifdef CONFIG_OF_LIBFDT
int boot_get_fdt ( int flag , int argc , char * const argv [ ] ,
bootm_headers_t * images , char * * of_flat_tree , ulong * of_size ) ;
void boot_fdt_add_mem_rsv_regions ( struct lmb * lmb , void * fdt_blob ) ;
int boot_relocate_fdt ( struct lmb * lmb , char * * of_flat_tree , ulong * of_size ) ;
# endif
# ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
int boot_ramdisk_high ( struct lmb * lmb , ulong rd_data , ulong rd_len ,
ulong * initrd_start , ulong * initrd_end ) ;
# endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */
# ifdef CONFIG_SYS_BOOT_GET_CMDLINE
int boot_get_cmdline ( struct lmb * lmb , ulong * cmd_start , ulong * cmd_end ) ;
# endif /* CONFIG_SYS_BOOT_GET_CMDLINE */
# ifdef CONFIG_SYS_BOOT_GET_KBD
int boot_get_kbd ( struct lmb * lmb , bd_t * * kbd ) ;
# endif /* CONFIG_SYS_BOOT_GET_KBD */
@ -546,6 +564,31 @@ static inline int image_check_target_arch(const image_header_t *hdr)
}
# endif /* USE_HOSTCC */
/**
* Set up properties in the FDT
*
* This sets up properties in the FDT that is to be passed to linux .
*
* @ images : Images information
* @ blob : FDT to update
* @ of_size : Size of the FDT
* @ lmb : Points to logical memory block structure
* @ return 0 if ok , < 0 on failure
*/
int image_setup_libfdt ( bootm_headers_t * images , void * blob ,
int of_size , struct lmb * lmb ) ;
/**
* Set up the FDT to use for booting a kernel
*
* This performs ramdisk setup , sets up the FDT if required , and adds
* paramters to the FDT if libfdt is available .
*
* @ param images Images information
* @ return 0 if ok , < 0 on failure
*/
int image_setup_linux ( bootm_headers_t * images ) ;
/*******************************************************************/
/* New uImage format specific code (prefixed with fit_) */
/*******************************************************************/