xref: /rk3399_ARM-atf/plat/rockchip/rk3588/drivers/secure/secure.h (revision 7f152ea6856c7780424ec3e92b181d805a314f43)
1 /*
2  * Copyright (c) 2024, Rockchip, Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SECURE_H
8 #define SECURE_H
9 
10 /* DSUSGRF */
11 #define DSU_SGRF_SOC_CON(i)		((i) * 4)
12 #define DSUSGRF_SOC_CON(i)		((i) * 4)
13 #define DSUSGRF_SOC_CON_CNT		13
14 #define DSUSGRF_DDR_HASH_CON(i)		(0x240 + (i) * 4)
15 #define DSUSGRF_DDR_HASH_CON_CNT	8
16 
17 /* PMUSGRF */
18 #define PMU1SGRF_SOC_CON(n)		((n) * 4)
19 
20 /* SGRF */
21 #define SGRF_SOC_CON(i)			((i) * 4)
22 #define SGRF_FIREWALL_CON(i)		(0x240 + (i) * 4)
23 #define SGRF_FIREWALL_CON_CNT		32
24 
25 /* ddr firewall */
26 #define FIREWALL_DDR_RGN(i)		((i) * 0x4)
27 #define FIREWALL_DDR_RGN_CNT		16
28 #define FIREWALL_DDR_MST(i)		(0x40 + (i) * 0x4)
29 #define FIREWALL_DDR_MST_CNT		42
30 #define FIREWALL_DDR_CON		0xf0
31 
32 #define FIREWALL_SYSMEM_RGN(i)		((i) * 0x4)
33 #define FIREWALL_SYSMEM_RGN_CNT		8
34 #define FIREWALL_SYSMEM_MST(i)		(0x40 + (i) * 0x4)
35 #define FIREWALL_SYSMEM_MST_CNT		43
36 #define FIREWALL_SYSMEM_CON		0xf0
37 
38 #define FIREWALL_DSU_RGN(i)		((i) * 0x4)
39 #define FIREWALL_DSU_RGN_CNT		16
40 #define FIREWALL_DSU_MST(i)		(0x40 + (i) * 0x4)
41 #define FIREWALL_DSU_MST_CNT		2
42 #define FIREWALL_DSU_CON(i)		(0xf0 + (i) * 4)
43 #define FIREWALL_DSU_CON_CNT		4
44 
45 #define PLAT_MAX_DDR_CAPACITY_MB	0x8000	/* for 32Gb */
46 #define RG_MAP_SECURE(top, base)	\
47 	(((((top) - 1) & 0x7fff) << 16) | ((base) & 0x7fff))
48 #define RG_MAP_SRAM_SECURE(top_kb, base_kb)	\
49 	(((((top_kb) / 4 - 1) & 0xff) << 16) | ((base_kb) / 4 & 0xff))
50 
51 void secure_timer_init(void);
52 void sgrf_init(void);
53 
54 #endif /* SECURE_H */
55