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 #include <linux/reboot.h> 15 16 struct mv643xx_eth_platform_data; 17 struct mv_sata_platform_data; 18 19 /* 20 * Basic MV78xx0 init functions used early by machine-setup. 21 */ 22 int mv78xx0_core_index(void); 23 void mv78xx0_map_io(void); 24 void mv78xx0_init(void); 25 void mv78xx0_init_early(void); 26 void mv78xx0_init_irq(void); 27 28 void mv78xx0_setup_cpu_mbus(void); 29 void mv78xx0_setup_pcie_io_win(int window, u32 base, u32 size, 30 int maj, int min); 31 void mv78xx0_setup_pcie_mem_win(int window, u32 base, u32 size, 32 int maj, int min); 33 34 void mv78xx0_pcie_id(u32 *dev, u32 *rev); 35 36 void mv78xx0_ehci0_init(void); 37 void mv78xx0_ehci1_init(void); 38 void mv78xx0_ehci2_init(void); 39 void mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data); 40 void mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data); 41 void mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data); 42 void mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data); 43 void mv78xx0_pcie_init(int init_port0, int init_port1); 44 void mv78xx0_sata_init(struct mv_sata_platform_data *sata_data); 45 void mv78xx0_uart0_init(void); 46 void mv78xx0_uart1_init(void); 47 void mv78xx0_uart2_init(void); 48 void mv78xx0_uart3_init(void); 49 void mv78xx0_i2c_init(void); 50 void mv78xx0_restart(enum reboot_mode, const char *); 51 52 extern void mv78xx0_timer_init(void); 53 54 55 #endif 56