Commit | Line | Data |
---|---|---|
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 | ||
dcf1cece | 14 | struct dsa_platform_data; |
651c74c7 SB |
15 | struct mv643xx_eth_platform_data; |
16 | struct mv_sata_platform_data; | |
8235ee00 | 17 | struct mvsdio_platform_data; |
fb7b2d3f | 18 | struct mtd_partition; |
010937ec | 19 | struct mtd_info; |
49106c72 | 20 | struct kirkwood_asoc_platform_data; |
651c74c7 | 21 | |
ffd58bd2 SB |
22 | #define KW_PCIE0 (1 << 0) |
23 | #define KW_PCIE1 (1 << 1) | |
24 | ||
651c74c7 SB |
25 | /* |
26 | * Basic Kirkwood init functions used early by machine-setup. | |
27 | */ | |
28 | void kirkwood_map_io(void); | |
29 | void kirkwood_init(void); | |
4ee1f6b5 | 30 | void kirkwood_init_early(void); |
651c74c7 SB |
31 | void kirkwood_init_irq(void); |
32 | ||
651c74c7 | 33 | void kirkwood_setup_cpu_mbus(void); |
651c74c7 | 34 | |
0e0cdd37 | 35 | void kirkwood_enable_pcie(void); |
b2b3dc2f RS |
36 | void kirkwood_pcie_id(u32 *dev, u32 *rev); |
37 | ||
651c74c7 SB |
38 | void kirkwood_ehci_init(void); |
39 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); | |
d15fb9ef | 40 | void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); |
dcf1cece | 41 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); |
ffd58bd2 | 42 | void kirkwood_pcie_init(unsigned int portmask); |
651c74c7 | 43 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); |
8235ee00 | 44 | void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); |
18365d18 | 45 | void kirkwood_spi_init(void); |
6574e001 | 46 | void kirkwood_i2c_init(void); |
651c74c7 SB |
47 | void kirkwood_uart0_init(void); |
48 | void kirkwood_uart1_init(void); | |
fb7b2d3f | 49 | void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); |
010937ec | 50 | void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); |
49106c72 | 51 | void kirkwood_audio_init(void); |
cb15dff4 | 52 | void kirkwood_restart(char, const char *); |
2f129bf4 | 53 | void kirkwood_clk_init(void); |
651c74c7 | 54 | |
6fa6b878 JC |
55 | /* board init functions for boards not fully converted to fdt */ |
56 | #ifdef CONFIG_MACH_DREAMPLUG_DT | |
57 | void dreamplug_init(void); | |
58 | #else | |
59 | static inline void dreamplug_init(void) {}; | |
60 | #endif | |
9eb61f47 AL |
61 | #ifdef CONFIG_MACH_TS219_DT |
62 | void qnap_dt_ts219_init(void); | |
63 | #else | |
64 | static inline void qnap_dt_ts219_init(void) {}; | |
65 | #endif | |
6fa6b878 | 66 | |
9007d100 JL |
67 | #ifdef CONFIG_MACH_DLINK_KIRKWOOD_DT |
68 | void dnskw_init(void); | |
69 | #else | |
70 | static inline void dnskw_init(void) {}; | |
71 | #endif | |
72 | ||
c06cd9bf APR |
73 | #ifdef CONFIG_MACH_ICONNECT_DT |
74 | void iconnect_init(void); | |
75 | #else | |
76 | static inline void iconnect_init(void) {}; | |
77 | #endif | |
78 | ||
f5520363 SB |
79 | #ifdef CONFIG_MACH_IB62X0_DT |
80 | void ib62x0_init(void); | |
81 | #else | |
82 | static inline void ib62x0_init(void) {}; | |
83 | #endif | |
84 | ||
dd88db78 SH |
85 | #ifdef CONFIG_MACH_DOCKSTAR_DT |
86 | void dockstar_dt_init(void); | |
87 | #else | |
88 | static inline void dockstar_dt_init(void) {}; | |
89 | #endif | |
90 | ||
5136b2aa JC |
91 | #ifdef CONFIG_MACH_GOFLEXNET_DT |
92 | void goflexnet_init(void); | |
93 | #else | |
94 | static inline void goflexnet_init(void) {}; | |
95 | #endif | |
96 | ||
4aff38a3 MW |
97 | #ifdef CONFIG_MACH_LSXL_DT |
98 | void lsxl_init(void); | |
99 | #else | |
100 | static inline void lsxl_init(void) {}; | |
101 | #endif | |
102 | ||
4f48b7fc AB |
103 | #ifdef CONFIG_MACH_IOMEGA_IX2_200_DT |
104 | void iomega_ix2_200_init(void); | |
105 | #else | |
106 | static inline void iomega_ix2_200_init(void) {}; | |
107 | #endif | |
108 | ||
0510c8a0 VL |
109 | #ifdef CONFIG_MACH_KM_KIRKWOOD_DT |
110 | void km_kirkwood_init(void); | |
111 | #else | |
112 | static inline void km_kirkwood_init(void) {}; | |
113 | #endif | |
114 | ||
5492a110 SP |
115 | #ifdef CONFIG_MACH_MPLCEC4_DT |
116 | void mplcec4_init(void); | |
117 | #else | |
118 | static inline void mplcec4_init(void) {}; | |
119 | #endif | |
120 | ||
ecee1e47 SG |
121 | #if defined(CONFIG_MACH_INETSPACE_V2_DT) || \ |
122 | defined(CONFIG_MACH_NETSPACE_V2_DT) || \ | |
ca7d9452 | 123 | defined(CONFIG_MACH_NETSPACE_MAX_V2_DT) || \ |
7f9871d9 SG |
124 | defined(CONFIG_MACH_NETSPACE_LITE_V2_DT) || \ |
125 | defined(CONFIG_MACH_NETSPACE_MINI_V2_DT) | |
ecee1e47 SG |
126 | void ns2_init(void); |
127 | #else | |
128 | static inline void ns2_init(void) {}; | |
129 | #endif | |
130 | ||
afcad884 TJ |
131 | #ifdef CONFIG_MACH_NSA310_DT |
132 | void nsa310_init(void); | |
133 | #else | |
134 | static inline void nsa310_init(void) {}; | |
135 | #endif | |
136 | ||
f17073a3 NI |
137 | #ifdef CONFIG_MACH_OPENBLOCKS_A6_DT |
138 | void openblocks_a6_init(void); | |
139 | #else | |
140 | static inline void openblocks_a6_init(void) {}; | |
141 | #endif | |
142 | ||
767fc1ea JC |
143 | #ifdef CONFIG_MACH_TOPKICK_DT |
144 | void usi_topkick_init(void); | |
145 | #else | |
146 | static inline void usi_topkick_init(void) {}; | |
147 | #endif | |
148 | ||
6fa6b878 | 149 | /* early init functions not converted to fdt yet */ |
2b45e05f JC |
150 | char *kirkwood_id(void); |
151 | void kirkwood_l2_init(void); | |
2b45e05f JC |
152 | void kirkwood_wdt_init(void); |
153 | void kirkwood_xor0_init(void); | |
154 | void kirkwood_xor1_init(void); | |
155 | void kirkwood_crypto_init(void); | |
156 | ||
586dcf27 | 157 | extern int kirkwood_tclk; |
651c74c7 SB |
158 | extern struct sys_timer kirkwood_timer; |
159 | ||
fb7b2d3f | 160 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
651c74c7 SB |
161 | |
162 | #endif |