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 14 struct dsa_platform_data; 15 struct mv643xx_eth_platform_data; 16 struct mv_sata_platform_data; 17 struct mvsdio_platform_data; 18 struct mtd_partition; 19 struct mtd_info; 20 struct kirkwood_asoc_platform_data; 21 22 #define KW_PCIE0 (1 << 0) 23 #define KW_PCIE1 (1 << 1) 24 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_early(void); 31 void kirkwood_init_irq(void); 32 33 void kirkwood_setup_cpu_mbus(void); 34 35 void kirkwood_enable_pcie(void); 36 void kirkwood_pcie_id(u32 *dev, u32 *rev); 37 38 void kirkwood_ehci_init(void); 39 void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); 40 void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); 41 void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); 42 void kirkwood_pcie_init(unsigned int portmask); 43 void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); 44 void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); 45 void kirkwood_spi_init(void); 46 void kirkwood_i2c_init(void); 47 void kirkwood_uart0_init(void); 48 void kirkwood_uart1_init(void); 49 void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); 50 void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); 51 void kirkwood_audio_init(void); 52 void kirkwood_restart(char, const char *); 53 54 /* board init functions for boards not fully converted to fdt */ 55 #ifdef CONFIG_MACH_DREAMPLUG_DT 56 void dreamplug_init(void); 57 #else dreamplug_init(void)58static inline void dreamplug_init(void) {}; 59 #endif 60 61 /* early init functions not converted to fdt yet */ 62 char *kirkwood_id(void); 63 void kirkwood_l2_init(void); 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 69 extern int kirkwood_tclk; 70 extern struct sys_timer kirkwood_timer; 71 72 #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) 73 74 #endif 75