xref: /rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.h (revision 999503d285475f8920111f3fd760312ddf1d5b5b)
1*9059a375SKarl Li /*
2*9059a375SKarl Li  * Copyright (c) 2024, MediaTek Inc. All rights reserved.
3*9059a375SKarl Li  *
4*9059a375SKarl Li  * SPDX-License-Identifier: BSD-3-Clause
5*9059a375SKarl Li  */
6*9059a375SKarl Li 
7*9059a375SKarl Li #ifndef APUSYS_SECURITY_CTRL_PLAT_H
8*9059a375SKarl Li #define APUSYS_SECURITY_CTRL_PLAT_H
9*9059a375SKarl Li 
10*9059a375SKarl Li #include <lib/utils_def.h>
11*9059a375SKarl Li #include <platform_def.h>
12*9059a375SKarl Li 
13*9059a375SKarl Li #define SEC_CTRL_SOC2APU_SET1_0		(APU_SEC_CON + 0xC)
14*9059a375SKarl Li #define SEC_CTRL_SOC2APU_SET1_1		(APU_SEC_CON + 0x10)
15*9059a375SKarl Li #define SEC_CTRL_SIDE_BAND		(APU_SEC_CON + 0x24)
16*9059a375SKarl Li 
17*9059a375SKarl Li #define SEC_CTRL_REG_DOMAIN_NUM		(8)
18*9059a375SKarl Li #define SEC_CTRL_DOMAIN_REMAP_SEL	BIT(6)
19*9059a375SKarl Li #define SEC_CTRL_DOMAIN_MASK		(0xF)
20*9059a375SKarl Li #define SEC_CTRL_NS_MASK		(0x1)
21*9059a375SKarl Li 
22*9059a375SKarl Li #define SEC_CTRL_NARE_DOMAIN		(5)
23*9059a375SKarl Li #define SEC_CTRL_NARE_NS		(0)
24*9059a375SKarl Li #define SEC_CTRL_NARE_DOMAIN_SHF	(0)
25*9059a375SKarl Li #define SEC_CTRL_NARE_NS_SHF		(4)
26*9059a375SKarl Li 
27*9059a375SKarl Li #define SEC_CTRL_SARE0_DOMAIN		(5)
28*9059a375SKarl Li #define SEC_CTRL_SARE0_NS		(0)
29*9059a375SKarl Li #define SEC_CTRL_SARE0_DOMAIN_SHF	(5)
30*9059a375SKarl Li #define SEC_CTRL_SARE0_NS_SHF		(9)
31*9059a375SKarl Li 
32*9059a375SKarl Li #define SEC_CTRL_SARE1_DOMAIN		(5)
33*9059a375SKarl Li #define SEC_CTRL_SARE1_NS		(0)
34*9059a375SKarl Li #define SEC_CTRL_SARE1_DOMAIN_SHF	(10)
35*9059a375SKarl Li #define SEC_CTRL_SARE1_NS_SHF		(14)
36*9059a375SKarl Li 
37*9059a375SKarl Li #define REG_DOMAIN_BITS		(4)
38*9059a375SKarl Li 
39*9059a375SKarl Li #define D0_REMAP_DOMAIN		(0)
40*9059a375SKarl Li #define D1_REMAP_DOMAIN		(1)
41*9059a375SKarl Li #define D2_REMAP_DOMAIN		(2)
42*9059a375SKarl Li #define D3_REMAP_DOMAIN		(3)
43*9059a375SKarl Li #define D4_REMAP_DOMAIN		(4)
44*9059a375SKarl Li #define D5_REMAP_DOMAIN		(6)
45*9059a375SKarl Li #define D6_REMAP_DOMAIN		(6)
46*9059a375SKarl Li #define D7_REMAP_DOMAIN		(6)
47*9059a375SKarl Li #define D8_REMAP_DOMAIN		(8)
48*9059a375SKarl Li #define D9_REMAP_DOMAIN		(9)
49*9059a375SKarl Li #define D10_REMAP_DOMAIN	(10)
50*9059a375SKarl Li #define D11_REMAP_DOMAIN	(11)
51*9059a375SKarl Li #define D12_REMAP_DOMAIN	(12)
52*9059a375SKarl Li #define D13_REMAP_DOMAIN	(13)
53*9059a375SKarl Li #define D14_REMAP_DOMAIN	(6)
54*9059a375SKarl Li #define D15_REMAP_DOMAIN	(15)
55*9059a375SKarl Li 
56*9059a375SKarl Li void apusys_security_ctrl_init(void);
57*9059a375SKarl Li int apusys_plat_setup_sec_mem(void);
58*9059a375SKarl Li 
59*9059a375SKarl Li #endif /* APUSYS_SECURITY_CTRL_PLAT_H */
60