Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag

#ifndef N200_ECLIC_H
#define N200_ECLIC_H

#include <riscv_const.h>

#define ECLICINTCTLBITS  4

/*
  ECLIC memory map
    Offset
    0x0000       1B          RW        ecliccfg
 */
#define ECLIC_CFG_OFFSET            0x0
/*  0x0004       4B          R         eclicinfo */
#define ECLIC_INFO_OFFSET           0x4
/*  0x000B       1B          RW        mintthresh */
#define ECLIC_MTH_OFFSET            0xB

/*  0x1000+4*i   1B/input    RW        eclicintip[i] */
#define ECLIC_INT_IP_OFFSET         _AC(0x1000,UL)
/*  0x1001+4*i   1B/input    RW        eclicintie[i] */
#define ECLIC_INT_IE_OFFSET         _AC(0x1001,UL)
/*  0x1002+4*i   1B/input    RW        eclicintattr[i] */
#define ECLIC_INT_ATTR_OFFSET       _AC(0x1002,UL)

#define ECLIC_INT_ATTR_SHV          0x01
#define ECLIC_INT_ATTR_TRIG_LEVEL   0x00
#define ECLIC_INT_ATTR_TRIG_EDGE    0x02
#define ECLIC_INT_ATTR_TRIG_POS     0x00
#define ECLIC_INT_ATTR_TRIG_NEG     0x04

/*  0x1003+4*i   1B/input    RW        eclicintctl[i] */
#define ECLIC_INT_CTRL_OFFSET       _AC(0x1003,UL)
/*
   ...
 */
#define ECLIC_ADDR_BASE             0xd2000000


#define ECLIC_CFG_NLBITS_MASK       _AC(0x1E,UL)
#define ECLIC_CFG_NLBITS_LSB        (1u)

#define MSIP_HANDLER    eclic_msip_handler
#define MTIME_HANDLER   eclic_mtip_handler
#define BWEI_HANDLER    eclic_bwei_handler
#define PMOVI_HANDLER   eclic_pmovi_handler

#endif