rock5a-rk3588s.c 827 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (c) 2023 Collabora Ltd.
  4. */
  5. #include <fdtdec.h>
  6. #include <fdt_support.h>
  7. #ifdef CONFIG_OF_BOARD_SETUP
  8. int rock5a_add_reserved_memory_fdt_nodes(void *new_blob)
  9. {
  10. struct fdt_memory gap1 = {
  11. .start = 0x3fc000000,
  12. .end = 0x3fc4fffff,
  13. };
  14. struct fdt_memory gap2 = {
  15. .start = 0x3fff00000,
  16. .end = 0x3ffffffff,
  17. };
  18. unsigned long flags = FDTDEC_RESERVED_MEMORY_NO_MAP;
  19. unsigned int ret;
  20. /*
  21. * Inject the reserved-memory nodes into the DTS
  22. */
  23. ret = fdtdec_add_reserved_memory(new_blob, "gap1", &gap1, NULL, 0,
  24. NULL, flags);
  25. if (ret)
  26. return ret;
  27. return fdtdec_add_reserved_memory(new_blob, "gap2", &gap2, NULL, 0,
  28. NULL, flags);
  29. }
  30. int ft_board_setup(void *blob, struct bd_info *bd)
  31. {
  32. return rock5a_add_reserved_memory_fdt_nodes(blob);
  33. }
  34. #endif