| // SPDX-License-Identifier: GPL-2.0+ |
| /* |
| * Copyright (C) 2016 Daniel Schwierzeck <daniel.schwierzeck@gmail.com> |
| * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com> |
| */ |
| |
| #include <common.h> |
| #include <init.h> |
| #include <log.h> |
| #include <ram.h> |
| #include <dm.h> |
| #include <asm/global_data.h> |
| |
| DECLARE_GLOBAL_DATA_PTR; |
| |
| int dram_init(void) |
| { |
| struct ram_info ram; |
| struct udevice *dev; |
| int err; |
| |
| err = uclass_get_device(UCLASS_RAM, 0, &dev); |
| if (err) { |
| debug("DRAM init failed: %d\n", err); |
| return 0; |
| } |
| |
| err = ram_get_info(dev, &ram); |
| if (err) { |
| debug("Cannot get DRAM size: %d\n", err); |
| return 0; |
| } |
| |
| debug("SDRAM base=%zx, size=%x\n", ram.base, ram.size); |
| |
| gd->ram_size = ram.size; |
| |
| return 0; |
| } |