Updates to Freedom SoCs
[freedom-sifive.git] / bootrom / sdboot / include / devices / plic.h
1 // See LICENSE for license details.
2
3 #ifndef PLIC_H
4 #define PLIC_H
5
6 #include <const.h>
7
8 // 32 bits per source
9 #define PLIC_PRIORITY_OFFSET _AC(0x0000,UL)
10 #define PLIC_PRIORITY_SHIFT_PER_SOURCE 2
11 // 1 bit per source (1 address)
12 #define PLIC_PENDING_OFFSET _AC(0x1000,UL)
13 #define PLIC_PENDING_SHIFT_PER_SOURCE 0
14
15 //0x80 per target
16 #define PLIC_ENABLE_OFFSET _AC(0x2000,UL)
17 #define PLIC_ENABLE_SHIFT_PER_TARGET 7
18
19
20 #define PLIC_THRESHOLD_OFFSET _AC(0x200000,UL)
21 #define PLIC_CLAIM_OFFSET _AC(0x200004,UL)
22 #define PLIC_THRESHOLD_SHIFT_PER_TARGET 12
23 #define PLIC_CLAIM_SHIFT_PER_TARGET 12
24
25 #define PLIC_MAX_SOURCE 1023
26 #define PLIC_SOURCE_MASK 0x3FF
27
28 #define PLIC_MAX_TARGET 15871
29 #define PLIC_TARGET_MASK 0x3FFF
30
31 #endif /* PLIC_H */