aboutsummaryrefslogtreecommitdiff
path: root/drivers/nxp/csu/csu.h
blob: 9f82feb0a3cbf0b75ee4e7b14db1e7510831813f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * Copyright 2020 NXP
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

#ifndef CSU_H
#define CSU_H

#define CSU_SEC_ACCESS_REG_OFFSET	(0x0021CU)

/* Macros defining access permissions to configure
 * the regions controlled by Central Security Unit.
 */
enum csu_cslx_access {
	CSU_NS_SUP_R = (0x8U),
	CSU_NS_SUP_W = (0x80U),
	CSU_NS_SUP_RW = (0x88U),
	CSU_NS_USER_R = (0x4U),
	CSU_NS_USER_W = (0x40U),
	CSU_NS_USER_RW = (0x44U),
	CSU_S_SUP_R = (0x2U),
	CSU_S_SUP_W = (0x20U),
	CSU_S_SUP_RW = (0x22U),
	CSU_S_USER_R = (0x1U),
	CSU_S_USER_W = (0x10U),
	CSU_S_USER_RW = (0x11U),
	CSU_ALL_RW = (0xffU),
};

struct csu_ns_dev_st {
	uintptr_t ind;
	uint32_t val;
};

void enable_layerscape_ns_access(struct csu_ns_dev_st *csu_ns_dev,
				 uint32_t num, uintptr_t nxp_csu_addr);

#endif