coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mt6366.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /*
4  * This file is created based on MT8186 Functional Specification
5  * Chapter number: 3.7
6  */
7 
8 #ifndef __SOC_MEDIATEK_MT6366_H__
9 #define __SOC_MEDIATEK_MT6366_H__
10 
11 #include <types.h>
12 
13 enum {
14  PMIC_SWCID = 0x000a,
15  PMIC_VM_MODE = 0x004e,
23  PMIC_OTP_CON0 = 0x038a,
24  PMIC_OTP_CON8 = 0x039a,
25  PMIC_OTP_CON11 = 0x03a0,
26  PMIC_OTP_CON12 = 0x03a2,
27  PMIC_OTP_CON13 = 0x03a4,
28  PMIC_TOP_TMA_KEY = 0x03a8,
29  PMIC_PWRHOLD = 0x0a08,
30  PMIC_CPSDSA4 = 0x0a2e,
34  PMIC_VCORE_OP_EN = 0x1490,
35  PMIC_VCORE_DBG0 = 0x149e,
36  PMIC_VCORE_VOSEL = 0x14aa,
39  PMIC_VDRAM1_DBG0 = 0x161e,
42  PMIC_VDDQ_OP_EN = 0x1b16,
57  PMIC_VDDQ_ELR_0 = 0x1ec4,
58 };
59 
71 };
72 
73 struct pmic_setting {
74  unsigned short addr;
75  unsigned short val;
76  unsigned short mask;
77  unsigned char shift;
78 };
79 
80 void mt6366_init(void);
81 void mt6366_set_power_hold(bool enable);
82 void mt6366_set_vsim2_cali_mv(u32 vsim2_mv);
83 void mt6366_init_scp_voltage(void);
84 void mt6366_set_voltage(enum mt6366_regulator_id id, u32 vcore_uv);
86 
87 #endif /* __SOC_MEDIATEK_MT6366_H__ */
u32 mt6366_get_voltage(enum mt6366_regulator_id id)
Definition: mt6366.c:914
mt6366_regulator_id
Definition: mt6366.h:60
@ MT6366_VPROC12
Definition: mt6366.h:66
@ MT6366_VCORE
Definition: mt6366.h:61
@ MT6366_VDDQ
Definition: mt6366.h:63
@ MT6366_VMCH
Definition: mt6366.h:64
@ MT6366_VRF12
Definition: mt6366.h:68
@ MT6366_VMC
Definition: mt6366.h:65
@ MT6366_REGULATOR_NUM
Definition: mt6366.h:70
@ MT6366_VSRAM_PROC12
Definition: mt6366.h:67
@ MT6366_VDRAM1
Definition: mt6366.h:62
@ MT6366_VCN33
Definition: mt6366.h:69
@ PMIC_LDO_VRF12_OP_EN
Definition: mt6366.h:47
@ PMIC_VCORE_VOSEL
Definition: mt6366.h:36
@ PMIC_VDDQ_ELR_0
Definition: mt6366.h:57
@ PMIC_TOP_CKPDN_CON0_SET
Definition: mt6366.h:16
@ PMIC_LDO_VMCH_OP_EN
Definition: mt6366.h:51
@ PMIC_TOP_RST_MISC_CLR
Definition: mt6366.h:22
@ PMIC_TOP_RST_MISC_SET
Definition: mt6366.h:21
@ PMIC_TOP_CKPDN_CON0_CLR
Definition: mt6366.h:17
@ PMIC_TOP_RST_MISC
Definition: mt6366.h:20
@ PMIC_LDO_VRF12_CON0
Definition: mt6366.h:46
@ PMIC_OTP_CON13
Definition: mt6366.h:27
@ PMIC_VCN33_ANA_CON0
Definition: mt6366.h:53
@ PMIC_VPROC12_OP_EN
Definition: mt6366.h:31
@ PMIC_LDO_VMCH_CON0
Definition: mt6366.h:50
@ PMIC_VPROC12_DBG0
Definition: mt6366.h:32
@ PMIC_LDO_VMC_OP_EN
Definition: mt6366.h:49
@ PMIC_VDRAM1_OP_EN
Definition: mt6366.h:38
@ PMIC_SWCID
Definition: mt6366.h:14
@ PMIC_VSRAM_PROC12_VOSEL
Definition: mt6366.h:45
@ PMIC_OTP_CON0
Definition: mt6366.h:23
@ PMIC_PWRHOLD
Definition: mt6366.h:29
@ PMIC_LDO_VMC_CON0
Definition: mt6366.h:48
@ PMIC_VSIM2_ANA_CON0
Definition: mt6366.h:54
@ PMIC_VDRAM1_VOSEL
Definition: mt6366.h:40
@ PMIC_VCORE_OP_EN
Definition: mt6366.h:34
@ PMIC_VSRAM_PROC12_OP_EN
Definition: mt6366.h:43
@ PMIC_VDDQ_OP_EN
Definition: mt6366.h:42
@ PMIC_VDRAM1_VOSEL_SLEEP
Definition: mt6366.h:37
@ PMIC_VDRAM1_DBG0
Definition: mt6366.h:39
@ PMIC_VPROC12_VOSEL
Definition: mt6366.h:33
@ PMIC_VM_MODE
Definition: mt6366.h:15
@ PMIC_CPSDSA4
Definition: mt6366.h:30
@ PMIC_SMPS_ANA_CON0
Definition: mt6366.h:41
@ PMIC_TOP_TMA_KEY
Definition: mt6366.h:28
@ PMIC_VMCH_ANA_CON0
Definition: mt6366.h:55
@ PMIC_TOP_CKHWEN_CON0_CLR
Definition: mt6366.h:19
@ PMIC_OTP_CON11
Definition: mt6366.h:25
@ PMIC_VSRAM_PROC12_DBG0
Definition: mt6366.h:44
@ PMIC_VMC_ANA_CON0
Definition: mt6366.h:56
@ PMIC_VCORE_DBG0
Definition: mt6366.h:35
@ PMIC_LDO_VCN33_CON0_0
Definition: mt6366.h:52
@ PMIC_OTP_CON8
Definition: mt6366.h:24
@ PMIC_TOP_CKHWEN_CON0_SET
Definition: mt6366.h:18
@ PMIC_OTP_CON12
Definition: mt6366.h:26
void mt6366_init(void)
Definition: mt6366.c:942
void mt6366_set_power_hold(bool enable)
Definition: mt6366.c:829
void mt6366_init_scp_voltage(void)
Definition: mt6366.c:834
void mt6366_set_voltage(enum mt6366_regulator_id id, u32 vcore_uv)
Definition: mt6366.c:877
void mt6366_set_vsim2_cali_mv(u32 vsim2_mv)
Definition: mt6366.c:842
uint32_t u32
Definition: stdint.h:51
unsigned short addr
Definition: mt6359p.h:38
unsigned short mask
Definition: mt6359p.h:40
unsigned char shift
Definition: mt6359p.h:41
unsigned short val
Definition: mt6359p.h:39