common.h 1.6 KB

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