reboot: arm: change reboot_mode to use enum reboot_mode
[deliverable/linux.git] / arch / arm / mach-kirkwood / common.h
CommitLineData
651c74c7
SB
1/*
2 * arch/arm/mach-kirkwood/common.h
3 *
4 * Core functions for Marvell Kirkwood SoCs
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10
11#ifndef __ARCH_KIRKWOOD_COMMON_H
12#define __ARCH_KIRKWOOD_COMMON_H
13
7b6d864b
RH
14#include <linux/reboot.h>
15
dcf1cece 16struct dsa_platform_data;
651c74c7
SB
17struct mv643xx_eth_platform_data;
18struct mv_sata_platform_data;
8235ee00 19struct mvsdio_platform_data;
fb7b2d3f 20struct mtd_partition;
010937ec 21struct mtd_info;
49106c72 22struct kirkwood_asoc_platform_data;
651c74c7 23
ffd58bd2
SB
24#define KW_PCIE0 (1 << 0)
25#define KW_PCIE1 (1 << 1)
26
651c74c7
SB
27/*
28 * Basic Kirkwood init functions used early by machine-setup.
29 */
30void kirkwood_map_io(void);
31void kirkwood_init(void);
4ee1f6b5 32void kirkwood_init_early(void);
651c74c7
SB
33void kirkwood_init_irq(void);
34
5cc0673a 35void kirkwood_setup_wins(void);
651c74c7 36
0e0cdd37 37void kirkwood_enable_pcie(void);
b2b3dc2f
RS
38void kirkwood_pcie_id(u32 *dev, u32 *rev);
39
651c74c7
SB
40void kirkwood_ehci_init(void);
41void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data);
d15fb9ef 42void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data);
dcf1cece 43void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq);
ffd58bd2 44void kirkwood_pcie_init(unsigned int portmask);
651c74c7 45void kirkwood_sata_init(struct mv_sata_platform_data *sata_data);
8235ee00 46void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data);
18365d18 47void kirkwood_spi_init(void);
6574e001 48void kirkwood_i2c_init(void);
651c74c7
SB
49void kirkwood_uart0_init(void);
50void kirkwood_uart1_init(void);
fb7b2d3f 51void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay);
98adf932
AL
52void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts,
53 int (*dev_ready)(struct mtd_info *));
49106c72 54void kirkwood_audio_init(void);
9cfc94eb 55void kirkwood_cpuidle_init(void);
0e2ee0c0
AL
56void kirkwood_cpufreq_init(void);
57
7b6d864b 58void kirkwood_restart(enum reboot_mode, const char *);
2f129bf4 59void kirkwood_clk_init(void);
651c74c7 60
6fa6b878
JC
61/* board init functions for boards not fully converted to fdt */
62#ifdef CONFIG_MACH_DREAMPLUG_DT
63void dreamplug_init(void);
64#else
65static inline void dreamplug_init(void) {};
66#endif
9b47a4fb
WT
67#ifdef CONFIG_MACH_GURUPLUG_DT
68void guruplug_dt_init(void);
69#else
70static inline void guruplug_dt_init(void) {};
71#endif
193da78b
SB
72#ifdef CONFIG_MACH_SHEEVAPLUG_DT
73void sheevaplug_dt_init(void);
74#else
75static inline void sheevaplug_dt_init(void) {};
76#endif
9eb61f47
AL
77#ifdef CONFIG_MACH_TS219_DT
78void qnap_dt_ts219_init(void);
79#else
80static inline void qnap_dt_ts219_init(void) {};
81#endif
6fa6b878 82
9007d100
JL
83#ifdef CONFIG_MACH_DLINK_KIRKWOOD_DT
84void dnskw_init(void);
85#else
86static inline void dnskw_init(void) {};
87#endif
88
c06cd9bf
APR
89#ifdef CONFIG_MACH_ICONNECT_DT
90void iconnect_init(void);
91#else
92static inline void iconnect_init(void) {};
93#endif
94
f5520363
SB
95#ifdef CONFIG_MACH_IB62X0_DT
96void ib62x0_init(void);
97#else
98static inline void ib62x0_init(void) {};
99#endif
100
dd88db78
SH
101#ifdef CONFIG_MACH_DOCKSTAR_DT
102void dockstar_dt_init(void);
103#else
104static inline void dockstar_dt_init(void) {};
105#endif
106
5136b2aa
JC
107#ifdef CONFIG_MACH_GOFLEXNET_DT
108void goflexnet_init(void);
109#else
110static inline void goflexnet_init(void) {};
111#endif
112
4aff38a3
MW
113#ifdef CONFIG_MACH_LSXL_DT
114void lsxl_init(void);
115#else
116static inline void lsxl_init(void) {};
117#endif
118
4f48b7fc
AB
119#ifdef CONFIG_MACH_IOMEGA_IX2_200_DT
120void iomega_ix2_200_init(void);
121#else
122static inline void iomega_ix2_200_init(void) {};
123#endif
124
0510c8a0
VL
125#ifdef CONFIG_MACH_KM_KIRKWOOD_DT
126void km_kirkwood_init(void);
127#else
128static inline void km_kirkwood_init(void) {};
129#endif
130
0d0632f5
TP
131#ifdef CONFIG_MACH_DB88F628X_BP_DT
132void db88f628x_init(void);
133#else
134static inline void db88f628x_init(void) {};
135#endif
136
5492a110
SP
137#ifdef CONFIG_MACH_MPLCEC4_DT
138void mplcec4_init(void);
139#else
140static inline void mplcec4_init(void) {};
141#endif
142
ecee1e47
SG
143#if defined(CONFIG_MACH_INETSPACE_V2_DT) || \
144 defined(CONFIG_MACH_NETSPACE_V2_DT) || \
ca7d9452 145 defined(CONFIG_MACH_NETSPACE_MAX_V2_DT) || \
7f9871d9
SG
146 defined(CONFIG_MACH_NETSPACE_LITE_V2_DT) || \
147 defined(CONFIG_MACH_NETSPACE_MINI_V2_DT)
ecee1e47
SG
148void ns2_init(void);
149#else
150static inline void ns2_init(void) {};
151#endif
152
f17073a3
NI
153#ifdef CONFIG_MACH_OPENBLOCKS_A6_DT
154void openblocks_a6_init(void);
155#else
156static inline void openblocks_a6_init(void) {};
157#endif
158
f236f5aa
AE
159#ifdef CONFIG_MACH_READYNAS_DT
160void netgear_readynas_init(void);
161#else
162static inline void netgear_readynas_init(void) {};
163#endif
164
767fc1ea
JC
165#ifdef CONFIG_MACH_TOPKICK_DT
166void usi_topkick_init(void);
167#else
168static inline void usi_topkick_init(void) {};
169#endif
170
98d4f2ac
SG
171#ifdef CONFIG_MACH_CLOUDBOX_DT
172void cloudbox_init(void);
173#else
174static inline void cloudbox_init(void) {};
175#endif
176
6fa6b878 177/* early init functions not converted to fdt yet */
2b45e05f
JC
178char *kirkwood_id(void);
179void kirkwood_l2_init(void);
2b45e05f
JC
180void kirkwood_wdt_init(void);
181void kirkwood_xor0_init(void);
182void kirkwood_xor1_init(void);
183void kirkwood_crypto_init(void);
184
586dcf27 185extern int kirkwood_tclk;
6bb27d73 186extern void kirkwood_timer_init(void);
651c74c7 187
fb7b2d3f 188#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
651c74c7
SB
189
190#endif
This page took 0.359744 seconds and 5 git commands to generate.