interrupt.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (c) 2006-2020, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2020-06-21 bigmagic Initial version
  9. */
  10. #ifndef _DRV_INTERRUPT_H__
  11. #define _DRV_INTERRUPT_H__
  12. #define LS2K_UART_0_1_2_3_IRQ (0)
  13. #define LS2K_UART_4_5_6_7_IRQ (1)
  14. #define LS2K_UART_8_9_10_11_IRQ (2)
  15. #define LS2K_EL_IRQ (3)
  16. #define LS2K_HDA_IRQ (4)
  17. #define LS2K_I2S_IRQ (5)
  18. #define LS2K_RESERVED1_IRQ (6)
  19. #define LS2K_THSENS_IRQ (7)
  20. #define LS2K_TOY_TICK_IRQ (8)
  21. #define LS2K_RTC_TICK_IRQ (9)
  22. #define LS2K_CAM_TICK_IRQ (10)
  23. #define LS2K_RESERVED2_IRQ (11)
  24. #define LS2K_GMAC0_SBD_IRQ (12)
  25. #define LS2K_GMAC0_PMT_IRQ (13)
  26. #define LS2K_GMAC1_SBD_IRQ (14)
  27. #define LS2K_GMAC1_PMT_IRQ (15)
  28. #define LS2K_CANO_IRQ (16)
  29. #define LS2K_CAN1_IRQ (17)
  30. #define LS2K_BOOT_IRQ (18)
  31. #define LS2K_SATA_IRQ (19)
  32. #define LS2K_NAND_IRQ (20)
  33. #define LS2K_HPET_IRQ (21)
  34. #define LS2K_I2C0_IRQ (21)
  35. #define LS2K_I2C1_IRQ (22)
  36. #define LS2K_I2C2_IRQ (23)
  37. #define LS2K_PWM0_IRQ (24)
  38. #define LS2K_PWM1_IRQ (25)
  39. #define LS2K_PWM2_IRQ (26)
  40. #define LS2K_PWM3_IRQ (27)
  41. #define LS2K_DC_IRQ (28)
  42. #define LS2K_GPU_IRQ (29)
  43. #define LS2K_VPU_IRQ (30)
  44. #define LS2K_SDIO_IRQ (31)
  45. //#define LS2K_PCIE0_IRQ (32~35)
  46. //#define LS2K_PCIE1_IRQ (36~37)
  47. #define LS2K_HPET1_IRQ (38)
  48. #define LS2K_HPET2_IRQ (39)
  49. //#define LS2K_TOY_IRQ (40~43)
  50. //#define LS2K_DMA_IRQ (44~48)
  51. #define LS2K_OTG_IRQ (49)
  52. #define LS2K_EHCI_IRQ (50)
  53. #define LS2K_OHCI_IRQ (51)
  54. //#define LS2K_RTC_IRQ (52~54)
  55. #define LS2K_RSA_IRQ (55)
  56. #define LS2K_AES_IRQ (56)
  57. #define LS2K_DES_IRQ (57)
  58. #define LS2K_GPIO_INTLO_IRQ (58)
  59. #define LS2K_GPIO_INTHI_IRQ (59)
  60. #define LS2K_GPIO0_INT_IRQ (60)
  61. #define LS2K_GPIO1_INT_IRQ (61)
  62. #define LS2K_GPIO2_INT_IRQ (62)
  63. #define LS2K_GPIO3_INT_IRQ (63)
  64. #define MAX_INTR (64)
  65. #define LIOINTC0_IRQBASE (0)
  66. #define LIOINTC1_IRQBASE (32)
  67. #define LIOINTC_SHIFT_INTx (4)
  68. #define LIOINTC_COREx_INTy(x, y) ((1 << x) | (1 << (y + LIOINTC_SHIFT_INTx)))
  69. #define LIOINTC_INTC_CHIP_START 0x20
  70. #define LIOINTC_REG_INTC_STATUS (LIOINTC_INTC_CHIP_START + 0x00)
  71. #define LIOINTC_REG_INTC_EN_STATUS (LIOINTC_INTC_CHIP_START + 0x04)
  72. #define LIOINTC_REG_INTC_ENABLE (LIOINTC_INTC_CHIP_START + 0x08)
  73. #define LIOINTC_REG_INTC_DISABLE (LIOINTC_INTC_CHIP_START + 0x0c)
  74. #define LIOINTC_REG_INTC_POL (LIOINTC_INTC_CHIP_START + 0x10)
  75. #define LIOINTC_REG_INTC_EDGE (LIOINTC_INTC_CHIP_START + 0x14)
  76. void liointc_set_irq_mode(int irq, int mode);
  77. #endif