init.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 <debug_uart.h>
  8. #include <spl.h>
  9. #include "../init.h"
  10. #include "../soc-info.h"
  11. void spl_board_init(void)
  12. {
  13. const struct uniphier_board_data *param;
  14. #ifdef CONFIG_DEBUG_UART
  15. debug_uart_init();
  16. #endif
  17. param = uniphier_get_board_param();
  18. if (!param)
  19. hang();
  20. switch (uniphier_get_soc_type()) {
  21. #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
  22. case SOC_UNIPHIER_SLD3:
  23. uniphier_sld3_init(param);
  24. break;
  25. #endif
  26. #if defined(CONFIG_ARCH_UNIPHIER_LD4)
  27. case SOC_UNIPHIER_LD4:
  28. uniphier_ld4_init(param);
  29. break;
  30. #endif
  31. #if defined(CONFIG_ARCH_UNIPHIER_PRO4)
  32. case SOC_UNIPHIER_PRO4:
  33. uniphier_pro4_init(param);
  34. break;
  35. #endif
  36. #if defined(CONFIG_ARCH_UNIPHIER_SLD8)
  37. case SOC_UNIPHIER_SLD8:
  38. uniphier_sld8_init(param);
  39. break;
  40. #endif
  41. #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
  42. case SOC_UNIPHIER_PRO5:
  43. uniphier_pro5_init(param);
  44. break;
  45. #endif
  46. #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
  47. case SOC_UNIPHIER_PXS2:
  48. case SOC_UNIPHIER_LD6B:
  49. uniphier_pxs2_init(param);
  50. break;
  51. #endif
  52. #if defined(CONFIG_ARCH_UNIPHIER_LD11)
  53. case SOC_UNIPHIER_LD11:
  54. uniphier_ld11_init(param);
  55. break;
  56. #endif
  57. #if defined(CONFIG_ARCH_UNIPHIER_LD20)
  58. case SOC_UNIPHIER_LD20:
  59. uniphier_ld20_init(param);
  60. break;
  61. #endif
  62. default:
  63. break;
  64. }
  65. }