blob: ceffef61efb39f665437339fec0a208f14bfa322 [file] [log] [blame]
Paul Burtonad8783c2016-09-08 07:47:39 +01001/*
2 * Copyright (C) 2016 Imagination Technologies
3 *
4 * SPDX-License-Identifier: GPL-2.0
5 */
6
7#include <common.h>
8
9#include <asm/io.h>
10
11#include "boston-regs.h"
12
13phys_size_t initdram(int board_type)
14{
15 u32 ddrconf0 = __raw_readl((uint32_t *)BOSTON_PLAT_DDRCONF0);
16
17 return (phys_size_t)(ddrconf0 & BOSTON_PLAT_DDRCONF0_SIZE) << 30;
18}
19
20ulong board_get_usable_ram_top(ulong total_size)
21{
22 DECLARE_GLOBAL_DATA_PTR;
23
24 if (gd->ram_top < CONFIG_SYS_SDRAM_BASE) {
25 /* 2GB wrapped around to 0 */
26 return CKSEG0ADDR(256 << 20);
27 }
28
29 return min_t(unsigned long, gd->ram_top, CKSEG0ADDR(256 << 20));
30}