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 | |