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 | ||
7b6d864b RH |
14 | #include <linux/reboot.h> |
15 | ||
dcf1cece | 16 | struct dsa_platform_data; |
651c74c7 SB |
17 | struct mv643xx_eth_platform_data; |
18 | struct mv_sata_platform_data; | |
8235ee00 | 19 | struct mvsdio_platform_data; |
fb7b2d3f | 20 | struct mtd_partition; |
010937ec | 21 | struct mtd_info; |
49106c72 | 22 | struct 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 | */ | |
30 | void kirkwood_map_io(void); | |
31 | void kirkwood_init(void); | |
4ee1f6b5 | 32 | void kirkwood_init_early(void); |
651c74c7 SB |
33 | void kirkwood_init_irq(void); |
34 | ||
5cc0673a | 35 | void kirkwood_setup_wins(void); |
651c74c7 | 36 | |
0e0cdd37 | 37 | void kirkwood_enable_pcie(void); |
b2b3dc2f RS |
38 | void kirkwood_pcie_id(u32 *dev, u32 *rev); |
39 | ||
651c74c7 SB |
40 | void kirkwood_ehci_init(void); |
41 | void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); | |
d15fb9ef | 42 | void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); |
dcf1cece | 43 | void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); |
ffd58bd2 | 44 | void kirkwood_pcie_init(unsigned int portmask); |
651c74c7 | 45 | void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); |
8235ee00 | 46 | void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); |
18365d18 | 47 | void kirkwood_spi_init(void); |
6574e001 | 48 | void kirkwood_i2c_init(void); |
651c74c7 SB |
49 | void kirkwood_uart0_init(void); |
50 | void kirkwood_uart1_init(void); | |
fb7b2d3f | 51 | void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); |
98adf932 AL |
52 | void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, |
53 | int (*dev_ready)(struct mtd_info *)); | |
49106c72 | 54 | void kirkwood_audio_init(void); |
9cfc94eb | 55 | void kirkwood_cpuidle_init(void); |
0e2ee0c0 AL |
56 | void kirkwood_cpufreq_init(void); |
57 | ||
7b6d864b | 58 | void kirkwood_restart(enum reboot_mode, const char *); |
2f129bf4 | 59 | void kirkwood_clk_init(void); |
651c74c7 | 60 | |
6fa6b878 | 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; |
6bb27d73 | 70 | extern void kirkwood_timer_init(void); |
651c74c7 | 71 | |
fb7b2d3f | 72 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
651c74c7 SB |
73 | |
74 | #endif |