blob: 541234fc0442b4e179b416885e1c61bb9400ef50 [file] [log] [blame]
Runyang Chena0583a42021-12-19 21:15:03 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2
3/* This file is created based on MT8169_DEVICE_APC_REG_DEVAPC_external.docx */
4
5#include <console/console.h>
6#include <soc/devapc.h>
7#include <soc/devapc_common.h>
8
9static const struct apc_infra_peri_dom_8 infra_ao_sys0_devices[] = {
10 /* 0 */
11 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_TOPCKGEN",
12 NO_PROTECTION, FORBIDDEN3,
13 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
14 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_INFRASYS_CONFIG_REGS",
15 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION,
16 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
17 DAPC_INFRA_AO_SYS0_ATTR("IO_CFG_REG",
18 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
19 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_ PERICFG",
20 NO_PROTECTION, FORBIDDEN, FORBIDDEN, NO_PROTECTION,
21 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
22 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_EFUSAO_DEBUG",
23 SEC_RW_NS_R, FORBIDDEN7),
24 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_GPIO",
25 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION,
26 NO_PROTECTION, FORBIDDEN, FORBIDDEN, NO_PROTECTION),
27 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SLEEP_CONTROLLER",
28 NO_PROTECTION, NO_PROTECTION, NO_PROTECTION, FORBIDDEN,
29 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
30 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_TOPRGU",
31 NO_PROTECTION, FORBIDDEN7),
32 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_APXGPT",
33 NO_PROTECTION, FORBIDDEN7),
34 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_RESERVE",
35 NO_PROTECTION, FORBIDDEN7),
36
37 /* 10 */
38 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SEJ",
39 SEC_RW_ONLY, FORBIDDEN7),
40 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_AP_CIRQ_EINT",
41 NO_PROTECTION, FORBIDDEN7),
42 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_APMIXEDSYS",
43 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
44 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
45 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PMIC_WRAP",
46 NO_PROTECTION, NO_PROTECTION, FORBIDDEN4,
47 NO_PROTECTION, FORBIDDEN),
48 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_DEVICAPC_AO_INFRA_PERI",
49 SEC_RW_ONLY, FORBIDDEN7),
50 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_DEVICAPC_AO_MM",
51 SEC_RW_ONLY, FORBIDDEN7),
52 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_KEYPAD",
53 NO_PROTECTION, FORBIDDEN7),
54 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_TOP_MISC",
55 NO_PROTECTION, FORBIDDEN7),
56 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_ DVFS_CTRL_PROC",
57 NO_PROTECTION, SEC_RW_NS_R, NO_PROTECTION, FORBIDDEN,
58 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
59 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_IFNRA_TOP_MBIST_CTRL",
60 NO_PROTECTION, FORBIDDEN7),
61
62 /* 20 */
63 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_DPMAIF_AO_TOP",
64 NO_PROTECTION, FORBIDDEN7),
65 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PMIF",
66 NO_PROTECTION, FORBIDDEN7),
67 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_AES_TOP_0",
68 FORBIDDEN, NO_PROTECTION, FORBIDDEN6),
69 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SYS_TIMER",
70 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
71 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_MDEM_TEMP_SHARE",
72 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
73 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_DEVICAPC_AO_MD",
74 SEC_RW_ONLY, FORBIDDEN7),
75 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SECURITY_AO",
76 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
77 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SPMI_MST_WRAP",
78 NO_PROTECTION, FORBIDDEN7),
79 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SPM",
80 NO_PROTECTION, FORBIDDEN7),
81 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SPM",
82 NO_PROTECTION, FORBIDDEN7),
83
84 /* 30 */
85 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SPM",
86 NO_PROTECTION, FORBIDDEN7),
87 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SPM",
88 NO_PROTECTION, FORBIDDEN4,
89 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
90 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_AP_DMA",
91 NO_PROTECTION, FORBIDDEN7),
92 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
93 NO_PROTECTION, FORBIDDEN7),
94 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
95 NO_PROTECTION, FORBIDDEN7),
96 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_SYS_CIRQ",
97 NO_PROTECTION, FORBIDDEN7),
98 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
99 NO_PROTECTION, FORBIDDEN7),
100 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
101 NO_PROTECTION, FORBIDDEN7),
102 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DEVICAPC",
103 NO_PROTECTION, FORBIDDEN7),
104 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DBG_TRACKER",
105 NO_PROTECTION, FORBIDDEN3, NO_PROTECTION, FORBIDDEN3),
106
107 /* 40 */
108 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF0_AP",
109 NO_PROTECTION, SEC_RW_NS_R, FORBIDDEN6),
110 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF0_MD",
111 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
112 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF1_AP",
113 NO_PROTECTION, SEC_RW_NS_R, FORBIDDEN6),
114 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF1_MD",
115 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
116 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
117 NO_PROTECTION, FORBIDDEN7),
118 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_INFRA_PDN_REGISTER",
119 NO_PROTECTION, FORBIDDEN7),
120 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_TRNG",
121 SEC_RW_ONLY, FORBIDDEN7),
122 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DX_CC",
123 SEC_RW_ONLY, FORBIDDEN7),
124 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF4_AP",
125 NO_PROTECTION, SEC_RW_NS_R, FORBIDDEN,
126 NO_PROTECTION, FORBIDDEN4),
127 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CQ_DMA",
128 NO_PROTECTION, FORBIDDEN7),
129
130 /* 50 */
131 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF4_MD",
132 NO_PROTECTION, NO_PROTECTION, FORBIDDEN,
133 NO_PROTECTION, FORBIDDEN4),
134 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_SRAMROM",
135 NO_PROTECTION, FORBIDDEN7),
136 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
137 NO_PROTECTION, FORBIDDEN7),
138 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
139 NO_PROTECTION, FORBIDDEN7),
140 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
141 NO_PROTECTION, FORBIDDEN7),
142 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_RESERVE",
143 NO_PROTECTION, FORBIDDEN7),
144 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_EMI",
145 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
146 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DEVICMPU_LOW",
147 SEC_RW_ONLY, FORBIDDEN7),
148 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_EMI_MPU_REG",
149 SEC_RW_NS_R, FORBIDDEN7),
150 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DPMAIF_TOP",
151 NO_PROTECTION, FORBIDDEN7),
152
153 /* 60 */
154 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DPMAIF_TOP",
155 NO_PROTECTION, FORBIDDEN7),
156 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DPMAIF_TOP",
157 NO_PROTECTION, FORBIDDEN7),
158 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DPMAIF_TOP",
159 NO_PROTECTION, FORBIDDEN7),
160 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP0",
161 NO_PROTECTION, FORBIDDEN7),
162 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP1",
163 NO_PROTECTION, FORBIDDEN4,
164 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
165 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP2",
166 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
167 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
168 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP3",
169 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
170 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
171 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP4",
172 NO_PROTECTION, FORBIDDEN4,
173 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
174 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP5",
175 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
176 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
177 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH0_TOP6",
178 NO_PROTECTION, FORBIDDEN4,
179 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
180
181 /* 70 */
182 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_GCE",
183 NO_PROTECTION, FORBIDDEN7),
184 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP0",
185 NO_PROTECTION, FORBIDDEN4,
186 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
187 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP1",
188 NO_PROTECTION, FORBIDDEN4,
189 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
190 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP2",
191 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
192 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
193 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP3",
194 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
195 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
196 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP4",
197 NO_PROTECTION, FORBIDDEN4,
198 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
199 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP5",
200 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
201 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
202 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DRAMC_CH1_TOP6",
203 NO_PROTECTION, FORBIDDEN4,
204 NO_PROTECTION, FORBIDDEN, FORBIDDEN),
205 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF2_AP",
206 NO_PROTECTION, SEC_RW_NS_R, FORBIDDEN6),
207 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF2_MD",
208 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
209
210 /* 80 */
211 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF3_AP",
212 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, FORBIDDEN,
213 NO_PROTECTION, FORBIDDEN, FORBIDDEN, NO_PROTECTION),
214 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_CCIF3_MD",
215 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, FORBIDDEN,
216 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
217 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_1_1",
218 FORBIDDEN, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
219 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_1_2",
220 FORBIDDEN, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
221 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_1_3",
222 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
223 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_2",
224 SEC_RW_NS_R, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
225 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
226 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_3",
227 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
228 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_4",
229 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
230 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_5",
231 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
232 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_6",
233 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
234
235 /* 90 */
236 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_7",
237 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
238 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_PWRMCU_8",
239 FORBIDDEN, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
240 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_SCP",
241 NO_PROTECTION, FORBIDDEN3,
242 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
243 DAPC_INFRA_AO_SYS0_ATTR("INFRA_AO_MCUCFG(*)",
244 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
245 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
246 DAPC_INFRA_AO_SYS0_ATTR("INFRASYS_DBUGSYS",
247 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN5),
248 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_RESERVE",
249 NO_PROTECTION, FORBIDDEN7),
250 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_AUXADC",
251 NO_PROTECTION, FORBIDDEN3, NO_PROTECTION, FORBIDDEN3),
252 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_UART0",
253 NO_PROTECTION, FORBIDDEN3, NO_PROTECTION, FORBIDDEN3),
254 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_UART1",
255 NO_PROTECTION, FORBIDDEN7),
256 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C7",
257 NO_PROTECTION, FORBIDDEN7),
258
259 /* 100 */
260 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C8",
261 NO_PROTECTION, FORBIDDEN7),
262 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_PWM",
263 NO_PROTECTION, FORBIDDEN7),
264 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C0",
265 NO_PROTECTION, FORBIDDEN7),
266 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C1",
267 NO_PROTECTION, FORBIDDEN7),
268 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C2",
269 NO_PROTECTION, FORBIDDEN7),
270 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI0",
271 NO_PROTECTION, FORBIDDEN7),
272 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_PTP",
273 NO_PROTECTION, FORBIDDEN, NO_PROTECTION, FORBIDDEN,
274 FORBIDDEN, NO_PROTECTION, FORBIDDEN, FORBIDDEN),
275 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_BTIF",
276 NO_PROTECTION, FORBIDDEN7),
277 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C6",
278 NO_PROTECTION, FORBIDDEN7),
279 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_DISP_PWM",
280 NO_PROTECTION, FORBIDDEN7),
281
282 /* 110 */
283 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C3",
284 NO_PROTECTION, FORBIDDEN7),
285 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI1",
286 NO_PROTECTION, FORBIDDEN7),
287 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C4",
288 NO_PROTECTION, FORBIDDEN7),
289 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI2",
290 NO_PROTECTION, FORBIDDEN7),
291 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI3",
292 NO_PROTECTION, FORBIDDEN7),
293 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI4",
294 NO_PROTECTION, FORBIDDEN7),
295 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_SPI5",
296 NO_PROTECTION, FORBIDDEN7),
297 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C5",
298 NO_PROTECTION, FORBIDDEN7),
299 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_IMP_IIC_WRAP",
300 NO_PROTECTION, FORBIDDEN7),
301 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_UART2",
302 NO_PROTECTION, FORBIDDEN7),
303
304 /* 120 */
305 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_I2C9",
306 NO_PROTECTION, FORBIDDEN7),
307 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_USB",
308 NO_PROTECTION, NO_PROTECTION, FORBIDDEN5, NO_PROTECTION),
309 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_USB_2.0_SUB",
310 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
311 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_MSDC0",
312 NO_PROTECTION, FORBIDDEN7),
313 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_MSDC1",
314 NO_PROTECTION, FORBIDDEN7),
315 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_MSDC2",
316 NO_PROTECTION, FORBIDDEN7),
317 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_MSDC3",
318 NO_PROTECTION, FORBIDDEN7),
319 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_UFS",
320 NO_PROTECTION, FORBIDDEN7),
321 DAPC_INFRA_AO_SYS0_ATTR("PERISUS_USB3.0_SIF",
322 NO_PROTECTION, FORBIDDEN7),
323 DAPC_INFRA_AO_SYS0_ATTR("PERISUS_USB3.0_SIF2",
324 NO_PROTECTION, FORBIDDEN7),
325
326 /* 130 */
327 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_USB_2.0_SIF(**)",
328 NO_PROTECTION, FORBIDDEN7),
329 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_AUDIO",
330 NO_PROTECTION, FORBIDDEN3,
331 NO_PROTECTION, FORBIDDEN, FORBIDDEN, NO_PROTECTION),
332 DAPC_INFRA_AO_SYS0_ATTR("EAST_RESERVE",
333 NO_PROTECTION, FORBIDDEN7),
334 DAPC_INFRA_AO_SYS0_ATTR("EAST_ CSI_TOP_AO",
335 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
336 DAPC_INFRA_AO_SYS0_ATTR("EAST_ RESERVE",
337 NO_PROTECTION, FORBIDDEN7),
338 DAPC_INFRA_AO_SYS0_ATTR("EAST_ RESERVE",
339 NO_PROTECTION, FORBIDDEN7),
340 DAPC_INFRA_AO_SYS0_ATTR("SOUTH_RESERVE",
341 NO_PROTECTION, FORBIDDEN7),
342 DAPC_INFRA_AO_SYS0_ATTR("SOUTH_RESERVE",
343 NO_PROTECTION, FORBIDDEN7),
344 DAPC_INFRA_AO_SYS0_ATTR("SOUTH_RESERVE",
345 NO_PROTECTION, FORBIDDEN7),
346 DAPC_INFRA_AO_SYS0_ATTR("SOUTH_RESERVE",
347 NO_PROTECTION, FORBIDDEN7),
348
349 /* 140 */
350 DAPC_INFRA_AO_SYS0_ATTR("WEST_MIPI_TX_CONFIG",
351 NO_PROTECTION, FORBIDDEN7),
352 DAPC_INFRA_AO_SYS0_ATTR("WEST_MSDC1",
353 NO_PROTECTION, FORBIDDEN7),
354 DAPC_INFRA_AO_SYS0_ATTR("WEST_USB20_PHY",
355 NO_PROTECTION, NO_PROTECTION, FORBIDDEN6),
356 DAPC_INFRA_AO_SYS0_ATTR("WEST_EFUSE",
357 NO_PROTECTION, SEC_RW_NS_R, NO_PROTECTION, FORBIDDEN5),
358 DAPC_INFRA_AO_SYS0_ATTR("NORTH_UFS_MPHY",
359 NO_PROTECTION, FORBIDDEN7),
360 DAPC_INFRA_AO_SYS0_ATTR("NORTH_MSDC0",
361 NO_PROTECTION, FORBIDDEN7),
362 DAPC_INFRA_AO_SYS0_ATTR("NORTH_RESERV0",
363 NO_PROTECTION, FORBIDDEN7),
364 DAPC_INFRA_AO_SYS0_ATTR("NORTH_RESERV1",
365 NO_PROTECTION, FORBIDDEN7),
366 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_CONN",
367 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION,
368 FORBIDDEN3, NO_PROTECTION),
369 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_MD1",
370 NO_PROTECTION, FORBIDDEN7),
371
372 /* 150 */
373 DAPC_INFRA_AO_SYS0_ATTR("PERISYS_AUDIODSP",
374 NO_PROTECTION, FORBIDDEN7),
375};
376
377/* module, AP permission, N/A, SSPM permission, N/A */
378static const struct apc_infra_peri_dom_4 mm_ao_sys0_devices[] = {
379
380 /* 0 */
381 DAPC_MM_AO_SYS0_ATTR("IP",
382 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
383 DAPC_MM_AO_SYS0_ATTR("Reserved",
384 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
385 DAPC_MM_AO_SYS0_ATTR("DFD",
386 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
387 DAPC_MM_AO_SYS0_ATTR("Reserved",
388 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
389 DAPC_MM_AO_SYS0_ATTR("G3D Secure Reg",
390 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
391 DAPC_MM_AO_SYS0_ATTR("G3D TestBench",
392 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
393 DAPC_MM_AO_SYS0_ATTR("G3D_CONFIG",
394 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
395 DAPC_MM_AO_SYS0_ATTR("Reserved",
396 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
397 DAPC_MM_AO_SYS0_ATTR("MMSYS_CONFIG",
398 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
399 DAPC_MM_AO_SYS0_ATTR("DISP_MUTEX0",
400 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
401
402 /* 10 */
403 DAPC_MM_AO_SYS0_ATTR("SMI_COMMON",
404 NO_PROTECTION4),
405 DAPC_MM_AO_SYS0_ATTR("SMI_LARB0",
406 NO_PROTECTION4),
407 DAPC_MM_AO_SYS0_ATTR("SMI_LARB1",
408 NO_PROTECTION4),
409 DAPC_MM_AO_SYS0_ATTR("DISP_OVL0",
410 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
411 DAPC_MM_AO_SYS0_ATTR("DISP_OVL0_2L",
412 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
413 DAPC_MM_AO_SYS0_ATTR("DISP_RDMA0",
414 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
415 DAPC_MM_AO_SYS0_ATTR("DISP_RSZ0",
416 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
417 DAPC_MM_AO_SYS0_ATTR("DISP_COLOR0",
418 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
419 DAPC_MM_AO_SYS0_ATTR("Reserved",
420 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
421 DAPC_MM_AO_SYS0_ATTR("DISP_CCORR0",
422 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
423
424 /* 20 */
425 DAPC_MM_AO_SYS0_ATTR("DISP_AAL0",
426 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
427 DAPC_MM_AO_SYS0_ATTR("DISP_GAMMA0",
428 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
429 DAPC_MM_AO_SYS0_ATTR("DISP_POSTMASK0",
430 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
431 DAPC_MM_AO_SYS0_ATTR("DISP_DITHER0",
432 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
433 DAPC_MM_AO_SYS0_ATTR("Reserved",
434 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
435 DAPC_MM_AO_SYS0_ATTR("Reserved",
436 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
437 DAPC_MM_AO_SYS0_ATTR("DISP_DSC_WRAP0",
438 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
439 DAPC_MM_AO_SYS0_ATTR("DSI0",
440 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
441 DAPC_MM_AO_SYS0_ATTR("DISP_WDMA0",
442 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
443 DAPC_MM_AO_SYS0_ATTR("RESERVED",
444 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
445
446 /* 30 */
447 DAPC_MM_AO_SYS0_ATTR("MM_IOMMU_0",
448 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
449 DAPC_MM_AO_SYS0_ATTR("MM_IOMMU_1",
450 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
451 DAPC_MM_AO_SYS0_ATTR("MM_IOMMU_2",
452 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
453 DAPC_MM_AO_SYS0_ATTR("MM_IOMMU_3",
454 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
455 DAPC_MM_AO_SYS0_ATTR("MM_IOMMU_4",
456 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
457 DAPC_MM_AO_SYS0_ATTR("DISP_SMI_2X1_SUB_COMMON_U0",
458 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
459 DAPC_MM_AO_SYS0_ATTR("DISP_SMI_2X1_SUB_COMMON_U1",
460 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
461 DAPC_MM_AO_SYS0_ATTR("Reserved",
462 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
463 DAPC_MM_AO_SYS0_ATTR("IMG1_SMI_2X1_SUB_COMMON",
464 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
465 DAPC_MM_AO_SYS0_ATTR("Reserved",
466 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
467
468 /* 40 */
469 DAPC_MM_AO_SYS0_ATTR("Reserved",
470 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
471 DAPC_MM_AO_SYS0_ATTR("reserved (mfb_a)",
472 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
473 DAPC_MM_AO_SYS0_ATTR("reserved (wpe_a)",
474 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
475 DAPC_MM_AO_SYS0_ATTR("reserved (mss_a)",
476 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
477 DAPC_MM_AO_SYS0_ATTR("reserved",
478 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
479 DAPC_MM_AO_SYS0_ATTR("reserved",
480 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
481 DAPC_MM_AO_SYS0_ATTR("reserved",
482 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
483 DAPC_MM_AO_SYS0_ATTR("reserved",
484
485 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
486 DAPC_MM_AO_SYS0_ATTR("reserved",
487 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
488 DAPC_MM_AO_SYS0_ATTR("reserved",
489 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
490
491 /* 50 */
492 DAPC_MM_AO_SYS0_ATTR("reserved",
493 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
494 DAPC_MM_AO_SYS0_ATTR("reserved",
495 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
496 DAPC_MM_AO_SYS0_ATTR("reserved",
497 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
498 DAPC_MM_AO_SYS0_ATTR("reserved",
499 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
500 DAPC_MM_AO_SYS0_ATTR("reserved",
501 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
502 DAPC_MM_AO_SYS0_ATTR("reserved",
503 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
504 DAPC_MM_AO_SYS0_ATTR("reserved",
505 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
506 DAPC_MM_AO_SYS0_ATTR("imgsys1_top",
507 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
508 DAPC_MM_AO_SYS0_ATTR("dip_a0",
509 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
510 DAPC_MM_AO_SYS0_ATTR("dip_a1",
511 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
512
513 /* 60 */
514 DAPC_MM_AO_SYS0_ATTR("dip_a2",
515 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
516 DAPC_MM_AO_SYS0_ATTR("dip_a3",
517 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
518 DAPC_MM_AO_SYS0_ATTR("dip_a4",
519 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
520 DAPC_MM_AO_SYS0_ATTR("dip_a5",
521 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
522 DAPC_MM_AO_SYS0_ATTR("dip_a6",
523 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
524 DAPC_MM_AO_SYS0_ATTR("dip_a7",
525 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
526 DAPC_MM_AO_SYS0_ATTR("reserved (dip_a8)",
527 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
528 DAPC_MM_AO_SYS0_ATTR("reserved (dip_a9)",
529 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
530 DAPC_MM_AO_SYS0_ATTR("dip_a10",
531 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
532 DAPC_MM_AO_SYS0_ATTR("dip_a11",
533 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
534
535 /* 70 */
536 DAPC_MM_AO_SYS0_ATTR("reserved",
537 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
538 DAPC_MM_AO_SYS0_ATTR("smi_larb9",
539 NO_PROTECTION4),
540 DAPC_MM_AO_SYS0_ATTR("2x1_sub_common",
541 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
542 DAPC_MM_AO_SYS0_ATTR("reserved",
543 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
544 DAPC_MM_AO_SYS0_ATTR("mfb_b",
545 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
546 DAPC_MM_AO_SYS0_ATTR("wpe_b",
547 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
548 DAPC_MM_AO_SYS0_ATTR("mss_b",
549 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
550 DAPC_MM_AO_SYS0_ATTR("reserved",
551 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
552 DAPC_MM_AO_SYS0_ATTR("reserved",
553 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
554 DAPC_MM_AO_SYS0_ATTR("reserved",
555 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
556
557 /* 80 */
558 DAPC_MM_AO_SYS0_ATTR("reserved",
559 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
560 DAPC_MM_AO_SYS0_ATTR("reserved",
561 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
562 DAPC_MM_AO_SYS0_ATTR("reserved",
563 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
564 DAPC_MM_AO_SYS0_ATTR("reserved",
565 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
566 DAPC_MM_AO_SYS0_ATTR("reserved",
567 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
568 DAPC_MM_AO_SYS0_ATTR("reserved",
569 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
570 DAPC_MM_AO_SYS0_ATTR("reserved",
571 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
572 DAPC_MM_AO_SYS0_ATTR("reserved",
573 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
574 DAPC_MM_AO_SYS0_ATTR("reserved",
575 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
576 DAPC_MM_AO_SYS0_ATTR("imgsys2_top",
577 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
578
579 /* 90 */
580 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b0)",
581 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
582 DAPC_MM_AO_SYS0_ATTR("reserved (dip_a8)",
583 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
584 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b1)",
585 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
586 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b2)",
587 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
588 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b3)",
589 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
590 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b4)",
591 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
592 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b5)",
593 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
594 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b6)",
595 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
596 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b7)",
597 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
598 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b8)",
599 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
600
601 /* 100 */
602 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b9)",
603 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
604 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b10)",
605 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
606 DAPC_MM_AO_SYS0_ATTR("reserved (dip_b11)",
607 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
608 DAPC_MM_AO_SYS0_ATTR("reserved",
609 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
610 DAPC_MM_AO_SYS0_ATTR("smi_larb11",
611 NO_PROTECTION4),
612 DAPC_MM_AO_SYS0_ATTR("reserved (smi_larb12)",
613 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
614 DAPC_MM_AO_SYS0_ATTR("rserved",
615 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
616 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
617 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
618 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
619 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
620 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
621 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
622
623 /* 110 */
624 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
625 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
626 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
627 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
628 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
629 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
630 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
631 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
632 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
633 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
634 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
635 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
636 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
637 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
638 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
639 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
640 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
641 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
642 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
643 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
644
645 /* 120 */
646 DAPC_MM_AO_SYS0_ATTR("vdec_core0",
647 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
648 DAPC_MM_AO_SYS0_ATTR("vdec_core0_larb",
649 NO_PROTECTION4),
650 DAPC_MM_AO_SYS0_ATTR("vdec_core0_gcon",
651 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
652 DAPC_MM_AO_SYS0_ATTR("vdec_mini_mdp_top",
653 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
654 DAPC_MM_AO_SYS0_ATTR("reserved",
655 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
656 DAPC_MM_AO_SYS0_ATTR("venc_global_con",
657 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
658 DAPC_MM_AO_SYS0_ATTR("smi_larb7",
659 NO_PROTECTION4),
660 DAPC_MM_AO_SYS0_ATTR("venc",
661 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
662 DAPC_MM_AO_SYS0_ATTR("jpgenc",
663 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
664 DAPC_MM_AO_SYS0_ATTR("reserved",
665 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
666
667 /* 130 */
668 DAPC_MM_AO_SYS0_ATTR("reserved",
669 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
670 DAPC_MM_AO_SYS0_ATTR("venc_mbist_ctrl",
671 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
672 DAPC_MM_AO_SYS0_ATTR("reserved",
673 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
674 DAPC_MM_AO_SYS0_ATTR("camsys top",
675 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
676 DAPC_MM_AO_SYS0_ATTR("smi_larb13",
677 NO_PROTECTION4),
678 DAPC_MM_AO_SYS0_ATTR("smi_larb14",
679 NO_PROTECTION4),
680 DAPC_MM_AO_SYS0_ATTR("RESERVED",
681 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
682 DAPC_MM_AO_SYS0_ATTR("seninf_a",
683 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
684 DAPC_MM_AO_SYS0_ATTR("seninf_b",
685 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
686 DAPC_MM_AO_SYS0_ATTR("seninf_c",
687 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
688
689 /* 140 */
690 DAPC_MM_AO_SYS0_ATTR("seninf_d",
691 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
692 DAPC_MM_AO_SYS0_ATTR("seninf_e",
693 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
694 DAPC_MM_AO_SYS0_ATTR("seninf_f",
695 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
696 DAPC_MM_AO_SYS0_ATTR("seninf_g",
697 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
698 DAPC_MM_AO_SYS0_ATTR("seninf_h",
699 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
700 DAPC_MM_AO_SYS0_ATTR("cam_smi_3x1_sub_common_u0",
701 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
702 DAPC_MM_AO_SYS0_ATTR("cam_smi_4x1_sub_common_u0",
703 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
704 DAPC_MM_AO_SYS0_ATTR("RESERVED",
705 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
706 DAPC_MM_AO_SYS0_ATTR("smi_larb_16",
707 NO_PROTECTION4),
708 DAPC_MM_AO_SYS0_ATTR("smi_larb_17",
709 NO_PROTECTION4),
710
711 /* 150 */
712 DAPC_MM_AO_SYS0_ATTR("RESERVED",
713 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
714 DAPC_MM_AO_SYS0_ATTR("RESERVED",
715 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
716 DAPC_MM_AO_SYS0_ATTR("RESERVED",
717 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
718 DAPC_MM_AO_SYS0_ATTR("RESERVED",
719 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
720 DAPC_MM_AO_SYS0_ATTR("RESERVED",
721 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
722 DAPC_MM_AO_SYS0_ATTR("RESERVED",
723 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
724 DAPC_MM_AO_SYS0_ATTR("RESERVED",
725 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
726 DAPC_MM_AO_SYS0_ATTR("RESERVED",
727 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
728 DAPC_MM_AO_SYS0_ATTR("RESERVED",
729 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
730 DAPC_MM_AO_SYS0_ATTR("RESERVED",
731 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
732
733 /* 160 */
734 DAPC_MM_AO_SYS0_ATTR("RESERVED",
735 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
736 DAPC_MM_AO_SYS0_ATTR("RESERVED",
737 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
738 DAPC_MM_AO_SYS0_ATTR("RESERVED",
739 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
740 DAPC_MM_AO_SYS0_ATTR("RESERVED",
741 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
742 DAPC_MM_AO_SYS0_ATTR("RESERVED",
743 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
744 DAPC_MM_AO_SYS0_ATTR("RESERVED",
745 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
746 DAPC_MM_AO_SYS0_ATTR("RESERVED",
747 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
748 DAPC_MM_AO_SYS0_ATTR("RESERVED",
749 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
750 DAPC_MM_AO_SYS0_ATTR("RESERVED",
751 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
752 DAPC_MM_AO_SYS0_ATTR("RESERVED",
753 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
754
755 /* 170 */
756 DAPC_MM_AO_SYS0_ATTR("RESERVED",
757 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
758 DAPC_MM_AO_SYS0_ATTR("RESERVED",
759 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
760 DAPC_MM_AO_SYS0_ATTR("RESERVED",
761 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
762 DAPC_MM_AO_SYS0_ATTR("RESERVED",
763 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
764 DAPC_MM_AO_SYS0_ATTR("RESERVED",
765 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
766 DAPC_MM_AO_SYS0_ATTR("RESERVED",
767 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
768 DAPC_MM_AO_SYS0_ATTR("RESERVED",
769 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
770 DAPC_MM_AO_SYS0_ATTR("RESERVED",
771 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
772 DAPC_MM_AO_SYS0_ATTR("RESERVED",
773 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
774 DAPC_MM_AO_SYS0_ATTR("RESERVED",
775 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
776
777 /* 180 */
778 DAPC_MM_AO_SYS0_ATTR("RESERVED",
779 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
780 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_0",
781 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
782 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_1",
783 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
784 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_2",
785 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
786 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_3",
787 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
788 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_dma_0",
789 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
790 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_dma_1",
791 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
792 DAPC_MM_AO_SYS0_ATTR("ltm_curve_a_0",
793 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
794 DAPC_MM_AO_SYS0_ATTR("ltm_curve_a_1",
795 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
796 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_0_inner",
797 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
798
799 /* 190 */
800 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_1_inner",
801 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
802 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_2_inner",
803 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
804 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_ip_group_3_inner",
805 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
806 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_dma_0_inner",
807 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
808 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_dma_1_inner",
809 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
810 DAPC_MM_AO_SYS0_ATTR("ltm_curve_a_0_inner",
811 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
812 DAPC_MM_AO_SYS0_ATTR("ltm_curve_a_1_inner",
813 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
814 DAPC_MM_AO_SYS0_ATTR("RESERVED",
815 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
816 DAPC_MM_AO_SYS0_ATTR("RESERVED",
817 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
818 DAPC_MM_AO_SYS0_ATTR("RESERVED",
819 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
820
821 /* 200 */
822 DAPC_MM_AO_SYS0_ATTR("RESERVED",
823 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
824 DAPC_MM_AO_SYS0_ATTR("RESERVED",
825 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
826 DAPC_MM_AO_SYS0_ATTR("RESERVED",
827 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
828 DAPC_MM_AO_SYS0_ATTR("RESERVED",
829 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
830 DAPC_MM_AO_SYS0_ATTR("RESERVED",
831 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
832 DAPC_MM_AO_SYS0_ATTR("RESERVED",
833 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
834 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_set",
835 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
836 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_clr",
837 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
838 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_set_inner",
839 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
840 DAPC_MM_AO_SYS0_ATTR("cam_raw_a_clr_inner",
841 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
842
843 /* 210 */
844 DAPC_MM_AO_SYS0_ATTR("RESERVED",
845 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
846 DAPC_MM_AO_SYS0_ATTR("RESERVED",
847 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
848 DAPC_MM_AO_SYS0_ATTR("camsys_a_config",
849 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
850 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_0",
851 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
852 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_1",
853 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
854 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_2",
855 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
856 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_3",
857 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
858 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_dma_0",
859 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
860 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_dma_1",
861 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
862 DAPC_MM_AO_SYS0_ATTR("ltm_curve_b_0",
863 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
864
865 /* 220 */
866 DAPC_MM_AO_SYS0_ATTR("ltm_curve_b_1",
867 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
868 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_0_inner",
869 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
870 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_1_inner",
871 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
872 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_2_inner",
873 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
874 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_ip_group_3_inner",
875 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
876 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_dma_0_inner",
877 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
878 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_dma_1_inner",
879 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
880 DAPC_MM_AO_SYS0_ATTR("ltm_curve_b_0_inner",
881 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
882 DAPC_MM_AO_SYS0_ATTR("ltm_curve_b_1_inner",
883 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
884 DAPC_MM_AO_SYS0_ATTR("RESERVED",
885 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
886
887 /* 230 */
888 DAPC_MM_AO_SYS0_ATTR("RESERVED",
889 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
890 DAPC_MM_AO_SYS0_ATTR("RESERVED",
891 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
892 DAPC_MM_AO_SYS0_ATTR("RESERVED",
893 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
894 DAPC_MM_AO_SYS0_ATTR("RESERVED",
895 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
896 DAPC_MM_AO_SYS0_ATTR("RESERVED",
897 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
898 DAPC_MM_AO_SYS0_ATTR("RESERVED",
899 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
900 DAPC_MM_AO_SYS0_ATTR("RESERVED",
901 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
902 DAPC_MM_AO_SYS0_ATTR("RESERVED",
903 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
904 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_set",
905 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
906 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_clr",
907 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
908
909 /* 240 */
910 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_set_inner",
911 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
912 DAPC_MM_AO_SYS0_ATTR("cam_raw_b_clr_inner",
913 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
914 DAPC_MM_AO_SYS0_ATTR("RESERVED",
915 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
916 DAPC_MM_AO_SYS0_ATTR("RESERVED",
917 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
918 DAPC_MM_AO_SYS0_ATTR("camsys_b_config",
919 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
920 DAPC_MM_AO_SYS0_ATTR("RESERVED",
921 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
922 DAPC_MM_AO_SYS0_ATTR("RESERVED",
923 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
924 DAPC_MM_AO_SYS0_ATTR("RESERVED",
925 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
926 DAPC_MM_AO_SYS0_ATTR("RESERVED",
927 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
928 DAPC_MM_AO_SYS0_ATTR("RESERVED",
929 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
930
931 /* 250 */
932 DAPC_MM_AO_SYS0_ATTR("RESERVED",
933 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
934 DAPC_MM_AO_SYS0_ATTR("RESERVED",
935 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
936 DAPC_MM_AO_SYS0_ATTR("RESERVED",
937 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
938 DAPC_MM_AO_SYS0_ATTR("RESERVED",
939 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
940 DAPC_MM_AO_SYS0_ATTR("RESERVED",
941 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
942 DAPC_MM_AO_SYS0_ATTR("RESERVED",
943 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
944 DAPC_MM_AO_SYS0_ATTR("RESERVED",
945 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
946 DAPC_MM_AO_SYS0_ATTR("RESERVED",
947 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
948 DAPC_MM_AO_SYS0_ATTR("RESERVED",
949 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
950 DAPC_MM_AO_SYS0_ATTR("RESERVED",
951 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
952
953 /* 260 */
954 DAPC_MM_AO_SYS0_ATTR("RESERVED",
955 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
956 DAPC_MM_AO_SYS0_ATTR("RESERVED",
957 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
958 DAPC_MM_AO_SYS0_ATTR("RESERVED",
959 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
960 DAPC_MM_AO_SYS0_ATTR("RESERVED",
961 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
962 DAPC_MM_AO_SYS0_ATTR("RESERVED",
963 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
964 DAPC_MM_AO_SYS0_ATTR("RESERVED",
965 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
966 DAPC_MM_AO_SYS0_ATTR("RESERVED",
967 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
968 DAPC_MM_AO_SYS0_ATTR("RESERVED",
969 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
970 DAPC_MM_AO_SYS0_ATTR("RESERVED",
971 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
972 DAPC_MM_AO_SYS0_ATTR("RESERVED",
973 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
974
975 /* 270 */
976 DAPC_MM_AO_SYS0_ATTR("RESERVED",
977 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
978 DAPC_MM_AO_SYS0_ATTR("RESERVED",
979 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
980 DAPC_MM_AO_SYS0_ATTR("RESERVED",
981 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
982 DAPC_MM_AO_SYS0_ATTR("RESERVED",
983 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
984 DAPC_MM_AO_SYS0_ATTR("RESERVED",
985 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
986 DAPC_MM_AO_SYS0_ATTR("RESERVED",
987 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
988 DAPC_MM_AO_SYS0_ATTR("RESERVED",
989 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
990 DAPC_MM_AO_SYS0_ATTR("RESERVED",
991 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
992 DAPC_MM_AO_SYS0_ATTR("RESERVED",
993 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
994 DAPC_MM_AO_SYS0_ATTR("camsv_2",
995 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
996
997 /* 280 */
998 DAPC_MM_AO_SYS0_ATTR("camsv_3",
999 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1000 DAPC_MM_AO_SYS0_ATTR("camsv_4",
1001 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1002 DAPC_MM_AO_SYS0_ATTR("camsv_5",
1003 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1004 DAPC_MM_AO_SYS0_ATTR("camsv_6",
1005 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1006 DAPC_MM_AO_SYS0_ATTR("camsv_7",
1007 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1008 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1009 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1010 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1011 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1012 DAPC_MM_AO_SYS0_ATTR("camsv_2_inner",
1013 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1014 DAPC_MM_AO_SYS0_ATTR("camsv_3_inner",
1015 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1016 DAPC_MM_AO_SYS0_ATTR("camsv_4_inner",
1017 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1018
1019 /* 290 */
1020 DAPC_MM_AO_SYS0_ATTR("camsv_5_inner",
1021 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1022 DAPC_MM_AO_SYS0_ATTR("camsv_6_inner",
1023 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1024 DAPC_MM_AO_SYS0_ATTR("camsv_7_inner",
1025 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1026 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1027 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1028 DAPC_MM_AO_SYS0_ATTR("asg",
1029 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1030 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1031 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1032 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1033 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1034 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1035 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1036 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1037 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1038 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1039 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1040
1041 /* 300 */
1042 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1043 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1044 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1045 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1046 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1047 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1048 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1049 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1050 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1051 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1052 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1053 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1054 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1055 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1056 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1057 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1058 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1059 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1060 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1061 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1062
1063 /* 310 */
1064 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1065 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1066 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1067 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1068 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1069 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1070 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1071 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1072 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1073 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1074 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1075 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1076 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1077 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1078 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1079 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1080 DAPC_MM_AO_SYS0_ATTR("RESERVED",
1081 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1082 DAPC_MM_AO_SYS0_ATTR("mdpsys_config",
1083 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1084
1085 /* 320 */
1086 DAPC_MM_AO_SYS0_ATTR("mdp_mutex0",
1087 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1088 DAPC_MM_AO_SYS0_ATTR("smi_larb0",
1089 NO_PROTECTION4),
1090 DAPC_MM_AO_SYS0_ATTR("mdp_rdma0",
1091 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1092 DAPC_MM_AO_SYS0_ATTR("Reserved",
1093 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1094 DAPC_MM_AO_SYS0_ATTR("mdp_aal0",
1095 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1096 DAPC_MM_AO_SYS0_ATTR("Reserved",
1097 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1098 DAPC_MM_AO_SYS0_ATTR("mdp_hdr0",
1099 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1100 DAPC_MM_AO_SYS0_ATTR("mdp_rsz0",
1101 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1102 DAPC_MM_AO_SYS0_ATTR("mdp_rsz1",
1103 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1104 DAPC_MM_AO_SYS0_ATTR("mdp_wrot0",
1105 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1106
1107 /* 330 */
1108 DAPC_MM_AO_SYS0_ATTR("mdp_wrot1",
1109 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1110 DAPC_MM_AO_SYS0_ATTR("mdp_tdshp0",
1111 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1112 DAPC_MM_AO_SYS0_ATTR("Reserved",
1113 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1114 DAPC_MM_AO_SYS0_ATTR("Reserved",
1115 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1116 DAPC_MM_AO_SYS0_ATTR("Reserved",
1117 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1118 DAPC_MM_AO_SYS0_ATTR("ipesys_top",
1119 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1120 DAPC_MM_AO_SYS0_ATTR("fdvt",
1121 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1122 DAPC_MM_AO_SYS0_ATTR("Reserved (fe)",
1123 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1124 DAPC_MM_AO_SYS0_ATTR("rsc",
1125 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1126 DAPC_MM_AO_SYS0_ATTR("reserved",
1127 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1128
1129 /* 340 */
1130 DAPC_MM_AO_SYS0_ATTR("reserved",
1131 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1132 DAPC_MM_AO_SYS0_ATTR("reserved",
1133 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1134 DAPC_MM_AO_SYS0_ATTR("reserved",
1135 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1136 DAPC_MM_AO_SYS0_ATTR("reserved",
1137 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1138 DAPC_MM_AO_SYS0_ATTR("reserved",
1139 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1140 DAPC_MM_AO_SYS0_ATTR("reserved",
1141 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1142 DAPC_MM_AO_SYS0_ATTR("reserved",
1143 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1144 DAPC_MM_AO_SYS0_ATTR("reserved",
1145 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1146 DAPC_MM_AO_SYS0_ATTR("reserved",
1147 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1148 DAPC_MM_AO_SYS0_ATTR("ipe_smi_2x1_sub_common",
1149 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1150
1151 /* 350 */
1152 DAPC_MM_AO_SYS0_ATTR("smi_larb20",
1153 NO_PROTECTION4),
1154 DAPC_MM_AO_SYS0_ATTR("depth",
1155 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1156 DAPC_MM_AO_SYS0_ATTR("reserved",
1157 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1158 DAPC_MM_AO_SYS0_ATTR("reserved",
1159 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1160 DAPC_MM_AO_SYS0_ATTR("reserved",
1161 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1162 DAPC_MM_AO_SYS0_ATTR("reserved",
1163 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1164 DAPC_MM_AO_SYS0_ATTR("reserved",
1165 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1166 DAPC_MM_AO_SYS0_ATTR("reserved",
1167 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1168 DAPC_MM_AO_SYS0_ATTR("reserved",
1169 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1170 DAPC_MM_AO_SYS0_ATTR("reserved",
1171 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1172
1173 /* 360 */
1174 DAPC_MM_AO_SYS0_ATTR("reserved",
1175 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1176 DAPC_MM_AO_SYS0_ATTR("reserved",
1177 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1178 DAPC_MM_AO_SYS0_ATTR("reserved",
1179 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1180 DAPC_MM_AO_SYS0_ATTR("reserved",
1181 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1182 DAPC_MM_AO_SYS0_ATTR("reserved",
1183 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1184 DAPC_MM_AO_SYS0_ATTR("reserved",
1185 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION),
1186 DAPC_MM_AO_SYS0_ATTR("smi_larb19",
1187 NO_PROTECTION4),
1188 DAPC_MM_AO_SYS0_ATTR("reserved",
1189 NO_PROTECTION, NO_PROTECTION, FORBIDDEN, NO_PROTECTION)
1190};
1191
1192static const enum domain_id domain_map[] = {
1193 DOMAIN_0, DOMAIN_1, DOMAIN_2, DOMAIN_3,
1194 DOMAIN_4, DOMAIN_5, DOMAIN_6, DOMAIN_7,
1195 DOMAIN_8, DOMAIN_9, DOMAIN_10, DOMAIN_11,
1196 DOMAIN_12, DOMAIN_13, DOMAIN_14, DOMAIN_15,
1197};
1198
1199static inline void *getreg_domain(uintptr_t base, unsigned int offset,
1200 enum domain_id domain_id, unsigned int index)
1201{
1202 return (void *)(base + offset + domain_id * 0x100 + index * 0x4);
1203}
1204
1205static inline void *getreg(uintptr_t base, unsigned int offset)
1206{
1207 return getreg_domain(base, offset, 0, 0);
1208}
1209
1210static void set_module_apc(uintptr_t base, uint32_t module, enum domain_id domain_id,
1211 enum devapc_perm_type perm)
1212{
1213 uint32_t apc_register_index;
1214 uint32_t apc_set_index;
1215
1216 apc_register_index = module / MOD_NO_IN_1_DEVAPC;
1217 apc_set_index = module % MOD_NO_IN_1_DEVAPC;
1218
1219 clrsetbits32(getreg_domain(base, 0, domain_id, apc_register_index),
1220 0x3 << (apc_set_index * 2),
1221 perm << (apc_set_index * 2));
1222}
1223
1224static void set_infra_ao_apc(uintptr_t base)
1225{
1226 int i, j;
1227
1228 for (i = 0; i < ARRAY_SIZE(infra_ao_sys0_devices); i++)
1229 for (j = 0; j < ARRAY_SIZE(infra_ao_sys0_devices[i].d_permission); j++)
1230 set_module_apc(base + SYS0_D0_APC_0, i, domain_map[j],
1231 infra_ao_sys0_devices[i].d_permission[j]);
Runyang Chend4c161e2022-01-06 14:27:22 +08001232
1233 /*
1234 * Extra apc setting.
1235 * Block debugsys to avoid privilege escalation.
1236 */
1237 if (!CONFIG(CONSOLE_SERIAL))
1238 set_module_apc(base + SYS0_D0_APC_0, DEVAPC_DEBUGSYS_INDEX,
1239 DOMAIN_0, SEC_RW_NS_R);
Runyang Chena0583a42021-12-19 21:15:03 +08001240}
1241
1242static void set_mm_ao_apc(uintptr_t base)
1243{
1244 int i, j;
1245
1246 for (i = 0; i < ARRAY_SIZE(mm_ao_sys0_devices); i++)
1247 for (j = 0; j < ARRAY_SIZE(mm_ao_sys0_devices[i].d_permission); j++)
1248 set_module_apc(base + SYS0_D0_APC_0, i, domain_map[j],
1249 mm_ao_sys0_devices[i].d_permission[j]);
Runyang Chena0583a42021-12-19 21:15:03 +08001250}
1251
1252static void dump_infra_ao_apc(uintptr_t base)
1253{
1254 int reg_max;
1255 unsigned int d, i;
1256
1257 reg_max = DIV_ROUND_UP(ARRAY_SIZE(infra_ao_sys0_devices), MOD_NO_IN_1_DEVAPC);
1258 for (d = 0; d < DOM_NUM_INFRA_AO_SYS0; d++)
1259 for (i = 0; i < reg_max; i++)
1260 printk(BIOS_DEBUG, "[DEVAPC] (INFRA_AO_SYS0)D%d_APC_%d: %#x\n", d, i,
1261 read32(getreg_domain(base, SYS0_D0_APC_0, d, i)));
1262
1263 printk(BIOS_DEBUG, "[DEVAPC] (INFRA_AO)MAS_SEC_0: %#x\n",
1264 read32(getreg(base, MAS_SEC_0)));
1265}
1266
1267static void dump_mm_ao_apc(uintptr_t base)
1268{
1269 int reg_max;
1270 unsigned int d, i;
1271
1272 reg_max = DIV_ROUND_UP(ARRAY_SIZE(mm_ao_sys0_devices), MOD_NO_IN_1_DEVAPC);
1273 for (d = 0; d < DOM_NUM_MM_AO_SYS0; d++)
1274 for (i = 0; i < reg_max; i++)
1275 printk(BIOS_DEBUG, "[DEVAPC] (MM_AO_SYS0)D%d_APC_%d: %#x\n", d, i,
1276 read32(getreg_domain(base, SYS0_D0_APC_0, d, i)));
1277
1278 printk(BIOS_DEBUG, "[DEVAPC] (MM_AO)MAS_SEC_0: %#x\n",
1279 read32(getreg(base, MAS_SEC_0)));
1280}
1281
1282static void infra_init(uintptr_t base)
1283{
1284 /* Side band */
1285 SET32_BITFIELDS(getreg(base, MAS_SEC_0), SCP_SSPM_SEC, SECURE_TRANS);
1286
1287 /* Default APC Setting */
1288 set_infra_ao_apc(base);
1289}
1290
1291static void mm_init(uintptr_t base)
1292{
1293 /* Default APC Setting */
1294 set_mm_ao_apc(base);
1295}
1296
1297struct devapc_init_ops {
1298 uintptr_t base;
1299 void (*init)(uintptr_t base);
1300 void (*dump)(uintptr_t base);
1301} devapc_init[] = {
1302 { DEVAPC_AO_INFRA_PERI_BASE, infra_init, dump_infra_ao_apc },
1303 { DEVAPC_AO_MM_BASE, mm_init, dump_mm_ao_apc },
1304};
1305
1306void dapc_init(void)
1307{
1308 unsigned int i;
1309 uintptr_t devapc_ao_base;
1310
1311 for (i = 0; i < ARRAY_SIZE(devapc_init); i++) {
1312 devapc_ao_base = devapc_init[i].base;
1313
1314 /* Init dapc */
1315 write32(getreg(devapc_ao_base, AO_APC_CON), 0x0);
1316
1317 /* Initialization */
1318 if (devapc_init[i].init)
1319 devapc_init[i].init(devapc_ao_base);
1320
1321 /* Dump Setting */
1322 if (devapc_init[i].dump)
1323 devapc_init[i].dump(devapc_ao_base);
1324 }
1325}