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); | |
30 | void kirkwood_init_irq(void); | |
31 | ||
32 | extern struct mbus_dram_target_info kirkwood_mbus_dram_info; | |
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); |
651c74c7 | 52 | |
586dcf27 | 53 | extern int kirkwood_tclk; |
651c74c7 SB |
54 | extern struct sys_timer kirkwood_timer; |
55 | ||
fb7b2d3f | 56 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
651c74c7 SB |
57 | |
58 | #endif |