1777e3b71SKarl Li /* 2*31a0b877SKarl Li * Copyright (c) 2023-2024, MediaTek Inc. All rights reserved. 3777e3b71SKarl Li * 4777e3b71SKarl Li * SPDX-License-Identifier: BSD-3-Clause 5777e3b71SKarl Li */ 6777e3b71SKarl Li 7777e3b71SKarl Li #ifndef APUSYS_DAPC_V1_H 8777e3b71SKarl Li #define APUSYS_DAPC_V1_H 9777e3b71SKarl Li 10777e3b71SKarl Li #include <lib/mmio.h> 11777e3b71SKarl Li 12777e3b71SKarl Li /****************************************************************************** 13777e3b71SKarl Li * STRUCTURE DEFINITION 14777e3b71SKarl Li ******************************************************************************/ 15777e3b71SKarl Li enum apusys_apc_err_status { 16777e3b71SKarl Li APUSYS_APC_OK = 0x0, 17*31a0b877SKarl Li APUSYS_APC_ERR_GENERIC = 0x1000, 18*31a0b877SKarl Li APUSYS_APC_ERR_INVALID_CMD = 0x1001, 19*31a0b877SKarl Li APUSYS_APC_ERR_SLAVE_TYPE_NOT_SUPPORTED = 0x1002, 20*31a0b877SKarl Li APUSYS_APC_ERR_SLAVE_IDX_NOT_SUPPORTED = 0x1003, 21*31a0b877SKarl Li APUSYS_APC_ERR_DOMAIN_NOT_SUPPORTED = 0x1004, 22*31a0b877SKarl Li APUSYS_APC_ERR_PERMISSION_NOT_SUPPORTED = 0x1005, 23*31a0b877SKarl Li APUSYS_APC_ERR_OUT_OF_BOUNDARY = 0x1006, 24*31a0b877SKarl Li APUSYS_APC_ERR_REQ_TYPE_NOT_SUPPORTED = 0x1007, 25777e3b71SKarl Li }; 26777e3b71SKarl Li 27777e3b71SKarl Li enum apusys_apc_perm_type { 28777e3b71SKarl Li NO_PROTECTION = 0, 29777e3b71SKarl Li SEC_RW_ONLY = 1, 30777e3b71SKarl Li SEC_RW_NS_R = 2, 31777e3b71SKarl Li FORBIDDEN = 3, 32777e3b71SKarl Li PERM_NUM = 4, 33777e3b71SKarl Li }; 34777e3b71SKarl Li 35777e3b71SKarl Li enum apusys_apc_domain_id { 36777e3b71SKarl Li DOMAIN_0 = 0, 37777e3b71SKarl Li DOMAIN_1 = 1, 38777e3b71SKarl Li DOMAIN_2 = 2, 39777e3b71SKarl Li DOMAIN_3 = 3, 40777e3b71SKarl Li DOMAIN_4 = 4, 41777e3b71SKarl Li DOMAIN_5 = 5, 42777e3b71SKarl Li DOMAIN_6 = 6, 43777e3b71SKarl Li DOMAIN_7 = 7, 44777e3b71SKarl Li DOMAIN_8 = 8, 45777e3b71SKarl Li DOMAIN_9 = 9, 46777e3b71SKarl Li DOMAIN_10 = 10, 47777e3b71SKarl Li DOMAIN_11 = 11, 48777e3b71SKarl Li DOMAIN_12 = 12, 49777e3b71SKarl Li DOMAIN_13 = 13, 50777e3b71SKarl Li DOMAIN_14 = 14, 51777e3b71SKarl Li DOMAIN_15 = 15, 52777e3b71SKarl Li }; 53777e3b71SKarl Li 54777e3b71SKarl Li struct apc_dom_16 { 55777e3b71SKarl Li unsigned char d0_permission; 56777e3b71SKarl Li unsigned char d1_permission; 57777e3b71SKarl Li unsigned char d2_permission; 58777e3b71SKarl Li unsigned char d3_permission; 59777e3b71SKarl Li unsigned char d4_permission; 60777e3b71SKarl Li unsigned char d5_permission; 61777e3b71SKarl Li unsigned char d6_permission; 62777e3b71SKarl Li unsigned char d7_permission; 63777e3b71SKarl Li unsigned char d8_permission; 64777e3b71SKarl Li unsigned char d9_permission; 65777e3b71SKarl Li unsigned char d10_permission; 66777e3b71SKarl Li unsigned char d11_permission; 67777e3b71SKarl Li unsigned char d12_permission; 68777e3b71SKarl Li unsigned char d13_permission; 69777e3b71SKarl Li unsigned char d14_permission; 70777e3b71SKarl Li unsigned char d15_permission; 71777e3b71SKarl Li }; 72777e3b71SKarl Li 73777e3b71SKarl Li #define APUSYS_APC_AO_ATTR(DEV_NAME, \ 74777e3b71SKarl Li PERM_ATTR0, PERM_ATTR1, PERM_ATTR2, PERM_ATTR3, \ 75777e3b71SKarl Li PERM_ATTR4, PERM_ATTR5, PERM_ATTR6, PERM_ATTR7, \ 76777e3b71SKarl Li PERM_ATTR8, PERM_ATTR9, PERM_ATTR10, PERM_ATTR11, \ 77777e3b71SKarl Li PERM_ATTR12, PERM_ATTR13, PERM_ATTR14, PERM_ATTR15) \ 78777e3b71SKarl Li {(unsigned char)PERM_ATTR0, (unsigned char)PERM_ATTR1, \ 79777e3b71SKarl Li (unsigned char)PERM_ATTR2, (unsigned char)PERM_ATTR3, \ 80777e3b71SKarl Li (unsigned char)PERM_ATTR4, (unsigned char)PERM_ATTR5, \ 81777e3b71SKarl Li (unsigned char)PERM_ATTR6, (unsigned char)PERM_ATTR7, \ 82777e3b71SKarl Li (unsigned char)PERM_ATTR8, (unsigned char)PERM_ATTR9, \ 83777e3b71SKarl Li (unsigned char)PERM_ATTR10, (unsigned char)PERM_ATTR11, \ 84777e3b71SKarl Li (unsigned char)PERM_ATTR12, (unsigned char)PERM_ATTR13, \ 85777e3b71SKarl Li (unsigned char)PERM_ATTR14, (unsigned char)PERM_ATTR15} 86777e3b71SKarl Li 87777e3b71SKarl Li typedef enum apusys_apc_err_status (*dapc_cfg_func)(uint32_t slave, 88777e3b71SKarl Li enum apusys_apc_domain_id domain_id, 89777e3b71SKarl Li enum apusys_apc_perm_type perm); 90777e3b71SKarl Li 91777e3b71SKarl Li /* Register */ 92777e3b71SKarl Li #define DEVAPC_DOM_SIZE (0x40) 93777e3b71SKarl Li #define DEVAPC_REG_SIZE (4) 94777e3b71SKarl Li 95777e3b71SKarl Li /* APUSYS APC offsets */ 96777e3b71SKarl Li #define APUSYS_DAPC_CON_VIO_MASK (0x80000000) 97777e3b71SKarl Li #define APUSYS_DAPC_CON(base) ((base) + 0x00f00) 98777e3b71SKarl Li 99777e3b71SKarl Li /****************************************************************************** 100777e3b71SKarl Li * DAPC Common Function 101777e3b71SKarl Li ******************************************************************************/ 102777e3b71SKarl Li #define SET_APUSYS_DAPC_V1(dapc, cfg) \ 103777e3b71SKarl Li set_apusys_dapc_v1(dapc, ARRAY_SIZE(dapc), cfg) 104777e3b71SKarl Li 105777e3b71SKarl Li #define DUMP_APUSYS_DAPC_V1(apc) \ 106777e3b71SKarl Li dump_apusys_dapc_v1(#apc, apc##_BASE, \ 107777e3b71SKarl Li (apc##_SLAVE_NUM / apc##_SLAVE_NUM_IN_1_DOM), apc##_DOM_NUM) 108777e3b71SKarl Li 109777e3b71SKarl Li enum apusys_apc_err_status set_apusys_dapc_v1(const struct apc_dom_16 *dapc, 110777e3b71SKarl Li uint32_t size, dapc_cfg_func cfg); 111777e3b71SKarl Li 112777e3b71SKarl Li void dump_apusys_dapc_v1(const char *name, uintptr_t base, uint32_t reg_num, uint32_t dom_num); 113777e3b71SKarl Li 114777e3b71SKarl Li /****************************************************************************** 115777e3b71SKarl Li * DAPC Permission Policy 116777e3b71SKarl Li ******************************************************************************/ 1175986ae57SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW(domain) \ 1185986ae57SKarl Li APUSYS_APC_AO_ATTR(domain, \ 1195986ae57SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 1205986ae57SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 1215986ae57SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 1225986ae57SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 1235986ae57SKarl Li 124777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW_D5_NO_PROTECT(domain) \ 125777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 126777e3b71SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 127777e3b71SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN, \ 128777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 129777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 130777e3b71SKarl Li 131777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D5_NO_PROTECT(domain) \ 132777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 133777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 134777e3b71SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN, \ 135777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 136777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 137777e3b71SKarl Li 138777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW_NS_R_D5_NO_PROTECT(domain) \ 139777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 140777e3b71SKarl Li SEC_RW_NS_R, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 141777e3b71SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN, \ 142777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 143777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 144777e3b71SKarl Li 145777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D7_NO_PROTECT(domain) \ 146777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 147777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 148777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, NO_PROTECTION, \ 149777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 150777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 151777e3b71SKarl Li 152777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D5_D7_NO_PROTECT(domain) \ 153777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 154777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 155777e3b71SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, NO_PROTECTION, \ 156777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 157777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 158777e3b71SKarl Li 159777e3b71SKarl Li #define SLAVE_FORBID_EXCEPT_D0_D5_NO_PROTECT(domain) \ 160777e3b71SKarl Li APUSYS_APC_AO_ATTR(domain, \ 161777e3b71SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 162777e3b71SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN, \ 163777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 164777e3b71SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 165*31a0b877SKarl Li 166*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_D11_NO_PROTECT_D3_D5_D8_SEC_RW(domain) \ 167*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 168*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 169*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 170*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, NO_PROTECTION, \ 171*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 172*31a0b877SKarl Li 173*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW_NS_R_D3_D5_SEC_RW(domain) \ 174*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 175*31a0b877SKarl Li SEC_RW_NS_R, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 176*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 177*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 178*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 179*31a0b877SKarl Li 180*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D5_SEC_RW(domain) \ 181*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 182*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 183*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 184*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 185*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 186*31a0b877SKarl Li 187*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW_NS_R_D5_SEC_RW(domain) \ 188*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 189*31a0b877SKarl Li SEC_RW_NS_R, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 190*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 191*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 192*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 193*31a0b877SKarl Li 194*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_NO_PROTECT_D3_D5_SEC_RW(domain) \ 195*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 196*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 197*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 198*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 199*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 200*31a0b877SKarl Li 201*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D3_D5_SEC_RW_D0_D4_D11_NO_PROTECT(domain) \ 202*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 203*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 204*31a0b877SKarl Li NO_PROTECTION, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 205*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, NO_PROTECTION, \ 206*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 207*31a0b877SKarl Li 208*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D5_SEC_RW_D0_NO_PROTECT(domain) \ 209*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 210*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 211*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 212*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 213*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 214*31a0b877SKarl Li 215*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_D5_SEC_RW(domain) \ 216*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 217*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 218*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 219*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 220*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 221*31a0b877SKarl Li 222*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_NO_PROTECT_D5_SEC_RW(domain) \ 223*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 224*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 225*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 226*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 227*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 228*31a0b877SKarl Li 229*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D3_D5_SEC_RW_D0_D11_NO_PROTECT(domain) \ 230*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 231*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 232*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 233*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, NO_PROTECTION, \ 234*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 235*31a0b877SKarl Li 236*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_NO_PROTECT_D5_D8_SEC_RW(domain) \ 237*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 238*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 239*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 240*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 241*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 242*31a0b877SKarl Li 243*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_D3_D5_SEC_RW(domain) \ 244*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 245*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, SEC_RW_ONLY, \ 246*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 247*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 248*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 249*31a0b877SKarl Li 250*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_SEC_RW_NS_R_D5_D8_SEC_RW(domain) \ 251*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 252*31a0b877SKarl Li SEC_RW_NS_R, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 253*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 254*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 255*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 256*31a0b877SKarl Li 257*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D5_D8_SEC_RW(domain) \ 258*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 259*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 260*31a0b877SKarl Li FORBIDDEN, SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, \ 261*31a0b877SKarl Li SEC_RW_ONLY, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 262*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN) 263*31a0b877SKarl Li 264*31a0b877SKarl Li #define SLAVE_FORBID_EXCEPT_D0_D5_D7_D14_NO_PROTECT(domain) \ 265*31a0b877SKarl Li APUSYS_APC_AO_ATTR(domain, \ 266*31a0b877SKarl Li NO_PROTECTION, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 267*31a0b877SKarl Li FORBIDDEN, NO_PROTECTION, FORBIDDEN, NO_PROTECTION, \ 268*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, FORBIDDEN, FORBIDDEN, \ 269*31a0b877SKarl Li FORBIDDEN, FORBIDDEN, NO_PROTECTION, FORBIDDEN) 270*31a0b877SKarl Li 271777e3b71SKarl Li #endif /* APUSYS_DAPC_V1_H */ 272