1 /* 2 * arch/arm/mach-mv78xx0/common.h 3 * 4 * Core functions for Marvell MV78xx0 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_MV78XX0_COMMON_H 12 #define __ARCH_MV78XX0_COMMON_H 13 14 struct mv643xx_eth_platform_data; 15 struct mv_sata_platform_data; 16 17 /* 18 * Basic MV78xx0 init functions used early by machine-setup. 19 */ 20 int mv78xx0_core_index(void); 21 void mv78xx0_map_io(void); 22 void mv78xx0_init(void); 23 void mv78xx0_init_early(void); 24 void mv78xx0_init_irq(void); 25 26 void mv78xx0_setup_cpu_mbus(void); 27 void mv78xx0_setup_pcie_io_win(int window, u32 base, u32 size, 28 int maj, int min); 29 void mv78xx0_setup_pcie_mem_win(int window, u32 base, u32 size, 30 int maj, int min); 31 32 void mv78xx0_pcie_id(u32 *dev, u32 *rev); 33 34 void mv78xx0_ehci0_init(void); 35 void mv78xx0_ehci1_init(void); 36 void mv78xx0_ehci2_init(void); 37 void mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data); 38 void mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data); 39 void mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data); 40 void mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data); 41 void mv78xx0_pcie_init(int init_port0, int init_port1); 42 void mv78xx0_sata_init(struct mv_sata_platform_data *sata_data); 43 void mv78xx0_uart0_init(void); 44 void mv78xx0_uart1_init(void); 45 void mv78xx0_uart2_init(void); 46 void mv78xx0_uart3_init(void); 47 void mv78xx0_i2c_init(void); 48 void mv78xx0_restart(char, const char *); 49 50 extern struct sys_timer mv78xx0_timer; 51 52 53 #endif 54