blob: 147b1219923dfeeba1117d0dd417888aa05d54a0 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Battery device tree entries
*
* Copyright 2020 Google LLC
*
*/
/* R3 ini: @ b/147700292 */
maxim,config {
maxim,r3-default-0k {
maxim,batt-id-kohm = <0>;
maxim,model-version = <1>;
maxim,fg-model = /bits/ 16 <
0x8e70 0x8ed0 0xb6f0 0xb8c0 0xbaa0 0xbbf0 0xbd40 0xbe60
0xbfa0 0xc180 0xc370 0xc680 0xc7f0 0xcfc0 0xd5c0 0xdc70
0x0020 0x0070 0x0f00 0x1000 0x10c0 0x1250 0x1790 0x17f0
0x0bf0 0x0bc0 0x0790 0x07f0 0x0750 0x06b0 0x06d0 0x06d0
0x2000 0x2000 0x2000 0x2000 0x2000 0x2000 0x2000 0x2000
0x2000 0x2000 0x2000 0x2000 0x2000 0x2000 0x2000 0x2000
>;
maxim,fg-params = /bits/ 16 <
/* 0x0036 */ 0xf060 /* nIAvgEmpty -> IAvgEmpty */
/* 0x002a */ 0x2039 /* nRelaxCFG -> RelaxCFG */
/* 0x0028 */ 0x2602 /* nLearnCFG -> LearnCFG */
/* 0x001D */ 0x7214 /* Config: */
/* 0x00BB */ 0x0090 /* Config2: OCVQen|DSOCIi */
/* 0x0013 */ 0x5a00 /* nFullSOCThr -> FullSOCThr*/
/* 0x0035 */ 0x0FA0 /* nFullCapRep: 4000 */
/* 0x0018 */ 0x0FA0 /* nDesignCap: 4000 */
/* 0x0046 */ 0x0c80 /* dPacc - 0xc80 for dQaCC=200%, 0x190 for dQaCC=25% */
/* 0x0045 */ 0x07d1 /* dQacc - nFullCapNom/2 == 200%, slow convergence,
- nFullCapNom/16 == 25% */
/* 0x0023 */ 0x0FA2 /* nFullCapNom */
/* 0x003A */ 0x965A /* nVEmpty */
/* 0x0012 */ 0x2280 /* nQRTable00 -> QResidual00 */
/* 0x0022 */ 0x1000 /* nQRTable10 -> QResidual10 */
/* 0x0032 */ 0x0681 /* nQRTable20 -> QResidual20 */
/* 0x0042 */ 0x0682 /* nQRTable30 -> QResidual30 */
/* 0x0038 */ 0x003d /* nRcomp0 */
/* 0x0039 */ 0x193b /* nTempco */
/* 0x001E */ 0x0280 /* ICHGTerm */
/* 0x002C */ 0xed51 /* *TGain */
/* 0x002D */ 0x1eba /* *TOFF */
/* 0x00B9 */ 0x0014 /* *TCurve */
/* 0x002B */ 0x09d0 /* *nMiscCfg */
/* 0x0004 */ 0x0000 /* AtRate @ 0x04 */
/* 0x0049 */ 0x2241 /* ConvCFG */
/* 0x0029 */ 0xceb4 /* FilterCFG */
/* 0x003c */ 0x1680 /* TaskPeriod */
>;
};
/* COS: 2733 (b/156053400) */
maxim,r3-default-2k {
maxim,batt-id-kohm = <2>;
maxim,model-version = <1>;
maxim,fg-model = /bits/ 16 <
0x8e70 0x8ed0 0xb6f0 0xb8c0 0xbaa0 0xbbf0 0xbd40 0xbe60
0xbfa0 0xc180 0xc370 0xc680 0xc7f0 0xcfc0 0xd5c0 0xdc70
0x0020 0x0070 0x0f00 0x1000 0x10c0 0x1250 0x1790 0x17f0
0x0bf0 0x0bc0 0x0790 0x07f0 0x0750 0x06b0 0x06d0 0x06d0
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
>;
maxim,fg-params = /bits/ 16 <
/* 0x0036 */ 0x0CDC /* IAvgEmpty */
/* 0x002a */ 0x2039 /* RelaxCFG */
/* 0x0028 */ 0x2606 /* LearnCFG */
/* 0x001D */ 0x4217 /* Config: */
/* 0x00BB */ 0x0090 /* Config2 */
/* 0x0013 */ 0x5f00 /* FullSOCThr*/
/* 0x0035 */ 0x1000 /* FullCapRep */
/* 0x0018 */ 0x1013 /* nDesignCap */
/* 0x0046 */ 0x0c80 /* dPacc - 200% */
/* 0x0045 */ 0x0100 /* dQacc - FullCapNom >> 4 */
/* 0x0023 */ 0x1000 /* nFullCapNom */
/* 0x003A */ 0xA561 /* nVEmpty */
/* 0x0012 */ 0x2804 /* QResidual00 */
/* 0x0022 */ 0x1282 /* QResidual10 */
/* 0x0032 */ 0x0800 /* QResidual20 */
/* 0x0042 */ 0x0780 /* QResidual30 */
/* 0x0038 */ 0x003d /* Rcomp0 */
/* 0x0039 */ 0x193b /* Tempco */
/* 0x001E */ 0x0280 /* ICHGTerm */
/* 0x002C */ 0xed51 /* *TGain */
/* 0x002D */ 0x1eba /* *TOFF */
/* 0x00B9 */ 0x0014 /* *TCurve */
/* 0x002B */ 0x3870 /* nMiscCfg */
/* 0x0004 */ 0x0000 /* AtRate @ 0x04 */
/* 0x0049 */ 0x2241 /* ConvCFG */
/* 0x0029 */ 0xceb4 /* FilterCFG */
/* 0x003c */ 0x1680 /* TaskPeriod */
>;
};
/* LSN: 2729 (b/156053831) */
maxim,r3-default-a0-3k {
maxim,batt-id-kohm = <3>;
maxim,model-version = <1>;
maxim,fg-model = /bits/ 16 <
0x7fc0 0x8030 0xb600 0xb950 0xba70 0xbc10 0xbcf0 0xbec0
0xc0f0 0xc2e0 0xc520 0xc9a0 0xcd50 0xd120 0xd720 0xdc90
0x0020 0x0030 0x0a00 0x1820 0x0ec0 0x1790 0x16a0 0x10d0
0x0ab0 0x0ad0 0x06f0 0x0870 0x05d0 0x0720 0x0620 0x0620
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
>;
maxim,fg-params = /bits/ 16 <
/* 0x0036 */ 0x0CDC /* IAvgEmpty */
/* 0x002a */ 0x2039 /* RelaxCFG */
/* 0x0028 */ 0x2606 /* LearnCFG */
/* 0x001D */ 0x4217 /* Config: */
/* 0x00BB */ 0x0090 /* Config2 */
/* 0x0013 */ 0x5f00 /* FullSOCThr*/
/* 0x0035 */ 0x1012 /* FullCapRep */
/* 0x0018 */ 0x1013 /* nDesignCap */
/* 0x0046 */ 0x0c80 /* dPacc - 200% */
/* 0x0045 */ 0x0101 /* dQacc - FullCapNom >> 4 */
/* 0x0023 */ 0x1012 /* nFullCapNom */
/* 0x003A */ 0xA561 /* nVEmpty */
/* 0x0012 */ 0x2702 /* QResidual00 */
/* 0x0022 */ 0x1200 /* QResidual10 */
/* 0x0032 */ 0x0680 /* QResidual20 */
/* 0x0042 */ 0x0500 /* QResidual30 */
/* 0x0038 */ 0x0038 /* Rcomp0 */
/* 0x0039 */ 0x1534 /* Tempco */
/* 0x001E */ 0x0280 /* ICHGTerm */
/* 0x002C */ 0xed51 /* *TGain */
/* 0x002D */ 0x1eba /* *TOFF */
/* 0x00B9 */ 0x0014 /* *TCurve */
/* 0x002B */ 0x3870 /* nMiscCfg */
/* 0x0004 */ 0x0000 /* AtRate @ 0x04 */
/* 0x0049 */ 0x2241 /* ConvCFG */
/* 0x0029 */ 0xceb4 /* FilterCFG */
/* 0x003c */ 0x1680 /* TaskPeriod */
>;
};
/*
* 2729
* R3 ini:
* MODEL: Write16Registers(0x80)
* Write16Registers(0x90)
* Write16Registers(0xA0)
*/
maxim,r3-default-a1-3k {
maxim,batt-id-kohm = <3>;
maxim,model-version = <1>;
maxim,fg-model = /bits/ 16 <
0x7dd0 0x9ae0 0xb770 0xb8d0 0xba90 0xbc00 0xbcf0 0xbe90
0xc0b0 0xc280 0xc520 0xc930 0xcbb0 0xd040 0xd720 0xdbe0
0x0020 0x0090 0x1220 0x1240 0x0bf0 0x1840 0x17f0 0x11a0
0x0be0 0x08a0 0x07e0 0x0890 0x06e0 0x0620 0x0700 0x0700
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
>;
maxim,fg-params = /bits/ 16 <
/* 0x0036 */ 0x0CDC /* IAvgEmpty */
/* 0x002a */ 0x2039 /* RelaxCFG */
/* 0x0028 */ 0x2606 /* LearnCFG */
/* 0x001D */ 0x4217 /* Config: */
/* 0x00BB */ 0x0090 /* Config2 */
/* 0x0013 */ 0x5f00 /* FullSOCThr*/
/* 0x0035 */ 0x1012 /* FullCapRep */
/* 0x0018 */ 0x1013 /* nDesignCap */
/* 0x0046 */ 0x0c80 /* dPacc - 200% */
/* 0x0045 */ 0x0101 /* dQacc - FullCapNom >> 4 */
/* 0x0023 */ 0x1012 /* nFullCapNom */
/* 0x003A */ 0xA561 /* nVEmpty */
/* 0x0012 */ 0x2d00 /* QResidual00 */
/* 0x0022 */ 0x1480 /* QResidual10 */
/* 0x0032 */ 0x0800 /* QResidual20 */
/* 0x0042 */ 0x0780 /* QResidual30 */
/* 0x0038 */ 0x08A0 /* Rcomp0 */
/* 0x0039 */ 0x1030 /* Tempco */
/* 0x001E */ 0x0280 /* ICHGTerm */
/* 0x002C */ 0xed51 /* *TGain */
/* 0x002D */ 0x1eba /* *TOFF */
/* 0x00B9 */ 0x0014 /* *TCurve */
/* 0x002B */ 0x3870 /* nMiscCfg */
/* 0x0004 */ 0x0000 /* AtRate @ 0x04 */
/* 0x0049 */ 0x2241 /* ConvCFG */
/* 0x0029 */ 0xceb4 /* FilterCFG */
/* 0x003c */ 0x1680 /* TaskPeriod */
>;
};
};