1 /*
2  * SPDX-License-Identifier: BSD-2-Clause
3  */
4 
5 #ifndef _C910_PLATFORM_H_
6 #define _C910_PLATFORM_H_
7 
8 #define C910_HART_COUNT   16
9 
10 #define SBI_THEAD_FEATURES	\
11 	 (SBI_PLATFORM_HAS_MFAULTS_DELEGATION | \
12 	 SBI_PLATFORM_HAS_HART_SECONDARY_BOOT)
13 
14 #define CSR_MCOR         0x7c2
15 #define CSR_MHCR         0x7c1
16 #define CSR_MCCR2        0x7c3
17 #define CSR_MHINT        0x7c5
18 #define CSR_MXSTATUS     0x7c0
19 #define CSR_PLIC_BASE    0xfc1
20 #define CSR_MRMR         0x7c6
21 #define CSR_MRVBR        0x7c7
22 
23 #define C910_PLIC_CLINT_OFFSET     0x04000000  /* 64M */
24 #define C910_PLIC_DELEG_OFFSET     0x001ffffc
25 #define C910_PLIC_DELEG_ENABLE     0x1
26 
27 struct c910_regs_struct {
28 	u64 pmpaddr0;
29 	u64 pmpaddr1;
30 	u64 pmpaddr2;
31 	u64 pmpaddr3;
32 	u64 pmpaddr4;
33 	u64 pmpaddr5;
34 	u64 pmpaddr6;
35 	u64 pmpaddr7;
36 	u64 pmpcfg0;
37 	u64 mcor;
38 	u64 mhcr;
39 	u64 mccr2;
40 	u64 mhint;
41 	u64 mxstatus;
42 	u64 plic_base_addr;
43 	u64 clint_base_addr;
44 };
45 
46 #endif /* _C910_PLATFORM_H_ */
47