1*d2b12a57SPaul Burton /* 2*d2b12a57SPaul Burton * Copyright (C) 2016 Imagination Technologies 3*d2b12a57SPaul Burton * 4*d2b12a57SPaul Burton * SPDX-License-Identifier: GPL-2.0 5*d2b12a57SPaul Burton */ 6*d2b12a57SPaul Burton 7*d2b12a57SPaul Burton #include <common.h> 8*d2b12a57SPaul Burton #include <fdt_support.h> 9*d2b12a57SPaul Burton ft_board_setup(void * blob,bd_t * bd)10*d2b12a57SPaul Burtonint ft_board_setup(void *blob, bd_t *bd) 11*d2b12a57SPaul Burton { 12*d2b12a57SPaul Burton DECLARE_GLOBAL_DATA_PTR; 13*d2b12a57SPaul Burton u64 mem_start[2], mem_size[2]; 14*d2b12a57SPaul Burton int mem_regions; 15*d2b12a57SPaul Burton 16*d2b12a57SPaul Burton mem_start[0] = 0; 17*d2b12a57SPaul Burton mem_size[0] = min_t(u64, 256llu << 20, gd->ram_size); 18*d2b12a57SPaul Burton mem_regions = 1; 19*d2b12a57SPaul Burton 20*d2b12a57SPaul Burton if (gd->ram_size > mem_size[0]) { 21*d2b12a57SPaul Burton mem_start[1] = 0x80000000 + mem_size[0]; 22*d2b12a57SPaul Burton mem_size[1] = gd->ram_size - mem_size[0]; 23*d2b12a57SPaul Burton mem_regions++; 24*d2b12a57SPaul Burton } 25*d2b12a57SPaul Burton 26*d2b12a57SPaul Burton return fdt_fixup_memory_banks(blob, mem_start, mem_size, mem_regions); 27*d2b12a57SPaul Burton } 28