1b95aacd3SŁukasz Majewski /* 2b95aacd3SŁukasz Majewski * Copyright (C) 2012 Samsung Electronics 3b95aacd3SŁukasz Majewski * Lukasz Majewski <l.majewski@samsung.com> 4b95aacd3SŁukasz Majewski * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6b95aacd3SŁukasz Majewski */ 7b95aacd3SŁukasz Majewski 8b95aacd3SŁukasz Majewski #ifndef __MAX17042_FG_H_ 9b95aacd3SŁukasz Majewski #define __MAX17042_FG_H_ 10b95aacd3SŁukasz Majewski 11b95aacd3SŁukasz Majewski /* MAX 17042 registers */ 12b95aacd3SŁukasz Majewski enum { 13b95aacd3SŁukasz Majewski MAX17042_STATUS = 0x00, 14b95aacd3SŁukasz Majewski MAX17042_SOCREP = 0x06, 15b95aacd3SŁukasz Majewski MAX17042_VCELL = 0x09, 16b95aacd3SŁukasz Majewski MAX17042_CURRENT = 0x0A, 17b95aacd3SŁukasz Majewski MAX17042_AVG_CURRENT = 0x0B, 18b95aacd3SŁukasz Majewski MAX17042_SOCMIX = 0x0D, 19b95aacd3SŁukasz Majewski MAX17042_SOCAV = 0x0E, 20b95aacd3SŁukasz Majewski MAX17042_DESIGN_CAP = 0x18, 21b95aacd3SŁukasz Majewski MAX17042_AVG_VCELL = 0x19, 22b95aacd3SŁukasz Majewski MAX17042_CONFIG = 0x1D, 23b95aacd3SŁukasz Majewski MAX17042_VERSION = 0x21, 24b95aacd3SŁukasz Majewski MAX17042_LEARNCFG = 0x28, 25b95aacd3SŁukasz Majewski MAX17042_FILTERCFG = 0x29, 26b95aacd3SŁukasz Majewski MAX17042_RELAXCFG = 0x2A, 27b95aacd3SŁukasz Majewski MAX17042_MISCCFG = 0x2B, 28b95aacd3SŁukasz Majewski MAX17042_CGAIN = 0x2E, 29b95aacd3SŁukasz Majewski MAX17042_COFF = 0x2F, 30b95aacd3SŁukasz Majewski MAX17042_RCOMP0 = 0x38, 31b95aacd3SŁukasz Majewski MAX17042_TEMPCO = 0x39, 32b95aacd3SŁukasz Majewski MAX17042_FSTAT = 0x3D, 33b95aacd3SŁukasz Majewski MAX17042_MLOCKReg1 = 0x62, 34b95aacd3SŁukasz Majewski MAX17042_MLOCKReg2 = 0x63, 35b95aacd3SŁukasz Majewski MAX17042_MODEL1 = 0x80, 36b95aacd3SŁukasz Majewski MAX17042_MODEL2 = 0x90, 37b95aacd3SŁukasz Majewski MAX17042_MODEL3 = 0xA0, 38b95aacd3SŁukasz Majewski MAX17042_VFOCV = 0xFB, 39b95aacd3SŁukasz Majewski MAX17042_VFSOC = 0xFF, 40b95aacd3SŁukasz Majewski 41b95aacd3SŁukasz Majewski FG_NUM_OF_REGS = 0x100, 42b95aacd3SŁukasz Majewski }; 43b95aacd3SŁukasz Majewski 44b95aacd3SŁukasz Majewski #define RCOMP0 0x0060 45b95aacd3SŁukasz Majewski #define TempCo 0x1015 46b95aacd3SŁukasz Majewski 47b95aacd3SŁukasz Majewski 48b95aacd3SŁukasz Majewski #define MAX17042_POR (1 << 1) 49b95aacd3SŁukasz Majewski 50b95aacd3SŁukasz Majewski #define MODEL_UNLOCK1 0x0059 51b95aacd3SŁukasz Majewski #define MODEL_UNLOCK2 0x00c4 52b95aacd3SŁukasz Majewski #define MODEL_LOCK1 0x0000 53b95aacd3SŁukasz Majewski #define MODEL_LOCK2 0x0000 54b95aacd3SŁukasz Majewski 55b95aacd3SŁukasz Majewski #define MAX17042_I2C_ADDR (0x6C >> 1) 56b95aacd3SŁukasz Majewski 57b95aacd3SŁukasz Majewski int power_fg_init(unsigned char bus); 58b95aacd3SŁukasz Majewski #endif /* __MAX17042_FG_H_ */ 59