• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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