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>
This commit is contained in:
Nina Wu 2023-09-05 16:47:45 +08:00 committed by Jakub Czapiga
parent c6d41ecbed
commit 6eb5db39d0
4 changed files with 44 additions and 70 deletions

View File

@ -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,

View File

@ -25,18 +25,6 @@ enum devapc_ao_offset {
/******************************************************************************
* STRUCTURE DEFINITION
******************************************************************************/
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];
};
enum devapc_sys_dom_num {
DOM_NUM_INFRA_AO_SYS0 = 8,
DOM_NUM_MM_AO_SYS0 = 4,
@ -67,12 +55,4 @@ DEFINE_BITFIELD(SPM_DOM, 11, 8)
DEFINE_BITFIELD(SCP_DOM, 3, 0)
DEFINE_BITFIELD(ADSP_DOM, 3, 0)
/* Domain Remap */
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)
#endif

View File

@ -21,18 +21,6 @@ DEFINE_BIT(MCUPM_SEC, 1)
/******************************************************************************
* STRUCTURE DEFINITION
******************************************************************************/
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];
};
enum devapc_sys_dom_num {
DOM_NUM_INFRA_AO_SYS0 = 16,
DOM_NUM_INFRA_AO_SYS1 = 4,

View File

@ -30,18 +30,6 @@ enum scp_offset {
/******************************************************************************
* STRUCTURE DEFINITION
******************************************************************************/
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];
};
enum devapc_sys_dom_num {
DOM_NUM_INFRA_AO_SYS0 = 16,
DOM_NUM_INFRA_AO_SYS1 = 4,
@ -95,28 +83,4 @@ DEFINE_BIT(SSUSB_P3_SEC, 4)
DEFINE_BITFIELD(PCIE0_DOM, 11, 8) /* 17 */
DEFINE_BITFIELD(PCIE1_DOM, 19, 16) /* 18 */
/* 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)
#endif /* SOC_MEDIATEK_MT8195_DEVAPC_H */