Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

board_init.c

Forked from Reform / reform-boundary-uboot
22454 commits behind the upstream repository.
  • Fabio Estevam's avatar
    9ac4fc82
    board_init: Change the logic to setup malloc_base · 9ac4fc82
    Fabio Estevam authored
    
    Prior to commit 5ba534d2 ("arm: Switch 32-bit ARM to using generic
    global_data setup") we used to have assembly code that configured the
    malloc_base address.
    
    Since this commit we use the board_init_f_mem() function in C to setup
    malloc_base address.
    
    In board_init_f_mem() there was a deliberate choice to support only
    early malloc() or full malloc() in SPL, but not both.
    
    Adapt this logic to allow both to be used, one after the other, in SPL.
    
    This issue has been observed in a Congatec board, where we need to
    retrieve the manufacturing information from the SPI NOR (the SPI API
    calls malloc) prior to configuring the DRAM. In this case as malloc_base
    was not configured we always see malloc to fail.
    
    With this change we are able to use malloc in SPL prior to DRAM gets
    initialized.
    
    Also update the CONFIG_SYS_SPL_MALLOC_START entry in the README file.
    
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    9ac4fc82
    History
    board_init: Change the logic to setup malloc_base
    Fabio Estevam authored
    
    Prior to commit 5ba534d2 ("arm: Switch 32-bit ARM to using generic
    global_data setup") we used to have assembly code that configured the
    malloc_base address.
    
    Since this commit we use the board_init_f_mem() function in C to setup
    malloc_base address.
    
    In board_init_f_mem() there was a deliberate choice to support only
    early malloc() or full malloc() in SPL, but not both.
    
    Adapt this logic to allow both to be used, one after the other, in SPL.
    
    This issue has been observed in a Congatec board, where we need to
    retrieve the manufacturing information from the SPI NOR (the SPI API
    calls malloc) prior to configuring the DRAM. In this case as malloc_base
    was not configured we always see malloc to fail.
    
    With this change we are able to use malloc in SPL prior to DRAM gets
    initialized.
    
    Also update the CONFIG_SYS_SPL_MALLOC_START entry in the README file.
    
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>