xref: /rk3399_ARM-atf/drivers/marvell/mc_trustzone/mc_trustzone.h (revision 3a9f8eecd7eb4526ec4b6b5d7231038f9e32a3a5)
1*3a9f8eecSGrzegorz Jaszczyk /*
2*3a9f8eecSGrzegorz Jaszczyk  * Copyright (C) 2018 Marvell International Ltd.
3*3a9f8eecSGrzegorz Jaszczyk  *
4*3a9f8eecSGrzegorz Jaszczyk  * SPDX-License-Identifier:     BSD-3-Clause
5*3a9f8eecSGrzegorz Jaszczyk  * https://spdx.org/licenses
6*3a9f8eecSGrzegorz Jaszczyk  */
7*3a9f8eecSGrzegorz Jaszczyk 
8*3a9f8eecSGrzegorz Jaszczyk #ifndef _MC_TRUSTZONE_H
9*3a9f8eecSGrzegorz Jaszczyk #define _MC_TRUSTZONE_H
10*3a9f8eecSGrzegorz Jaszczyk 
11*3a9f8eecSGrzegorz Jaszczyk #include <addr_map.h>
12*3a9f8eecSGrzegorz Jaszczyk 
13*3a9f8eecSGrzegorz Jaszczyk #define MVEBU_TZ_MAX_WINS	16
14*3a9f8eecSGrzegorz Jaszczyk 
15*3a9f8eecSGrzegorz Jaszczyk #define TZ_VALID		(1 << 0)
16*3a9f8eecSGrzegorz Jaszczyk #define TZ_PERM(x)		((x) << 1)
17*3a9f8eecSGrzegorz Jaszczyk #define TZ_RZ_ENABLE		(1 << 3)
18*3a9f8eecSGrzegorz Jaszczyk 
19*3a9f8eecSGrzegorz Jaszczyk /* tz attr definitions */
20*3a9f8eecSGrzegorz Jaszczyk #define TZ_PERM_RW		(TZ_PERM(0))
21*3a9f8eecSGrzegorz Jaszczyk #define TZ_PERM_RO		(TZ_PERM(1))
22*3a9f8eecSGrzegorz Jaszczyk #define TZ_PERM_WO		(TZ_PERM(2))
23*3a9f8eecSGrzegorz Jaszczyk #define TZ_PERM_ABORT		(TZ_PERM(3))
24*3a9f8eecSGrzegorz Jaszczyk 
25*3a9f8eecSGrzegorz Jaszczyk void tz_enable_win(int ap_index, const struct addr_map_win *win, int win_id);
26*3a9f8eecSGrzegorz Jaszczyk 
27*3a9f8eecSGrzegorz Jaszczyk #endif /* _MC_TRUSTZONE_H */
28