summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/common/include
diff options
context:
space:
mode:
authorNina Wu <nina-cm.wu@mediatek.corp-partner.google.com>2023-09-05 16:47:45 +0800
committerJakub Czapiga <jacz@semihalf.com>2023-09-22 12:34:29 +0000
commit6eb5db39d04d137915232a0b0eba9630244b205c (patch)
treed78a584c627409abdb49e2833fbfccf33abd4d3a /src/soc/mediatek/common/include
parentc6d41ecbed60564fbee0d79677853ac8416d8004 (diff)
soc/mediatek: Move common devapc definitions to common/
Move following definitions to common/ 1) the definition of the bit fields for domain remap 2) the definition of the structure for the permission of all domains Change-Id: Iac84ebc908ae384a6280388af4120f6349a32ed4 Signed-off-by: Nina Wu <nina-cm.wu@mediatek.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77860 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Yidi Lin <yidilin@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/mediatek/common/include')
-rw-r--r--src/soc/mediatek/common/include/soc/devapc_common.h46
1 files changed, 44 insertions, 2 deletions
diff --git a/src/soc/mediatek/common/include/soc/devapc_common.h b/src/soc/mediatek/common/include/soc/devapc_common.h
index ab718d2500..7e01e65c2e 100644
--- a/src/soc/mediatek/common/include/soc/devapc_common.h
+++ b/src/soc/mediatek/common/include/soc/devapc_common.h
@@ -3,6 +3,19 @@
#ifndef SOC_MEDIATEK_COMMON_DEVAPC_H
#define SOC_MEDIATEK_COMMON_DEVAPC_H
+/* Permission Setting */
+struct apc_infra_peri_dom_16 {
+ unsigned char d_permission[16];
+};
+
+struct apc_infra_peri_dom_8 {
+ unsigned char d_permission[8];
+};
+
+struct apc_infra_peri_dom_4 {
+ unsigned char d_permission[4];
+};
+
#define DAPC_PERM_ATTR_4(DEV_NAME, PERM_ATTR0, PERM_ATTR1, \
PERM_ATTR2, PERM_ATTR3) \
(unsigned char)PERM_ATTR0, (unsigned char)PERM_ATTR1, \
@@ -36,8 +49,9 @@
#define FORBIDDEN5 FORBIDDEN4, FORBIDDEN
#define FORBIDDEN6 FORBIDDEN5, FORBIDDEN
#define FORBIDDEN7 FORBIDDEN6, FORBIDDEN
-#define FORBIDDEN9 FORBIDDEN7, FORBIDDEN2
-#define FORBIDDEN10 FORBIDDEN3, FORBIDDEN7
+#define FORBIDDEN8 FORBIDDEN7, FORBIDDEN
+#define FORBIDDEN9 FORBIDDEN8, FORBIDDEN
+#define FORBIDDEN10 FORBIDDEN9, FORBIDDEN
#define FORBIDDEN11 FORBIDDEN10, FORBIDDEN
#define FORBIDDEN12 FORBIDDEN11, FORBIDDEN
#define FORBIDDEN13 FORBIDDEN12, FORBIDDEN
@@ -48,6 +62,34 @@
#define NO_PROTECTION3 NO_PROTECTION2, NO_PROTECTION
#define NO_PROTECTION4 NO_PROTECTION3, NO_PROTECTION
+/* Domain Remap */
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_0, 3, 0)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_1, 7, 4)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_2, 11, 8)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_3, 15, 12)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_4, 19, 16)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_5, 23, 20)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_6, 27, 24)
+DEFINE_BITFIELD(FOUR_BIT_DOM_REMAP_7, 31, 28)
+
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_0, 2, 0)
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_1, 5, 3)
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_2, 8, 6)
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_3, 11, 9)
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_4, 14, 12)
+DEFINE_BITFIELD(THREE_BIT_DOM_REMAP_5, 17, 15)
+
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_0, 1, 0)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_1, 3, 2)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_2, 5, 4)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_3, 7, 6)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_4, 9, 8)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_5, 11, 10)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_6, 13, 12)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_7, 15, 14)
+DEFINE_BITFIELD(TWO_BIT_DOM_REMAP_8, 17, 16)
+
+/* Attribute */
enum trans_type {
NON_SECURE_TRANS = 0,
SECURE_TRANS,