From: Philipp Tomsich Date: Fri, 28 Apr 2017 15:31:44 +0000 (+0200) Subject: rockchip: ARM64: puma-rk3399: get DRAM size from DMC init X-Git-Tag: v2025.01-rc5-pxa1908~6975^2~20 X-Git-Url: http://git.dujemihanovic.xyz/img/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=e92e58035062930fcbcb1861cc92f512bde4067b;p=u-boot.git rockchip: ARM64: puma-rk3399: get DRAM size from DMC init With the RK3399 DRAM controller (DMC) driver providing all the infrastructure, retrieve the DRAM size from the DMC init in the board-specific code (instead of hard-coding) for the RK3399-Q7 (Puma). Signed-off-by: Philipp Tomsich Reviewed-by: Simon Glass --- diff --git a/board/theobroma-systems/puma_rk3399/puma-rk3399.c b/board/theobroma-systems/puma_rk3399/puma-rk3399.c index fb4d31e01d..0a8861a3b3 100644 --- a/board/theobroma-systems/puma_rk3399/puma-rk3399.c +++ b/board/theobroma-systems/puma_rk3399/puma-rk3399.c @@ -5,10 +5,18 @@ */ #include #include +#include +#include #include #include #include #include +#include + +DECLARE_GLOBAL_DATA_PTR; + +#define RK3399_CPUID_OFF 0x7 +#define RK3399_CPUID_LEN 0x10 DECLARE_GLOBAL_DATA_PTR; @@ -57,7 +65,23 @@ out: int dram_init(void) { - gd->ram_size = 0x80000000; + struct ram_info ram; + struct udevice *dev; + int ret; + + ret = uclass_get_device(UCLASS_RAM, 0, &dev); + if (ret) { + debug("DRAM init failed: %d\n", ret); + return ret; + } + ret = ram_get_info(dev, &ram); + if (ret) { + debug("Cannot get DRAM size: %d\n", ret); + return ret; + } + debug("SDRAM base=%llx, size=%x\n", ram.base, (unsigned int)ram.size); + gd->ram_size = ram.size; + return 0; }