blob: 042a8ffea3201ba5a946baf11a54435dc02dc17e [file] [log] [blame]
developer0d2cfca2019-08-23 10:23:34 +08001/*
2 * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef DEVAPC_H
8#define DEVAPC_H
9
10#include <stdint.h>
11
12#define DEVAPC_AO_INFRA_BASE 0x1000E000
13#define DEVAPC_AO_MM_BASE 0x1001C000
14#define DEVAPC_AO_MD_BASE 0x10019000
15
16#define DEVAPC_INFRA_D0_APC_0 (DEVAPC_AO_INFRA_BASE + 0x0000)
17#define DEVAPC_INFRA_MAS_DOM_0 (DEVAPC_AO_INFRA_BASE + 0x0A00)
18#define DEVAPC_INFRA_MAS_SEC_0 (DEVAPC_AO_INFRA_BASE + 0x0B00)
19#define DEVAPC_INFRA_DOM_RMP_0 (DEVAPC_AO_INFRA_BASE + 0x0D00)
20#define DEVAPC_INFRA_DOM_RMP_1 (DEVAPC_AO_INFRA_BASE + 0x0D04)
21#define DEVAPC_INFRA_APC_CON (DEVAPC_AO_INFRA_BASE + 0x0F00)
22
23#define DEVAPC_MD_APC_CON (DEVAPC_AO_MD_BASE + 0x0F00)
24
25#define DEVAPC_MM_D0_APC_0 (DEVAPC_AO_MM_BASE + 0x0000)
26#define DEVAPC_MM_DOM_RMP_0 (DEVAPC_AO_MM_BASE + 0x0D00)
27#define DEVAPC_MM_APC_CON (DEVAPC_AO_MM_BASE + 0x0F00)
28
29#define MOD_NO_IN_1_DEVAPC 16
30#define MASTER_MOD_NO_IN_1_DEVAPC 8
31#define SLAVE_INFRA_MAX_INDEX 195
32#define SLAVE_MM_MAX_INDEX 140
33
34enum {
35 MASTER_SCP = 0,
36 MASTER_SPM = 10,
37 MASTER_SSPM = 27
38};
39
40enum MASK_DOM {
41 DOMAIN_0 = 0,
42 DOMAIN_1,
43 DOMAIN_2,
44 DOMAIN_3,
45 DOMAIN_4,
46 DOMAIN_5,
47 DOMAIN_6,
48 DOMAIN_7,
49 DOMAIN_8,
50 DOMAIN_9,
51 DOMAIN_10,
52 DOMAIN_11
53};
54
55enum TRANSACTION {
56 NON_SECURE_TRANSACTION = 0,
57 SECURE_TRANSACTION
58};
59
60enum DAPC_SLAVE_TYPE {
61 DAPC_INFRA_SLAVE = 0,
62 DAPC_MM_SLAVE
63};
64
65enum APC_ATTR {
66 NO_SEC = 0,
67 S_RW_ONLY,
68 S_RW_NS_R,
69 FORBID,
70};
71
72struct DEVICE_INFO {
73 uint8_t d0_permission;
74 uint8_t d1_permission;
75 uint8_t d2_permission;
76};
77
78#define PERMISSION(DEV_NAME, ATTR1, ATTR2, ATTR3) \
79{(uint8_t)ATTR1, (uint8_t)ATTR2, (uint8_t)ATTR3}
80
81static const struct DEVICE_INFO D_APC_INFRA_Devices[] = {
82/* module, domain0, domain1, domain2 */
83
84/* 0 */
85PERMISSION("INFRA_AO_TOPCKGEN", NO_SEC, NO_SEC, NO_SEC),
86PERMISSION("INFRA_AO_INFRASYS_CONFIG_REGS", NO_SEC, FORBID, NO_SEC),
87PERMISSION("IO_CFG", NO_SEC, FORBID, NO_SEC),
88PERMISSION("INFRA_AO_PERICFG", NO_SEC, FORBID, NO_SEC),
89PERMISSION("INFRA_AO_EFUSE_AO_DEBUG", NO_SEC, FORBID, NO_SEC),
90PERMISSION("INFRA_AO_GPIO", NO_SEC, FORBID, NO_SEC),
91PERMISSION("INFRA_AO_SLEEP_CONTROLLER", NO_SEC, FORBID, NO_SEC),
92PERMISSION("INFRA_AO_TOPRGU", NO_SEC, FORBID, NO_SEC),
93PERMISSION("INFRA_AO_APXGPT", NO_SEC, FORBID, NO_SEC),
94PERMISSION("INFRA_AO_RESERVE", NO_SEC, FORBID, NO_SEC),
95
96/* 10 */
97PERMISSION("INFRA_AO_SEJ", NO_SEC, FORBID, NO_SEC),
98PERMISSION("INFRA_AO_AP_CIRQ_EINT", NO_SEC, FORBID, NO_SEC),
99PERMISSION("INFRA_AO_APMIXEDSYS", NO_SEC, NO_SEC, NO_SEC),
100PERMISSION("INFRA_AO_PMIC_WRAP", NO_SEC, FORBID, NO_SEC),
101PERMISSION("INFRA_AO_DEVICE_APC_AO_INFRA_PERI", NO_SEC, FORBID, NO_SEC),
102PERMISSION("INFRA_AO_SLEEP_CONTROLLER_MD", NO_SEC, FORBID, NO_SEC),
103PERMISSION("INFRA_AO_KEYPAD", NO_SEC, FORBID, NO_SEC),
104PERMISSION("INFRA_AO_TOP_MISC", NO_SEC, FORBID, NO_SEC),
105PERMISSION("INFRA_AO_DVFS_CTRL_PROC", NO_SEC, FORBID, NO_SEC),
106PERMISSION("INFRA_AO_MBIST_AO_REG", NO_SEC, FORBID, NO_SEC),
107
108/* 20 */
109PERMISSION("INFRA_AO_CLDMA_AO_AP", NO_SEC, FORBID, NO_SEC),
110PERMISSION("INFRA_AO_DEVICE_MPU", NO_SEC, FORBID, NO_SEC),
111PERMISSION("INFRA_AO_AES_TOP_0", NO_SEC, FORBID, NO_SEC),
112PERMISSION("INFRA_AO_SYS_TIMER", NO_SEC, FORBID, NO_SEC),
113PERMISSION("INFRA_AO_MDEM_TEMP_SHARE", NO_SEC, FORBID, NO_SEC),
114PERMISSION("INFRA_AO_DEVICE_APC_AO_MD", NO_SEC, FORBID, NO_SEC),
115PERMISSION("INFRA_AO_SECURITY_AO", NO_SEC, FORBID, NO_SEC),
116PERMISSION("INFRA_AO_TOPCKGEN_REG", NO_SEC, FORBID, NO_SEC),
117PERMISSION("INFRA_AO_DEVICE_APC_AO_MM", NO_SEC, FORBID, NO_SEC),
118PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
119
120/* 30 */
121PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
122PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
123PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
124PERMISSION("INFRASYS_SYS_CIRQ", NO_SEC, FORBID, NO_SEC),
125PERMISSION("INFRASYS_MM_IOMMU", NO_SEC, FORBID, NO_SEC),
126PERMISSION("INFRASYS_EFUSE_PDN_DEBUG", NO_SEC, FORBID, NO_SEC),
127PERMISSION("INFRASYS_DEVICE_APC", NO_SEC, FORBID, NO_SEC),
128PERMISSION("INFRASYS_DBG_TRACKER", NO_SEC, FORBID, NO_SEC),
129PERMISSION("INFRASYS_CCIF0_AP", NO_SEC, FORBID, NO_SEC),
130PERMISSION("INFRASYS_CCIF0_MD", NO_SEC, FORBID, NO_SEC),
131
132/* 40 */
133PERMISSION("INFRASYS_CCIF1_AP", NO_SEC, FORBID, NO_SEC),
134PERMISSION("INFRASYS_CCIF1_MD", NO_SEC, FORBID, NO_SEC),
135PERMISSION("INFRASYS_MBIST", NO_SEC, FORBID, NO_SEC),
136PERMISSION("INFRASYS_INFRA_PDN_REGISTER", NO_SEC, FORBID, NO_SEC),
137PERMISSION("INFRASYS_TRNG", NO_SEC, FORBID, NO_SEC),
138PERMISSION("INFRASYS_DX_CC", NO_SEC, FORBID, NO_SEC),
139PERMISSION("MD_CCIF_MD1", NO_SEC, FORBID, NO_SEC),
140PERMISSION("INFRASYS_CQ_DMA", NO_SEC, FORBID, NO_SEC),
141PERMISSION("MD_CCIF_MD2", NO_SEC, FORBID, NO_SEC),
142PERMISSION("INFRASYS_SRAMROM", NO_SEC, FORBID, NO_SEC),
143
144/* 50 */
145PERMISSION("ANA_MIPI_DSI0", NO_SEC, FORBID, NO_SEC),
146PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
147PERMISSION("ANA_MIPI_CSI0", NO_SEC, FORBID, NO_SEC),
148PERMISSION("ANA_MIPI_CSI1", NO_SEC, FORBID, NO_SEC),
149PERMISSION("INFRASYS_EMI", NO_SEC, FORBID, NO_SEC),
150PERMISSION("INFRASYS_RESERVE", NO_SEC, FORBID, NO_SEC),
151PERMISSION("INFRASYS_CLDMA_PDN", NO_SEC, FORBID, NO_SEC),
152PERMISSION("CLDMA_PDN_MD_MISC", NO_SEC, FORBID, NO_SEC),
153PERMISSION("INFRA_MD", NO_SEC, FORBID, NO_SEC),
154PERMISSION("BPI_BSI_SLV0", NO_SEC, FORBID, NO_SEC),
155
156/* 60 */
157PERMISSION("BPI_BSI_SLV1", NO_SEC, FORBID, NO_SEC),
158PERMISSION("BPI_BSI_SLV2", NO_SEC, FORBID, NO_SEC),
159PERMISSION("INFRASYS_EMI_MPU", NO_SEC, FORBID, NO_SEC),
160PERMISSION("INFRASYS_DVFS_PROC", NO_SEC, FORBID, NO_SEC),
161PERMISSION("INFRASYS_DRAMC_CH0_TOP0", NO_SEC, FORBID, NO_SEC),
162PERMISSION("INFRASYS_DRAMC_CH0_TOP1", NO_SEC, FORBID, NO_SEC),
163PERMISSION("INFRASYS_DRAMC_CH0_TOP2", NO_SEC, FORBID, NO_SEC),
164PERMISSION("INFRASYS_DRAMC_CH0_TOP3", NO_SEC, FORBID, NO_SEC),
165PERMISSION("INFRASYS_DRAMC_CH0_TOP4", NO_SEC, FORBID, NO_SEC),
166PERMISSION("INFRASYS_DRAMC_CH1_TOP0", NO_SEC, FORBID, NO_SEC),
167
168/* 70 */
169PERMISSION("INFRASYS_DRAMC_CH1_TOP1", NO_SEC, FORBID, NO_SEC),
170PERMISSION("INFRASYS_DRAMC_CH1_TOP2", NO_SEC, FORBID, NO_SEC),
171PERMISSION("INFRASYS_DRAMC_CH1_TOP3", NO_SEC, FORBID, NO_SEC),
172PERMISSION("INFRASYS_DRAMC_CH1_TOP4", NO_SEC, FORBID, NO_SEC),
173PERMISSION("INFRASYS_GCE", NO_SEC, FORBID, NO_SEC),
174PERMISSION("INFRASYS_CCIF2_AP", NO_SEC, FORBID, NO_SEC),
175PERMISSION("INFRASYS_CCIF2_MD", NO_SEC, FORBID, NO_SEC),
176PERMISSION("INFRASYS_CCIF3_AP", NO_SEC, FORBID, NO_SEC),
177PERMISSION("INFRASYS_CCIF3_MD", NO_SEC, FORBID, NO_SEC),
178PERMISSION("INFRA_AO_PWRMCU Partition 1", S_RW_NS_R, FORBID, NO_SEC),
179
180/* 80 */
181PERMISSION("INFRA_AO_PWRMCU Partition 2", S_RW_NS_R, FORBID, NO_SEC),
182PERMISSION("INFRA_AO_PWRMCU Partition 3", S_RW_NS_R, FORBID, NO_SEC),
183PERMISSION("INFRA_AO_PWRMCU Partition 4", S_RW_NS_R, FORBID, NO_SEC),
184PERMISSION("INFRA_AO_PWRMCU Partition 5", S_RW_NS_R, FORBID, NO_SEC),
185PERMISSION("INFRA_AO_PWRMCU Partition 6", S_RW_NS_R, FORBID, NO_SEC),
186PERMISSION("INFRA_AO_PWRMCU Partition 7", S_RW_NS_R, FORBID, NO_SEC),
187PERMISSION("INFRA_AO_PWRMCU Partition 8", S_RW_NS_R, FORBID, NO_SEC),
188PERMISSION("INFRA_AO_SCP", NO_SEC, NO_SEC, NO_SEC),
189PERMISSION("INFRA_AO_MCUCFG", NO_SEC, FORBID, NO_SEC),
190PERMISSION("INFRASYS_DBUGSYS", NO_SEC, FORBID, NO_SEC),
191
192/* 90 */
193PERMISSION("PERISYS_APDMA", NO_SEC, FORBID, NO_SEC),
194PERMISSION("PERISYS_AUXADC", NO_SEC, FORBID, NO_SEC),
195PERMISSION("PERISYS_UART0", NO_SEC, NO_SEC, NO_SEC),
196PERMISSION("PERISYS_UART1", NO_SEC, FORBID, NO_SEC),
197PERMISSION("PERISYS_UART2", NO_SEC, FORBID, NO_SEC),
198PERMISSION("PERISYS_I2C6", NO_SEC, FORBID, NO_SEC),
199PERMISSION("PERISYS_PWM", NO_SEC, FORBID, NO_SEC),
200PERMISSION("PERISYS_I2C0", NO_SEC, FORBID, NO_SEC),
201PERMISSION("PERISYS_I2C1", NO_SEC, FORBID, NO_SEC),
202PERMISSION("PERISYS_I2C2", NO_SEC, FORBID, NO_SEC),
203
204/* 100 */
205PERMISSION("PERISYS_SPI0", NO_SEC, FORBID, NO_SEC),
206PERMISSION("PERISYS_PTP", NO_SEC, FORBID, NO_SEC),
207PERMISSION("PERISYS_BTIF", NO_SEC, FORBID, NO_SEC),
208PERMISSION("RESERVE", NO_SEC, FORBID, NO_SEC),
209PERMISSION("PERISYS_DISP_PWM", NO_SEC, FORBID, NO_SEC),
210PERMISSION("PERISYS_I2C3", NO_SEC, FORBID, NO_SEC),
211PERMISSION("PERISYS_SPI1", NO_SEC, FORBID, NO_SEC),
212PERMISSION("PERISYS_I2C4", NO_SEC, FORBID, NO_SEC),
213PERMISSION("PERISYS_SPI2", NO_SEC, FORBID, NO_SEC),
214PERMISSION("PERISYS_SPI3", NO_SEC, FORBID, NO_SEC),
215
216/* 110 */
217PERMISSION("PERISYS_I2C1_IMM", NO_SEC, FORBID, NO_SEC),
218PERMISSION("PERISYS_I2C2_IMM", NO_SEC, FORBID, NO_SEC),
219PERMISSION("PERISYS_I2C5", NO_SEC, FORBID, NO_SEC),
220PERMISSION("PERISYS_I2C5_IMM", NO_SEC, FORBID, NO_SEC),
221PERMISSION("PERISYS_SPI4", NO_SEC, FORBID, NO_SEC),
222PERMISSION("PERISYS_SPI5", NO_SEC, FORBID, NO_SEC),
223PERMISSION("PERISYS_I2C7", NO_SEC, FORBID, NO_SEC),
224PERMISSION("PERISYS_I2C8", NO_SEC, FORBID, NO_SEC),
225PERMISSION("PERISYS_USB", NO_SEC, FORBID, NO_SEC),
226PERMISSION("PERISYS_USB_2_0_SUB", NO_SEC, FORBID, NO_SEC),
227
228/* 120 */
229PERMISSION("PERISYS_AUDIO", NO_SEC, FORBID, NO_SEC),
230PERMISSION("PERISYS_MSDC0", NO_SEC, FORBID, NO_SEC),
231PERMISSION("PERISYS_MSDC1", NO_SEC, FORBID, NO_SEC),
232PERMISSION("PERISYS_MSDC2", NO_SEC, FORBID, NO_SEC),
233PERMISSION("RESERVE", NO_SEC, FORBID, NO_SEC),
234PERMISSION("PERISYS_UFS", NO_SEC, FORBID, NO_SEC),
235PERMISSION("RESERVE", NO_SEC, FORBID, NO_SEC),
236PERMISSION("RESERVE", NO_SEC, FORBID, NO_SEC),
237PERMISSION("PERISYS_RESERVE", NO_SEC, FORBID, NO_SEC),
238PERMISSION("EAST_RESERVE_0", NO_SEC, FORBID, NO_SEC),
239
240/* 130 */
241PERMISSION("EAST_RESERVE_1", NO_SEC, FORBID, NO_SEC),
242PERMISSION("EAST_RESERVE_2", NO_SEC, FORBID, NO_SEC),
243PERMISSION("EAST_RESERVE_3", NO_SEC, FORBID, NO_SEC),
244PERMISSION("EAST_RESERVE_4", NO_SEC, FORBID, NO_SEC),
245PERMISSION("EAST_IO_CFG_RT", NO_SEC, FORBID, NO_SEC),
246PERMISSION("EAST_RESERVE_6", NO_SEC, FORBID, NO_SEC),
247PERMISSION("EAST_RESERVE_7", NO_SEC, FORBID, NO_SEC),
248PERMISSION("EAST_CSI0_TOP_AO", NO_SEC, FORBID, NO_SEC),
249PERMISSION("RESERVE", NO_SEC, FORBID, NO_SEC),
250PERMISSION("EAST_RESERVE_A", NO_SEC, FORBID, NO_SEC),
251
252/* 140 */
253PERMISSION("EAST_RESERVE_B", NO_SEC, FORBID, NO_SEC),
254PERMISSION("EAST_RESERVE_C", NO_SEC, FORBID, NO_SEC),
255PERMISSION("EAST_RESERVE_D", NO_SEC, FORBID, NO_SEC),
256PERMISSION("EAST_RESERVE_E", NO_SEC, FORBID, NO_SEC),
257PERMISSION("EAST_RESERVE_F", NO_SEC, FORBID, NO_SEC),
258PERMISSION("SOUTH_RESERVE_0", NO_SEC, FORBID, NO_SEC),
259PERMISSION("SOUTH_RESERVE_1", NO_SEC, FORBID, NO_SEC),
260PERMISSION("SOUTH_IO_CFG_RM", NO_SEC, FORBID, NO_SEC),
261PERMISSION("SOUTH_IO_CFG_RB", NO_SEC, FORBID, NO_SEC),
262PERMISSION("SOUTH_EFUSE", NO_SEC, FORBID, NO_SEC),
263
264/* 150 */
265PERMISSION("SOUTH_RESERVE_5", NO_SEC, FORBID, NO_SEC),
266PERMISSION("SOUTH_RESERVE_6", NO_SEC, FORBID, NO_SEC),
267PERMISSION("SOUTH_RESERVE_7", NO_SEC, FORBID, NO_SEC),
268PERMISSION("SOUTH_RESERVE_8", NO_SEC, FORBID, NO_SEC),
269PERMISSION("SOUTH_RESERVE_9", NO_SEC, FORBID, NO_SEC),
270PERMISSION("SOUTH_RESERVE_A", NO_SEC, FORBID, NO_SEC),
271PERMISSION("SOUTH_RESERVE_B", NO_SEC, FORBID, NO_SEC),
272PERMISSION("SOUTH_RESERVE_C", NO_SEC, FORBID, NO_SEC),
273PERMISSION("SOUTH_RESERVE_D", NO_SEC, FORBID, NO_SEC),
274PERMISSION("SOUTH_RESERVE_E", NO_SEC, FORBID, NO_SEC),
275
276/* 160 */
277PERMISSION("SOUTH_RESERVE_F", NO_SEC, FORBID, NO_SEC),
278PERMISSION("WEST_RESERVE_0", NO_SEC, FORBID, NO_SEC),
279PERMISSION("WEST_MSDC1_PAD_MACRO", NO_SEC, FORBID, NO_SEC),
280PERMISSION("WEST_RESERVE_2", NO_SEC, FORBID, NO_SEC),
281PERMISSION("WEST_RESERVE_3", NO_SEC, FORBID, NO_SEC),
282PERMISSION("WEST_RESERVE_4", NO_SEC, FORBID, NO_SEC),
283PERMISSION("WEST_MIPI_TX_CONFIG", NO_SEC, FORBID, NO_SEC),
284PERMISSION("WEST_RESERVE_6", NO_SEC, FORBID, NO_SEC),
285PERMISSION("WEST_IO_CFG_LB", NO_SEC, FORBID, NO_SEC),
286PERMISSION("WEST_IO_CFG_LM", NO_SEC, FORBID, NO_SEC),
287
288/* 170 */
289PERMISSION("WEST_IO_CFG_BL", NO_SEC, FORBID, NO_SEC),
290PERMISSION("WEST_RESERVE_A", NO_SEC, FORBID, NO_SEC),
291PERMISSION("WEST_RESERVE_B", NO_SEC, FORBID, NO_SEC),
292PERMISSION("WEST_RESERVE_C", NO_SEC, FORBID, NO_SEC),
293PERMISSION("WEST_RESERVE_D", NO_SEC, FORBID, NO_SEC),
294PERMISSION("WEST_RESERVE_E", NO_SEC, FORBID, NO_SEC),
295PERMISSION("WEST_RESERVE_F", NO_SEC, FORBID, NO_SEC),
296PERMISSION("NORTH_RESERVE_0", NO_SEC, FORBID, NO_SEC),
297PERMISSION("EFUSE_TOP", NO_SEC, FORBID, NO_SEC),
298PERMISSION("NORTH_IO_CFG_LT", NO_SEC, FORBID, NO_SEC),
299
300/* 180 */
301PERMISSION("NORTH_IO_CFG_TL", NO_SEC, FORBID, NO_SEC),
302PERMISSION("NORTH_USB20 PHY", NO_SEC, FORBID, NO_SEC),
303PERMISSION("NORTH_MSDC0 PAD MACRO", NO_SEC, FORBID, NO_SEC),
304PERMISSION("NORTH_RESERVE_6", NO_SEC, FORBID, NO_SEC),
305PERMISSION("NORTH_RESERVE_7", NO_SEC, FORBID, NO_SEC),
306PERMISSION("NORTH_RESERVE_8", NO_SEC, FORBID, NO_SEC),
307PERMISSION("NORTH_RESERVE_9", NO_SEC, FORBID, NO_SEC),
308PERMISSION("NORTH_UFS_MPHY", NO_SEC, FORBID, NO_SEC),
309PERMISSION("NORTH_RESERVE_B", NO_SEC, FORBID, NO_SEC),
310PERMISSION("NORTH_RESERVE_C", NO_SEC, FORBID, NO_SEC),
311
312/* 190 */
313PERMISSION("NORTH_RESERVE_D", NO_SEC, FORBID, NO_SEC),
314PERMISSION("NORTH_RESERVE_E", NO_SEC, FORBID, NO_SEC),
315PERMISSION("NORTH_RESERVE_F", NO_SEC, FORBID, NO_SEC),
316PERMISSION("PERISYS_CONN", NO_SEC, FORBID, NO_SEC),
317PERMISSION("PERISYS_MD_VIOLATION", NO_SEC, FORBID, NO_SEC),
318PERMISSION("PERISYS_RESERVE", NO_SEC, FORBID, NO_SEC)
319};
320
321static const struct DEVICE_INFO D_APC_MM_Devices[] = {
322/* module, domain0, domain1, domain2 */
323
324/* 0 */
325PERMISSION("G3D_CONFIG", NO_SEC, FORBID, NO_SEC),
326PERMISSION("MFG VAD", NO_SEC, FORBID, NO_SEC),
327PERMISSION("SC0 VAD", NO_SEC, FORBID, NO_SEC),
328PERMISSION("MFG_OTHERS", NO_SEC, FORBID, NO_SEC),
329PERMISSION("MMSYS_CONFIG", NO_SEC, NO_SEC, NO_SEC),
330PERMISSION("MDP_RDMA0", NO_SEC, NO_SEC, NO_SEC),
331PERMISSION("MDP_RDMA1", NO_SEC, NO_SEC, NO_SEC),
332PERMISSION("MDP_RSZ0", NO_SEC, NO_SEC, NO_SEC),
333PERMISSION("MDP_RSZ1", NO_SEC, NO_SEC, NO_SEC),
334PERMISSION("MDP_WROT0", NO_SEC, NO_SEC, NO_SEC),
335
336/* 10 */
337PERMISSION("MDP_WDMA", NO_SEC, NO_SEC, NO_SEC),
338PERMISSION("MDP_TDSHP", NO_SEC, FORBID, NO_SEC),
339PERMISSION("DISP_OVL0", NO_SEC, FORBID, NO_SEC),
340PERMISSION("DISP_OVL0_2L", NO_SEC, FORBID, NO_SEC),
341PERMISSION("DISP_OVL1_2L", NO_SEC, FORBID, NO_SEC),
342PERMISSION("DISP_RDMA0", NO_SEC, FORBID, NO_SEC),
343PERMISSION("DISP_RDMA1", NO_SEC, FORBID, NO_SEC),
344PERMISSION("DISP_WDMA0", NO_SEC, FORBID, NO_SEC),
345PERMISSION("DISP_COLOR0", NO_SEC, FORBID, NO_SEC),
346PERMISSION("DISP_CCORR0", NO_SEC, FORBID, NO_SEC),
347
348/* 20 */
349PERMISSION("DISP_AAL0", NO_SEC, FORBID, NO_SEC),
350PERMISSION("DISP_GAMMA0", NO_SEC, FORBID, NO_SEC),
351PERMISSION("DISP_DITHER0", NO_SEC, FORBID, NO_SEC),
352PERMISSION("DSI_SPLIT", NO_SEC, FORBID, NO_SEC),
353PERMISSION("DSI0", NO_SEC, FORBID, NO_SEC),
354PERMISSION("DPI", NO_SEC, FORBID, NO_SEC),
355PERMISSION("MM_MUTEX", NO_SEC, FORBID, NO_SEC),
356PERMISSION("SMI_LARB0", NO_SEC, FORBID, NO_SEC),
357PERMISSION("SMI_LARB1", NO_SEC, FORBID, NO_SEC),
358PERMISSION("SMI_COMMON", NO_SEC, FORBID, NO_SEC),
359
360/* 30 */
361PERMISSION("DISP_RSZ", NO_SEC, FORBID, NO_SEC),
362PERMISSION("MDP_AAL", NO_SEC, NO_SEC, NO_SEC),
363PERMISSION("MDP_CCORR", NO_SEC, NO_SEC, NO_SEC),
364PERMISSION("DBI", NO_SEC, FORBID, NO_SEC),
365PERMISSION("MMSYS_OTHERS", NO_SEC, FORBID, NO_SEC),
366PERMISSION("IMGSYS_CONFIG", NO_SEC, NO_SEC, NO_SEC),
367PERMISSION("IMGSYS_SMI_LARB1", NO_SEC, FORBID, NO_SEC),
368PERMISSION("IMGSYS_DISP_A0", NO_SEC, NO_SEC, NO_SEC),
369PERMISSION("IMGSYS_DISP_A1", NO_SEC, FORBID, NO_SEC),
370PERMISSION("IMGSYS_DISP_A2", NO_SEC, FORBID, NO_SEC),
371
372/* 40 */
373PERMISSION("IMGSYS_DISP_A3", NO_SEC, FORBID, NO_SEC),
374PERMISSION("IMGSYS_DISP_A4", NO_SEC, FORBID, NO_SEC),
375PERMISSION("IMGSYS_DISP_A5", NO_SEC, FORBID, NO_SEC),
376PERMISSION("IMGSYS_DPE", NO_SEC, FORBID, NO_SEC),
377PERMISSION("IMGSYS_RSC", NO_SEC, FORBID, NO_SEC),
378PERMISSION("IMGSYS_WPEA", NO_SEC, FORBID, NO_SEC),
379PERMISSION("IMGSYS_FDVT", NO_SEC, NO_SEC, NO_SEC),
380PERMISSION("IMGSYS_OWE", NO_SEC, FORBID, NO_SEC),
381PERMISSION("IMGSYS_WPEB", NO_SEC, FORBID, NO_SEC),
382PERMISSION("IMGSYS_MFB", NO_SEC, FORBID, NO_SEC),
383
384/* 50 */
385PERMISSION("IMGSYS_SMI_LARB2", NO_SEC, FORBID, NO_SEC),
386PERMISSION("IMGSYS_OTHERS", NO_SEC, FORBID, NO_SEC),
387PERMISSION("VENCSYS_GLOBAL_CON", NO_SEC, NO_SEC, NO_SEC),
388PERMISSION("VENCSYSSYS_SMI_LARB4", NO_SEC, NO_SEC, NO_SEC),
389PERMISSION("VENCSYS_VENC", NO_SEC, NO_SEC, NO_SEC),
390PERMISSION("VENCSYS_JPGENC", NO_SEC, FORBID, NO_SEC),
391PERMISSION("VENCSYS_MBIST_CTRL", NO_SEC, FORBID, NO_SEC),
392PERMISSION("VENCSYS_OTHERS", NO_SEC, FORBID, NO_SEC),
393PERMISSION("VDECSYS_GLOBAL_CON", NO_SEC, NO_SEC, NO_SEC),
394PERMISSION("VDECSYS_SMI_LARB1", NO_SEC, FORBID, NO_SEC),
395
396/* 60 */
397PERMISSION("VDECSYS_FULL_TOP", NO_SEC, NO_SEC, NO_SEC),
398PERMISSION("VDECSYS_OTHERS", NO_SEC, FORBID, NO_SEC),
399PERMISSION("CAMSYS_CAMSYS_TOP", NO_SEC, FORBID, NO_SEC),
400PERMISSION("CAMSYS_LARB6", NO_SEC, NO_SEC, NO_SEC),
401PERMISSION("CAMSYS_LARB3", NO_SEC, NO_SEC, NO_SEC),
402PERMISSION("CAMSYS_CAM_TOP", NO_SEC, NO_SEC, NO_SEC),
403PERMISSION("CAMSYS_CAM_A", NO_SEC, NO_SEC, NO_SEC),
404PERMISSION("CAMSYS_CAM_A", NO_SEC, NO_SEC, NO_SEC),
405PERMISSION("CAMSYS_CAM_B", NO_SEC, NO_SEC, NO_SEC),
406PERMISSION("CAMSYS_CAM_B", NO_SEC, NO_SEC, NO_SEC),
407
408/* 70 */
409PERMISSION("CAMSYS_CAM_C", NO_SEC, NO_SEC, NO_SEC),
410PERMISSION("CAMSYS_CAM_C", NO_SEC, NO_SEC, NO_SEC),
411PERMISSION("CAMSYS_CAM_TOP_SET", NO_SEC, FORBID, NO_SEC),
412PERMISSION("CAMSYS_CAM_A_SET", NO_SEC, FORBID, NO_SEC),
413PERMISSION("CAMSYS_CAM_A_SET", NO_SEC, FORBID, NO_SEC),
414PERMISSION("CAMSYS_CAM_B_SET", NO_SEC, FORBID, NO_SEC),
415PERMISSION("CAMSYS_CAM_B_SET", NO_SEC, FORBID, NO_SEC),
416PERMISSION("CAMSYS_CAM_C_SET", NO_SEC, FORBID, NO_SEC),
417PERMISSION("CAMSYS_CAM_C_SET", NO_SEC, FORBID, NO_SEC),
418PERMISSION("CAMSYS_CAM_TOP_INNER", NO_SEC, FORBID, NO_SEC),
419
420/* 80 */
421PERMISSION("CAMSYS_CAM_A_INNER", NO_SEC, FORBID, NO_SEC),
422PERMISSION("CAMSYS_CAM_A_INNER", NO_SEC, FORBID, NO_SEC),
423PERMISSION("CAMSYS_CAM_B_INNER", NO_SEC, FORBID, NO_SEC),
424PERMISSION("CAMSYS_CAM_B_INNER", NO_SEC, FORBID, NO_SEC),
425PERMISSION("CAMSYS_CAM_C_INNER", NO_SEC, FORBID, NO_SEC),
426PERMISSION("CAMSYS_CAM_C_INNER", NO_SEC, FORBID, NO_SEC),
427PERMISSION("CAMSYS_CAM_A_EXT", NO_SEC, FORBID, NO_SEC),
428PERMISSION("CAMSYS_CAM_B_EXT", NO_SEC, FORBID, NO_SEC),
429PERMISSION("CAMSYS_CAM_C_EXT", NO_SEC, FORBID, NO_SEC),
430PERMISSION("CAMSYS_CAM_TOP_CLR", NO_SEC, FORBID, NO_SEC),
431
432/* 90 */
433PERMISSION("CAMSYS_CAM_A_CLR", NO_SEC, FORBID, NO_SEC),
434PERMISSION("CAMSYS_CAM_A_CLR", NO_SEC, FORBID, NO_SEC),
435PERMISSION("CAMSYS_CAM_B_CLR", NO_SEC, FORBID, NO_SEC),
436PERMISSION("CAMSYS_CAM_B_CLR", NO_SEC, FORBID, NO_SEC),
437PERMISSION("CAMSYS_CAM_C_CLR", NO_SEC, FORBID, NO_SEC),
438PERMISSION("CAMSYS_CAM_C_CLR", NO_SEC, FORBID, NO_SEC),
439PERMISSION("CAMSYS_CAM_A_EXT", NO_SEC, FORBID, NO_SEC),
440PERMISSION("CAMSYS_CAM_B_EXT", NO_SEC, FORBID, NO_SEC),
441PERMISSION("CAMSYS_CAM_C_EXT", NO_SEC, FORBID, NO_SEC),
442PERMISSION("CAMSYS_CAM_RESERVE", NO_SEC, FORBID, NO_SEC),
443
444/* 100 */
445PERMISSION("CAMSYS_SENINF_A", NO_SEC, FORBID, NO_SEC),
446PERMISSION("CAMSYS_SENINF_B", NO_SEC, FORBID, NO_SEC),
447PERMISSION("CAMSYS_SENINF_C", NO_SEC, FORBID, NO_SEC),
448PERMISSION("CAMSYS_SENINF_D", NO_SEC, FORBID, NO_SEC),
449PERMISSION("CAMSYS_SENINF_E", NO_SEC, FORBID, NO_SEC),
450PERMISSION("CAMSYS_SENINF_F", NO_SEC, FORBID, NO_SEC),
451PERMISSION("CAMSYS_SENINF_G", NO_SEC, FORBID, NO_SEC),
452PERMISSION("CAMSYS_SENINF_H", NO_SEC, FORBID, NO_SEC),
453PERMISSION("CAMSYS_CAMSV_A", NO_SEC, FORBID, NO_SEC),
454PERMISSION("CAMSYS_CAMSV_B", NO_SEC, FORBID, NO_SEC),
455
456/* 110 */
457PERMISSION("CAMSYS_CAMSV_C", NO_SEC, FORBID, NO_SEC),
458PERMISSION("CAMSYS_CAMSV_D", NO_SEC, FORBID, NO_SEC),
459PERMISSION("CAMSYS_MD32 DMEM_12", NO_SEC, FORBID, NO_SEC),
460PERMISSION("CAMSYS_RESEVE", NO_SEC, FORBID, NO_SEC),
461PERMISSION("CAMSYS_CCU_CTL", NO_SEC, FORBID, NO_SEC),
462PERMISSION("CAMSYS_CCU_H2T_A", NO_SEC, FORBID, NO_SEC),
463PERMISSION("CAMSYS_CCU_T2H_A", NO_SEC, FORBID, NO_SEC),
464PERMISSION("CAMSYS_RESERVE", NO_SEC, FORBID, NO_SEC),
465PERMISSION("CAMSYS_RESERVE", NO_SEC, FORBID, NO_SEC),
466PERMISSION("CAMSYS_CCU_DMA", NO_SEC, FORBID, NO_SEC),
467
468/* 120 */
469PERMISSION("CAMSYS_TSF", NO_SEC, FORBID, NO_SEC),
470PERMISSION("CAMSYS_MD32_PMEM_24", NO_SEC, FORBID, NO_SEC),
471PERMISSION("CAMSYS_OTHERS", NO_SEC, FORBID, NO_SEC),
472PERMISSION("VPUSYS_CFG", NO_SEC, FORBID, NO_SEC),
473PERMISSION("VPUSYS_ADL_CTRL", NO_SEC, FORBID, NO_SEC),
474PERMISSION("VPUSYS_COREA_DMEM_0_128KB", NO_SEC, FORBID, NO_SEC),
475PERMISSION("VPUSYS_COREA_DMEM_128_256KB", NO_SEC, FORBID, NO_SEC),
476PERMISSION("VPUSYS_COREA_IMEM_256KB", NO_SEC, FORBID, NO_SEC),
477PERMISSION("VPUSYS_COREA_CONTROL", NO_SEC, FORBID, NO_SEC),
478PERMISSION("VPUSYS_COREA_DEBUG", NO_SEC, FORBID, NO_SEC),
479
480/* 130 */
481PERMISSION("VPUSYS_COREB_DMEM_0_128KB", NO_SEC, FORBID, NO_SEC),
482PERMISSION("VPUSYS_COREB_DMEM_128_256KB", NO_SEC, FORBID, NO_SEC),
483PERMISSION("VPUSYS_COREB_IMEM_256KB", NO_SEC, FORBID, NO_SEC),
484PERMISSION("VPUSYS_COREB_CONTROL", NO_SEC, FORBID, NO_SEC),
485PERMISSION("VPUSYS_COREB_DEBUG", NO_SEC, FORBID, NO_SEC),
486PERMISSION("VPUSYS_COREC_DMEM_0_128KB", NO_SEC, FORBID, NO_SEC),
487PERMISSION("VPUSYS_COREC_DMEM_128_256KB", NO_SEC, FORBID, NO_SEC),
488PERMISSION("VPUSYS_COREC_IMEM_256KB", NO_SEC, FORBID, NO_SEC),
489PERMISSION("VPUSYS_COREC_CONTROL", NO_SEC, FORBID, NO_SEC),
490PERMISSION("VPUSYS_COREC_DEBUG", NO_SEC, FORBID, NO_SEC),
491
492/* 140 */
493PERMISSION("VPUSYS_OTHERS", NO_SEC, FORBID, NO_SEC)
494};
495
496void devapc_init(void);
497
498#endif /* DEVAPC_H */
499