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