boot-mode.c 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #include <common.h>
  7. #include <spl.h>
  8. #include "../sbc/sbc-regs.h"
  9. #include "../soc-info.h"
  10. #include "boot-device.h"
  11. u32 spl_boot_device(void)
  12. {
  13. if (boot_is_swapped())
  14. return BOOT_DEVICE_NOR;
  15. switch (uniphier_get_soc_type()) {
  16. #if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD3)
  17. case SOC_UNIPHIER_PH1_SLD3:
  18. return ph1_sld3_boot_device();
  19. #endif
  20. #if defined(CONFIG_ARCH_UNIPHIER_PH1_LD4) || \
  21. defined(CONFIG_ARCH_UNIPHIER_PH1_PRO4) || \
  22. defined(CONFIG_ARCH_UNIPHIER_PH1_SLD8)
  23. case SOC_UNIPHIER_PH1_LD4:
  24. case SOC_UNIPHIER_PH1_PRO4:
  25. case SOC_UNIPHIER_PH1_SLD8:
  26. return ph1_ld4_boot_device();
  27. #endif
  28. #if defined(CONFIG_ARCH_UNIPHIER_PH1_PRO5)
  29. case SOC_UNIPHIER_PH1_PRO5:
  30. return ph1_pro5_boot_device();
  31. #endif
  32. #if defined(CONFIG_ARCH_UNIPHIER_PROXSTREAM2) || \
  33. defined(CONFIG_ARCH_UNIPHIER_PH1_LD6B)
  34. case SOC_UNIPHIER_PROXSTREAM2:
  35. case SOC_UNIPHIER_PH1_LD6B:
  36. return proxstream2_boot_device();
  37. #endif
  38. default:
  39. return BOOT_DEVICE_NONE;
  40. }
  41. }