coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
devapc.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
/* This file is created based on MT8169_DEVICE_APC_REG_DEVAPC_external.docx */
4
5
#ifndef SOC_MEDIATEK_MT8186_DEVAPC_H
6
#define SOC_MEDIATEK_MT8186_DEVAPC_H
7
8
#include <
device/mmio.h
>
9
#include <soc/addressmap.h>
10
11
void
dapc_init
(
void
);
12
13
enum
devapc_ao_offset
{
14
SYS0_D0_APC_0
= 0x0,
15
DOM_REMAP_0_0
= 0xD00,
16
DOM_REMAP_1_0
= 0xD04,
17
MAS_DOM_0
= 0x0A00,
18
MAS_SEC_0
= 0x0B00,
19
AO_APC_CON
= 0x0F00,
20
};
21
22
/******************************************************************************
23
* STRUCTURE DEFINITION
24
******************************************************************************/
25
/* Common */
26
enum
trans_type
{
27
NON_SECURE_TRANS
= 0,
28
SECURE_TRANS
,
29
};
30
31
enum
devapc_perm_type
{
32
NO_PROTECTION
= 0,
33
SEC_RW_ONLY
,
34
SEC_RW_NS_R
,
35
FORBIDDEN
,
36
PERM_NUM
,
37
};
38
39
enum
domain_id
{
40
DOMAIN_0
= 0,
41
DOMAIN_1
,
42
DOMAIN_2
,
43
DOMAIN_3
,
44
DOMAIN_4
,
45
DOMAIN_5
,
46
DOMAIN_6
,
47
DOMAIN_7
,
48
DOMAIN_8
,
49
DOMAIN_9
,
50
DOMAIN_10
,
51
DOMAIN_11
,
52
DOMAIN_12
,
53
DOMAIN_13
,
54
DOMAIN_14
,
55
DOMAIN_15
,
56
};
57
58
struct
apc_infra_peri_dom_16
{
59
unsigned
char
d_permission
[16];
60
};
61
62
struct
apc_infra_peri_dom_8
{
63
unsigned
char
d_permission
[8];
64
};
65
66
struct
apc_infra_peri_dom_4
{
67
unsigned
char
d_permission
[4];
68
};
69
70
enum
devapc_sys_dom_num
{
71
DOM_NUM_INFRA_AO_SYS0
= 8,
72
DOM_NUM_MM_AO_SYS0
= 4,
73
};
74
75
enum
devapc_cfg_index
{
76
DEVAPC_DEBUGSYS_INDEX
= 94,
77
};
78
79
/* PERM_ATTR MACRO */
80
#define DAPC_INFRA_AO_SYS0_ATTR(...) { { DAPC_PERM_ATTR_8(__VA_ARGS__) } }
81
#define DAPC_MM_AO_SYS0_ATTR(...) { { DAPC_PERM_ATTR_4(__VA_ARGS__) } }
82
83
/******************************************************************************
84
* Variable DEFINITION
85
******************************************************************************/
86
#define MOD_NO_IN_1_DEVAPC 16
87
88
/******************************************************************************
89
* Bit Field DEFINITION
90
******************************************************************************/
91
DEFINE_BIT
(SCP_SSPM_SEC, 21)
92
93
#endif
mmio.h
DEFINE_BIT
#define DEFINE_BIT(name, bit)
Definition:
mmio.h:131
devapc_cfg_index
devapc_cfg_index
Definition:
devapc.h:75
DEVAPC_DEBUGSYS_INDEX
@ DEVAPC_DEBUGSYS_INDEX
Definition:
devapc.h:76
trans_type
trans_type
Definition:
devapc.h:26
NON_SECURE_TRANS
@ NON_SECURE_TRANS
Definition:
devapc.h:27
SECURE_TRANS
@ SECURE_TRANS
Definition:
devapc.h:28
devapc_perm_type
devapc_perm_type
Definition:
devapc.h:31
SEC_RW_NS_R
@ SEC_RW_NS_R
Definition:
devapc.h:34
SEC_RW_ONLY
@ SEC_RW_ONLY
Definition:
devapc.h:33
FORBIDDEN
@ FORBIDDEN
Definition:
devapc.h:35
NO_PROTECTION
@ NO_PROTECTION
Definition:
devapc.h:32
PERM_NUM
@ PERM_NUM
Definition:
devapc.h:36
devapc_sys_dom_num
devapc_sys_dom_num
Definition:
devapc.h:70
DOM_NUM_INFRA_AO_SYS0
@ DOM_NUM_INFRA_AO_SYS0
Definition:
devapc.h:71
DOM_NUM_MM_AO_SYS0
@ DOM_NUM_MM_AO_SYS0
Definition:
devapc.h:72
dapc_init
void dapc_init(void)
Definition:
devapc.c:1306
devapc_ao_offset
devapc_ao_offset
Definition:
devapc.h:13
SYS0_D0_APC_0
@ SYS0_D0_APC_0
Definition:
devapc.h:14
DOM_REMAP_1_0
@ DOM_REMAP_1_0
Definition:
devapc.h:16
AO_APC_CON
@ AO_APC_CON
Definition:
devapc.h:19
MAS_DOM_0
@ MAS_DOM_0
Definition:
devapc.h:17
DOM_REMAP_0_0
@ DOM_REMAP_0_0
Definition:
devapc.h:15
MAS_SEC_0
@ MAS_SEC_0
Definition:
devapc.h:18
domain_id
domain_id
Definition:
devapc.h:39
DOMAIN_0
@ DOMAIN_0
Definition:
devapc.h:40
DOMAIN_3
@ DOMAIN_3
Definition:
devapc.h:43
DOMAIN_1
@ DOMAIN_1
Definition:
devapc.h:41
DOMAIN_5
@ DOMAIN_5
Definition:
devapc.h:45
DOMAIN_7
@ DOMAIN_7
Definition:
devapc.h:47
DOMAIN_15
@ DOMAIN_15
Definition:
devapc.h:55
DOMAIN_2
@ DOMAIN_2
Definition:
devapc.h:42
DOMAIN_6
@ DOMAIN_6
Definition:
devapc.h:46
DOMAIN_14
@ DOMAIN_14
Definition:
devapc.h:54
DOMAIN_11
@ DOMAIN_11
Definition:
devapc.h:51
DOMAIN_12
@ DOMAIN_12
Definition:
devapc.h:52
DOMAIN_9
@ DOMAIN_9
Definition:
devapc.h:49
DOMAIN_8
@ DOMAIN_8
Definition:
devapc.h:48
DOMAIN_10
@ DOMAIN_10
Definition:
devapc.h:50
DOMAIN_13
@ DOMAIN_13
Definition:
devapc.h:53
DOMAIN_4
@ DOMAIN_4
Definition:
devapc.h:44
apc_infra_peri_dom_16
Definition:
devapc.h:58
apc_infra_peri_dom_16::d_permission
unsigned char d_permission[16]
Definition:
devapc.h:59
apc_infra_peri_dom_4
Definition:
devapc.h:66
apc_infra_peri_dom_4::d_permission
unsigned char d_permission[4]
Definition:
devapc.h:67
apc_infra_peri_dom_8
Definition:
devapc.h:62
apc_infra_peri_dom_8::d_permission
unsigned char d_permission[8]
Definition:
devapc.h:63
src
soc
mediatek
mt8186
include
soc
devapc.h
Generated by
1.9.1