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 *); |
651c74c7 | 53 | |
6fa6b878 JC |
54 | /* board init functions for boards not fully converted to fdt */ |
55 | #ifdef CONFIG_MACH_DREAMPLUG_DT | |
56 | void dreamplug_init(void); | |
57 | #else | |
58 | static inline void dreamplug_init(void) {}; | |
59 | #endif | |
60 | ||
61 | /* early init functions not converted to fdt yet */ | |
2b45e05f JC |
62 | char *kirkwood_id(void); |
63 | void kirkwood_l2_init(void); | |
2b45e05f JC |
64 | void kirkwood_wdt_init(void); |
65 | void kirkwood_xor0_init(void); | |
66 | void kirkwood_xor1_init(void); | |
67 | void kirkwood_crypto_init(void); | |
68 | ||
586dcf27 | 69 | extern int kirkwood_tclk; |
651c74c7 SB |
70 | extern struct sys_timer kirkwood_timer; |
71 | ||
fb7b2d3f | 72 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
651c74c7 SB |
73 | |
74 | #endif |