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