coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
dpm.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_MEDIATEK_COMMON_DPM_H__
4 #define __SOC_MEDIATEK_COMMON_DPM_H__
5 
6 #include <soc/addressmap.h>
7 #include <soc/mcu_common.h>
8 #include <types.h>
9 
10 struct dpm_regs {
12  u32 rsvd_0[3072];
14  u32 rsvd_1[3071];
17  u32 rsvd_2[1022];
20  u32 rsvd_3[1];
22  u32 rsvd_4[8];
26  u32 rsvd_5[28];
28 };
29 
30 check_member(dpm_regs, mclk_div, 0x3004);
31 check_member(dpm_regs, twam_window_len, 0x6004);
32 check_member(dpm_regs, low_power_cfg_0, 0x7004);
33 check_member(dpm_regs, low_power_cfg_1, 0x7008);
34 check_member(dpm_regs, fsm_out_ctrl_0, 0x7010);
35 check_member(dpm_regs, fsm_cfg_1, 0x7034);
36 check_member(dpm_regs, low_power_cfg_3, 0x7038);
37 check_member(dpm_regs, dfd_dbug_0, 0x703C);
38 check_member(dpm_regs, status_4, 0x70B0);
39 
40 #define DPM_SW_RSTN_RESET BIT(0)
41 #define DPM_MEM_RATIO_OFFSET 28
42 #define DPM_MEM_RATIO_MASK (0x3 << DPM_MEM_RATIO_OFFSET)
43 #define DPM_MEM_RATIO_CFG1 (1 << DPM_MEM_RATIO_OFFSET)
44 #define DRAMC_MCU_SRAM_ISOINT_B_LSB BIT(1)
45 #define DRAMC_MCU2_SRAM_ISOINT_B_LSB BIT(1)
46 #define DRAMC_MCU_SRAM_SLEEP_B_LSB BIT(4)
47 #define DRAMC_MCU2_SRAM_SLEEP_B_LSB BIT(4)
48 
49 static struct dpm_regs *const mtk_dpm = (void *)DPM_CFG_BASE;
50 
51 void dpm_reset(struct mtk_mcu *mcu);
52 int dpm_init(void);
53 int dpm_4ch_para_setting(void);
54 int dpm_4ch_init(void);
55 
56 #endif /* __SOC_MEDIATEK_COMMON_DPM_H__ */
int dpm_init(void)
Definition: dpm.c:33
int dpm_4ch_para_setting(void)
Definition: dpm_4ch.c:75
int dpm_4ch_init(void)
Definition: dpm_4ch.c:67
void dpm_reset(struct mtk_mcu *mcu)
Definition: dpm.c:21
static struct dpm_regs *const mtk_dpm
Definition: dpm.h:49
check_member(dpm_regs, mclk_div, 0x3004)
@ DPM_CFG_BASE
Definition: addressmap.h:51
uint32_t u32
Definition: stdint.h:51
Definition: dpm.h:10
u32 rsvd_5[28]
Definition: dpm.h:26
u32 fsm_out_ctrl_0
Definition: dpm.h:21
u32 status_4
Definition: dpm.h:27
u32 low_power_cfg_1
Definition: dpm.h:19
u32 twam_window_len
Definition: dpm.h:15
u32 rsvd_1[3071]
Definition: dpm.h:14
u32 sw_rstn
Definition: dpm.h:11
u32 rsvd_0[3072]
Definition: dpm.h:12
u32 twam_mon_type
Definition: dpm.h:16
u32 low_power_cfg_3
Definition: dpm.h:24
u32 fsm_cfg_1
Definition: dpm.h:23
u32 rsvd_4[8]
Definition: dpm.h:22
u32 rsvd_3[1]
Definition: dpm.h:20
u32 low_power_cfg_0
Definition: dpm.h:18
u32 rsvd_2[1022]
Definition: dpm.h:17
u32 mclk_div
Definition: dpm.h:13
u32 dfd_dbug_0
Definition: dpm.h:25