Skip to content
  • Patrick Delaunay's avatar
    board: st: stm32mp1: update load address for FIT examples · 60a2dd6a
    Patrick Delaunay authored
    
    
    Update kernel load address for FIT examples to avoid relocation:
    - Kernel example uses Image.gz with U-Boot gzip decompression
      at final kernel location 0x0xC0008000.
    - Copro example loads zImage at a correct location (0xC4000000),
      to avoid zImage relocation before decompression by kernel code.
    
    An other solution to avoid zImage relocation is to align
    the kernel load and entry address with the real location in FIT
    (the relocation of zImage is skipped in U-Boot bootm command for
    identical address) but it is less flexible because this offset
    depends on FIT content:
    
    For example:
    
    ## Loading kernel from FIT Image at c2000000 ...
       Using 'ev1' configuration
       Trying 'kernel' kernel subimage
         Description:  Linux kernel
         Created:      2020-10-22   9:08:32 UTC
         Type:         Kernel Image
         Compression:  uncompressed
         Data Start:   0xc20000cc
    
    The kernel offset in FIT is 0xCC in FIT and zImage is decompressed at
    0xC0008000 by kernel code:
    
    kernel {
    	description = "Linux kernel";
    	data = /incbin/("zImage");
    	type = "kernel";
    	arch = "arm";
    	os = "linux";
    	compression = "none";
    	load = <0xC20000cc>;
    	entry = <0xC20000cc>;
    	hash-1 {
    		algo = "sha1";
    	};
    };
    
    Signed-off-by: default avatarPatrick Delaunay <patrick.delaunay@st.com>
    Reviewed-by: default avatarPatrice Chotard <patrice.chotard@st.com>
    60a2dd6a