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 
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 {
29 };
30 
37 };
38 
39 enum domain_id {
40  DOMAIN_0 = 0,
56 };
57 
59  unsigned char d_permission[16];
60 };
61 
63  unsigned char d_permission[8];
64 };
65 
67  unsigned char d_permission[4];
68 };
69 
73 };
74 
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
#define DEFINE_BIT(name, bit)
Definition: mmio.h:131
devapc_cfg_index
Definition: devapc.h:75
@ DEVAPC_DEBUGSYS_INDEX
Definition: devapc.h:76
trans_type
Definition: devapc.h:26
@ NON_SECURE_TRANS
Definition: devapc.h:27
@ SECURE_TRANS
Definition: devapc.h:28
devapc_perm_type
Definition: devapc.h:31
@ SEC_RW_NS_R
Definition: devapc.h:34
@ SEC_RW_ONLY
Definition: devapc.h:33
@ FORBIDDEN
Definition: devapc.h:35
@ NO_PROTECTION
Definition: devapc.h:32
@ PERM_NUM
Definition: devapc.h:36
devapc_sys_dom_num
Definition: devapc.h:70
@ DOM_NUM_INFRA_AO_SYS0
Definition: devapc.h:71
@ DOM_NUM_MM_AO_SYS0
Definition: devapc.h:72
void dapc_init(void)
Definition: devapc.c:1306
devapc_ao_offset
Definition: devapc.h:13
@ SYS0_D0_APC_0
Definition: devapc.h:14
@ DOM_REMAP_1_0
Definition: devapc.h:16
@ AO_APC_CON
Definition: devapc.h:19
@ MAS_DOM_0
Definition: devapc.h:17
@ DOM_REMAP_0_0
Definition: devapc.h:15
@ MAS_SEC_0
Definition: devapc.h:18
domain_id
Definition: devapc.h:39
@ DOMAIN_0
Definition: devapc.h:40
@ DOMAIN_3
Definition: devapc.h:43
@ DOMAIN_1
Definition: devapc.h:41
@ DOMAIN_5
Definition: devapc.h:45
@ DOMAIN_7
Definition: devapc.h:47
@ DOMAIN_15
Definition: devapc.h:55
@ DOMAIN_2
Definition: devapc.h:42
@ DOMAIN_6
Definition: devapc.h:46
@ DOMAIN_14
Definition: devapc.h:54
@ DOMAIN_11
Definition: devapc.h:51
@ DOMAIN_12
Definition: devapc.h:52
@ DOMAIN_9
Definition: devapc.h:49
@ DOMAIN_8
Definition: devapc.h:48
@ DOMAIN_10
Definition: devapc.h:50
@ DOMAIN_13
Definition: devapc.h:53
@ DOMAIN_4
Definition: devapc.h:44
unsigned char d_permission[16]
Definition: devapc.h:59
unsigned char d_permission[4]
Definition: devapc.h:67
unsigned char d_permission[8]
Definition: devapc.h:63