lmb: init: initialise the lmb data structures during board init

The memory map maintained by the LMB module is now persistent and
global. This memory map is being maintained through the alloced list
structure which can be extended at runtime -- there is one list for
the available memory, and one for the used memory. Allocate and
initialise these lists during the board init.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Sughosh Ganu
2024-08-26 17:29:28 +05:30
committed by Tom Rini
parent c2c50d52d9
commit b6400de7e0
2 changed files with 13 additions and 0 deletions

View File

@@ -22,6 +22,7 @@
#include <hang.h>
#include <image.h>
#include <irq_func.h>
#include <lmb.h>
#include <log.h>
#include <net.h>
#include <asm/cache.h>
@@ -510,6 +511,14 @@ int initr_mem(void)
}
#endif
static int initr_lmb(void)
{
if (CONFIG_IS_ENABLED(LMB))
return lmb_init();
else
return 0;
}
static int dm_announce(void)
{
int device_count;
@@ -612,6 +621,7 @@ static init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_CLOCKS
set_cpu_clk_info, /* Setup clock information */
#endif
initr_lmb,
#ifdef CONFIG_EFI_LOADER
efi_memory_init,
#endif

View File

@@ -721,6 +721,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
IS_ENABLED(CONFIG_SPL_ATF))
dram_init_banksize();
if (IS_ENABLED(CONFIG_SPL_LMB))
lmb_init();
if (CONFIG_IS_ENABLED(PCI) && !(gd->flags & GD_FLG_DM_DEAD)) {
ret = pci_init();
if (ret)