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