1 /* See LICENSE file for licence details */ 2 3 #ifndef N200_ECLIC_H 4 #define N200_ECLIC_H 5 6 #include <riscv_const.h> 7 8 #define ECLICINTCTLBITS 4 9 10 /*ECLIC memory map */ 11 /* Offset */ 12 /* 0x0000 1B RW ecliccfg */ 13 #define ECLIC_CFG_OFFSET 0x0 14 /* 0x0004 4B R eclicinfo */ 15 #define ECLIC_INFO_OFFSET 0x4 16 /* 0x000B 1B RW mintthresh */ 17 #define ECLIC_MTH_OFFSET 0xB 18 19 /* 0x1000+4*i 1B/input RW eclicintip[i] */ 20 #define ECLIC_INT_IP_OFFSET _AC(0x1000,UL) 21 /* 0x1001+4*i 1B/input RW eclicintie[i] */ 22 #define ECLIC_INT_IE_OFFSET _AC(0x1001,UL) 23 /* 0x1002+4*i 1B/input RW eclicintattr[i]*/ 24 #define ECLIC_INT_ATTR_OFFSET _AC(0x1002,UL) 25 26 #define ECLIC_INT_ATTR_SHV 0x01 27 #define ECLIC_INT_ATTR_TRIG_LEVEL 0x00 28 #define ECLIC_INT_ATTR_TRIG_EDGE 0x02 29 #define ECLIC_INT_ATTR_TRIG_POS 0x00 30 #define ECLIC_INT_ATTR_TRIG_NEG 0x04 31 32 /* 0x1003+4*i 1B/input RW eclicintctl[i] */ 33 #define ECLIC_INT_CTRL_OFFSET _AC(0x1003,UL) 34 35 #define ECLIC_ADDR_BASE 0xd2000000 36 37 38 #define ECLIC_CFG_NLBITS_MASK _AC(0x1E,UL) 39 #define ECLIC_CFG_NLBITS_LSB (1u) 40 41 #define MSIP_HANDLER eclic_msip_handler 42 #define MTIME_HANDLER eclic_mtip_handler 43 #define BWEI_HANDLER eclic_bwei_handler 44 #define PMOVI_HANDLER eclic_pmovi_handler 45 46 #endif 47