blob: bf772ff5dec4f7b10de1c50bf0a17cbd0dbb037c [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Paul Burtona315bcd2017-04-30 21:22:42 +02002/*
3 * Copyright (C) 2016 Imagination Technologies
Paul Burtona315bcd2017-04-30 21:22:42 +02004 */
5
Tom Riniabb9a042024-05-18 20:20:43 -06006#include <common.h>
Paul Burtona315bcd2017-04-30 21:22:42 +02007#include <fdt_support.h>
Simon Glass3ba929a2020-10-30 21:38:53 -06008#include <asm/global_data.h>
Paul Burtona315bcd2017-04-30 21:22:42 +02009
Masahiro Yamadaf7ed78b2020-06-26 15:13:33 +090010int ft_board_setup(void *blob, struct bd_info *bd)
Paul Burtona315bcd2017-04-30 21:22:42 +020011{
12 DECLARE_GLOBAL_DATA_PTR;
13 u64 mem_start[2], mem_size[2];
14 int mem_regions;
15
16 mem_start[0] = 0;
17 mem_size[0] = min_t(u64, 256llu << 20, gd->ram_size);
18 mem_regions = 1;
19
20 if (gd->ram_size > mem_size[0]) {
21 mem_start[1] = 0x80000000 + mem_size[0];
22 mem_size[1] = gd->ram_size - mem_size[0];
23 mem_regions++;
24 }
25
26 return fdt_fixup_memory_banks(blob, mem_start, mem_size, mem_regions);
27}