]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/arm/mach-uniphier/init.h
ARM: uniphier: remove unneeded argument of uniphier_ld20_pll_init()
[people/ms/u-boot.git] / arch / arm / mach-uniphier / init.h
CommitLineData
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
15struct uniphier_dram_ch {
16 unsigned long base;
17 unsigned long size;
18 unsigned int width;
19};
20
323d1f9d 21struct uniphier_board_data {
46abfcc9
MY
22 unsigned int dram_freq;
23 unsigned int dram_nr_ch;
24 struct uniphier_dram_ch dram_ch[UNIPHIER_MAX_NR_DRAM_CH];
a74c28a0 25 unsigned int flags;
f6bbec3d
MY
26
27#define UNIPHIER_BD_DDR3PLUS BIT(2)
28
b8909976 29#define UNIPHIER_BD_BOARD_GET_TYPE(f) ((f) & 0x7)
f6bbec3d
MY
30#define UNIPHIER_BD_BOARD_LD20_REF 0 /* LD20 reference */
31#define UNIPHIER_BD_BOARD_LD20_GLOBAL 1 /* LD20 TV Set */
b8909976
MY
32#define UNIPHIER_BD_BOARD_LD20_C1 2 /* LD20 TV Set C1 */
33#define UNIPHIER_BD_BOARD_LD21_REF 3 /* LD21 reference */
34#define UNIPHIER_BD_BOARD_LD21_GLOBAL 4 /* LD21 TV Set */
323d1f9d
MY
35};
36
6ba60faf 37const struct uniphier_board_data *uniphier_get_board_param(void);
323d1f9d 38
5b660066
MY
39int uniphier_sld3_init(const struct uniphier_board_data *bd);
40int uniphier_ld4_init(const struct uniphier_board_data *bd);
41int uniphier_pro4_init(const struct uniphier_board_data *bd);
42int uniphier_sld8_init(const struct uniphier_board_data *bd);
43int uniphier_pro5_init(const struct uniphier_board_data *bd);
44int uniphier_pxs2_init(const struct uniphier_board_data *bd);
667dbcd0 45int uniphier_ld11_init(const struct uniphier_board_data *bd);
9d0c2ceb 46int uniphier_ld20_init(const struct uniphier_board_data *bd);
323d1f9d
MY
47
48#if defined(CONFIG_MICRO_SUPPORT_CARD)
5b660066
MY
49int uniphier_sbc_init_admulti(const struct uniphier_board_data *bd);
50int uniphier_sbc_init_savepin(const struct uniphier_board_data *bd);
5d0607c5
MY
51int uniphier_ld4_sbc_init(const struct uniphier_board_data *bd);
52int uniphier_pxs2_sbc_init(const struct uniphier_board_data *bd);
323d1f9d 53#else
5b660066
MY
54static inline int uniphier_sbc_init_admulti(
55 const struct uniphier_board_data *bd)
323d1f9d
MY
56{
57 return 0;
58}
59
5b660066
MY
60static inline int uniphier_sbc_init_savepin(
61 const struct uniphier_board_data *bd)
323d1f9d
MY
62{
63 return 0;
64}
65
5d0607c5
MY
66static inline int uniphier_ld4_sbc_init(const struct uniphier_board_data *bd)
67{
68 return 0;
69}
70
71static inline int uniphier_pxs2_sbc_init(const struct uniphier_board_data *bd)
019df879
MY
72{
73 return 0;
74}
323d1f9d
MY
75#endif
76
5b660066
MY
77int uniphier_sld3_bcu_init(const struct uniphier_board_data *bd);
78int uniphier_ld4_bcu_init(const struct uniphier_board_data *bd);
323d1f9d
MY
79
80int memconf_init(const struct uniphier_board_data *bd);
5b660066
MY
81int uniphier_sld3_memconf_init(const struct uniphier_board_data *bd);
82int uniphier_pxs2_memconf_init(const struct uniphier_board_data *bd);
83
6a3e4274
MY
84int uniphier_sld3_dpll_init(const struct uniphier_board_data *bd);
85int uniphier_ld4_dpll_init(const struct uniphier_board_data *bd);
86int uniphier_pro4_dpll_init(const struct uniphier_board_data *bd);
87int uniphier_sld8_dpll_init(const struct uniphier_board_data *bd);
c72f4d4c 88int uniphier_ld11_dpll_init(const struct uniphier_board_data *bd);
682e09ff 89int uniphier_ld20_dpll_init(const struct uniphier_board_data *bd);
5b660066
MY
90
91int uniphier_ld4_early_clk_init(const struct uniphier_board_data *bd);
92int uniphier_pro5_early_clk_init(const struct uniphier_board_data *bd);
93int uniphier_pxs2_early_clk_init(const struct uniphier_board_data *bd);
667dbcd0 94int uniphier_ld11_early_clk_init(const struct uniphier_board_data *bd);
9d0c2ceb 95int uniphier_ld20_early_clk_init(const struct uniphier_board_data *bd);
5b660066 96
5b660066
MY
97int uniphier_ld4_umc_init(const struct uniphier_board_data *bd);
98int uniphier_pro4_umc_init(const struct uniphier_board_data *bd);
99int uniphier_sld8_umc_init(const struct uniphier_board_data *bd);
100int uniphier_pxs2_umc_init(const struct uniphier_board_data *bd);
9d0c2ceb 101int uniphier_ld20_umc_init(const struct uniphier_board_data *bd);
667dbcd0 102int uniphier_ld11_umc_init(const struct uniphier_board_data *bd);
5b660066 103
6a3e4274
MY
104void uniphier_sld3_pll_init(void);
105void uniphier_ld4_pll_init(void);
106void uniphier_pro4_pll_init(void);
c72f4d4c 107void uniphier_ld11_pll_init(void);
a314a245 108void uniphier_ld20_pll_init(void);
6a3e4274 109
5b660066
MY
110void uniphier_ld4_clk_init(void);
111void uniphier_pro4_clk_init(void);
112void uniphier_pro5_clk_init(void);
113void uniphier_pxs2_clk_init(void);
667dbcd0 114void uniphier_ld11_clk_init(void);
9d0c2ceb
MY
115void uniphier_ld20_clk_init(void);
116
5ac9dfbe 117int uniphier_pin_init(const char *pinconfig_name);
b2916712 118void uniphier_smp_kick_all_cpus(void);
9d0c2ceb 119void cci500_init(int nr_slaves);
323d1f9d
MY
120
121#define pr_err(fmt, args...) printf(fmt, ##args)
122
123#endif /* __MACH_INIT_H */