init.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef __MACH_INIT_H
  7. #define __MACH_INIT_H
  8. struct uniphier_board_data {
  9. unsigned long dram_ch0_base;
  10. unsigned long dram_ch0_size;
  11. unsigned long dram_ch0_width;
  12. unsigned long dram_ch1_base;
  13. unsigned long dram_ch1_size;
  14. unsigned long dram_ch1_width;
  15. unsigned long dram_ch2_base;
  16. unsigned long dram_ch2_size;
  17. unsigned long dram_ch2_width;
  18. unsigned int dram_freq;
  19. };
  20. const struct uniphier_board_data *uniphier_get_board_param(void);
  21. int ph1_sld3_init(const struct uniphier_board_data *bd);
  22. int ph1_ld4_init(const struct uniphier_board_data *bd);
  23. int ph1_pro4_init(const struct uniphier_board_data *bd);
  24. int ph1_sld8_init(const struct uniphier_board_data *bd);
  25. int ph1_pro5_init(const struct uniphier_board_data *bd);
  26. int proxstream2_init(const struct uniphier_board_data *bd);
  27. #if defined(CONFIG_MICRO_SUPPORT_CARD)
  28. int ph1_sld3_sbc_init(const struct uniphier_board_data *bd);
  29. int ph1_ld4_sbc_init(const struct uniphier_board_data *bd);
  30. int ph1_pro4_sbc_init(const struct uniphier_board_data *bd);
  31. int proxstream2_sbc_init(const struct uniphier_board_data *bd);
  32. #else
  33. static inline int ph1_sld3_sbc_init(const struct uniphier_board_data *bd)
  34. {
  35. return 0;
  36. }
  37. static inline int ph1_ld4_sbc_init(const struct uniphier_board_data *bd)
  38. {
  39. return 0;
  40. }
  41. static inline int ph1_pro4_sbc_init(const struct uniphier_board_data *bd)
  42. {
  43. return 0;
  44. }
  45. static inline int proxstream2_sbc_init(const struct uniphier_board_data *bd)
  46. {
  47. return 0;
  48. }
  49. #endif
  50. int ph1_sld3_bcu_init(const struct uniphier_board_data *bd);
  51. int ph1_ld4_bcu_init(const struct uniphier_board_data *bd);
  52. int memconf_init(const struct uniphier_board_data *bd);
  53. int ph1_sld3_memconf_init(const struct uniphier_board_data *bd);
  54. int proxstream2_memconf_init(const struct uniphier_board_data *bd);
  55. int ph1_sld3_pll_init(const struct uniphier_board_data *bd);
  56. int ph1_ld4_pll_init(const struct uniphier_board_data *bd);
  57. int ph1_pro4_pll_init(const struct uniphier_board_data *bd);
  58. int ph1_sld8_pll_init(const struct uniphier_board_data *bd);
  59. int ph1_sld3_enable_dpll_ssc(const struct uniphier_board_data *bd);
  60. int ph1_ld4_enable_dpll_ssc(const struct uniphier_board_data *bd);
  61. int ph1_ld4_early_clk_init(const struct uniphier_board_data *bd);
  62. int ph1_pro5_early_clk_init(const struct uniphier_board_data *bd);
  63. int proxstream2_early_clk_init(const struct uniphier_board_data *bd);
  64. int ph1_sld3_early_pin_init(const struct uniphier_board_data *bd);
  65. int ph1_ld4_umc_init(const struct uniphier_board_data *bd);
  66. int ph1_pro4_umc_init(const struct uniphier_board_data *bd);
  67. int ph1_sld8_umc_init(const struct uniphier_board_data *bd);
  68. void ph1_sld3_pin_init(void);
  69. void ph1_ld4_pin_init(void);
  70. void ph1_pro4_pin_init(void);
  71. void ph1_sld8_pin_init(void);
  72. void ph1_pro5_pin_init(void);
  73. void proxstream2_pin_init(void);
  74. void ph1_ld6b_pin_init(void);
  75. void ph1_ld4_clk_init(void);
  76. void ph1_pro4_clk_init(void);
  77. void ph1_pro5_clk_init(void);
  78. void proxstream2_clk_init(void);
  79. #define pr_err(fmt, args...) printf(fmt, ##args)
  80. #endif /* __MACH_INIT_H */