xref: /rk3399_rockchip-uboot/include/power/max17042_fg.h (revision b95aacd332cde91299cf05e1a87dc6d7de545adb)
1*b95aacd3SŁukasz Majewski /*
2*b95aacd3SŁukasz Majewski  *  Copyright (C) 2012 Samsung Electronics
3*b95aacd3SŁukasz Majewski  *  Lukasz Majewski <l.majewski@samsung.com>
4*b95aacd3SŁukasz Majewski  *
5*b95aacd3SŁukasz Majewski  * See file CREDITS for list of people who contributed to this
6*b95aacd3SŁukasz Majewski  * project.
7*b95aacd3SŁukasz Majewski  *
8*b95aacd3SŁukasz Majewski  * This program is free software; you can redistribute it and/or
9*b95aacd3SŁukasz Majewski  * modify it under the terms of the GNU General Public License as
10*b95aacd3SŁukasz Majewski  * published by the Free Software Foundation; either version 2 of
11*b95aacd3SŁukasz Majewski  * the License, or (at your option) any later version.
12*b95aacd3SŁukasz Majewski  *
13*b95aacd3SŁukasz Majewski  * This program is distributed in the hope that it will be useful,
14*b95aacd3SŁukasz Majewski  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15*b95aacd3SŁukasz Majewski  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16*b95aacd3SŁukasz Majewski  * GNU General Public License for more details.
17*b95aacd3SŁukasz Majewski  *
18*b95aacd3SŁukasz Majewski  * You should have received a copy of the GNU General Public License
19*b95aacd3SŁukasz Majewski  * along with this program; if not, write to the Free Software
20*b95aacd3SŁukasz Majewski  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21*b95aacd3SŁukasz Majewski  * MA 02111-1307 USA
22*b95aacd3SŁukasz Majewski  */
23*b95aacd3SŁukasz Majewski 
24*b95aacd3SŁukasz Majewski #ifndef __MAX17042_FG_H_
25*b95aacd3SŁukasz Majewski #define __MAX17042_FG_H_
26*b95aacd3SŁukasz Majewski 
27*b95aacd3SŁukasz Majewski /* MAX 17042 registers */
28*b95aacd3SŁukasz Majewski enum {
29*b95aacd3SŁukasz Majewski 	MAX17042_STATUS         = 0x00,
30*b95aacd3SŁukasz Majewski 	MAX17042_SOCREP         = 0x06,
31*b95aacd3SŁukasz Majewski 	MAX17042_VCELL          = 0x09,
32*b95aacd3SŁukasz Majewski 	MAX17042_CURRENT        = 0x0A,
33*b95aacd3SŁukasz Majewski 	MAX17042_AVG_CURRENT	= 0x0B,
34*b95aacd3SŁukasz Majewski 	MAX17042_SOCMIX	= 0x0D,
35*b95aacd3SŁukasz Majewski 	MAX17042_SOCAV		= 0x0E,
36*b95aacd3SŁukasz Majewski 	MAX17042_DESIGN_CAP	= 0x18,
37*b95aacd3SŁukasz Majewski 	MAX17042_AVG_VCELL	= 0x19,
38*b95aacd3SŁukasz Majewski 	MAX17042_CONFIG	= 0x1D,
39*b95aacd3SŁukasz Majewski 	MAX17042_VERSION	= 0x21,
40*b95aacd3SŁukasz Majewski 	MAX17042_LEARNCFG       = 0x28,
41*b95aacd3SŁukasz Majewski 	MAX17042_FILTERCFG	= 0x29,
42*b95aacd3SŁukasz Majewski 	MAX17042_RELAXCFG	= 0x2A,
43*b95aacd3SŁukasz Majewski 	MAX17042_MISCCFG	= 0x2B,
44*b95aacd3SŁukasz Majewski 	MAX17042_CGAIN		= 0x2E,
45*b95aacd3SŁukasz Majewski 	MAX17042_COFF		= 0x2F,
46*b95aacd3SŁukasz Majewski 	MAX17042_RCOMP0	= 0x38,
47*b95aacd3SŁukasz Majewski 	MAX17042_TEMPCO	= 0x39,
48*b95aacd3SŁukasz Majewski 	MAX17042_FSTAT		= 0x3D,
49*b95aacd3SŁukasz Majewski 	MAX17042_MLOCKReg1	= 0x62,
50*b95aacd3SŁukasz Majewski 	MAX17042_MLOCKReg2	= 0x63,
51*b95aacd3SŁukasz Majewski 	MAX17042_MODEL1         = 0x80,
52*b95aacd3SŁukasz Majewski 	MAX17042_MODEL2         = 0x90,
53*b95aacd3SŁukasz Majewski 	MAX17042_MODEL3         = 0xA0,
54*b95aacd3SŁukasz Majewski 	MAX17042_VFOCV		= 0xFB,
55*b95aacd3SŁukasz Majewski 	MAX17042_VFSOC		= 0xFF,
56*b95aacd3SŁukasz Majewski 
57*b95aacd3SŁukasz Majewski 	FG_NUM_OF_REGS = 0x100,
58*b95aacd3SŁukasz Majewski };
59*b95aacd3SŁukasz Majewski 
60*b95aacd3SŁukasz Majewski #define RCOMP0			0x0060
61*b95aacd3SŁukasz Majewski #define TempCo			0x1015
62*b95aacd3SŁukasz Majewski 
63*b95aacd3SŁukasz Majewski 
64*b95aacd3SŁukasz Majewski #define MAX17042_POR (1 << 1)
65*b95aacd3SŁukasz Majewski 
66*b95aacd3SŁukasz Majewski #define MODEL_UNLOCK1		0x0059
67*b95aacd3SŁukasz Majewski #define MODEL_UNLOCK2		0x00c4
68*b95aacd3SŁukasz Majewski #define MODEL_LOCK1		0x0000
69*b95aacd3SŁukasz Majewski #define MODEL_LOCK2		0x0000
70*b95aacd3SŁukasz Majewski 
71*b95aacd3SŁukasz Majewski #define MAX17042_I2C_ADDR	(0x6C >> 1)
72*b95aacd3SŁukasz Majewski 
73*b95aacd3SŁukasz Majewski int power_fg_init(unsigned char bus);
74*b95aacd3SŁukasz Majewski #endif /* __MAX17042_FG_H_ */
75