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 14struct dsa_platform_data; 15struct mv643xx_eth_platform_data; 16struct mv_sata_platform_data; 17struct mvsdio_platform_data; 18struct mtd_partition; 19struct mtd_info; 20struct 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 */ 28void kirkwood_map_io(void); 29void kirkwood_init(void); 30void kirkwood_init_irq(void); 31 32extern struct mbus_dram_target_info kirkwood_mbus_dram_info; 33void kirkwood_setup_cpu_mbus(void); 34 35void kirkwood_pcie_id(u32 *dev, u32 *rev); 36 37void kirkwood_ehci_init(void); 38void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); 39void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data); 40void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); 41void kirkwood_pcie_init(unsigned int portmask); 42void kirkwood_sata_init(struct mv_sata_platform_data *sata_data); 43void kirkwood_sdio_init(struct mvsdio_platform_data *mvsdio_data); 44void kirkwood_spi_init(void); 45void kirkwood_i2c_init(void); 46void kirkwood_uart0_init(void); 47void kirkwood_uart1_init(void); 48void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); 49void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts, int (*dev_ready)(struct mtd_info *)); 50void kirkwood_audio_init(void); 51 52extern int kirkwood_tclk; 53extern struct sys_timer kirkwood_timer; 54 55#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) 56 57#endif 58