1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2022 MediaTek Inc.
4 * Author: Garmin Chang <garmin.chang@mediatek.com>
7 #ifndef __SOC_MEDIATEK_MT8188_PM_DOMAINS_H
8 #define __SOC_MEDIATEK_MT8188_PM_DOMAINS_H
10 #include "mtk-pm-domains.h"
11 #include <dt-bindings/power/mediatek,mt8188-power.h>
14 * MT8188 power domain support
17 static const struct scpsys_domain_data scpsys_domain_data_mt8188
[] = {
18 [MT8188_POWER_DOMAIN_MFG0
] = {
22 .pwr_sta_offs
= 0x174,
23 .pwr_sta2nd_offs
= 0x178,
24 .sram_pdn_bits
= BIT(8),
25 .sram_pdn_ack_bits
= BIT(12),
26 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_DOMAIN_SUPPLY
,
28 [MT8188_POWER_DOMAIN_MFG1
] = {
32 .pwr_sta_offs
= 0x174,
33 .pwr_sta2nd_offs
= 0x178,
34 .sram_pdn_bits
= BIT(8),
35 .sram_pdn_ack_bits
= BIT(12),
38 MT8188_TOP_AXI_PROT_EN_MFG1_STEP1
,
39 MT8188_TOP_AXI_PROT_EN_SET
,
40 MT8188_TOP_AXI_PROT_EN_CLR
,
41 MT8188_TOP_AXI_PROT_EN_STA
),
43 MT8188_TOP_AXI_PROT_EN_2_MFG1_STEP2
,
44 MT8188_TOP_AXI_PROT_EN_2_SET
,
45 MT8188_TOP_AXI_PROT_EN_2_CLR
,
46 MT8188_TOP_AXI_PROT_EN_2_STA
),
48 MT8188_TOP_AXI_PROT_EN_1_MFG1_STEP3
,
49 MT8188_TOP_AXI_PROT_EN_1_SET
,
50 MT8188_TOP_AXI_PROT_EN_1_CLR
,
51 MT8188_TOP_AXI_PROT_EN_1_STA
),
53 MT8188_TOP_AXI_PROT_EN_2_MFG1_STEP4
,
54 MT8188_TOP_AXI_PROT_EN_2_SET
,
55 MT8188_TOP_AXI_PROT_EN_2_CLR
,
56 MT8188_TOP_AXI_PROT_EN_2_STA
),
58 MT8188_TOP_AXI_PROT_EN_MFG1_STEP5
,
59 MT8188_TOP_AXI_PROT_EN_SET
,
60 MT8188_TOP_AXI_PROT_EN_CLR
,
61 MT8188_TOP_AXI_PROT_EN_STA
),
63 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_MFG1_STEP6
,
64 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_SET
,
65 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_CLR
,
66 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_STA
),
68 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_DOMAIN_SUPPLY
,
70 [MT8188_POWER_DOMAIN_MFG2
] = {
74 .pwr_sta_offs
= 0x174,
75 .pwr_sta2nd_offs
= 0x178,
76 .sram_pdn_bits
= BIT(8),
77 .sram_pdn_ack_bits
= BIT(12),
78 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
80 [MT8188_POWER_DOMAIN_MFG3
] = {
84 .pwr_sta_offs
= 0x174,
85 .pwr_sta2nd_offs
= 0x178,
86 .sram_pdn_bits
= BIT(8),
87 .sram_pdn_ack_bits
= BIT(12),
88 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
90 [MT8188_POWER_DOMAIN_MFG4
] = {
94 .pwr_sta_offs
= 0x174,
95 .pwr_sta2nd_offs
= 0x178,
96 .sram_pdn_bits
= BIT(8),
97 .sram_pdn_ack_bits
= BIT(12),
98 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
100 [MT8188_POWER_DOMAIN_PEXTP_MAC_P0
] = {
101 .name
= "pextp_mac_p0",
104 .pwr_sta_offs
= 0x174,
105 .pwr_sta2nd_offs
= 0x178,
106 .sram_pdn_bits
= BIT(8),
107 .sram_pdn_ack_bits
= BIT(12),
110 MT8188_TOP_AXI_PROT_EN_PEXTP_MAC_P0_STEP1
,
111 MT8188_TOP_AXI_PROT_EN_SET
,
112 MT8188_TOP_AXI_PROT_EN_CLR
,
113 MT8188_TOP_AXI_PROT_EN_STA
),
115 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_PEXTP_MAC_P0_STEP2
,
116 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
,
117 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
,
118 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
),
120 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
122 [MT8188_POWER_DOMAIN_PEXTP_PHY_TOP
] = {
123 .name
= "pextp_phy_top",
126 .pwr_sta_offs
= 0x174,
127 .pwr_sta2nd_offs
= 0x178,
128 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
130 [MT8188_POWER_DOMAIN_CSIRX_TOP
] = {
131 .name
= "pextp_csirx_top",
134 .pwr_sta_offs
= 0x174,
135 .pwr_sta2nd_offs
= 0x178,
136 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
138 [MT8188_POWER_DOMAIN_ETHER
] = {
142 .pwr_sta_offs
= 0x16C,
143 .pwr_sta2nd_offs
= 0x170,
144 .sram_pdn_bits
= BIT(8),
145 .sram_pdn_ack_bits
= BIT(12),
148 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_ETHER_STEP1
,
149 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
,
150 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
,
151 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
),
153 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_ACTIVE_WAKEUP
,
155 [MT8188_POWER_DOMAIN_HDMI_TX
] = {
159 .pwr_sta_offs
= 0x16C,
160 .pwr_sta2nd_offs
= 0x170,
161 .sram_pdn_bits
= BIT(8),
162 .sram_pdn_ack_bits
= BIT(12),
165 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_HDMI_TX_STEP1
,
166 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
,
167 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
,
168 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
),
170 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_ACTIVE_WAKEUP
,
172 [MT8188_POWER_DOMAIN_ADSP_AO
] = {
176 .pwr_sta_offs
= 0x16C,
177 .pwr_sta2nd_offs
= 0x170,
178 .ext_buck_iso_offs
= 0x3EC,
179 .ext_buck_iso_mask
= BIT(10),
182 MT8188_TOP_AXI_PROT_EN_2_ADSP_AO_STEP1
,
183 MT8188_TOP_AXI_PROT_EN_2_SET
,
184 MT8188_TOP_AXI_PROT_EN_2_CLR
,
185 MT8188_TOP_AXI_PROT_EN_2_STA
),
187 MT8188_TOP_AXI_PROT_EN_2_ADSP_AO_STEP2
,
188 MT8188_TOP_AXI_PROT_EN_2_SET
,
189 MT8188_TOP_AXI_PROT_EN_2_CLR
,
190 MT8188_TOP_AXI_PROT_EN_2_STA
),
192 .caps
= MTK_SCPD_ALWAYS_ON
| MTK_SCPD_EXT_BUCK_ISO
,
194 [MT8188_POWER_DOMAIN_ADSP_INFRA
] = {
195 .name
= "adsp_infra",
198 .pwr_sta_offs
= 0x16C,
199 .pwr_sta2nd_offs
= 0x170,
200 .sram_pdn_bits
= BIT(8),
201 .sram_pdn_ack_bits
= BIT(12),
204 MT8188_TOP_AXI_PROT_EN_2_ADSP_INFRA_STEP1
,
205 MT8188_TOP_AXI_PROT_EN_2_SET
,
206 MT8188_TOP_AXI_PROT_EN_2_CLR
,
207 MT8188_TOP_AXI_PROT_EN_2_STA
),
209 MT8188_TOP_AXI_PROT_EN_2_ADSP_INFRA_STEP2
,
210 MT8188_TOP_AXI_PROT_EN_2_SET
,
211 MT8188_TOP_AXI_PROT_EN_2_CLR
,
212 MT8188_TOP_AXI_PROT_EN_2_STA
),
214 .caps
= MTK_SCPD_SRAM_ISO
| MTK_SCPD_ALWAYS_ON
,
216 [MT8188_POWER_DOMAIN_ADSP
] = {
220 .pwr_sta_offs
= 0x16C,
221 .pwr_sta2nd_offs
= 0x170,
222 .sram_pdn_bits
= BIT(8),
223 .sram_pdn_ack_bits
= BIT(12),
226 MT8188_TOP_AXI_PROT_EN_2_ADSP_STEP1
,
227 MT8188_TOP_AXI_PROT_EN_2_SET
,
228 MT8188_TOP_AXI_PROT_EN_2_CLR
,
229 MT8188_TOP_AXI_PROT_EN_2_STA
),
231 MT8188_TOP_AXI_PROT_EN_2_ADSP_STEP2
,
232 MT8188_TOP_AXI_PROT_EN_2_SET
,
233 MT8188_TOP_AXI_PROT_EN_2_CLR
,
234 MT8188_TOP_AXI_PROT_EN_2_STA
),
236 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_SRAM_ISO
| MTK_SCPD_ACTIVE_WAKEUP
,
238 [MT8188_POWER_DOMAIN_AUDIO
] = {
242 .pwr_sta_offs
= 0x16C,
243 .pwr_sta2nd_offs
= 0x170,
244 .sram_pdn_bits
= BIT(8),
245 .sram_pdn_ack_bits
= BIT(12),
248 MT8188_TOP_AXI_PROT_EN_2_AUDIO_STEP1
,
249 MT8188_TOP_AXI_PROT_EN_2_SET
,
250 MT8188_TOP_AXI_PROT_EN_2_CLR
,
251 MT8188_TOP_AXI_PROT_EN_2_STA
),
253 MT8188_TOP_AXI_PROT_EN_2_AUDIO_STEP2
,
254 MT8188_TOP_AXI_PROT_EN_2_SET
,
255 MT8188_TOP_AXI_PROT_EN_2_CLR
,
256 MT8188_TOP_AXI_PROT_EN_2_STA
),
258 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_ACTIVE_WAKEUP
,
260 [MT8188_POWER_DOMAIN_AUDIO_ASRC
] = {
261 .name
= "audio_asrc",
264 .pwr_sta_offs
= 0x16C,
265 .pwr_sta2nd_offs
= 0x170,
266 .sram_pdn_bits
= BIT(8),
267 .sram_pdn_ack_bits
= BIT(12),
270 MT8188_TOP_AXI_PROT_EN_2_AUDIO_ASRC_STEP1
,
271 MT8188_TOP_AXI_PROT_EN_2_SET
,
272 MT8188_TOP_AXI_PROT_EN_2_CLR
,
273 MT8188_TOP_AXI_PROT_EN_2_STA
),
275 MT8188_TOP_AXI_PROT_EN_2_AUDIO_ASRC_STEP2
,
276 MT8188_TOP_AXI_PROT_EN_2_SET
,
277 MT8188_TOP_AXI_PROT_EN_2_CLR
,
278 MT8188_TOP_AXI_PROT_EN_2_STA
),
280 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
282 [MT8188_POWER_DOMAIN_VPPSYS0
] = {
286 .pwr_sta_offs
= 0x16C,
287 .pwr_sta2nd_offs
= 0x170,
288 .sram_pdn_bits
= BIT(8),
289 .sram_pdn_ack_bits
= BIT(12),
292 MT8188_TOP_AXI_PROT_EN_VPPSYS0_STEP1
,
293 MT8188_TOP_AXI_PROT_EN_SET
,
294 MT8188_TOP_AXI_PROT_EN_CLR
,
295 MT8188_TOP_AXI_PROT_EN_STA
),
297 MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS0_STEP2
,
298 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
299 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
300 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
302 MT8188_TOP_AXI_PROT_EN_VPPSYS0_STEP3
,
303 MT8188_TOP_AXI_PROT_EN_SET
,
304 MT8188_TOP_AXI_PROT_EN_CLR
,
305 MT8188_TOP_AXI_PROT_EN_STA
),
307 MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS0_STEP4
,
308 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
309 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
310 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
312 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VPPSYS0_STEP5
,
313 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_SET
,
314 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_CLR
,
315 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_STA
),
318 [MT8188_POWER_DOMAIN_VDOSYS0
] = {
322 .pwr_sta_offs
= 0x16C,
323 .pwr_sta2nd_offs
= 0x170,
324 .sram_pdn_bits
= BIT(8),
325 .sram_pdn_ack_bits
= BIT(12),
328 MT8188_TOP_AXI_PROT_EN_MM_VDOSYS0_STEP1
,
329 MT8188_TOP_AXI_PROT_EN_MM_SET
,
330 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
331 MT8188_TOP_AXI_PROT_EN_MM_STA
),
333 MT8188_TOP_AXI_PROT_EN_VDOSYS0_STEP2
,
334 MT8188_TOP_AXI_PROT_EN_SET
,
335 MT8188_TOP_AXI_PROT_EN_CLR
,
336 MT8188_TOP_AXI_PROT_EN_STA
),
338 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_VDOSYS0_STEP3
,
339 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_SET
,
340 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_CLR
,
341 MT8188_TOP_AXI_PROT_EN_SUB_INFRA_VDNR_STA
),
344 [MT8188_POWER_DOMAIN_VDOSYS1
] = {
348 .pwr_sta_offs
= 0x16C,
349 .pwr_sta2nd_offs
= 0x170,
350 .sram_pdn_bits
= BIT(8),
351 .sram_pdn_ack_bits
= BIT(12),
354 MT8188_TOP_AXI_PROT_EN_MM_VDOSYS1_STEP1
,
355 MT8188_TOP_AXI_PROT_EN_MM_SET
,
356 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
357 MT8188_TOP_AXI_PROT_EN_MM_STA
),
359 MT8188_TOP_AXI_PROT_EN_MM_VDOSYS1_STEP2
,
360 MT8188_TOP_AXI_PROT_EN_MM_SET
,
361 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
362 MT8188_TOP_AXI_PROT_EN_MM_STA
),
364 MT8188_TOP_AXI_PROT_EN_MM_2_VDOSYS1_STEP3
,
365 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
366 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
367 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
370 [MT8188_POWER_DOMAIN_DP_TX
] = {
374 .pwr_sta_offs
= 0x16C,
375 .pwr_sta2nd_offs
= 0x170,
376 .sram_pdn_bits
= BIT(8),
377 .sram_pdn_ack_bits
= BIT(12),
380 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_DP_TX_STEP1
,
381 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
,
382 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
,
383 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
),
385 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
387 [MT8188_POWER_DOMAIN_EDP_TX
] = {
391 .pwr_sta_offs
= 0x16C,
392 .pwr_sta2nd_offs
= 0x170,
393 .sram_pdn_bits
= BIT(8),
394 .sram_pdn_ack_bits
= BIT(12),
397 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_EDP_TX_STEP1
,
398 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_SET
,
399 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_CLR
,
400 MT8188_TOP_AXI_PROT_EN_INFRA_VDNR_STA
),
402 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
404 [MT8188_POWER_DOMAIN_VPPSYS1
] = {
408 .pwr_sta_offs
= 0x16C,
409 .pwr_sta2nd_offs
= 0x170,
410 .sram_pdn_bits
= BIT(8),
411 .sram_pdn_ack_bits
= BIT(12),
414 MT8188_TOP_AXI_PROT_EN_MM_VPPSYS1_STEP1
,
415 MT8188_TOP_AXI_PROT_EN_MM_SET
,
416 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
417 MT8188_TOP_AXI_PROT_EN_MM_STA
),
419 MT8188_TOP_AXI_PROT_EN_MM_VPPSYS1_STEP2
,
420 MT8188_TOP_AXI_PROT_EN_MM_SET
,
421 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
422 MT8188_TOP_AXI_PROT_EN_MM_STA
),
424 MT8188_TOP_AXI_PROT_EN_MM_2_VPPSYS1_STEP3
,
425 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
426 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
427 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
430 [MT8188_POWER_DOMAIN_WPE
] = {
434 .pwr_sta_offs
= 0x16C,
435 .pwr_sta2nd_offs
= 0x170,
436 .sram_pdn_bits
= BIT(8),
437 .sram_pdn_ack_bits
= BIT(12),
440 MT8188_TOP_AXI_PROT_EN_MM_2_WPE_STEP1
,
441 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
442 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
443 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
445 MT8188_TOP_AXI_PROT_EN_MM_2_WPE_STEP2
,
446 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
447 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
448 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
450 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
452 [MT8188_POWER_DOMAIN_VDEC0
] = {
456 .pwr_sta_offs
= 0x16C,
457 .pwr_sta2nd_offs
= 0x170,
458 .sram_pdn_bits
= BIT(8),
459 .sram_pdn_ack_bits
= BIT(12),
462 MT8188_TOP_AXI_PROT_EN_MM_VDEC0_STEP1
,
463 MT8188_TOP_AXI_PROT_EN_MM_SET
,
464 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
465 MT8188_TOP_AXI_PROT_EN_MM_STA
),
467 MT8188_TOP_AXI_PROT_EN_MM_2_VDEC0_STEP2
,
468 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
469 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
470 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
472 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
474 [MT8188_POWER_DOMAIN_VDEC1
] = {
478 .pwr_sta_offs
= 0x16C,
479 .pwr_sta2nd_offs
= 0x170,
480 .sram_pdn_bits
= BIT(8),
481 .sram_pdn_ack_bits
= BIT(12),
484 MT8188_TOP_AXI_PROT_EN_MM_VDEC1_STEP1
,
485 MT8188_TOP_AXI_PROT_EN_MM_SET
,
486 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
487 MT8188_TOP_AXI_PROT_EN_MM_STA
),
489 MT8188_TOP_AXI_PROT_EN_MM_VDEC1_STEP2
,
490 MT8188_TOP_AXI_PROT_EN_MM_SET
,
491 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
492 MT8188_TOP_AXI_PROT_EN_MM_STA
),
494 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
496 [MT8188_POWER_DOMAIN_VENC
] = {
500 .pwr_sta_offs
= 0x16C,
501 .pwr_sta2nd_offs
= 0x170,
502 .sram_pdn_bits
= BIT(8),
503 .sram_pdn_ack_bits
= BIT(12),
506 MT8188_TOP_AXI_PROT_EN_MM_VENC_STEP1
,
507 MT8188_TOP_AXI_PROT_EN_MM_SET
,
508 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
509 MT8188_TOP_AXI_PROT_EN_MM_STA
),
511 MT8188_TOP_AXI_PROT_EN_MM_VENC_STEP2
,
512 MT8188_TOP_AXI_PROT_EN_MM_SET
,
513 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
514 MT8188_TOP_AXI_PROT_EN_MM_STA
),
516 MT8188_TOP_AXI_PROT_EN_MM_2_VENC_STEP3
,
517 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
518 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
519 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
521 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
523 [MT8188_POWER_DOMAIN_IMG_VCORE
] = {
527 .pwr_sta_offs
= 0x16C,
528 .pwr_sta2nd_offs
= 0x170,
529 .ext_buck_iso_offs
= 0x3EC,
530 .ext_buck_iso_mask
= BIT(12),
533 MT8188_TOP_AXI_PROT_EN_MM_IMG_VCORE_STEP1
,
534 MT8188_TOP_AXI_PROT_EN_MM_SET
,
535 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
536 MT8188_TOP_AXI_PROT_EN_MM_STA
),
538 MT8188_TOP_AXI_PROT_EN_MM_IMG_VCORE_STEP2
,
539 MT8188_TOP_AXI_PROT_EN_MM_SET
,
540 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
541 MT8188_TOP_AXI_PROT_EN_MM_STA
),
543 MT8188_TOP_AXI_PROT_EN_MM_2_IMG_VCORE_STEP3
,
544 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
545 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
546 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
548 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_DOMAIN_SUPPLY
|
549 MTK_SCPD_EXT_BUCK_ISO
,
551 [MT8188_POWER_DOMAIN_IMG_MAIN
] = {
555 .pwr_sta_offs
= 0x16C,
556 .pwr_sta2nd_offs
= 0x170,
557 .sram_pdn_bits
= BIT(8),
558 .sram_pdn_ack_bits
= BIT(12),
561 MT8188_TOP_AXI_PROT_EN_MM_2_IMG_MAIN_STEP1
,
562 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
563 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
564 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
566 MT8188_TOP_AXI_PROT_EN_MM_2_IMG_MAIN_STEP2
,
567 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
568 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
569 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
571 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
573 [MT8188_POWER_DOMAIN_DIP
] = {
577 .pwr_sta_offs
= 0x16C,
578 .pwr_sta2nd_offs
= 0x170,
579 .sram_pdn_bits
= BIT(8),
580 .sram_pdn_ack_bits
= BIT(12),
581 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
583 [MT8188_POWER_DOMAIN_IPE
] = {
587 .pwr_sta_offs
= 0x16C,
588 .pwr_sta2nd_offs
= 0x170,
589 .sram_pdn_bits
= BIT(8),
590 .sram_pdn_ack_bits
= BIT(12),
591 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
593 [MT8188_POWER_DOMAIN_CAM_VCORE
] = {
597 .pwr_sta_offs
= 0x16C,
598 .pwr_sta2nd_offs
= 0x170,
599 .ext_buck_iso_offs
= 0x3EC,
600 .ext_buck_iso_mask
= BIT(11),
603 MT8188_TOP_AXI_PROT_EN_MM_CAM_VCORE_STEP1
,
604 MT8188_TOP_AXI_PROT_EN_MM_SET
,
605 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
606 MT8188_TOP_AXI_PROT_EN_MM_STA
),
608 MT8188_TOP_AXI_PROT_EN_2_CAM_VCORE_STEP2
,
609 MT8188_TOP_AXI_PROT_EN_2_SET
,
610 MT8188_TOP_AXI_PROT_EN_2_CLR
,
611 MT8188_TOP_AXI_PROT_EN_2_STA
),
613 MT8188_TOP_AXI_PROT_EN_1_CAM_VCORE_STEP3
,
614 MT8188_TOP_AXI_PROT_EN_1_SET
,
615 MT8188_TOP_AXI_PROT_EN_1_CLR
,
616 MT8188_TOP_AXI_PROT_EN_1_STA
),
618 MT8188_TOP_AXI_PROT_EN_MM_CAM_VCORE_STEP4
,
619 MT8188_TOP_AXI_PROT_EN_MM_SET
,
620 MT8188_TOP_AXI_PROT_EN_MM_CLR
,
621 MT8188_TOP_AXI_PROT_EN_MM_STA
),
623 MT8188_TOP_AXI_PROT_EN_MM_2_CAM_VCORE_STEP5
,
624 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
625 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
626 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
628 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
| MTK_SCPD_DOMAIN_SUPPLY
|
629 MTK_SCPD_EXT_BUCK_ISO
,
631 [MT8188_POWER_DOMAIN_CAM_MAIN
] = {
635 .pwr_sta_offs
= 0x16C,
636 .pwr_sta2nd_offs
= 0x170,
637 .sram_pdn_bits
= BIT(8),
638 .sram_pdn_ack_bits
= BIT(12),
641 MT8188_TOP_AXI_PROT_EN_MM_2_CAM_MAIN_STEP1
,
642 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
643 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
644 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
646 MT8188_TOP_AXI_PROT_EN_2_CAM_MAIN_STEP2
,
647 MT8188_TOP_AXI_PROT_EN_2_SET
,
648 MT8188_TOP_AXI_PROT_EN_2_CLR
,
649 MT8188_TOP_AXI_PROT_EN_2_STA
),
651 MT8188_TOP_AXI_PROT_EN_MM_2_CAM_MAIN_STEP3
,
652 MT8188_TOP_AXI_PROT_EN_MM_2_SET
,
653 MT8188_TOP_AXI_PROT_EN_MM_2_CLR
,
654 MT8188_TOP_AXI_PROT_EN_MM_2_STA
),
656 MT8188_TOP_AXI_PROT_EN_2_CAM_MAIN_STEP4
,
657 MT8188_TOP_AXI_PROT_EN_2_SET
,
658 MT8188_TOP_AXI_PROT_EN_2_CLR
,
659 MT8188_TOP_AXI_PROT_EN_2_STA
),
661 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
663 [MT8188_POWER_DOMAIN_CAM_SUBA
] = {
667 .pwr_sta_offs
= 0x16C,
668 .pwr_sta2nd_offs
= 0x170,
669 .sram_pdn_bits
= BIT(8),
670 .sram_pdn_ack_bits
= BIT(12),
671 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
673 [MT8188_POWER_DOMAIN_CAM_SUBB
] = {
677 .pwr_sta_offs
= 0x16C,
678 .pwr_sta2nd_offs
= 0x170,
679 .sram_pdn_bits
= BIT(8),
680 .sram_pdn_ack_bits
= BIT(12),
681 .caps
= MTK_SCPD_KEEP_DEFAULT_OFF
,
685 static const struct scpsys_soc_data mt8188_scpsys_data
= {
686 .domains_data
= scpsys_domain_data_mt8188
,
687 .num_domains
= ARRAY_SIZE(scpsys_domain_data_mt8188
),
690 #endif /* __SOC_MEDIATEK_MT8188_PM_DOMAINS_H */