]>
Commit | Line | Data |
---|---|---|
323d1f9d | 1 | /* |
a74c28a0 MY |
2 | * Copyright (C) 2015-2016 Socionext Inc. |
3 | * Author: Masahiro Yamada <yamada.masahiro@socionext.com> | |
323d1f9d MY |
4 | * |
5 | * SPDX-License-Identifier: GPL-2.0+ | |
6 | */ | |
7 | ||
8 | #ifndef __MACH_INIT_H | |
9 | #define __MACH_INIT_H | |
10 | ||
4021b438 MY |
11 | #include <linux/types.h> |
12 | ||
46abfcc9 MY |
13 | #define UNIPHIER_MAX_NR_DRAM_CH 3 |
14 | ||
15 | struct uniphier_dram_ch { | |
46abfcc9 MY |
16 | unsigned long size; |
17 | unsigned int width; | |
18 | }; | |
19 | ||
323d1f9d | 20 | struct uniphier_board_data { |
46abfcc9 | 21 | unsigned int dram_freq; |
46abfcc9 | 22 | struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH]; |
a74c28a0 | 23 | unsigned int flags; |
f6bbec3d | 24 | |
04cd4e72 MY |
25 | #define UNIPHIER_BD_DRAM_SPARSE BIT(9) |
26 | #define UNIPHIER_BD_DDR3PLUS BIT(8) | |
323d1f9d MY |
27 | }; |
28 | ||
6ba60faf | 29 | const struct uniphier_board_data *uniphier_get_board_param(void); |
323d1f9d | 30 | |
5b660066 MY |
31 | int uniphier_ld4_init(const struct uniphier_board_data *bd); |
32 | int uniphier_pro4_init(const struct uniphier_board_data *bd); | |
33 | int uniphier_sld8_init(const struct uniphier_board_data *bd); | |
34 | int uniphier_pro5_init(const struct uniphier_board_data *bd); | |
35 | int uniphier_pxs2_init(const struct uniphier_board_data *bd); | |
323d1f9d MY |
36 | |
37 | #if defined(CONFIG_MICRO_SUPPORT_CARD) | |
9e3bb84b MY |
38 | void uniphier_sbc_init_admulti(void); |
39 | void uniphier_sbc_init_savepin(void); | |
40 | void uniphier_ld4_sbc_init(void); | |
41 | void uniphier_pxs2_sbc_init(void); | |
42 | void uniphier_ld11_sbc_init(void); | |
323d1f9d | 43 | #else |
9e3bb84b | 44 | static inline void uniphier_sbc_init_admulti(void) |
323d1f9d | 45 | { |
323d1f9d MY |
46 | } |
47 | ||
9e3bb84b | 48 | static inline void uniphier_sbc_init_savepin(void) |
323d1f9d | 49 | { |
323d1f9d MY |
50 | } |
51 | ||
9e3bb84b | 52 | static inline void uniphier_ld4_sbc_init(void) |
5d0607c5 | 53 | { |
5d0607c5 MY |
54 | } |
55 | ||
9e3bb84b MY |
56 | static inline void uniphier_pxs2_sbc_init(void) |
57 | { | |
58 | } | |
59 | ||
60 | static inline void uniphier_ld11_sbc_init(void) | |
019df879 | 61 | { |
019df879 | 62 | } |
323d1f9d MY |
63 | #endif |
64 | ||
e94842fa | 65 | void uniphier_ld4_bcu_init(const struct uniphier_board_data *bd); |
323d1f9d | 66 | |
8d6c99c6 | 67 | int uniphier_memconf_2ch_init(const struct uniphier_board_data *bd); |
8d6c99c6 | 68 | int uniphier_memconf_3ch_init(const struct uniphier_board_data *bd); |
5b660066 | 69 | |
6a3e4274 MY |
70 | int uniphier_ld4_dpll_init(const struct uniphier_board_data *bd); |
71 | int uniphier_pro4_dpll_init(const struct uniphier_board_data *bd); | |
72 | int uniphier_sld8_dpll_init(const struct uniphier_board_data *bd); | |
a8e6300d MY |
73 | int uniphier_pro5_dpll_init(const struct uniphier_board_data *bd); |
74 | int uniphier_pxs2_dpll_init(const struct uniphier_board_data *bd); | |
5b660066 | 75 | |
00aa453e | 76 | void uniphier_ld4_early_clk_init(void); |
78c627cf | 77 | |
00aa453e | 78 | void uniphier_ld4_dram_clk_init(void); |
78c627cf MY |
79 | void uniphier_pro5_dram_clk_init(void); |
80 | void uniphier_pxs2_dram_clk_init(void); | |
5b660066 | 81 | |
5b660066 MY |
82 | int uniphier_ld4_umc_init(const struct uniphier_board_data *bd); |
83 | int uniphier_pro4_umc_init(const struct uniphier_board_data *bd); | |
84 | int uniphier_sld8_umc_init(const struct uniphier_board_data *bd); | |
a8e6300d | 85 | int uniphier_pro5_umc_init(const struct uniphier_board_data *bd); |
5b660066 MY |
86 | int uniphier_pxs2_umc_init(const struct uniphier_board_data *bd); |
87 | ||
6a3e4274 MY |
88 | void uniphier_ld4_pll_init(void); |
89 | void uniphier_pro4_pll_init(void); | |
c72f4d4c | 90 | void uniphier_ld11_pll_init(void); |
a314a245 | 91 | void uniphier_ld20_pll_init(void); |
2c2ab3d4 | 92 | void uniphier_pxs3_pll_init(void); |
6a3e4274 | 93 | |
5b660066 MY |
94 | void uniphier_ld4_clk_init(void); |
95 | void uniphier_pro4_clk_init(void); | |
96 | void uniphier_pro5_clk_init(void); | |
97 | void uniphier_pxs2_clk_init(void); | |
667dbcd0 | 98 | void uniphier_ld11_clk_init(void); |
c21f5854 | 99 | void uniphier_ld20_clk_init(void); |
81afa9c9 | 100 | void uniphier_pxs3_clk_init(void); |
9d0c2ceb | 101 | |
784548ef | 102 | unsigned int uniphier_boot_device_raw(void); |
63754842 MY |
103 | int uniphier_have_internal_stm(void); |
104 | int uniphier_boot_from_backend(void); | |
5ac9dfbe | 105 | int uniphier_pin_init(const char *pinconfig_name); |
323d1f9d | 106 | |
784548ef | 107 | #undef pr_warn |
3e9952be | 108 | #define pr_warn(fmt, args...) printf(fmt, ##args) |
784548ef | 109 | #undef pr_err |
323d1f9d MY |
110 | #define pr_err(fmt, args...) printf(fmt, ##args) |
111 | ||
112 | #endif /* __MACH_INIT_H */ |