common.h 1.5 KB

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