mach.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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/config.h>
  12. #include <linux/init.h>
  13. #include <asm/machvec.h>
  14. #include <asm/rtc.h>
  15. #include <asm/machvec_init.h>
  16. #include <asm/se/io.h>
  17. void heartbeat_se(void);
  18. void setup_se(void);
  19. void init_se_IRQ(void);
  20. /*
  21. * The Machine Vector
  22. */
  23. struct sh_machine_vector mv_se __initmv = {
  24. #if defined(CONFIG_CPU_SH4)
  25. .mv_nr_irqs = 48,
  26. #elif defined(CONFIG_CPU_SUBTYPE_SH7708)
  27. .mv_nr_irqs = 32,
  28. #elif defined(CONFIG_CPU_SUBTYPE_SH7709)
  29. .mv_nr_irqs = 61,
  30. #elif defined(CONFIG_CPU_SUBTYPE_SH7705)
  31. .mv_nr_irqs = 86,
  32. #endif
  33. .mv_inb = se_inb,
  34. .mv_inw = se_inw,
  35. .mv_inl = se_inl,
  36. .mv_outb = se_outb,
  37. .mv_outw = se_outw,
  38. .mv_outl = se_outl,
  39. .mv_inb_p = se_inb_p,
  40. .mv_inw_p = se_inw,
  41. .mv_inl_p = se_inl,
  42. .mv_outb_p = se_outb_p,
  43. .mv_outw_p = se_outw,
  44. .mv_outl_p = se_outl,
  45. .mv_insb = se_insb,
  46. .mv_insw = se_insw,
  47. .mv_insl = se_insl,
  48. .mv_outsb = se_outsb,
  49. .mv_outsw = se_outsw,
  50. .mv_outsl = se_outsl,
  51. .mv_isa_port2addr = se_isa_port2addr,
  52. .mv_init_irq = init_se_IRQ,
  53. #ifdef CONFIG_HEARTBEAT
  54. .mv_heartbeat = heartbeat_se,
  55. #endif
  56. };
  57. ALIAS_MV(se)