dram.c 658 B

123456789101112131415161718192021222324252627282930313233343536
  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. #include <common.h>
  7. #include <ram.h>
  8. #include <dm.h>
  9. DECLARE_GLOBAL_DATA_PTR;
  10. int dram_init(void)
  11. {
  12. struct ram_info ram;
  13. struct udevice *dev;
  14. int err;
  15. err = uclass_get_device(UCLASS_RAM, 0, &dev);
  16. if (err) {
  17. debug("DRAM init failed: %d\n", err);
  18. return 0;
  19. }
  20. err = ram_get_info(dev, &ram);
  21. if (err) {
  22. debug("Cannot get DRAM size: %d\n", err);
  23. return 0;
  24. }
  25. debug("SDRAM base=%zx, size=%x\n", ram.base, ram.size);
  26. gd->ram_size = ram.size;
  27. return 0;
  28. }