Changes between Version 1 and Version 2 of venice/bootloader


Ignore:
Timestamp:
03/25/2024 05:27:54 PM (8 months ago)
Author:
Tim Harvey
Comment:

added a memory map for boot firmware

Legend:

Unmodified
Added
Removed
Modified
  • venice/bootloader

    v1 v2  
    33
    44[=#u-boot]
    5 == Venice U-Boot Bootloader
     5= Venice U-Boot Bootloader
    66Gateworks supports the U-Boot Bootloader for the Venice product family.
    77
     
    2525
    2626
     27== Editing the environment
     28If you would like to modify the default environment you can edit the [https://github.com/Gateworks/bsp-venice/blob/master/venice.env venice/venice.env] in the Venice BSP.
     29
    2730[=#default]
    28 == Restoring defaults
     31== Restoring environment defaults
    2932The Venice boot firmware has a copy of the original U-Boot env that was created during build time.
    3033
     
    3841}}}
    3942
    40 == Editing the environment
    41 If you would like to modify the default environment you can edit the [https://github.com/Gateworks/bsp-venice/blob/master/venice.env venice/venice.env] in the Venice BSP.
     43[=#memmap]
     44== Memory Mapping
     45When working with boot firmware you are often dealing with choosing where to load in memory various components. Sometimes this is done by hard-coding addresses into U-Boot commands, using env variables, or hard coding them into the U-Boot build configuration files (ie binman node) or FIT image templates.
     46
     47Here is what we recommend for memory mapping on the IMX8M{M,N,P} SoC's:
     48||= address   =||= var =||= Note =||
     49|| 0x00920000  || || ARM Trusted Firmware ||
     50|| 0x40000000  || || base of DRAM ||
     51|| 0x40200000  || kernel_comp_addr_r || CONFIG_TEXT_BASE: base of non-secure memory<BR>The ATF configures the first 2M of DRAM as secure for itself ||
     52|| 0x40310000  || || binman_fip image gets put here
     53|| 0x44000000  || || CONFIG_SPL_LOAD_FIT_ADDRESS (used for secure boot)
     54|| 0x48200000  || loadaddr, kernel_addr_r || CONFIG_SYS_LOAD_ADDR
     55|| 0x50200000  || fdt_addr_r || area for loading fdt (128M above kernel_addr_r)
     56|| 0x50300000  || scriptaddr || area for loading script (512K above fdt_addr_r)
     57|| 0x7e000000  || || CFG_TZDRAM_START (secure boot with TEE; for 1GB DRAM boards)
     58|| 0x80000000  || || 1GB boundary ||
     59|| 0xbe000000  || || CFG_TZDRAM_START (secure boot with TEE; for 2GB DRAM boards)
     60|| 0xc0000000  || || 2GB boundary
     61|| 0xfe000000  || || CGG_TZDRAM_START (secure boot with TEE; for 4GB DRAM boards)
     62|| 0x100000000 || || 3GB boundary ||
     63|| 0x140000000 || || 4GB boundary ||