1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */ 2 3 #ifndef APUSYS_DEVAPC_H 4 #define APUSYS_DEVAPC_H 5 6 enum apusys_apc_error { 7 APUSYS_APC_OK = 0, 8 APUSYS_APC_ERR_GENERIC, 9 APUSYS_APC_ERR_INVALID_CMD, 10 APUSYS_APC_ERR_SLAVE_TYPE_NOT_SUPPORTED, 11 APUSYS_APC_ERR_SLAVE_IDX_NOT_SUPPORTED, 12 APUSYS_APC_ERR_DOMAIN_NOT_SUPPORTED, 13 APUSYS_APC_ERR_PERMISSION_NOT_SUPPORTED, 14 APUSYS_APC_ERR_OUT_OF_BOUNDARY, 15 APUSYS_APC_ERR_REQ_TYPE_NOT_SUPPORTED, 16 }; 17 18 struct apc_apu_dom_16 { 19 unsigned char d_permission[16]; 20 }; 21 22 #define APUSYS_APC_CON ((void *)(APUSYS_APC_AO_BASE + 0x00F00)) 23 #define APUSYS_SYS0_APC_LOCK_0 ((void *)(APUSYS_APC_AO_BASE + 0x00700)) 24 #define APUSYS_NOC_DAPC_CON ((void *)(APUSYS_NOC_DAPC_AO_BASE + 0x00F00)) 25 26 #define APU_SCTRL_REVISER BIT(15) 27 #define DEVAPC_AO_WRAPPER BIT(8) 28 29 #define APUSYS_APC_SYS0_AO_SLAVE_NUM_IN_1_DOM 16U 30 #define APUSYS_APC_SYS0_AO_DOM_NUM 16U 31 #define APUSYS_APC_SYS0_AO_SLAVE_NUM 71U 32 33 #define APUSYS_NOC_DAPC_AO_SLAVE_NUM_IN_1_DOM 16U 34 #define APUSYS_NOC_DAPC_AO_DOM_NUM 16U 35 #define APUSYS_NOC_DAPC_AO_SLAVE_NUM 15U 36 37 void start_apusys_devapc(void); 38 39 #endif /* APUSYS_DEVAPC_H */ 40