rockchip: rk3399: use actual dram size
[oweals/u-boot.git] / board / rockchip / evb_rk3399 / evb-rk3399.c
index 6561c4fbd3de5d4fbb83d66d5682739c92a4fe66..e83dedbc5bc501e399584319ecffde5db2b4a686 100644 (file)
@@ -5,6 +5,7 @@
  */
 #include <common.h>
 #include <dm.h>
+#include <ram.h>
 #include <dm/pinctrl.h>
 #include <dm/uclass-internal.h>
 #include <asm/arch/periph.h>
@@ -62,7 +63,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;
 }