text: // SPDX-License-Identifier: GPL-2.0+
  /*
   * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
   */
  
  #include <common.h>
  #include <fdtdec.h>
  #include <linux/sizes.h>
  
  DECLARE_GLOBAL_DATA_PTR;
  
  int dram_init(void)
  {
  	return fdtdec_setup_mem_size_base();
  }
  
  int dram_init_banksize(void)
  {
  	return fdtdec_setup_memory_banksize();
  }
  
  ulong board_get_usable_ram_top(ulong total_size)
  {
  #ifdef CONFIG_64BIT
  	/*
  	 * Ensure that we run from first 4GB so that all
  	 * addresses used by U-Boot are 32bit addresses.
  	 *
  	 * This in-turn ensures that 32bit DMA capable
  	 * devices work fine because DMA mapping APIs will
  	 * provide 32bit DMA addresses only.
  	 */
  	if (gd->ram_top > SZ_4G)
  		return SZ_4G;
  #endif
  	return gd->ram_top;
  }
  