mach.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * linux/arch/sh/kernel/mach_se.c
  3. *
  4. * Copyright (C) 2000 Stuart Menefy (stuart.menefy@st.com)
  5. *
  6. * May be copied or modified under the terms of the GNU General Public
  7. * License. See linux/COPYING for more information.
  8. *
  9. * Machine vector for the Hitachi SolutionEngine
  10. */
  11. #include <linux/init.h>
  12. #include <asm/machvec.h>
  13. #include <asm/rtc.h>
  14. #include <asm/machvec_init.h>
  15. #include <asm/se/io.h>
  16. void heartbeat_se(void);
  17. void setup_se(void);
  18. void init_se_IRQ(void);
  19. /*
  20. * The Machine Vector
  21. */
  22. struct sh_machine_vector mv_se __initmv = {
  23. #if defined(CONFIG_CPU_SH4)
  24. .mv_nr_irqs = 48,
  25. #elif defined(CONFIG_CPU_SUBTYPE_SH7708)
  26. .mv_nr_irqs = 32,
  27. #elif defined(CONFIG_CPU_SUBTYPE_SH7709)
  28. .mv_nr_irqs = 61,
  29. #elif defined(CONFIG_CPU_SUBTYPE_SH7705)
  30. .mv_nr_irqs = 86,
  31. #endif
  32. .mv_inb = se_inb,
  33. .mv_inw = se_inw,
  34. .mv_inl = se_inl,
  35. .mv_outb = se_outb,
  36. .mv_outw = se_outw,
  37. .mv_outl = se_outl,
  38. .mv_inb_p = se_inb_p,
  39. .mv_inw_p = se_inw,
  40. .mv_inl_p = se_inl,
  41. .mv_outb_p = se_outb_p,
  42. .mv_outw_p = se_outw,
  43. .mv_outl_p = se_outl,
  44. .mv_insb = se_insb,
  45. .mv_insw = se_insw,
  46. .mv_insl = se_insl,
  47. .mv_outsb = se_outsb,
  48. .mv_outsw = se_outsw,
  49. .mv_outsl = se_outsl,
  50. .mv_isa_port2addr = se_isa_port2addr,
  51. .mv_init_irq = init_se_IRQ,
  52. #ifdef CONFIG_HEARTBEAT
  53. .mv_heartbeat = heartbeat_se,
  54. #endif
  55. };
  56. ALIAS_MV(se)