SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
reg-clic.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef __REG_CLIC_H__
4#define __REG_CLIC_H__
5
6#include <reg-ncat.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif// __cplusplus
11
12/* RISC-V CLIC register offset */
13#define CLIC_CFG_REG_OFF 0x00
14#define CLIC_INFO_REG_OFF 0x04
15
16#define CLIC_MINTTHRESH_REG_OFF 0x08
17
18#define CLIC_INT_IP_REG_OFF 0x1000
19#define CLIC_INT_IE_REG_OFF 0x1001
20#define CLIC_INT_ATTR_REG_OFF 0x1002
21#define CLIC_INT_CTRL_REG_OFF 0x1003
22
23#define CLIC_INT_REG_ADDR_INTERVAL 0x4
24
25#define CLIC_INT_X_IP_REG_OFF(id) (0x1000 + ((id) *CLIC_INT_REG_ADDR_INTERVAL))
26#define CLIC_INT_X_IE_REG_OFF(id) (0x1001 + ((id) *CLIC_INT_REG_ADDR_INTERVAL))
27#define CLIC_INT_X_ATTR_REG_OFF(id) (0x1002 + ((id) *CLIC_INT_REG_ADDR_INTERVAL))
28#define CLIC_INT_X_CTRL_REG_OFF(id) (0x1003 + ((id) *CLIC_INT_REG_ADDR_INTERVAL))
29
30#define CLIC_INX_X_32BIT_REG_OFF(id) (0x1000 + ((id) *CLIC_INT_REG_ADDR_INTERVAL))
31
32/* CLIC_CFG_REG */
33#define PREEMPTION_PRIORITY_BITS_SHIFT 1
34#define PREEMPTION_PRIORITY_BITS_MASK (0xF << PREEMPTION_PRIORITY_BITS_SHIFT)
35
36/* CLIC_INFO_REG */
37#define IRQ_CNT_SHIFT 0
38#define IRQ_CNT_MASK (0x1FFF << IRQ_CNT_SHIFT)
39
40#define HW_VERSION_SHIFT 13
41#define HW_VERSION_MASK (0xF << HW_VERSION_SHIFT)
42
43#define HW_IMPL_VERSION_SHIFT 17
44#define HW_IMPL_VERSION_MASK (0xF << HW_IMPL_VERSION_SHIFT)
45
46#define CTRL_REG_BITS_SHIFT 21
47#define CTRL_REG_BITS_MASK (0xF << CTRL_REG_BITS_SHIFT)
48
49/* CLIC_INT_IP_REG */
50#define IP_SHIFT 0
51#define IP_BIT_MASK (0x1 << IP_SHIFT)
52
53/* CLIC_INT_IE_REG */
54#define IE_SHIFT 0
55#define IE_BIT_MASK (0x1 << IE_SHIFT)
56
57/* CLIC_INT_ATTR_REG */
58#define HW_VECTOR_IRQ_SHIFT 0
59#define HW_VECTOR_IRQ_BIT_MASK (0x1 << HW_VECTOR_IRQ_SHIFT)
60
61#define TRIGGER_TYPE_SHIFT 1
62#define TRIGGER_TYPE_BIT_MASK (0x3 << TRIGGER_TYPE_SHIFT)
63
64#ifdef __cplusplus
65}
66#endif// __cplusplus
67
68#endif// __REG_CLIC_H__