• Thomas Schäfer's avatar
    ARM: IMX8M: introduce support for dynamic memory variants · 150c94b5
    Thomas Schäfer authored
    - Current implementation requires that memory size is configured using
      PHYS_SDRAM and PHYS_SDRAM_2 settings depending on actual memory
      size in the board config file. As PHYS_SDRAM_2 memory area is not
      used if total memory size is < 3 GiB, cache and MMU setup would use
      wrong values when initialized. Thus, dynamic initialization of 4 GiB
      and 2 GiB modules is not possible with one single bootloader binary.
    - Add support to determine actual memory size using the
      'board_phys_sdram_size' function and calculate size of DRAM1 and
      DRAM2 regions accordingly. Fix cache enable setup to use detected size
      of memory areas instead of fixed config values.
    - Ensure that memory regions are set up properly even if OPTEE memory
      region splits DRAM1 into multiple regions.
    Signed-off-by: Thomas Schäfer's avatarThomas Schaefer <thomas.schaefer@kontron.com>