irq.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * linux/arch/sh/boards/se/7751/irq.c
  3. *
  4. * Copyright (C) 2000 Kazumoto Kojima
  5. *
  6. * Hitachi SolutionEngine Support.
  7. *
  8. * Modified for 7751 Solution Engine by
  9. * Ian da Silva and Jeremy Siegel, 2001.
  10. */
  11. #include <linux/init.h>
  12. #include <linux/irq.h>
  13. #include <asm/irq.h>
  14. #include <asm/se7751.h>
  15. static struct ipr_data se7751_ipr_map[] = {
  16. /* Leave old Solution Engine code in for reference. */
  17. #if defined(CONFIG_SH_SOLUTION_ENGINE)
  18. /*
  19. * Super I/O (Just mimic PC):
  20. * 1: keyboard
  21. * 3: serial 0
  22. * 4: serial 1
  23. * 5: printer
  24. * 6: floppy
  25. * 8: rtc
  26. * 12: mouse
  27. * 14: ide0
  28. */
  29. { 14, BCR_ILCRA, 2, 0x0f-14 },
  30. { 12, BCR_ILCRA, 1, 0x0f-12 },
  31. { 8, BCR_ILCRB, 1, 0x0f- 8 },
  32. { 6, BCR_ILCRC, 3, 0x0f- 6 },
  33. { 5, BCR_ILCRC, 2, 0x0f- 5 },
  34. { 4, BCR_ILCRC, 1, 0x0f- 4 },
  35. { 3, BCR_ILCRC, 0, 0x0f- 3 },
  36. { 1, BCR_ILCRD, 3, 0x0f- 1 },
  37. { 10, BCR_ILCRD, 1, 0x0f-10 }, /* LAN */
  38. { 0, BCR_ILCRE, 3, 0x0f- 0 }, /* PCIRQ3 */
  39. { 11, BCR_ILCRE, 2, 0x0f-11 }, /* PCIRQ2 */
  40. { 9, BCR_ILCRE, 1, 0x0f- 9 }, /* PCIRQ1 */
  41. { 7, BCR_ILCRE, 0, 0x0f- 7 }, /* PCIRQ0 */
  42. /* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */
  43. /* NOTE: #2 and #13 are not used on PC */
  44. { 13, BCR_ILCRG, 1, 0x0f-13 }, /* SLOTIRQ2 */
  45. { 2, BCR_ILCRG, 0, 0x0f- 2 }, /* SLOTIRQ1 */
  46. #elif defined(CONFIG_SH_7751_SOLUTION_ENGINE)
  47. { 13, BCR_ILCRD, 3, 2 },
  48. /* Add additional entries here as drivers are added and tested. */
  49. #endif
  50. };
  51. /*
  52. * Initialize IRQ setting
  53. */
  54. void __init init_7751se_IRQ(void)
  55. {
  56. make_ipr_irq(se7751_ipr_map, ARRAY_SIZE(se7751_ipr_map));
  57. }