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