SyterKit
0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
include
drivers
reg
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
9
extern
"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__
reg-ncat.h
Generated by
1.9.8