1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2016 Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
4  * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
5  */
6 
7 #include <init.h>
8 #include <log.h>
9 #include <ram.h>
10 #include <dm.h>
11 #include <asm/global_data.h>
12 
13 DECLARE_GLOBAL_DATA_PTR;
14 
dram_init(void)15 int dram_init(void)
16 {
17 	struct ram_info ram;
18 	struct udevice *dev;
19 	int err;
20 
21 	err = uclass_get_device(UCLASS_RAM, 0, &dev);
22 	if (err) {
23 		debug("DRAM init failed: %d\n", err);
24 		return 0;
25 	}
26 
27 	err = ram_get_info(dev, &ram);
28 	if (err) {
29 		debug("Cannot get DRAM size: %d\n", err);
30 		return 0;
31 	}
32 
33 	debug("SDRAM base=%zx, size=%x\n", ram.base, ram.size);
34 
35 	gd->ram_size = ram.size;
36 
37 	return 0;
38 }
39