coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spm.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef SOC_MEDIATEK_MT8192_SPM_H
4 #define SOC_MEDIATEK_MT8192_SPM_H
5 
6 #include <soc/addressmap.h>
7 #include <soc/mtcmos.h>
8 #include <types.h>
9 
10 /* SPM READ/WRITE CFG */
11 #define SPM_PROJECT_CODE 0xb16
12 #define SPM_REGWR_CFG_KEY (SPM_PROJECT_CODE << 16)
13 
14 /* POWERON_CONFIG_EN (0x10006000+0x000) */
15 #define BCLK_CG_EN_LSB (1U << 0) /* 1b */
16 
17 /* SPM_CLK_CON (0x10006000+0x00C) */
18 #define REG_SYSCLK1_SRC_MD2_SRCCLKENA (1U << 28) /* 1b */
19 
20 /* PCM_CON0 (0x10006000+0x018) */
21 #define PCM_CK_EN_LSB (1U << 2) /* 1b */
22 #define PCM_SW_RESET_LSB (1U << 15) /* 1b */
23 
24 /* PCM_CON1 (0x10006000+0x01C) */
25 #define RG_IM_SLAVE_LSB (1U << 0) /* 1b */
26 #define RG_AHBMIF_APBEN_LSB (1U << 3) /* 1b */
27 #define RG_PCM_TIMER_EN_LSB (1U << 5) /* 1b */
28 #define SPM_EVENT_COUNTER_CLR_LSB (1U << 6) /* 1b */
29 #define RG_PCM_WDT_WAKE_LSB (1U << 9) /* 1b */
30 #define REG_SPM_SRAM_ISOINT_B_LSB (1U << 11) /* 1b */
31 #define REG_EVENT_LOCK_EN_LSB (1U << 12) /* 1b */
32 #define REG_MD32_APB_INTERNAL_EN_LSB (1U << 14) /* 1b */
33 
34 /* SPM_WAKEUP_EVENT_MASK (0x10006000+0x0D0) */
35 #define SPM_WAKEUP_EVENT_MASK_BIT0 (1U << 0) /* 1b */
36 #define SPM_WAKEUP_EVENT_MASK_CSYSPWREQ_B (1U << 24) /* 1b */
37 
38 /* DDR_EN_DBC_CON1 (0x10006000+0x0EC) */
39 #define REG_ALL_DDR_EN_DBC_EN_LSB (1U << 0) /* 1b */
40 
41 /* SPM_DVFS_MISC (0x10006000+0x4AC) */
42 #define SPM_DVFS_FORCE_ENABLE_LSB (1U << 2) /* 1b */
43 #define SPM_DVFSRC_ENABLE_LSB (1U << 4) /* 1b */
44 
45 /* SPM_SW_FLAG_0 (0x10006000+0x600) */
46 #define SPM_FLAG_DISABLE_VCORE_DVS (1U << 3) /* 1b */
47 #define SPM_FLAG_DISABLE_VCORE_DFS (1U << 4) /* 1b */
48 #define SPM_FLAG_RUN_COMMON_SCENARIO (1U << 10) /* 1b */
49 
50 /* SYS_TIMER_CON (0x10006000+0x98C) */
51 #define SYS_TIMER_START_EN_LSB (1U << 0) /* 1b */
52 
53 /* MD32PCM_CFGREG_SW_RSTN (0x10006000+0xA00) */
54 #define MD32PCM_CFGREG_SW_RSTN_RESET (1U << 0) /* 1b */
55 
56 /**************************************
57  * Config and Parameter
58  **************************************/
59 #define POWER_ON_VAL1_DEF 0x80015860
60 #define SPM_WAKEUP_EVENT_MASK_DEF 0xefffffff
61 #define SPM_ACK_CHK_3_SEL_HW_S1 0x00350098
62 #define SPM_ACK_CHK_3_HW_S1_CNT 0x1
63 #define SPM_ACK_CHK_3_CON_HW_MODE_TRIG 0x800
64 #define SPM_ACK_CHK_3_CON_EN 0x110
65 #define SPM_ACK_CHK_3_CON_CLR_ALL 0x2
66 #define SPM_BUS_PROTECT_MASK_B_DEF 0xffffffff
67 #define SPM_BUS_PROTECT2_MASK_B_DEF 0xffffffff
68 #define MD32PCM_DMA0_CON_VAL 0x0003820e
69 #define MD32PCM_DMA0_START_VAL 0x00008000
70 #define MD32PCM_CFGREG_SW_RSTN_RUN 0x1
71 #define SPM_DVFS_LEVEL_DEF 0x00000001
72 #define SPM_DVS_DFS_LEVEL_DEF 0x00010001
73 #define SPM_RESOURCE_ACK_CON0_DEF 0x00000000
74 #define SPM_RESOURCE_ACK_CON1_DEF 0x00000000
75 #define SPM_RESOURCE_ACK_CON2_DEF 0xcccc4e4e
76 #define SPM_RESOURCE_ACK_CON3_DEF 0x00000000
77 #define ARMPLL_CLK_SEL_DEF 0x3ff
78 #define DDR_EN_DBC_CON0_DEF 0x154
79 #define SPM_SYSCLK_SETTLE 0x60fe
80 #define SPM_INIT_DONE_US 20
81 #define PCM_WDT_TIMEOUT (30 * 32768)
82 #define PCM_TIMER_MAX (0xffffffff - PCM_WDT_TIMEOUT)
83 
84 /**************************************
85  * Define and Declare
86  **************************************/
87 /* SPM_IRQ_MASK */
88 #define ISRM_TWAM (1U << 2)
89 #define ISRM_PCM_RETURN (1U << 3)
90 #define ISRM_RET_IRQ_AUX 0x3fe00
91 #define ISRM_ALL_EXC_TWAM (ISRM_RET_IRQ_AUX)
92 #define ISRM_ALL (ISRM_ALL_EXC_TWAM | ISRM_TWAM)
93 
94 /* SPM_IRQ_STA */
95 #define ISRS_TWAM (1U << 2)
96 #define ISRS_PCM_RETURN (1U << 3)
97 #define ISRC_TWAM ISRS_TWAM
98 #define ISRC_ALL_EXC_TWAM ISRS_PCM_RETURN
99 #define ISRC_ALL (ISRC_ALL_EXC_TWAM | ISRC_TWAM)
100 
101 /* PCM_PWR_IO_EN */
102 #define PCM_PWRIO_EN_R0 (1U << 0)
103 #define PCM_PWRIO_EN_R7 (1U << 7)
104 #define PCM_RF_SYNC_R0 (1U << 16)
105 #define PCM_RF_SYNC_R6 (1U << 22)
106 #define PCM_RF_SYNC_R7 (1U << 23)
107 
108 /* SPM_SWINT */
109 #define PCM_SW_INT_ALL 0x3ff
110 
111 struct pwr_ctrl {
128 
129  /* Auto-gen Start */
130 
131  /* SPM_CLK_CON */
144 
145  /* SPM_AP_STANDBY_CON */
154 
155  /* SPM_SRC6_MASK */
161 
162  /* SPM_SRC_REQ */
173 
174  /* SPM_SRC_MASK */
207 
208  /* SPM_SRC2_MASK */
241 
242  /* SPM_SRC3_MASK */
272 
273  /* SPM_SRC4_MASK */
287 
288  /* SPM_SRC5_MASK */
301 
302  /* SPM_WAKEUP_EVENT_MASK */
304 
305  /* SPM_WAKEUP_EVENT_EXT_MASK */
307 
308  /* Auto-gen End */
309 };
310 
311 enum {
312  DISP_PWR_STA_MASK = 0x1 << 20,
313  DISP_SRAM_PDN_MASK = 0x1 << 8,
314  DISP_SRAM_ACK_MASK = 0x1 << 12,
315  AUDIO_PWR_STA_MASK = 0x1 << 21,
317  AUDIO_SRAM_ACK_MASK = 0x1 << 12,
318 };
319 
320 struct mtk_spm_regs {
327  u32 pcm_con0;
328  u32 pcm_con1;
342  u32 reserved1[12];
345  u32 spm_swint;
392  u32 reserved2[2];
400  u32 pwr_status;
411  u32 reserved3[3];
418  u32 reserved4[5];
441  u32 reserved5;
452  u32 reserved6[3];
471  u32 reserved7[10];
476  u32 sw2spm_int;
483  u32 sw2spm_cfg;
511  u32 sysram_con;
512  u32 sysrom_con;
535  u32 reserved8[13];
544  u32 ulposc_con;
545  u32 spm2mm_con;
567  u32 reserved9;
600  u32 reserved10[64];
604  u32 reserved11[8];
607  u32 reserved12[203];
612  u32 reserved13[7];
614  u32 reserved14[28];
616  u32 reserved15[127];
624  u32 reserved16[2];
626 };
627 check_member(mtk_spm_regs, poweron_config_set, 0x0);
628 check_member(mtk_spm_regs, vs2_psr_mask_b, 0x50);
629 check_member(mtk_spm_regs, md32_clk_con, 0x84);
630 check_member(mtk_spm_regs, mm_dvfs_halt, 0x144);
631 check_member(mtk_spm_regs, bus_protect_rdy, 0x150);
632 check_member(mtk_spm_regs, md32pcm_pc, 0x194);
633 check_member(mtk_spm_regs, dvfsrc_event_sta, 0x1a4);
634 check_member(mtk_spm_regs, bus_protect8_rdy, 0x1b8);
635 check_member(mtk_spm_regs, spm_twam_last_sta0, 0x1d0);
636 check_member(mtk_spm_regs, ext_int_wakeup_req_clr, 0x250);
637 check_member(mtk_spm_regs, mp0_cpu0_irq_mask, 0x260);
638 check_member(mtk_spm_regs, root_core_addr, 0x2a4);
639 check_member(mtk_spm_regs, spm2sw_mailbox_0, 0x2d0);
640 check_member(mtk_spm_regs, peri_pwr_con, 0x3c8);
641 check_member(mtk_spm_regs, spm_mem_ck_sel, 0x400);
642 check_member(mtk_spm_regs, ulposc_con, 0x420);
643 check_member(mtk_spm_regs, spm_force_dvfs, 0x4fc);
644 check_member(mtk_spm_regs, spm_sw_flag_0, 0x600);
645 check_member(mtk_spm_regs, spm_sw_flag_1, 0x608);
646 check_member(mtk_spm_regs, spm_sw_rsv_7, 0x62c);
647 check_member(mtk_spm_regs, spm_sw_rsv_8, 0x630);
648 check_member(mtk_spm_regs, spm_ack_chk_con_3, 0x960);
649 check_member(mtk_spm_regs, spm_ack_chk_timer_3, 0x96c);
650 check_member(mtk_spm_regs, sys_timer_con, 0x98c);
651 check_member(mtk_spm_regs, md32pcm_cfgreg_sw_rstn, 0xa00);
652 check_member(mtk_spm_regs, md32pcm_dma0_src, 0xc00);
653 check_member(mtk_spm_regs, md32pcm_dma0_dst, 0xc04);
654 check_member(mtk_spm_regs, md32pcm_dma0_wppt, 0xc08);
655 check_member(mtk_spm_regs, md32pcm_dma0_wpto, 0xc0c);
656 check_member(mtk_spm_regs, md32pcm_dma0_count, 0xc10);
657 check_member(mtk_spm_regs, md32pcm_dma0_con, 0xc14);
658 check_member(mtk_spm_regs, md32pcm_dma0_start, 0xc18);
659 check_member(mtk_spm_regs, md32pcm_dma0_rlct, 0xc24);
660 
661 static struct mtk_spm_regs *const mtk_spm = (void *)SPM_BASE;
662 
663 struct pcm_desc {
668 };
669 
670 struct dyna_load_pcm {
671  u8 *buf; /* binary array */
672  struct pcm_desc desc;
673 };
674 
675 int spm_init(void);
676 
677 static const struct power_domain_data disp[] = {
678  {
680  .pwr_sta_mask = DISP_PWR_STA_MASK,
681  .sram_pdn_mask = DISP_SRAM_PDN_MASK,
682  .sram_ack_mask = DISP_SRAM_ACK_MASK,
683  },
684 };
685 
686 static const struct power_domain_data audio[] = {
687  {
689  .pwr_sta_mask = AUDIO_PWR_STA_MASK,
690  .sram_pdn_mask = AUDIO_SRAM_PDN_MASK,
691  .sram_ack_mask = AUDIO_SRAM_ACK_MASK,
692  },
693 };
694 
695 #endif /* SOC_MEDIATEK_MT8192_SPM_H */
check_member(mtk_spm_regs, sleep_ca15_wfi_en[3], 0xf1c)
@ DISP_SRAM_ACK_MASK
Definition: spm.h:17
@ DISP_PWR_STA_MASK
Definition: spm.h:15
@ DISP_SRAM_PDN_MASK
Definition: spm.h:16
@ AUDIO_SRAM_ACK_MASK
Definition: spm.h:20
@ AUDIO_PWR_STA_MASK
Definition: spm.h:18
@ AUDIO_SRAM_PDN_MASK
Definition: spm.h:19
int spm_init(void)
Definition: spm.c:298
static const struct power_domain_data disp[]
Definition: spm.h:677
static struct mtk_spm_regs *const mtk_spm
Definition: spm.h:661
static const struct power_domain_data audio[]
Definition: spm.h:686
@ SPM_BASE
Definition: addressmap.h:19
uint32_t u32
Definition: stdint.h:51
uint8_t u8
Definition: stdint.h:45
u32 * buf
Definition: spm.h:578
struct pcm_desc desc
Definition: spm.h:579
u32 sw2spm_int_clr
Definition: spm.h:402
u32 sw2spm_mailbox_0
Definition: spm.h:403
u32 pwr_status
Definition: spm.h:105
u32 dramc_dpy_clk_spm_con
Definition: spm.h:576
u32 armpll_clk_sel
Definition: spm.h:448
u32 reserved10[15]
Definition: spm.h:264
u32 scp_clk_con
Definition: spm.h:169
u32 spm2emi_enter_ulpm
Definition: spm.h:349
u32 pwr_status_mask_req_1
Definition: spm.h:594
u32 spm_cpu2_pwr_con
Definition: spm.h:435
u32 rg_module_sw_cg_0_mask_req_2
Definition: spm.h:583
u32 reserved13[17]
Definition: spm.h:69
u32 spm_twam_curr_sta3
Definition: spm.h:224
u32 spm_clk_settle
Definition: spm.h:136
u32 spm_cpu_wakeup_event
Definition: spm.h:161
u32 reserved15
Definition: spm.h:80
u32 spm_ddren_event_count_sta
Definition: spm.h:408
u32 mm_dvfs_halt
Definition: spm.h:391
u32 spm_twam_last_sta3
Definition: spm.h:220
u32 spm_twam_timer_out
Definition: spm.h:225
u32 md32pcm_dma0_count
Definition: spm.h:621
u32 dummy_sram_con
Definition: spm.h:292
u32 sw2spm_int
Definition: spm.h:400
u32 cpu_pwr_status
Definition: spm.h:211
u32 spm_vs1_vs2_rc_con
Definition: spm.h:580
u32 ap_mdsrc_req
Definition: spm.h:314
u32 bus_protect3_rdy
Definition: spm.h:228
u32 dramc_dpy_clk_sw_sel_1
Definition: spm.h:573
u32 ddr_en_dbc_con0
Definition: spm.h:368
u32 spm_power_on_val2
Definition: spm.h:329
u32 spm_wakeup_ext_sta
Definition: spm.h:201
u32 spm_dram_mcu_sw_con3
Definition: spm.h:560
u32 reserved7[5]
Definition: spm.h:243
u32 dpy_shu2_con
Definition: spm.h:529
u32 pcm_con1
Definition: spm.h:71
u32 spm2sw_mailbox_3
Definition: spm.h:399
u32 pcm_sta
Definition: spm.h:398
u32 mp1_cpu1_irq_mask
Definition: spm.h:371
u32 conn_pwr_con
Definition: spm.h:276
u32 spm_bus_protect_mask_b
Definition: spm.h:537
u32 reserved12
Definition: spm.h:65
u32 pcm_pwr_io_en
Definition: spm.h:82
u32 dramc_mcu2_sram_con
Definition: spm.h:530
u32 dpy_pwr_con
Definition: spm.h:45
u32 spm_resource_ack_con2
Definition: spm.h:372
u32 rg_module_sw_cg_1_mask_req_0
Definition: spm.h:584
u32 md32pcm_wakeup_sta
Definition: spm.h:386
u32 mfg6_pwr_con
Definition: spm.h:492
u32 spm_dram_mcu_sw_con2
Definition: spm.h:559
u32 mp0_cpu2_irq_mask
Definition: spm.h:368
u32 mp1_cpu2_irq_mask
Definition: spm.h:372
u32 reserved16[7]
Definition: spm.h:85
u32 spm_resource_ack_con1
Definition: spm.h:371
u32 mfg5_pwr_con
Definition: spm.h:491
u32 cpu_spare_con
Definition: spm.h:392
u32 spm_scp_irq
Definition: spm.h:160
u32 mfg2_pwr_con
Definition: spm.h:488
u32 spm2mcupm_con
Definition: spm.h:547
u32 bus_protect4_rdy
Definition: spm.h:413
u32 bus_protect8_rdy
Definition: spm.h:417
u32 spm2sw_mailbox_1
Definition: spm.h:397
u32 md32pcm_cfgreg_sw_rstn
Definition: spm.h:615
u32 mp0_cpu1_wfi_en
Definition: spm.h:376
u32 vde_pwr_con
Definition: spm.h:35
u32 spm_bus_protect5_mask_b
Definition: spm.h:546
u32 spm_cpu3_pwr_con
Definition: spm.h:436
u32 dramc_dpy_clk_sw_con_1
Definition: spm.h:569
u32 scp_spm_mailbox
Definition: spm.h:156
u32 vs2_psr_mask_b
Definition: spm.h:341
u32 ven_pwr_con
Definition: spm.h:41
u32 mp0_cpu7_wfi_en
Definition: spm.h:468
u32 mp0_cpu2_wfi_en
Definition: spm.h:377
u32 mp1_cpu3_irq_mask
Definition: spm.h:373
u32 spm_power_on_val1
Definition: spm.h:134
u32 reserved6[4]
Definition: spm.h:48
u32 ven_core1_pwr_con
Definition: spm.h:502
u32 spm_bus_protect8_mask_b
Definition: spm.h:554
u32 pwr_status_mask_req_2
Definition: spm.h:595
u32 spm_bus_protect2_mask_b
Definition: spm.h:539
u32 md32pcm_dma0_wppt
Definition: spm.h:619
u32 other_pwr_status
Definition: spm.h:403
u32 mp1_cpu0_irq_mask
Definition: spm.h:370
u32 spm_bus_protect3_mask_b
Definition: spm.h:540
u32 spm_irq_mask
Definition: spm.h:162
u32 spm_pll_con
Definition: spm.h:321
u32 spm2sw_mailbox_0
Definition: spm.h:396
u32 rg_module_sw_cg_3_mask_req_1
Definition: spm.h:591
u32 dpy_shu_sram_con
Definition: spm.h:515
u32 spm_bus_protect6_mask_b
Definition: spm.h:552
u32 mcupm_pwr_con
Definition: spm.h:532
u32 spm_swint
Definition: spm.h:152
u32 dpmaif_sram_con
Definition: spm.h:528
u32 dis_pwr_con
Definition: spm.h:44
u32 spm_dram_mcu_sw_con0
Definition: spm.h:557
u32 spm_vtcxo_event_count_sta
Definition: spm.h:404
u32 spm_cg_check_con
Definition: spm.h:596
u32 pwr_status_2nd
Definition: spm.h:106
u32 md1_pwr_con
Definition: spm.h:273
u32 pcm_wdt_val
Definition: spm.h:145
u32 spm_dram_mcu_sta_2
Definition: spm.h:564
u32 spm_swint_clr
Definition: spm.h:154
u32 sysram_con
Definition: spm.h:285
u32 src_req_sta4
Definition: spm.h:385
u32 md32pcm_event_sta
Definition: spm.h:387
u32 spm_mcusys_pwr_con
Definition: spm.h:431
u32 mfg1_pwr_con
Definition: spm.h:487
u32 spm_dvs_dfs_level
Definition: spm.h:598
u32 spm_src_req
Definition: spm.h:163
u32 spm_vrf18_event_count_sta
Definition: spm.h:406
u32 spm_power_on_val3
Definition: spm.h:330
u32 dramc_mcu_sram_con
Definition: spm.h:531
u32 spm_src_rdy_sta
Definition: spm.h:214
u32 isp_pwr_con
Definition: spm.h:43
u32 dramc_dpy_clk_sw_sel_2
Definition: spm.h:574
u32 cpu_spare_con_clr
Definition: spm.h:394
u32 bus_protect_rdy
Definition: spm.h:203
u32 md32pcm_sta
Definition: spm.h:409
u32 relay_dvfs_level
Definition: spm.h:566
u32 spm_src4_mask
Definition: spm.h:360
u32 cam_rawc_pwr_con
Definition: spm.h:510
u32 spm_bus_protect7_mask_b
Definition: spm.h:553
u32 src_req_sta3
Definition: spm.h:399
u32 scp_sram_con
Definition: spm.h:288
u32 bus_protect1_rdy
Definition: spm.h:394
u32 spm_mem_ck_sel
Definition: spm.h:536
u32 spm_sw_rst_con_clr
Definition: spm.h:339
u32 spm_twam_window_len
Definition: spm.h:158
u32 spm_cpu7_pwr_con
Definition: spm.h:440
u32 reserved14[7]
Definition: spm.h:75
u32 md32pcm_dma0_rlct
Definition: spm.h:625
u32 md32pcm_dma0_wpto
Definition: spm.h:620
u32 audio_pwr_con
Definition: spm.h:60
u32 spm_twam_curr_sta1
Definition: spm.h:222
u32 spm_sram_rsv_con
Definition: spm.h:151
u32 reserved4
Definition: spm.h:34
u32 pcm_reg_data_ini
Definition: spm.h:74
u32 reserved3[63]
Definition: spm.h:30
u32 spm_dram_mcu_sta_1
Definition: spm.h:563
u32 mp0_cpu0_irq_mask
Definition: spm.h:366
u32 sw2spm_cfg
Definition: spm.h:407
u32 src_req_sta1
Definition: spm.h:380
u32 spm_cpu5_pwr_con
Definition: spm.h:438
u32 devapc_acp_sram_con
Definition: spm.h:519
u32 spm_wakeup_event_ext_mask
Definition: spm.h:167
u32 rg_module_sw_cg_3_mask_req_2
Definition: spm.h:592
u32 spm_cpu6_pwr_con
Definition: spm.h:439
u32 reserved2[58]
Definition: spm.h:28
u32 ext_int_wakeup_req
Definition: spm.h:449
u32 spm_src3_mask
Definition: spm.h:173
u32 spm_irq_sta
Definition: spm.h:199
u32 mdp_pwr_con
Definition: spm.h:503
u32 dpy2_pwr_con
Definition: spm.h:54
u32 spm_dram_mcu_sw_con4
Definition: spm.h:561
u32 pcm_wdt_out
Definition: spm.h:198
u32 mp0_cpu5_wfi_en
Definition: spm.h:466
u32 ufs_sram_con
Definition: spm.h:290
u32 spm2md_dvfs_con
Definition: spm.h:316
u32 sw2spm_mailbox_2
Definition: spm.h:405
u32 msdc_pwr_con
Definition: spm.h:525
u32 rg_module_sw_cg_0_mask_req_0
Definition: spm.h:581
u32 spm_infra_event_count_sta
Definition: spm.h:405
u32 spm_sw_rsv_7
Definition: spm.h:428
u32 dvfsrc_event_sta
Definition: spm.h:412
u32 cam_rawa_pwr_con
Definition: spm.h:508
u32 spm_src6_mask
Definition: spm.h:335
u32 spm_twam_con
Definition: spm.h:157
u32 spm_wakeup_misc
Definition: spm.h:202
u32 spm_sw_debug_0
Definition: spm.h:602
u32 rg_module_sw_cg_1_mask_req_1
Definition: spm.h:585
u32 dramc_dpy_clk_sw_con_0
Definition: spm.h:568
u32 mfg4_pwr_con
Definition: spm.h:490
u32 rg_module_sw_cg_2_mask_req_0
Definition: spm.h:587
u32 sys_timer_con
Definition: spm.h:613
u32 spm_twam_last_sta2
Definition: spm.h:219
u32 src_req_sta0
Definition: spm.h:379
u32 spm_cpu4_pwr_con
Definition: spm.h:437
u32 md32_clk_con
Definition: spm.h:175
u32 usb_sram_con
Definition: spm.h:520
u32 spm_sw_rsv_8
Definition: spm.h:429
u32 reserved11[2]
Definition: spm.h:56
u32 spm_clk_con
Definition: spm.h:135
u32 spm_twam_last_sta1
Definition: spm.h:218
u32 spm_power_on_val0
Definition: spm.h:133
u32 mcusys_idle_sta
Definition: spm.h:443
u32 md32pcm_dma0_dst
Definition: spm.h:618
u32 mp0_cpu1_irq_mask
Definition: spm.h:367
u32 spm_dvfs_sta
Definition: spm.h:227
u32 spm_ack_chk_timer_3
Definition: spm.h:611
u32 sspm_sram_con
Definition: spm.h:287
u32 spm_cirq_con
Definition: spm.h:578
u32 cam_pwr_con
Definition: spm.h:282
u32 isp2_pwr_con
Definition: spm.h:497
u32 spm_twam_event_clear
Definition: spm.h:168
u32 spm_bus_protect1_mask_b
Definition: spm.h:538
u32 mp0_cpu3_wfi_en
Definition: spm.h:378
u32 md_ext_buck_iso_con
Definition: spm.h:294
u32 cpu_spare_con_set
Definition: spm.h:393
u32 ext_buck_iso
Definition: spm.h:523
u32 ahb_bus_con
Definition: spm.h:172
u32 adsp_pwr_con
Definition: spm.h:506
u32 cpu_dvfs_req
Definition: spm.h:320
u32 reserved9[7]
Definition: spm.h:258
u32 pcm_timer_val
Definition: spm.h:83
u32 mfg3_pwr_con
Definition: spm.h:489
u32 mp0_cpu0_wfi_en
Definition: spm.h:375
u32 spm_resource_ack_con0
Definition: spm.h:370
u32 pwr_status_mask_req_0
Definition: spm.h:593
u32 debugtop_sram_con
Definition: spm.h:526
u32 devapc_ifr_sram_con
Definition: spm.h:517
u32 subsys_idle_sta
Definition: spm.h:205
u32 dramc_dpy_clk_sw_sel_0
Definition: spm.h:572
u32 armpll_clk_con
Definition: spm.h:262
u32 dramc_dpy_clk_sw_con_3
Definition: spm.h:571
u32 spm_twam_idle_sel
Definition: spm.h:159
u32 rg_module_sw_cg_1_mask_req_2
Definition: spm.h:586
u32 md32pcm_dma0_con
Definition: spm.h:622
u32 spm_apsrc_event_count_sta
Definition: spm.h:407
u32 spm_sw_flag_1
Definition: spm.h:603
u32 sysrom_con
Definition: spm.h:286
u32 md32pcm_pc
Definition: spm.h:410
u32 bus_protect5_rdy
Definition: spm.h:414
u32 bus_protect2_rdy
Definition: spm.h:204
u32 pcm_reg7_data
Definition: spm.h:184
u32 spm_sw_flag_0
Definition: spm.h:601
u32 vs1_psr_mask_b
Definition: spm.h:340
u32 reserved5[3]
Definition: spm.h:40
u32 ap2md_peer_wakeup
Definition: spm.h:323
u32 md32pcm_dma0_src
Definition: spm.h:617
u32 mfg0_pwr_con
Definition: spm.h:486
u32 spm_src_mask
Definition: spm.h:164
u32 gic_wakeup_sta
Definition: spm.h:444
u32 pcm_timer_out
Definition: spm.h:84
u32 spm_wakeup_event_mask
Definition: spm.h:166
u32 root_core_addr
Definition: spm.h:390
u32 spm_dram_mcu_sw_sel_0
Definition: spm.h:565
u32 spm_dram_mcu_sw_con1
Definition: spm.h:558
u32 spm_cg_check_sta
Definition: spm.h:428
u32 pcm_reg6_data
Definition: spm.h:183
u32 ipe_pwr_con
Definition: spm.h:498
u32 spm_twam_last_sta0
Definition: spm.h:217
u32 ifr_sub_pwr_con
Definition: spm.h:494
u32 root_cputop_addr
Definition: spm.h:389
u32 reserved1[3]
Definition: spm.h:25
u32 rg_module_sw_cg_3_mask_req_0
Definition: spm.h:590
u32 dramc_dpy_clk_sw_sel_3
Definition: spm.h:575
u32 peri_pwr_con
Definition: spm.h:534
u32 pcm_debug_con
Definition: spm.h:141
u32 spm_wakeup_sta
Definition: spm.h:200
u32 spm2mm_con
Definition: spm.h:325
u32 pcm_reg2_data
Definition: spm.h:179
u32 rg_module_sw_cg_0_mask_req_1
Definition: spm.h:582
u32 poweron_config_set
Definition: spm.h:24
u32 spm_dvfs_misc
Definition: spm.h:446
u32 pcm_reg13_data
Definition: spm.h:190
u32 rg_module_sw_cg_2_mask_req_2
Definition: spm.h:589
u32 spm_cpu1_pwr_con
Definition: spm.h:434
u32 reserved0
Definition: spm.h:336
u32 bus_protect6_rdy
Definition: spm.h:415
u32 spm_dvfs_level
Definition: spm.h:441
u32 spm2sw_mailbox_2
Definition: spm.h:398
u32 dxcc_sram_con
Definition: spm.h:524
u32 spm_sw_rst_con
Definition: spm.h:337
u32 spm_ack_chk_sel_3
Definition: spm.h:610
u32 reserved8[8]
Definition: spm.h:256
u32 spm_bus_protect4_mask_b
Definition: spm.h:541
u32 spm_dram_mcu_sta_0
Definition: spm.h:562
u32 ifr_pwr_con
Definition: spm.h:42
u32 spm_sw_rst_con_set
Definition: spm.h:338
u32 src_req_sta2
Definition: spm.h:381
u32 spm_resource_ack_con3
Definition: spm.h:373
u32 spm_dvfs_opp_sta
Definition: spm.h:430
u32 md2spm_dvfs_con
Definition: spm.h:317
u32 ext_int_wakeup_req_clr
Definition: spm.h:451
u32 spm_src2_mask
Definition: spm.h:165
u32 spm_twam_curr_sta2
Definition: spm.h:223
u32 spm_cputop_pwr_con
Definition: spm.h:432
u32 spm_twam_curr_sta0
Definition: spm.h:221
u32 rg_module_sw_cg_2_mask_req_1
Definition: spm.h:588
u32 dramc_dpy_clk_sw_con_2
Definition: spm.h:570
u32 spm_swint_set
Definition: spm.h:153
u32 spm_ap_standby_con
Definition: spm.h:137
u32 spm_cpu0_pwr_con
Definition: spm.h:433
u32 ext_int_wakeup_req_set
Definition: spm.h:450
u32 spm_ack_chk_con_3
Definition: spm.h:608
u32 spm_src5_mask
Definition: spm.h:361
u32 spm_ack_chk_pc_3
Definition: spm.h:609
u32 sw2spm_mailbox_3
Definition: spm.h:406
u32 md32pcm_dma0_start
Definition: spm.h:623
u32 vde2_pwr_con
Definition: spm.h:500
u32 pcm_con0
Definition: spm.h:70
u32 sw2spm_mailbox_1
Definition: spm.h:404
u32 mp0_cpu6_wfi_en
Definition: spm.h:467
u32 spm_scp_mailbox
Definition: spm.h:155
u32 mp0_cpu4_wfi_en
Definition: spm.h:465
u32 ulposc_con
Definition: spm.h:324
u32 cam_rawb_pwr_con
Definition: spm.h:509
u32 dp_tx_pwr_con
Definition: spm.h:527
u32 spm_force_dvfs
Definition: spm.h:599
u32 devapc_subifr_sram_con
Definition: spm.h:518
u32 sw2spm_int_set
Definition: spm.h:401
u32 bus_protect7_rdy
Definition: spm.h:416
u32 spm_emi_bw_mode
Definition: spm.h:322
u32 mp0_cpu3_irq_mask
Definition: spm.h:369
u32 ddr_en_dbc_con1
Definition: spm.h:369
u32 pcm_reg0_data
Definition: spm.h:177
Definition: spm.h:568
u32 dmem_start
Definition: spm.h:667
u32 total_words
Definition: spm.h:665
u32 pmem_words
Definition: spm.h:664
u32 pmem_start
Definition: spm.h:666
void * pwr_con
Definition: mtcmos.h:7
Definition: spm.h:654
u8 reg_apu_vrf18_req_mask_b
Definition: spm.h:235
u8 reg_mcusys_idle_mask
Definition: spm.h:150
u8 reg_pcie_infra_req_mask_b
Definition: spm.h:297
u8 reg_infrasys_ddr_en_mask_b
Definition: spm.h:201
u8 reg_mcupm_apsrc_req_mask_b
Definition: spm.h:259
u8 reg_srcclken0_ctl
Definition: spm.h:132
u32 wakelock_timer_val
Definition: spm.h:126
u8 reg_sw2spm_int3_mask_b
Definition: spm.h:247
u8 reg_cg_check_apsrc_req_mask_b
Definition: spm.h:238
u8 reg_disp0_apsrc_req_mask_b
Definition: spm.h:224
u8 reg_cg_check_vrf18_req_mask_b
Definition: spm.h:239
u8 reg_audio_dsp_infra_req_mask_b
Definition: spm.h:215
u8 reg_ufs_vrf18_req_mask_b
Definition: spm.h:222
u32 timer_val_ramp_en_sec
Definition: spm.h:123
u8 reg_csyspwrreq_mask
Definition: spm.h:251
u8 reg_scp_srcclkena_mask_b
Definition: spm.h:209
u8 reg_msdc0_infra_req_mask_b
Definition: spm.h:263
u8 reg_msdc2_vrf18_req_mask_b
Definition: spm.h:294
u8 reg_ufs_apsrc_req_mask_b
Definition: spm.h:221
u8 reg_md_ddr_en_1_mask_b
Definition: spm.h:186
u32 ccif_event_mask_b
Definition: spm.h:274
u32 pcm_flags1
Definition: spm.h:116
u8 reg_scp_vrf18_req_mask_b
Definition: spm.h:212
u8 reg_wfi_op
Definition: spm.h:146
u32 pcm_flags1_cust
Definition: spm.h:117
u8 reg_srcclkeni0_infra_req_mask_b
Definition: spm.h:195
u8 reg_md_srcclkena2infra_req_1_mask_b
Definition: spm.h:182
u8 reg_msdc1_apsrc_req_mask_b
Definition: spm.h:269
u32 pcm_flags_cust_clr
Definition: spm.h:115
u8 reg_srcclkeni2_srcclkena_mask_b
Definition: spm.h:198
u8 reg_md_ddr_en_0_mask_b
Definition: spm.h:180
u8 reg_gce_ddr_en_mask_b
Definition: spm.h:231
u8 reg_md1_c32rm_en
Definition: spm.h:136
u8 reg_srcclken_mask
Definition: spm.h:135
u8 reg_cg_check_ddr_en_mask_b
Definition: spm.h:240
u8 reg_dvfsrc_event_trigger_mask_b
Definition: spm.h:243
u8 reg_audio_dsp_apsrc_req_mask_b
Definition: spm.h:216
u8 reg_dpmaif_vrf18_req_mask_b
Definition: spm.h:159
u8 reg_md_srcclkena_1_mask_b
Definition: spm.h:181
u8 reg_spm_infra_req
Definition: spm.h:165
u8 reg_spm_sw_mailbox_req
Definition: spm.h:169
u32 pcm_flags_cust_set
Definition: spm.h:114
u32 pcm_flags1_cust_set
Definition: spm.h:118
u8 reg_apu_srcclkena_mask_b
Definition: spm.h:232
u8 reg_bak_psri_srcclkena_mask_b
Definition: spm.h:275
u8 reg_pcie_vrf18_req_mask_b
Definition: spm.h:299
u32 wake_src
Definition: spm.h:124
u32 pcm_flags
Definition: spm.h:112
u8 reg_conn_vrf18_req_mask_b
Definition: spm.h:191
u8 reg_dpmaif_ddr_en_mask_b
Definition: spm.h:160
u8 reg_mcupm_infra_req_mask_b
Definition: spm.h:258
u8 reg_dramc0_md32_wakeup_mask
Definition: spm.h:285
u32 timer_val
Definition: spm.h:120
u8 reg_ufs_ddr_en_mask_b
Definition: spm.h:223
u8 reg_apu_apsrc_req_mask_b
Definition: spm.h:234
u8 reg_apu_ddr_en_mask_b
Definition: spm.h:236
u8 reg_msdc2_ddr_en_mask_b
Definition: spm.h:295
u8 reg_md32_infra_req_mask_b
Definition: spm.h:203
u8 reg_scp_apsrc_req_mask_b
Definition: spm.h:211
u8 reg_conn_apsrc_req_mask_b
Definition: spm.h:190
u8 reg_ufs_srcclkena_mask_b
Definition: spm.h:219
u8 reg_mcupm_ddr_en_mask_b
Definition: spm.h:261
u8 reg_mcupm_srcclkena_mask_b
Definition: spm.h:257
u32 reg_sysclk0_src_mask_b
Definition: spm.h:142
u8 reg_srcclkeni0_srcclkena_mask_b
Definition: spm.h:194
u8 reg_disp0_ddr_en_mask_b
Definition: spm.h:225
u8 reg_md32_srcclkena_mask_b
Definition: spm.h:202
u8 reg_md32_apsrc_req_mask_b
Definition: spm.h:204
u8 reg_msdc2_infra_req_mask_b
Definition: spm.h:292
u8 reg_srcclkeni1_srcclkena_mask_b
Definition: spm.h:196
u8 reg_conn_srcclkena_mask_b
Definition: spm.h:187
u8 reg_spm_apsrc_req_reserved_mask_b
Definition: spm.h:254
u8 reg_md_apsrc_req_0_mask_b
Definition: spm.h:178
u8 reg_spm_apsrc_req
Definition: spm.h:163
u8 reg_scp_infra_req_mask_b
Definition: spm.h:210
u8 reg_mp1_cputop_idle_mask
Definition: spm.h:149
u8 reg_pcie_ddr_en_mask_b
Definition: spm.h:300
u8 reg_sc_sspm2spm_wakeup_mask_b
Definition: spm.h:249
u8 reg_pcie_srcclkena_mask_b
Definition: spm.h:296
u8 reg_disp1_ddr_en_mask_b
Definition: spm.h:227
u8 reg_md_apsrc_0_sel
Definition: spm.h:152
u8 reg_ufs_infra_req_mask_b
Definition: spm.h:220
u8 reg_spm_sspm_mailbox_req
Definition: spm.h:170
u8 reg_spm_f26m_req
Definition: spm.h:164
u8 reg_dramc0_md32_vrf18_req_mask_b
Definition: spm.h:281
u8 reg_dramc1_md32_vrf18_req_mask_b
Definition: spm.h:283
u8 reg_scp_ddr_en_mask_b
Definition: spm.h:213
u8 reg_cg_check_srcclkena_mask_b
Definition: spm.h:237
u8 reg_srcclken1_en
Definition: spm.h:141
u8 reg_sc_adsp2spm_wakeup_mask_b
Definition: spm.h:248
u32 reg_ext_wakeup_event_mask
Definition: spm.h:306
u8 reg_md_vrf18_req_1_mask_b
Definition: spm.h:185
u8 reg_md_vrf18_req_0_mask_b
Definition: spm.h:179
u8 reg_md_srcclkena2infra_req_0_mask_b
Definition: spm.h:176
u8 reg_msdc1_srcclkena_mask_b
Definition: spm.h:267
u8 reg_gce_apsrc_req_mask_b
Definition: spm.h:229
u8 reg_msdc0_ddr_en_mask_b
Definition: spm.h:266
u8 reg_spm_dvfs_req
Definition: spm.h:168
u8 reg_sw2spm_int2_mask_b
Definition: spm.h:246
u8 reg_bak_psri_ddr_en_mask_b
Definition: spm.h:279
u32 reg_wakeup_event_mask
Definition: spm.h:303
u8 reg_spm_vrf18_req_reserved_mask_b
Definition: spm.h:255
u8 reg_dramc0_md32_infra_req_mask_b
Definition: spm.h:280
u8 reg_conn_srcclkenb2pwrap_mask_b
Definition: spm.h:284
u32 wake_src_cust
Definition: spm.h:125
u8 reg_disp1_apsrc_req_mask_b
Definition: spm.h:226
u8 reg_bak_psri_infra_req_mask_b
Definition: spm.h:276
u8 reg_md_srcclkena_0_mask_b
Definition: spm.h:175
u8 reg_conn_srcclkenb_mask_b
Definition: spm.h:188
u8 reg_audio_dsp_vrf18_req_mask_b
Definition: spm.h:217
u8 reg_audio_dsp_srcclkena_mask_b
Definition: spm.h:214
u32 reg_sysclk1_src_mask_b
Definition: spm.h:143
u8 reg_sw2spm_int0_mask_b
Definition: spm.h:244
u8 reg_bak_psri_vrf18_req_mask_b
Definition: spm.h:278
u8 reg_spm_vrf18_req
Definition: spm.h:166
u8 reg_mcupm_vrf18_req_mask_b
Definition: spm.h:260
u8 reg_clksq1_sel_ctrl
Definition: spm.h:139
u8 reg_sc_scp2spm_wakeup_mask_b
Definition: spm.h:250
u8 reg_dramc1_md32_infra_req_mask_b
Definition: spm.h:282
u8 reg_spm_ddr_en_reserved_mask_b
Definition: spm.h:256
u8 reg_wfi_type
Definition: spm.h:147
u8 reg_spm_ddr_en_req
Definition: spm.h:167
u32 pcm_flags_cust
Definition: spm.h:113
u8 reg_spm_srcclkena_reserved_mask_b
Definition: spm.h:252
u8 reg_msdc1_vrf18_req_mask_b
Definition: spm.h:270
u8 reg_mp0_cputop_idle_mask
Definition: spm.h:148
u8 reg_msdc0_vrf18_req_mask_b
Definition: spm.h:265
u8 reg_spm_adsp_mailbox_req
Definition: spm.h:171
u8 reg_spm_infra_req_reserved_mask_b
Definition: spm.h:253
u8 reg_md32_vrf18_req_mask_b
Definition: spm.h:205
u32 timer_val_ramp_en
Definition: spm.h:122
u32 reg_mcusys_merge_apsrc_req_mask_b
Definition: spm.h:289
u8 reg_md_apsrc_req_1_mask_b
Definition: spm.h:184
u8 reg_srcclken0_en
Definition: spm.h:140
u8 reg_dpmaif_infra_req_mask_b
Definition: spm.h:157
u8 reg_pcie_apsrc_req_mask_b
Definition: spm.h:298
u8 reg_spm_lock_infra_dcm
Definition: spm.h:134
u8 reg_dpmaif_apsrc_req_mask_b
Definition: spm.h:158
u8 reg_md_apsrc2infra_req_0_mask_b
Definition: spm.h:177
u8 reg_audio_dsp_ddr_en_mask_b
Definition: spm.h:218
u8 reg_bak_psri_apsrc_req_mask_b
Definition: spm.h:277
u8 reg_srcclken1_ctl
Definition: spm.h:133
u8 reg_dramc1_md32_wakeup_mask
Definition: spm.h:286
u8 reg_infrasys_apsrc_req_mask_b
Definition: spm.h:200
u8 wdt_disable
Definition: spm.h:127
u8 reg_conn_infra_req_mask_b
Definition: spm.h:189
u8 reg_msdc0_srcclkena_mask_b
Definition: spm.h:262
u8 reg_md2_c32rm_en
Definition: spm.h:137
u8 reg_apu_infra_req_mask_b
Definition: spm.h:233
u32 pcm_flags1_cust_clr
Definition: spm.h:119
u8 reg_md_apsrc_1_sel
Definition: spm.h:151
u8 reg_msdc1_infra_req_mask_b
Definition: spm.h:268
u8 reg_dpmaif_srcclkena_mask_b
Definition: spm.h:156
u8 reg_gce_infra_req_mask_b
Definition: spm.h:228
u32 timer_val_cust
Definition: spm.h:121
u8 reg_srcclkeni2_infra_req_mask_b
Definition: spm.h:199
u8 reg_md32_ddr_en_mask_b
Definition: spm.h:206
u8 reg_srcclkeni1_infra_req_mask_b
Definition: spm.h:197
u8 reg_msdc1_ddr_en_mask_b
Definition: spm.h:271
u8 reg_sw2spm_int1_mask_b
Definition: spm.h:245
u32 reg_mcusys_merge_ddr_en_mask_b
Definition: spm.h:290
u8 reg_msdc2_apsrc_req_mask_b
Definition: spm.h:293
u8 reg_msdc0_apsrc_req_mask_b
Definition: spm.h:264
u8 reg_msdc2_srcclkena_mask_b
Definition: spm.h:291
u8 reg_conn_apsrc_sel
Definition: spm.h:153
u8 reg_spm_scp_mailbox_req
Definition: spm.h:172
u8 reg_clksq0_sel_ctrl
Definition: spm.h:138
u8 reg_gce_vrf18_req_mask_b
Definition: spm.h:230
u8 reg_md_apsrc2infra_req_1_mask_b
Definition: spm.h:183
u8 reg_conn_ddr_en_mask_b
Definition: spm.h:192
u8 reg_conn_vfe28_mask_b
Definition: spm.h:193