• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_MEDIATEK_MT6315_H__
4 #define __SOC_MEDIATEK_MT6315_H__
5 
6 #include <soc/spmi.h>
7 #include <types.h>
8 
9 struct mt6315_setting {
10 	unsigned short addr;
11 	unsigned short val;
12 	unsigned short mask;
13 	unsigned char shift;
14 };
15 
16 enum {
17 	MT6315_CPU = SPMI_SLAVE_6,
18 	MT6315_GPU = SPMI_SLAVE_7,
19 	MT6315_MAX,
20 };
21 
22 enum {
23 	MT6315_BUCK_1 = 0,
24 	MT6315_BUCK_2,
25 	MT6315_BUCK_3,
26 	MT6315_BUCK_4,
27 	MT6315_BUCK_max,
28 };
29 
30 enum {
31 	MT6315_BUCK_TOP_ELR0    = 0x1449,
32 	MT6315_BUCK_TOP_ELR3    = 0x144d,
33 	MT6315_BUCK_VBUCK1_DBG0 = 0x1499,
34 	MT6315_BUCK_VBUCK1_DBG3 = 0x1599,
35 };
36 
37 void mt6315_init(void);
38 void mt6315_buck_set_voltage(u32 slvid, u32 buck_id, u32 buck_uv);
39 u32 mt6315_buck_get_voltage(u32 slvid, u32 buck_id);
40 void mt6315_init_setting(void);
41 void mt6315_write_field(u32 slvid, u32 reg, u32 val, u32 mask, u32 shift);
42 #endif /* __SOC_MEDIATEK_MT6315_H__ */
43