xref: /OK3568_Linux_fs/kernel/include/linux/mfd/max77693-private.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0+ */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * max77693-private.h - Voltage regulator driver for the Maxim 77693
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  *  Copyright (C) 2012 Samsung Electrnoics
6*4882a593Smuzhiyun  *  SangYoung Son <hello.son@samsung.com>
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  * This program is not provided / owned by Maxim Integrated Products.
9*4882a593Smuzhiyun  */
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #ifndef __LINUX_MFD_MAX77693_PRIV_H
12*4882a593Smuzhiyun #define __LINUX_MFD_MAX77693_PRIV_H
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun #include <linux/i2c.h>
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #define MAX77693_REG_INVALID		(0xff)
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun /* Slave addr = 0xCC: PMIC, Charger, Flash LED */
19*4882a593Smuzhiyun enum max77693_pmic_reg {
20*4882a593Smuzhiyun 	MAX77693_LED_REG_IFLASH1			= 0x00,
21*4882a593Smuzhiyun 	MAX77693_LED_REG_IFLASH2			= 0x01,
22*4882a593Smuzhiyun 	MAX77693_LED_REG_ITORCH				= 0x02,
23*4882a593Smuzhiyun 	MAX77693_LED_REG_ITORCHTIMER			= 0x03,
24*4882a593Smuzhiyun 	MAX77693_LED_REG_FLASH_TIMER			= 0x04,
25*4882a593Smuzhiyun 	MAX77693_LED_REG_FLASH_EN			= 0x05,
26*4882a593Smuzhiyun 	MAX77693_LED_REG_MAX_FLASH1			= 0x06,
27*4882a593Smuzhiyun 	MAX77693_LED_REG_MAX_FLASH2			= 0x07,
28*4882a593Smuzhiyun 	MAX77693_LED_REG_MAX_FLASH3			= 0x08,
29*4882a593Smuzhiyun 	MAX77693_LED_REG_MAX_FLASH4			= 0x09,
30*4882a593Smuzhiyun 	MAX77693_LED_REG_VOUT_CNTL			= 0x0A,
31*4882a593Smuzhiyun 	MAX77693_LED_REG_VOUT_FLASH1			= 0x0B,
32*4882a593Smuzhiyun 	MAX77693_LED_REG_VOUT_FLASH2			= 0x0C,
33*4882a593Smuzhiyun 	MAX77693_LED_REG_FLASH_INT			= 0x0E,
34*4882a593Smuzhiyun 	MAX77693_LED_REG_FLASH_INT_MASK			= 0x0F,
35*4882a593Smuzhiyun 	MAX77693_LED_REG_FLASH_STATUS			= 0x10,
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun 	MAX77693_PMIC_REG_PMIC_ID1			= 0x20,
38*4882a593Smuzhiyun 	MAX77693_PMIC_REG_PMIC_ID2			= 0x21,
39*4882a593Smuzhiyun 	MAX77693_PMIC_REG_INTSRC			= 0x22,
40*4882a593Smuzhiyun 	MAX77693_PMIC_REG_INTSRC_MASK			= 0x23,
41*4882a593Smuzhiyun 	MAX77693_PMIC_REG_TOPSYS_INT			= 0x24,
42*4882a593Smuzhiyun 	MAX77693_PMIC_REG_TOPSYS_INT_MASK		= 0x26,
43*4882a593Smuzhiyun 	MAX77693_PMIC_REG_TOPSYS_STAT			= 0x28,
44*4882a593Smuzhiyun 	MAX77693_PMIC_REG_MAINCTRL1			= 0x2A,
45*4882a593Smuzhiyun 	MAX77693_PMIC_REG_LSCNFG			= 0x2B,
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_INT			= 0xB0,
48*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_INT_MASK			= 0xB1,
49*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_INT_OK			= 0xB2,
50*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_DETAILS_00			= 0xB3,
51*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_DETAILS_01			= 0xB4,
52*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_DETAILS_02			= 0xB5,
53*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_DETAILS_03			= 0xB6,
54*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_00			= 0xB7,
55*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_01			= 0xB8,
56*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_02			= 0xB9,
57*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_03			= 0xBA,
58*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_04			= 0xBB,
59*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_05			= 0xBC,
60*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_06			= 0xBD,
61*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_07			= 0xBE,
62*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_08			= 0xBF,
63*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_09			= 0xC0,
64*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_10			= 0xC1,
65*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_11			= 0xC2,
66*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_12			= 0xC3,
67*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_13			= 0xC4,
68*4882a593Smuzhiyun 	MAX77693_CHG_REG_CHG_CNFG_14			= 0xC5,
69*4882a593Smuzhiyun 	MAX77693_CHG_REG_SAFEOUT_CTRL			= 0xC6,
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun 	MAX77693_PMIC_REG_END,
72*4882a593Smuzhiyun };
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun /* MAX77693 ITORCH register */
75*4882a593Smuzhiyun #define TORCH_IOUT1_SHIFT	0
76*4882a593Smuzhiyun #define TORCH_IOUT2_SHIFT	4
77*4882a593Smuzhiyun #define TORCH_IOUT_MASK(x)	(0xf << (x))
78*4882a593Smuzhiyun #define TORCH_IOUT_MIN		15625
79*4882a593Smuzhiyun #define TORCH_IOUT_MAX		250000
80*4882a593Smuzhiyun #define TORCH_IOUT_STEP		15625
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun /* MAX77693 IFLASH1 and IFLASH2 registers */
83*4882a593Smuzhiyun #define FLASH_IOUT_MIN		15625
84*4882a593Smuzhiyun #define FLASH_IOUT_MAX_1LED	1000000
85*4882a593Smuzhiyun #define FLASH_IOUT_MAX_2LEDS	625000
86*4882a593Smuzhiyun #define FLASH_IOUT_STEP		15625
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun /* MAX77693 TORCH_TIMER register */
89*4882a593Smuzhiyun #define TORCH_TMR_NO_TIMER	0x40
90*4882a593Smuzhiyun #define TORCH_TIMEOUT_MIN	262000
91*4882a593Smuzhiyun #define TORCH_TIMEOUT_MAX	15728000
92*4882a593Smuzhiyun 
93*4882a593Smuzhiyun /* MAX77693 FLASH_TIMER register */
94*4882a593Smuzhiyun #define FLASH_TMR_LEVEL		0x80
95*4882a593Smuzhiyun #define FLASH_TIMEOUT_MIN	62500
96*4882a593Smuzhiyun #define FLASH_TIMEOUT_MAX	1000000
97*4882a593Smuzhiyun #define FLASH_TIMEOUT_STEP	62500
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun /* MAX77693 FLASH_EN register */
100*4882a593Smuzhiyun #define FLASH_EN_OFF		0x0
101*4882a593Smuzhiyun #define FLASH_EN_FLASH		0x1
102*4882a593Smuzhiyun #define FLASH_EN_TORCH		0x2
103*4882a593Smuzhiyun #define FLASH_EN_ON		0x3
104*4882a593Smuzhiyun #define FLASH_EN_SHIFT(x)	(6 - (x) * 2)
105*4882a593Smuzhiyun #define TORCH_EN_SHIFT(x)	(2 - (x) * 2)
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun /* MAX77693 MAX_FLASH1 register */
108*4882a593Smuzhiyun #define MAX_FLASH1_MAX_FL_EN	0x80
109*4882a593Smuzhiyun #define MAX_FLASH1_VSYS_MIN	2400
110*4882a593Smuzhiyun #define MAX_FLASH1_VSYS_MAX	3400
111*4882a593Smuzhiyun #define MAX_FLASH1_VSYS_STEP	33
112*4882a593Smuzhiyun 
113*4882a593Smuzhiyun /* MAX77693 VOUT_CNTL register */
114*4882a593Smuzhiyun #define FLASH_BOOST_FIXED	0x04
115*4882a593Smuzhiyun #define FLASH_BOOST_LEDNUM_2	0x80
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun /* MAX77693 VOUT_FLASH1 register */
118*4882a593Smuzhiyun #define FLASH_VOUT_MIN		3300
119*4882a593Smuzhiyun #define FLASH_VOUT_MAX		5500
120*4882a593Smuzhiyun #define FLASH_VOUT_STEP		25
121*4882a593Smuzhiyun #define FLASH_VOUT_RMIN		0x0c
122*4882a593Smuzhiyun 
123*4882a593Smuzhiyun /* MAX77693 FLASH_STATUS register */
124*4882a593Smuzhiyun #define FLASH_STATUS_FLASH_ON	BIT(3)
125*4882a593Smuzhiyun #define FLASH_STATUS_TORCH_ON	BIT(2)
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun /* MAX77693 FLASH_INT register */
128*4882a593Smuzhiyun #define FLASH_INT_FLED2_OPEN	BIT(0)
129*4882a593Smuzhiyun #define FLASH_INT_FLED2_SHORT	BIT(1)
130*4882a593Smuzhiyun #define FLASH_INT_FLED1_OPEN	BIT(2)
131*4882a593Smuzhiyun #define FLASH_INT_FLED1_SHORT	BIT(3)
132*4882a593Smuzhiyun #define FLASH_INT_OVER_CURRENT	BIT(4)
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun /* Fast charge timer in hours */
135*4882a593Smuzhiyun #define DEFAULT_FAST_CHARGE_TIMER		4
136*4882a593Smuzhiyun /* microamps */
137*4882a593Smuzhiyun #define DEFAULT_TOP_OFF_THRESHOLD_CURRENT	150000
138*4882a593Smuzhiyun /* minutes */
139*4882a593Smuzhiyun #define DEFAULT_TOP_OFF_TIMER			30
140*4882a593Smuzhiyun /* microvolts */
141*4882a593Smuzhiyun #define DEFAULT_CONSTANT_VOLT			4200000
142*4882a593Smuzhiyun /* microvolts */
143*4882a593Smuzhiyun #define DEFAULT_MIN_SYSTEM_VOLT			3600000
144*4882a593Smuzhiyun /* celsius */
145*4882a593Smuzhiyun #define DEFAULT_THERMAL_REGULATION_TEMP		100
146*4882a593Smuzhiyun /* microamps */
147*4882a593Smuzhiyun #define DEFAULT_BATTERY_OVERCURRENT		3500000
148*4882a593Smuzhiyun /* microvolts */
149*4882a593Smuzhiyun #define DEFAULT_CHARGER_INPUT_THRESHOLD_VOLT	4300000
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_INT_OK register */
152*4882a593Smuzhiyun #define CHG_INT_OK_BYP_SHIFT		0
153*4882a593Smuzhiyun #define CHG_INT_OK_BAT_SHIFT		3
154*4882a593Smuzhiyun #define CHG_INT_OK_CHG_SHIFT		4
155*4882a593Smuzhiyun #define CHG_INT_OK_CHGIN_SHIFT		6
156*4882a593Smuzhiyun #define CHG_INT_OK_DETBAT_SHIFT		7
157*4882a593Smuzhiyun #define CHG_INT_OK_BYP_MASK		BIT(CHG_INT_OK_BYP_SHIFT)
158*4882a593Smuzhiyun #define CHG_INT_OK_BAT_MASK		BIT(CHG_INT_OK_BAT_SHIFT)
159*4882a593Smuzhiyun #define CHG_INT_OK_CHG_MASK		BIT(CHG_INT_OK_CHG_SHIFT)
160*4882a593Smuzhiyun #define CHG_INT_OK_CHGIN_MASK		BIT(CHG_INT_OK_CHGIN_SHIFT)
161*4882a593Smuzhiyun #define CHG_INT_OK_DETBAT_MASK		BIT(CHG_INT_OK_DETBAT_SHIFT)
162*4882a593Smuzhiyun 
163*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_DETAILS_00 register */
164*4882a593Smuzhiyun #define CHG_DETAILS_00_CHGIN_SHIFT	5
165*4882a593Smuzhiyun #define CHG_DETAILS_00_CHGIN_MASK	(0x3 << CHG_DETAILS_00_CHGIN_SHIFT)
166*4882a593Smuzhiyun 
167*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_DETAILS_01 register */
168*4882a593Smuzhiyun #define CHG_DETAILS_01_CHG_SHIFT	0
169*4882a593Smuzhiyun #define CHG_DETAILS_01_BAT_SHIFT	4
170*4882a593Smuzhiyun #define CHG_DETAILS_01_TREG_SHIFT	7
171*4882a593Smuzhiyun #define CHG_DETAILS_01_CHG_MASK		(0xf << CHG_DETAILS_01_CHG_SHIFT)
172*4882a593Smuzhiyun #define CHG_DETAILS_01_BAT_MASK		(0x7 << CHG_DETAILS_01_BAT_SHIFT)
173*4882a593Smuzhiyun #define CHG_DETAILS_01_TREG_MASK	BIT(7)
174*4882a593Smuzhiyun 
175*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_DETAILS_01/CHG field */
176*4882a593Smuzhiyun enum max77693_charger_charging_state {
177*4882a593Smuzhiyun 	MAX77693_CHARGING_PREQUALIFICATION	= 0x0,
178*4882a593Smuzhiyun 	MAX77693_CHARGING_FAST_CONST_CURRENT,
179*4882a593Smuzhiyun 	MAX77693_CHARGING_FAST_CONST_VOLTAGE,
180*4882a593Smuzhiyun 	MAX77693_CHARGING_TOP_OFF,
181*4882a593Smuzhiyun 	MAX77693_CHARGING_DONE,
182*4882a593Smuzhiyun 	MAX77693_CHARGING_HIGH_TEMP,
183*4882a593Smuzhiyun 	MAX77693_CHARGING_TIMER_EXPIRED,
184*4882a593Smuzhiyun 	MAX77693_CHARGING_THERMISTOR_SUSPEND,
185*4882a593Smuzhiyun 	MAX77693_CHARGING_OFF,
186*4882a593Smuzhiyun 	MAX77693_CHARGING_RESERVED,
187*4882a593Smuzhiyun 	MAX77693_CHARGING_OVER_TEMP,
188*4882a593Smuzhiyun 	MAX77693_CHARGING_WATCHDOG_EXPIRED,
189*4882a593Smuzhiyun };
190*4882a593Smuzhiyun 
191*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_DETAILS_01/BAT field */
192*4882a593Smuzhiyun enum max77693_charger_battery_state {
193*4882a593Smuzhiyun 	MAX77693_BATTERY_NOBAT			= 0x0,
194*4882a593Smuzhiyun 	/* Dead-battery or low-battery prequalification */
195*4882a593Smuzhiyun 	MAX77693_BATTERY_PREQUALIFICATION,
196*4882a593Smuzhiyun 	MAX77693_BATTERY_TIMER_EXPIRED,
197*4882a593Smuzhiyun 	MAX77693_BATTERY_GOOD,
198*4882a593Smuzhiyun 	MAX77693_BATTERY_LOWVOLTAGE,
199*4882a593Smuzhiyun 	MAX77693_BATTERY_OVERVOLTAGE,
200*4882a593Smuzhiyun 	MAX77693_BATTERY_OVERCURRENT,
201*4882a593Smuzhiyun 	MAX77693_BATTERY_RESERVED,
202*4882a593Smuzhiyun };
203*4882a593Smuzhiyun 
204*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_DETAILS_02 register */
205*4882a593Smuzhiyun #define CHG_DETAILS_02_BYP_SHIFT	0
206*4882a593Smuzhiyun #define CHG_DETAILS_02_BYP_MASK		(0xf << CHG_DETAILS_02_BYP_SHIFT)
207*4882a593Smuzhiyun 
208*4882a593Smuzhiyun /* MAX77693 CHG_CNFG_00 register */
209*4882a593Smuzhiyun #define CHG_CNFG_00_CHG_MASK		0x1
210*4882a593Smuzhiyun #define CHG_CNFG_00_BUCK_MASK		0x4
211*4882a593Smuzhiyun 
212*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_01 register */
213*4882a593Smuzhiyun #define CHG_CNFG_01_FCHGTIME_SHIFT	0
214*4882a593Smuzhiyun #define CHG_CNFG_01_CHGRSTRT_SHIFT	4
215*4882a593Smuzhiyun #define CHG_CNFG_01_PQEN_SHIFT		7
216*4882a593Smuzhiyun #define CHG_CNFG_01_FCHGTIME_MASK	(0x7 << CHG_CNFG_01_FCHGTIME_SHIFT)
217*4882a593Smuzhiyun #define CHG_CNFG_01_CHGRSTRT_MASK	(0x3 << CHG_CNFG_01_CHGRSTRT_SHIFT)
218*4882a593Smuzhiyun #define CHG_CNFG_01_PQEN_MAKS		BIT(CHG_CNFG_01_PQEN_SHIFT)
219*4882a593Smuzhiyun 
220*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_03 register */
221*4882a593Smuzhiyun #define CHG_CNFG_03_TOITH_SHIFT		0
222*4882a593Smuzhiyun #define CHG_CNFG_03_TOTIME_SHIFT	3
223*4882a593Smuzhiyun #define CHG_CNFG_03_TOITH_MASK		(0x7 << CHG_CNFG_03_TOITH_SHIFT)
224*4882a593Smuzhiyun #define CHG_CNFG_03_TOTIME_MASK		(0x7 << CHG_CNFG_03_TOTIME_SHIFT)
225*4882a593Smuzhiyun 
226*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_04 register */
227*4882a593Smuzhiyun #define CHG_CNFG_04_CHGCVPRM_SHIFT	0
228*4882a593Smuzhiyun #define CHG_CNFG_04_MINVSYS_SHIFT	5
229*4882a593Smuzhiyun #define CHG_CNFG_04_CHGCVPRM_MASK	(0x1f << CHG_CNFG_04_CHGCVPRM_SHIFT)
230*4882a593Smuzhiyun #define CHG_CNFG_04_MINVSYS_MASK	(0x7 << CHG_CNFG_04_MINVSYS_SHIFT)
231*4882a593Smuzhiyun 
232*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_06 register */
233*4882a593Smuzhiyun #define CHG_CNFG_06_CHGPROT_SHIFT	2
234*4882a593Smuzhiyun #define CHG_CNFG_06_CHGPROT_MASK	(0x3 << CHG_CNFG_06_CHGPROT_SHIFT)
235*4882a593Smuzhiyun 
236*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_07 register */
237*4882a593Smuzhiyun #define CHG_CNFG_07_REGTEMP_SHIFT	5
238*4882a593Smuzhiyun #define CHG_CNFG_07_REGTEMP_MASK	(0x3 << CHG_CNFG_07_REGTEMP_SHIFT)
239*4882a593Smuzhiyun 
240*4882a593Smuzhiyun /* MAX77693_CHG_REG_CHG_CNFG_12 register */
241*4882a593Smuzhiyun #define CHG_CNFG_12_B2SOVRC_SHIFT	0
242*4882a593Smuzhiyun #define CHG_CNFG_12_VCHGINREG_SHIFT	3
243*4882a593Smuzhiyun #define CHG_CNFG_12_B2SOVRC_MASK	(0x7 << CHG_CNFG_12_B2SOVRC_SHIFT)
244*4882a593Smuzhiyun #define CHG_CNFG_12_VCHGINREG_MASK	(0x3 << CHG_CNFG_12_VCHGINREG_SHIFT)
245*4882a593Smuzhiyun 
246*4882a593Smuzhiyun /* MAX77693 CHG_CNFG_09 Register */
247*4882a593Smuzhiyun #define CHG_CNFG_09_CHGIN_ILIM_MASK	0x7F
248*4882a593Smuzhiyun 
249*4882a593Smuzhiyun /* MAX77693 CHG_CTRL Register */
250*4882a593Smuzhiyun #define SAFEOUT_CTRL_SAFEOUT1_MASK	0x3
251*4882a593Smuzhiyun #define SAFEOUT_CTRL_SAFEOUT2_MASK	0xC
252*4882a593Smuzhiyun #define SAFEOUT_CTRL_ENSAFEOUT1_MASK	0x40
253*4882a593Smuzhiyun #define SAFEOUT_CTRL_ENSAFEOUT2_MASK	0x80
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun /* Slave addr = 0x4A: MUIC */
256*4882a593Smuzhiyun enum max77693_muic_reg {
257*4882a593Smuzhiyun 	MAX77693_MUIC_REG_ID		= 0x00,
258*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INT1		= 0x01,
259*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INT2		= 0x02,
260*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INT3		= 0x03,
261*4882a593Smuzhiyun 	MAX77693_MUIC_REG_STATUS1	= 0x04,
262*4882a593Smuzhiyun 	MAX77693_MUIC_REG_STATUS2	= 0x05,
263*4882a593Smuzhiyun 	MAX77693_MUIC_REG_STATUS3	= 0x06,
264*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INTMASK1	= 0x07,
265*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INTMASK2	= 0x08,
266*4882a593Smuzhiyun 	MAX77693_MUIC_REG_INTMASK3	= 0x09,
267*4882a593Smuzhiyun 	MAX77693_MUIC_REG_CDETCTRL1	= 0x0A,
268*4882a593Smuzhiyun 	MAX77693_MUIC_REG_CDETCTRL2	= 0x0B,
269*4882a593Smuzhiyun 	MAX77693_MUIC_REG_CTRL1		= 0x0C,
270*4882a593Smuzhiyun 	MAX77693_MUIC_REG_CTRL2		= 0x0D,
271*4882a593Smuzhiyun 	MAX77693_MUIC_REG_CTRL3		= 0x0E,
272*4882a593Smuzhiyun 
273*4882a593Smuzhiyun 	MAX77693_MUIC_REG_END,
274*4882a593Smuzhiyun };
275*4882a593Smuzhiyun 
276*4882a593Smuzhiyun /* MAX77693 INTMASK1~2 Register */
277*4882a593Smuzhiyun #define INTMASK1_ADC1K_SHIFT		3
278*4882a593Smuzhiyun #define INTMASK1_ADCERR_SHIFT		2
279*4882a593Smuzhiyun #define INTMASK1_ADCLOW_SHIFT		1
280*4882a593Smuzhiyun #define INTMASK1_ADC_SHIFT		0
281*4882a593Smuzhiyun #define INTMASK1_ADC1K_MASK		(1 << INTMASK1_ADC1K_SHIFT)
282*4882a593Smuzhiyun #define INTMASK1_ADCERR_MASK		(1 << INTMASK1_ADCERR_SHIFT)
283*4882a593Smuzhiyun #define INTMASK1_ADCLOW_MASK		(1 << INTMASK1_ADCLOW_SHIFT)
284*4882a593Smuzhiyun #define INTMASK1_ADC_MASK		(1 << INTMASK1_ADC_SHIFT)
285*4882a593Smuzhiyun 
286*4882a593Smuzhiyun #define INTMASK2_VIDRM_SHIFT		5
287*4882a593Smuzhiyun #define INTMASK2_VBVOLT_SHIFT		4
288*4882a593Smuzhiyun #define INTMASK2_DXOVP_SHIFT		3
289*4882a593Smuzhiyun #define INTMASK2_DCDTMR_SHIFT		2
290*4882a593Smuzhiyun #define INTMASK2_CHGDETRUN_SHIFT	1
291*4882a593Smuzhiyun #define INTMASK2_CHGTYP_SHIFT		0
292*4882a593Smuzhiyun #define INTMASK2_VIDRM_MASK		(1 << INTMASK2_VIDRM_SHIFT)
293*4882a593Smuzhiyun #define INTMASK2_VBVOLT_MASK		(1 << INTMASK2_VBVOLT_SHIFT)
294*4882a593Smuzhiyun #define INTMASK2_DXOVP_MASK		(1 << INTMASK2_DXOVP_SHIFT)
295*4882a593Smuzhiyun #define INTMASK2_DCDTMR_MASK		(1 << INTMASK2_DCDTMR_SHIFT)
296*4882a593Smuzhiyun #define INTMASK2_CHGDETRUN_MASK		(1 << INTMASK2_CHGDETRUN_SHIFT)
297*4882a593Smuzhiyun #define INTMASK2_CHGTYP_MASK		(1 << INTMASK2_CHGTYP_SHIFT)
298*4882a593Smuzhiyun 
299*4882a593Smuzhiyun /* MAX77693 MUIC - STATUS1~3 Register */
300*4882a593Smuzhiyun #define MAX77693_STATUS1_ADC_SHIFT		0
301*4882a593Smuzhiyun #define MAX77693_STATUS1_ADCLOW_SHIFT		5
302*4882a593Smuzhiyun #define MAX77693_STATUS1_ADCERR_SHIFT		6
303*4882a593Smuzhiyun #define MAX77693_STATUS1_ADC1K_SHIFT		7
304*4882a593Smuzhiyun #define MAX77693_STATUS1_ADC_MASK		(0x1f << MAX77693_STATUS1_ADC_SHIFT)
305*4882a593Smuzhiyun #define MAX77693_STATUS1_ADCLOW_MASK		BIT(MAX77693_STATUS1_ADCLOW_SHIFT)
306*4882a593Smuzhiyun #define MAX77693_STATUS1_ADCERR_MASK		BIT(MAX77693_STATUS1_ADCERR_SHIFT)
307*4882a593Smuzhiyun #define MAX77693_STATUS1_ADC1K_MASK		BIT(MAX77693_STATUS1_ADC1K_SHIFT)
308*4882a593Smuzhiyun 
309*4882a593Smuzhiyun #define MAX77693_STATUS2_CHGTYP_SHIFT		0
310*4882a593Smuzhiyun #define MAX77693_STATUS2_CHGDETRUN_SHIFT	3
311*4882a593Smuzhiyun #define MAX77693_STATUS2_DCDTMR_SHIFT		4
312*4882a593Smuzhiyun #define MAX77693_STATUS2_DXOVP_SHIFT		5
313*4882a593Smuzhiyun #define MAX77693_STATUS2_VBVOLT_SHIFT		6
314*4882a593Smuzhiyun #define MAX77693_STATUS2_VIDRM_SHIFT		7
315*4882a593Smuzhiyun #define MAX77693_STATUS2_CHGTYP_MASK		(0x7 << MAX77693_STATUS2_CHGTYP_SHIFT)
316*4882a593Smuzhiyun #define MAX77693_STATUS2_CHGDETRUN_MASK		BIT(MAX77693_STATUS2_CHGDETRUN_SHIFT)
317*4882a593Smuzhiyun #define MAX77693_STATUS2_DCDTMR_MASK		BIT(MAX77693_STATUS2_DCDTMR_SHIFT)
318*4882a593Smuzhiyun #define MAX77693_STATUS2_DXOVP_MASK		BIT(MAX77693_STATUS2_DXOVP_SHIFT)
319*4882a593Smuzhiyun #define MAX77693_STATUS2_VBVOLT_MASK		BIT(MAX77693_STATUS2_VBVOLT_SHIFT)
320*4882a593Smuzhiyun #define MAX77693_STATUS2_VIDRM_MASK		BIT(MAX77693_STATUS2_VIDRM_SHIFT)
321*4882a593Smuzhiyun 
322*4882a593Smuzhiyun #define MAX77693_STATUS3_OVP_SHIFT		2
323*4882a593Smuzhiyun #define MAX77693_STATUS3_OVP_MASK		BIT(MAX77693_STATUS3_OVP_SHIFT)
324*4882a593Smuzhiyun 
325*4882a593Smuzhiyun /* MAX77693 CDETCTRL1~2 register */
326*4882a593Smuzhiyun #define CDETCTRL1_CHGDETEN_SHIFT	(0)
327*4882a593Smuzhiyun #define CDETCTRL1_CHGTYPMAN_SHIFT	(1)
328*4882a593Smuzhiyun #define CDETCTRL1_DCDEN_SHIFT		(2)
329*4882a593Smuzhiyun #define CDETCTRL1_DCD2SCT_SHIFT		(3)
330*4882a593Smuzhiyun #define CDETCTRL1_CDDELAY_SHIFT		(4)
331*4882a593Smuzhiyun #define CDETCTRL1_DCDCPL_SHIFT		(5)
332*4882a593Smuzhiyun #define CDETCTRL1_CDPDET_SHIFT		(7)
333*4882a593Smuzhiyun #define CDETCTRL1_CHGDETEN_MASK		(0x1 << CDETCTRL1_CHGDETEN_SHIFT)
334*4882a593Smuzhiyun #define CDETCTRL1_CHGTYPMAN_MASK	(0x1 << CDETCTRL1_CHGTYPMAN_SHIFT)
335*4882a593Smuzhiyun #define CDETCTRL1_DCDEN_MASK		(0x1 << CDETCTRL1_DCDEN_SHIFT)
336*4882a593Smuzhiyun #define CDETCTRL1_DCD2SCT_MASK		(0x1 << CDETCTRL1_DCD2SCT_SHIFT)
337*4882a593Smuzhiyun #define CDETCTRL1_CDDELAY_MASK		(0x1 << CDETCTRL1_CDDELAY_SHIFT)
338*4882a593Smuzhiyun #define CDETCTRL1_DCDCPL_MASK		(0x1 << CDETCTRL1_DCDCPL_SHIFT)
339*4882a593Smuzhiyun #define CDETCTRL1_CDPDET_MASK		(0x1 << CDETCTRL1_CDPDET_SHIFT)
340*4882a593Smuzhiyun 
341*4882a593Smuzhiyun #define CDETCTRL2_VIDRMEN_SHIFT		(1)
342*4882a593Smuzhiyun #define CDETCTRL2_DXOVPEN_SHIFT		(3)
343*4882a593Smuzhiyun #define CDETCTRL2_VIDRMEN_MASK		(0x1 << CDETCTRL2_VIDRMEN_SHIFT)
344*4882a593Smuzhiyun #define CDETCTRL2_DXOVPEN_MASK		(0x1 << CDETCTRL2_DXOVPEN_SHIFT)
345*4882a593Smuzhiyun 
346*4882a593Smuzhiyun /* MAX77693 MUIC - CONTROL1~3 register */
347*4882a593Smuzhiyun #define COMN1SW_SHIFT			(0)
348*4882a593Smuzhiyun #define COMP2SW_SHIFT			(3)
349*4882a593Smuzhiyun #define COMN1SW_MASK			(0x7 << COMN1SW_SHIFT)
350*4882a593Smuzhiyun #define COMP2SW_MASK			(0x7 << COMP2SW_SHIFT)
351*4882a593Smuzhiyun #define COMP_SW_MASK			(COMP2SW_MASK | COMN1SW_MASK)
352*4882a593Smuzhiyun #define MAX77693_CONTROL1_SW_USB	((1 << COMP2SW_SHIFT) \
353*4882a593Smuzhiyun 						| (1 << COMN1SW_SHIFT))
354*4882a593Smuzhiyun #define MAX77693_CONTROL1_SW_AUDIO	((2 << COMP2SW_SHIFT) \
355*4882a593Smuzhiyun 						| (2 << COMN1SW_SHIFT))
356*4882a593Smuzhiyun #define MAX77693_CONTROL1_SW_UART	((3 << COMP2SW_SHIFT) \
357*4882a593Smuzhiyun 						| (3 << COMN1SW_SHIFT))
358*4882a593Smuzhiyun #define MAX77693_CONTROL1_SW_OPEN	((0 << COMP2SW_SHIFT) \
359*4882a593Smuzhiyun 						| (0 << COMN1SW_SHIFT))
360*4882a593Smuzhiyun 
361*4882a593Smuzhiyun #define MAX77693_CONTROL2_LOWPWR_SHIFT		0
362*4882a593Smuzhiyun #define MAX77693_CONTROL2_ADCEN_SHIFT		1
363*4882a593Smuzhiyun #define MAX77693_CONTROL2_CPEN_SHIFT		2
364*4882a593Smuzhiyun #define MAX77693_CONTROL2_SFOUTASRT_SHIFT	3
365*4882a593Smuzhiyun #define MAX77693_CONTROL2_SFOUTORD_SHIFT	4
366*4882a593Smuzhiyun #define MAX77693_CONTROL2_ACCDET_SHIFT		5
367*4882a593Smuzhiyun #define MAX77693_CONTROL2_USBCPINT_SHIFT	6
368*4882a593Smuzhiyun #define MAX77693_CONTROL2_RCPS_SHIFT		7
369*4882a593Smuzhiyun #define MAX77693_CONTROL2_LOWPWR_MASK		BIT(MAX77693_CONTROL2_LOWPWR_SHIFT)
370*4882a593Smuzhiyun #define MAX77693_CONTROL2_ADCEN_MASK		BIT(MAX77693_CONTROL2_ADCEN_SHIFT)
371*4882a593Smuzhiyun #define MAX77693_CONTROL2_CPEN_MASK		BIT(MAX77693_CONTROL2_CPEN_SHIFT)
372*4882a593Smuzhiyun #define MAX77693_CONTROL2_SFOUTASRT_MASK	BIT(MAX77693_CONTROL2_SFOUTASRT_SHIFT)
373*4882a593Smuzhiyun #define MAX77693_CONTROL2_SFOUTORD_MASK		BIT(MAX77693_CONTROL2_SFOUTORD_SHIFT)
374*4882a593Smuzhiyun #define MAX77693_CONTROL2_ACCDET_MASK		BIT(MAX77693_CONTROL2_ACCDET_SHIFT)
375*4882a593Smuzhiyun #define MAX77693_CONTROL2_USBCPINT_MASK		BIT(MAX77693_CONTROL2_USBCPINT_SHIFT)
376*4882a593Smuzhiyun #define MAX77693_CONTROL2_RCPS_MASK		BIT(MAX77693_CONTROL2_RCPS_SHIFT)
377*4882a593Smuzhiyun 
378*4882a593Smuzhiyun #define MAX77693_CONTROL3_JIGSET_SHIFT		0
379*4882a593Smuzhiyun #define MAX77693_CONTROL3_BTLDSET_SHIFT		2
380*4882a593Smuzhiyun #define MAX77693_CONTROL3_ADCDBSET_SHIFT	4
381*4882a593Smuzhiyun #define MAX77693_CONTROL3_JIGSET_MASK		(0x3 << MAX77693_CONTROL3_JIGSET_SHIFT)
382*4882a593Smuzhiyun #define MAX77693_CONTROL3_BTLDSET_MASK		(0x3 << MAX77693_CONTROL3_BTLDSET_SHIFT)
383*4882a593Smuzhiyun #define MAX77693_CONTROL3_ADCDBSET_MASK		(0x3 << MAX77693_CONTROL3_ADCDBSET_SHIFT)
384*4882a593Smuzhiyun 
385*4882a593Smuzhiyun /* Slave addr = 0x90: Haptic */
386*4882a593Smuzhiyun enum max77693_haptic_reg {
387*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_STATUS		= 0x00,
388*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG1		= 0x01,
389*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG2		= 0x02,
390*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_CHNL		= 0x03,
391*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFG_CYC1		= 0x04,
392*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFG_CYC2		= 0x05,
393*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PER1		= 0x06,
394*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PER2		= 0x07,
395*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PER3		= 0x08,
396*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PER4		= 0x09,
397*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_DUTY1	= 0x0A,
398*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_DUTY2	= 0x0B,
399*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PWM1		= 0x0C,
400*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PWM2		= 0x0D,
401*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PWM3		= 0x0E,
402*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_CONFIG_PWM4		= 0x0F,
403*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_REV			= 0x10,
404*4882a593Smuzhiyun 
405*4882a593Smuzhiyun 	MAX77693_HAPTIC_REG_END,
406*4882a593Smuzhiyun };
407*4882a593Smuzhiyun 
408*4882a593Smuzhiyun /* max77693-pmic LSCNFG configuraton register */
409*4882a593Smuzhiyun #define MAX77693_PMIC_LOW_SYS_MASK      0x80
410*4882a593Smuzhiyun #define MAX77693_PMIC_LOW_SYS_SHIFT     7
411*4882a593Smuzhiyun 
412*4882a593Smuzhiyun /* max77693-haptic configuration register */
413*4882a593Smuzhiyun #define MAX77693_CONFIG2_MODE           7
414*4882a593Smuzhiyun #define MAX77693_CONFIG2_MEN            6
415*4882a593Smuzhiyun #define MAX77693_CONFIG2_HTYP           5
416*4882a593Smuzhiyun 
417*4882a593Smuzhiyun enum max77693_irq_source {
418*4882a593Smuzhiyun 	LED_INT = 0,
419*4882a593Smuzhiyun 	TOPSYS_INT,
420*4882a593Smuzhiyun 	CHG_INT,
421*4882a593Smuzhiyun 	MUIC_INT1,
422*4882a593Smuzhiyun 	MUIC_INT2,
423*4882a593Smuzhiyun 	MUIC_INT3,
424*4882a593Smuzhiyun 
425*4882a593Smuzhiyun 	MAX77693_IRQ_GROUP_NR,
426*4882a593Smuzhiyun };
427*4882a593Smuzhiyun 
428*4882a593Smuzhiyun #define SRC_IRQ_CHARGER			BIT(0)
429*4882a593Smuzhiyun #define SRC_IRQ_TOP			BIT(1)
430*4882a593Smuzhiyun #define SRC_IRQ_FLASH			BIT(2)
431*4882a593Smuzhiyun #define SRC_IRQ_MUIC			BIT(3)
432*4882a593Smuzhiyun #define SRC_IRQ_ALL			(SRC_IRQ_CHARGER | SRC_IRQ_TOP \
433*4882a593Smuzhiyun 						| SRC_IRQ_FLASH | SRC_IRQ_MUIC)
434*4882a593Smuzhiyun 
435*4882a593Smuzhiyun #define LED_IRQ_FLED2_OPEN		BIT(0)
436*4882a593Smuzhiyun #define LED_IRQ_FLED2_SHORT		BIT(1)
437*4882a593Smuzhiyun #define LED_IRQ_FLED1_OPEN		BIT(2)
438*4882a593Smuzhiyun #define LED_IRQ_FLED1_SHORT		BIT(3)
439*4882a593Smuzhiyun #define LED_IRQ_MAX_FLASH		BIT(4)
440*4882a593Smuzhiyun 
441*4882a593Smuzhiyun #define TOPSYS_IRQ_T120C_INT		BIT(0)
442*4882a593Smuzhiyun #define TOPSYS_IRQ_T140C_INT		BIT(1)
443*4882a593Smuzhiyun #define TOPSYS_IRQ_LOWSYS_INT		BIT(3)
444*4882a593Smuzhiyun 
445*4882a593Smuzhiyun #define CHG_IRQ_BYP_I			BIT(0)
446*4882a593Smuzhiyun #define CHG_IRQ_THM_I			BIT(2)
447*4882a593Smuzhiyun #define CHG_IRQ_BAT_I			BIT(3)
448*4882a593Smuzhiyun #define CHG_IRQ_CHG_I			BIT(4)
449*4882a593Smuzhiyun #define CHG_IRQ_CHGIN_I			BIT(6)
450*4882a593Smuzhiyun 
451*4882a593Smuzhiyun #define MUIC_IRQ_INT1_ADC		BIT(0)
452*4882a593Smuzhiyun #define MUIC_IRQ_INT1_ADC_LOW		BIT(1)
453*4882a593Smuzhiyun #define MUIC_IRQ_INT1_ADC_ERR		BIT(2)
454*4882a593Smuzhiyun #define MUIC_IRQ_INT1_ADC1K		BIT(3)
455*4882a593Smuzhiyun 
456*4882a593Smuzhiyun #define MUIC_IRQ_INT2_CHGTYP		BIT(0)
457*4882a593Smuzhiyun #define MUIC_IRQ_INT2_CHGDETREUN	BIT(1)
458*4882a593Smuzhiyun #define MUIC_IRQ_INT2_DCDTMR		BIT(2)
459*4882a593Smuzhiyun #define MUIC_IRQ_INT2_DXOVP		BIT(3)
460*4882a593Smuzhiyun #define MUIC_IRQ_INT2_VBVOLT		BIT(4)
461*4882a593Smuzhiyun #define MUIC_IRQ_INT2_VIDRM		BIT(5)
462*4882a593Smuzhiyun 
463*4882a593Smuzhiyun #define MUIC_IRQ_INT3_EOC		BIT(0)
464*4882a593Smuzhiyun #define MUIC_IRQ_INT3_CGMBC		BIT(1)
465*4882a593Smuzhiyun #define MUIC_IRQ_INT3_OVP		BIT(2)
466*4882a593Smuzhiyun #define MUIC_IRQ_INT3_MBCCHG_ERR	BIT(3)
467*4882a593Smuzhiyun #define MUIC_IRQ_INT3_CHG_ENABLED	BIT(4)
468*4882a593Smuzhiyun #define MUIC_IRQ_INT3_BAT_DET		BIT(5)
469*4882a593Smuzhiyun 
470*4882a593Smuzhiyun enum max77693_irq {
471*4882a593Smuzhiyun 	/* PMIC - FLASH */
472*4882a593Smuzhiyun 	MAX77693_LED_IRQ_FLED2_OPEN,
473*4882a593Smuzhiyun 	MAX77693_LED_IRQ_FLED2_SHORT,
474*4882a593Smuzhiyun 	MAX77693_LED_IRQ_FLED1_OPEN,
475*4882a593Smuzhiyun 	MAX77693_LED_IRQ_FLED1_SHORT,
476*4882a593Smuzhiyun 	MAX77693_LED_IRQ_MAX_FLASH,
477*4882a593Smuzhiyun 
478*4882a593Smuzhiyun 	/* PMIC - TOPSYS */
479*4882a593Smuzhiyun 	MAX77693_TOPSYS_IRQ_T120C_INT,
480*4882a593Smuzhiyun 	MAX77693_TOPSYS_IRQ_T140C_INT,
481*4882a593Smuzhiyun 	MAX77693_TOPSYS_IRQ_LOWSYS_INT,
482*4882a593Smuzhiyun 
483*4882a593Smuzhiyun 	/* PMIC - Charger */
484*4882a593Smuzhiyun 	MAX77693_CHG_IRQ_BYP_I,
485*4882a593Smuzhiyun 	MAX77693_CHG_IRQ_THM_I,
486*4882a593Smuzhiyun 	MAX77693_CHG_IRQ_BAT_I,
487*4882a593Smuzhiyun 	MAX77693_CHG_IRQ_CHG_I,
488*4882a593Smuzhiyun 	MAX77693_CHG_IRQ_CHGIN_I,
489*4882a593Smuzhiyun 
490*4882a593Smuzhiyun 	MAX77693_IRQ_NR,
491*4882a593Smuzhiyun };
492*4882a593Smuzhiyun 
493*4882a593Smuzhiyun enum max77693_irq_muic {
494*4882a593Smuzhiyun 	/* MUIC INT1 */
495*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT1_ADC,
496*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT1_ADC_LOW,
497*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT1_ADC_ERR,
498*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT1_ADC1K,
499*4882a593Smuzhiyun 
500*4882a593Smuzhiyun 	/* MUIC INT2 */
501*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_CHGTYP,
502*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_CHGDETREUN,
503*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_DCDTMR,
504*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_DXOVP,
505*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_VBVOLT,
506*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT2_VIDRM,
507*4882a593Smuzhiyun 
508*4882a593Smuzhiyun 	/* MUIC INT3 */
509*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_EOC,
510*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_CGMBC,
511*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_OVP,
512*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_MBCCHG_ERR,
513*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_CHG_ENABLED,
514*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_INT3_BAT_DET,
515*4882a593Smuzhiyun 
516*4882a593Smuzhiyun 	MAX77693_MUIC_IRQ_NR,
517*4882a593Smuzhiyun };
518*4882a593Smuzhiyun 
519*4882a593Smuzhiyun #endif /*  __LINUX_MFD_MAX77693_PRIV_H */
520