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