Source code for philander.max77960_reg

"""Register definition for the MAX77960 USB battery charger.
    
Definition of registers, content masks and default values for the
above mentioined chip.
Externalized, just for clarity of the source code.
"""
__author__ = "Oliver Maye"
__version__ = "0.1"
__all__ = ["MAX77960_Reg"]


[docs] class MAX77960_Reg: # Definition of registers and register content. # TOP REG_CID = 0x00 CID_REVISION = 0xE0 # Silicon Revision CID_VERSION = 0x1F # OTP Recipe Version CID_REV_5 = 0xA0 # silicon revision = 5 CID_REV_6 = 0xC0 # silicon revision = 6 CID_REV_MIN = CID_REV_5 # Minimum known silicon revision that this driver is made for. CID_REV_MAX = CID_REV_6 # Maximum known silicon revision that this driver is made for. CID_MAX7796x = CID_REV_5 # MAX77960 CID_MAX7796xB = CID_REV_6 # MAX77960B REG_SWRST = 0x01 SWRST_TYPE_O = 0xA5 # Reset Type O registers SWRST_NONE = 0x00 # No reset SWRST_DEFAULT = SWRST_NONE REG_TOP_INT = 0x02 TSHDN_I = 0x04 # Thermal shutdown interrupt SYSOVLO_I = 0x02 # SYSOVLO interrupt SYSUVLO_I = 0x01 # SYSUVLO interrupt REG_TOP_INT_MASK = 0x03 TSHDN_M = 0x04 # Thermal shutdown interrupt masked SYSOVLO_M = 0x02 # SYSOVLO interrupt masked SYSUVLO_M = 0x01 # SYSUVLO interrupt masked TOP_INT_MASK_ALL = 0x07 TOP_INT_MASK_NONE= 0x00 TOP_INT_MASK_DEFAULT = 0xFF REG_TOP_INT_OK = 0x04 TSHDN_OK = 0x04 # Device in thermal shutdown SYSOVLO_OK = 0x02 # SYS voltage above (0) / below (1) SYSOVLO SYSUVLO_OK = 0x01 # SYS coltage below (0) / above (1) SYSUVLO # CHARGER_FUNC REG_CHG_INT = 0x10 AICL_I = 0x80 # AICL interrupt; AICL_OK changed since last read CHGIN_I = 0x40 # CHGIN interrupt; CHGIN_OK changed B2SOVRC_I = 0x20 # B2SOVRC interrupt; B2SOVRC changed CHG_I = 0x10 # Charger interrupt; CHG_OK changed BAT_I = 0x08 # Battery interrupt; BAT_OK changed CHGINLIM_I = 0x04 # CHGINLIM interrupt; CHGINLIM_OK changed DISQBAT_I = 0x02 # DISQBAT interrupt; DISQBAT_OK changed OTG_PLIM_I = 0x01 # OTG/PLIM interrupt; OTG_OK (Mode=0xA) or PLIM_OK changed REG_CHG_INT_MASK = 0x11 AICL_M = 0x80 # AICL interrupt masked CHGIN_M = 0x40 # CHGIN interrupt masked B2SOVRC_M = 0x20 # B2SOVRC interrupt masked CHG_M = 0x10 # Charger interrupt masked BAT_M = 0x08 # Battery interrupt masked CHGINLIM_M = 0x04 # CHGINLIM interrupt masked DISQBAT_M = 0x02 # DISQBAT interrupt masked OTG_PLIM_M = 0x01 # OTG/PLIM interrupt masked CHG_INT_MASK_ALL = 0xFF CHG_INT_MASK_NONE= 0x00 CHG_INT_MASK_DEFAULT = 0xFF REG_CHG_INT_OK = 0x12 AICL_OK = 0x80 # Not in AICL mode CHGIN_OK = 0x40 # CHGIN input valid; CHGIN_DTLS=3 B2SOVRC_OK = 0x20 # BATT to SYS within current limit CHG_OK = 0x10 # Charger OK or off BAT_OK = 0x08 # Battery OK; BAT_DTLS=0x03 or 0x07 CHGINLIM_OK = 0x04 # CHGIN input within current limit DISQBAT_OK = 0x02 # DISQBAT low and DISIBS is 0 while QBAT is not disabled OTG_PLIM_OK = 0x01 # OTG operation OK (Mode=0x0A); Buck-boost within current limit. REG_CHG_DETAILS_00 = 0x13 CHGIN_DTLS = 0x60 # CHGIN Details as follows: CHGIN_DTLS_TOO_LOW = 0x00 # VBUS is invalid; V_CHGIN < V_CHGIN_UVLO CHGIN_DTLS_RSVD = 0x20 # Reserved CHGIN_DTLS_TOO_HIGH= 0x40 # VBUS is invalid; V_CHGIN > V_CHGIN_OVLO CHGIN_DTLS_GOOD = 0x60 # VBUS is valid; V_CHGIN_UVLO < V_CHGIN < V_CHGIN_OVLO OTG_DTLS = 0x18 # OTG Details as follows: OTG_DTLS_UNDERVOLT = 0x00 # OTG output in undervoltage; V_CHGIN < V_OTG_UVLO OTG_DTLS_OTG_GOOD = 0x08 # OTG output within limit OTG_ILIM OTG_DTLS_OVERVOLT= 0x10 # OTG output in overvoltage; V_CHGIN > V_OTG_OVLO OTG_DTLS_ILIM = 0x18 # OTG disabled or output is valid but not in current limit. QB_DTLS = 0x01 # QBAT details QB_DTLS_ON = 0x01 # QBAT is on. QB_DTLS_OFF = 0x00 # QBAT is off. REG_CHG_DETAILS_01 = 0x14 TREG = 0x80 # Temperature regulation status TREG_HIGH = 0x80 # Junction temperature higher than REGTEMP; folding back charge current TREG_GOOD = 0x00 # Junction temperature less than REGTEMP BAT_DTLS = 0x70 # Battery details as follows: BAT_DTLS_REMOVAL = 0x00 # Battery removal detected on THM pin. BAT_DTLS_BELOW_PREQ= 0x10 # V_BATT < V_PRECHG; below prequal. BAT_DTLS_TIME_OUT= 0x20 # Charging takes longer than expected. Possibly due to high system currents, old/damaged battery. Charging suspended. BAT_DTLS_OK = 0x30 # Battery OK and (VSYSMIN - 500mV) < VBATT, QBAT is on and VSYS is approximately equal to VBATT. BAT_DTLS_LOW_VOLT= 0x40 # Battery OK but its voltage is low: VPRECHG < VBATT < VSYSMIN - 500mV. BAT_DTLS_OVR_VOLT= 0x50 # Battery voltage has been greater than the battery overvoltage threshold (CHG_CV_PRM + 240mV/cell) for the last 30ms. Valid input. BAT_DTLS_OVR_CURR= 0x60 # Battery has been overcurrent for at least 3ms since the last time this register has been read. BAT_DTLS_NO_LEVEL= 0x70 # Battery level not available. In battery only mode, all battery comparators are off except for B2SOVRC. CHG_DTLS = 0x0F # Charger details as follows: CHG_DTLS_PRECHRG = 0x00 # Charger is in precharge or trickle charge mode CHG_OK = 1 and VBATT < VSYSMIN - 500mV and TJ < TSHDN CHG_DTLS_FAST_CURR = 0x01 # Charger is in fast-charge constant current mode CHG_OK = 1 and VBATT < VBATTREG and TJ < TSHDN CHG_DTLS_FAST_VOLT = 0x02 # Charger is in fast-charge constant voltage mode CHG_OK = 1 and VBATT = VBATTREG and TJ < TSHDN CHG_DTLS_TOP_OFF = 0x03 # Charger is in top-off mode CHG_OK = 1 and VBATT = VBATTREG and TJ < TSHDN CHG_DTLS_DONE = 0x04 # Charger is in done mode CHG_OK = 0 and VBATT > VBATTREG - VRSTRT and TJ < TSHDN CHG_DTLS_OFF_RESIST= 0x05 # Charger is off because at least one pin of INLIM, ITO, ISET, or VSET has invalid resistance. CHG_OK = 0 CHG_DTLS_E_TIMER = 0x06 # Charger is in timer fault mode. CHG_OK = 0 and if BAT_DTLS = 0b001 then VBATT < VSYSMIN - 500mV or VBATT < VPRECHG and TJ < TSHDN CHG_DTLS_SUSP_QBAT = 0x07 # Charger is suspended because QBAT is disabled (DISQBAT = high or DISIBS = 1) CHG_OK = 0 CHG_DTLS_OFF_CHGIN = 0x08 # Charger is off, charger input invalid and/or charger is disabled CHG_OK = 1 #_CHG_DTLS_RSV_9 = 0x09 # Reserved. CHG_DTLS_OFF_TEMP= 0x0A # Charger is off and the junction temperature is > TSHDN CHG_OK = 0 CHG_DTLS_OFF_WDOG= 0x0B # Charger is off because the watchdog timer expired CHG_OK = 0 CHG_DTLS_SUSP_JEITA= 0x0C # Charger is suspended or charge current or voltage is reduced based on JEITA control. This condition is also reported in THM_DTLS. CHG_OK = 0 CHG_DTLS_SUSP_NOBAT= 0x0D # Charger is suspended because battery removal is detected on THM pin. This condition is also reported in THM_DTLS. CHG_OK = 0 #_CHG_DTLS_RSV_E = 0x0E # Reserved. #_CHG_DTLS_RSV_F = 0x0F # Reserved. REG_CHG_DETAILS_02 = 0x15 THM_DTLS = 0x70 # Thermistor status details as follows: THM_DTLS_COLD = 0x00 # Low temperature and charging suspended THM_DTLS_COOL = 0x10 # Low temperature charging THM_DTLS_NORMAL = 0x20 # Normal temperature charging THM_DTLS_WARM = 0x30 # High temperature charging THM_DTLS_HOT = 0x40 # High temperature and charging suspended THM_DTLS_BAT_RMVD= 0x50 # Battery removal detected on THM pin THM_DTLS_DISABLED= 0x60 # Thermistor monitoring is disabled #_THM_DTLS_RSV_7 = 0x70 # Reserved. APP_MODE_DTLS = 0x08 # Application mode status as follows: APP_MODE_DTLS_CONV = 0x00 # Operate as a standalone DC-DC converter APP_MODE_DTLS_CHRG = 0x08 # Operate as a charger. FSW_DTLS = 0x06 # Programmed switching frequency details as follows: FSW_DTLS_600K = 0x00 # 600 kHz FSW_DTLS_1200K = 0x02 # 1.2 MHz; only from silicon rev. 6 on (MAX7796xB) #_FSW_DTLS_RSV_2 = 0x04 # Reserved. #_FSW_DTLS_RSV_3 = 0x06 # Reserved. NUM_CELL_DTLS = 0x01 # Number of serially connected battery cells as follows: NUM_CELL_DTLS_2 = 0x00 # 2-cell battery NUM_CELL_DTLS_3 = 0x01 # 3-cell battery REG_CHG_CNFG_00 = 0x16 COMM_MODE = 0x80 # I2C enable COMM_MODE_AUTO = 0x00 # Autonomous Mode defined by external resistors on INLIM, ISET, VSET and ITO pins. Writing 0 to COMM_MODE is ignored. COMM_MODE_I2C = 0x80 # I2C enabled. CHGIN_ILIM, CHGCC, CHG_CV_PRM and TO_ITH registers are programmed by I2C. Writing 1 to COMM_MODE is allowed. COMM_MODE_DEFAULT = COMM_MODE_AUTO DISIBS = 0x40 # BATT to SYS FET Disable Control Read back value of DISIBS register bit reflects the actual DISIBS command or DISQBAT PIN state. DISIBS_FET_PPSM = 0x00 # BATT to SYS FET is controlled by the power path state machine. DISIBS_FET_OFF = 0x40 # BATT to SYS FET is forced off. DISIBS_DEFAULT = DISIBS_FET_PPSM STBY_EN = 0x20 # CHGIN Standby Enable Read back value of the STBY_EN register bit reflects the actual CHGIN standby setting. STBY_EN_DCDC_PPSM = 0x00 # DC-DC is controlled by the power path state machine. STBY_EN_DCDC_OFF = 0x20 # Force DC-DC off. Device goes to CHGIN low quiescent current standby. STBY_EN_DCDC_DEFAULT = STBY_EN_DCDC_PPSM WDTEN = 0x10 # Watchdog Timer Enable. WDTEN_OFF = 0x00 # Watchdog timer disabled WDTEN_ON = 0x10 # Watchdog timer enabled WDTEN_DEFAULT = WDTEN_OFF MODE = 0x0F # Smart Power Selector Configuration as follows: MODE_ALL_OFF = 0x00 # Charger = off, OTG = off, DC-DC = off. When the QBAT switch is on (DISQBAT = low and DISIBS = 0), the battery powers the system. MODE_ALL_OFF_1 = 0x01 # Same as 0x00 MODE_ALL_OFF_2 = 0x02 # Same as 0x00 MODE_ALL_OFF_3 = 0x03 # Same as 0x00 MODE_DCDC_ONLY = 0x04 # Charger = off, OTG = off, DC-DC = on. When there is a valid input, the DC-DC converter regulates the system voltage to be the maximum of (VSYSMIN and VBATT + 4%). MODE_CHRG_DCDC = 0x05 # Charger = on,OTG = off, DC-DC = on. When there is a valid input, the battery is charging. VSYS is the larger of VSYSMIN and ~VBATT + IBATT x RBAT2SYS. MODE_CHRG_DCDC_6 = 0x06 # Same as 0x05 MODE_CHRG_DCDC_7 = 0x07 # Same as 0x05 #_MODE_RSV_8 = 0x08 # Reserved. #_MODE_RSV_9 = 0x09 # Reserved. MODE_OTG_ONLY = 0x0A # Charger = off, OTG = on, DC-DC = off. QBAT is on to allow the battery to support the system, the charger's DC-DC operates in reverse mode as a buck converter. #_MODE_RSV_11 = 0x0B # Reserved. #_MODE_RSV_12 = 0x0C # Reserved. #_MODE_RSV_13 = 0x0D # Reserved. #_MODE_RSV_14 = 0x0E # Reserved. #_MODE_RSV_15 = 0x0F # Reserved. MODE_DEFAULT = MODE_CHRG_DCDC REG_CHG_CNFG_01 = 0x17 PQEN = 0x80 # Low-Battery Prequalification Mode Enable PQEN_OFF = 0x00 # Low-Battery Prequalification mode is disabled. PQEN_ON = 0x80 # Low-Battery Prequalification mode is enabled. PQEN_DEFAULT = PQEN_ON LPM = 0x40 # Low Power Mode control LPM_NORMAL = 0x00 # QBAT charge pump runs in Normal mode. LPM_ON = 0x40 # QBAT charge pump is in Low Power Mode. LPM_DEFAULT = LPM_NORMAL CHG_RSTRT = 0x30 # Charger Restart Threshold CHG_RSTRT_100 = 0x00 # 100mV/cell below the value programmed by CHG_CV_PRM CHG_RSTRT_150 = 0x10 # 150mV/cell below the value programmed by CHG_CV_PRM CHG_RSTRT_200 = 0x20 # 200mV/cell below the value programmed by CHG_CV_PRM CHG_RSTRT_DISABLED = 0x30 # Disabled. CHG_RSTRT_MIN = CHG_RSTRT_100 CHG_RSTRT_MAX = CHG_RSTRT_200 CHG_RSTRT_DEFAULT = CHG_RSTRT_150 STAT_EN = 0x08 # Charge Indicator Output Enable STAT_EN_OFF = 0x00 # Disable STAT output STAT_EN_ON = 0x08 # Enable STAT output STAT_EN_DEFAULT = STAT_EN_ON FCHGTIME = 0x07 # Fast-Charge Timer setting (tFC, hrs) FCHGTIME_DISABLED = 0x00 # Disabled. FCHGTIME_3H = 0x01 # 3 hours. FCHGTIME_4H = 0x02 # 4 hours. FCHGTIME_5H = 0x03 # 5 hours. FCHGTIME_6H = 0x04 # 6 hours. FCHGTIME_7H = 0x05 # 7 hours. FCHGTIME_8H = 0x06 # 8 hours. FCHGTIME_10H = 0x07 # 10 hours. FCHGTIME_MIN = FCHGTIME_3H FCHGTIME_MAX = FCHGTIME_10H FCHGTIME_DEFAULT = FCHGTIME_3H REG_CHG_CNFG_02 = 0x18 CHGCC = 0x3F # Fast-Charge Current Selection (mA). CHGCC_100 = 0x00 # 100 mA CHGCC_150 = 0x01 # 150 mA CHGCC_200 = 0x02 # 200 mA CHGCC_250 = 0x03 # 250 mA CHGCC_300 = 0x04 # 300 mA CHGCC_350 = 0x05 # 350 mA CHGCC_400 = 0x06 # 400 mA CHGCC_450 = 0x07 # 450 mA CHGCC_500 = 0x08 # 500 mA CHGCC_600 = 0x09 # 600 mA CHGCC_700 = 0x0A # 700 mA CHGCC_800 = 0x0B # 800 mA CHGCC_900 = 0x0C # 900 mA CHGCC_1000 = 0x0D # 1000 mA CHGCC_1100 = 0x0E # 1100 mA CHGCC_1200 = 0x0F # 1200 mA CHGCC_1300 = 0x10 # 1300 mA CHGCC_1400 = 0x11 # 1400 mA CHGCC_1500 = 0x12 # 1500 mA CHGCC_1600 = 0x13 # 1600 mA CHGCC_1700 = 0x14 # 1700 mA CHGCC_1800 = 0x15 # 1800 mA CHGCC_1900 = 0x16 # 1900 mA CHGCC_2000 = 0x17 # 2000 mA CHGCC_2100 = 0x18 # 2100 mA CHGCC_2200 = 0x19 # 2200 mA CHGCC_2300 = 0x1A # 2300 mA CHGCC_2400 = 0x1B # 2400 mA CHGCC_2500 = 0x1C # 2500 mA CHGCC_2600 = 0x1D # 2600 mA CHGCC_2700 = 0x1E # 2700 mA CHGCC_2800 = 0x1F # 2800 mA CHGCC_2900 = 0x20 # 2900 mA CHGCC_3000 = 0x21 # 3000 mA CHGCC_3100 = 0x22 # 3100 mA CHGCC_3200 = 0x23 # 3200 mA CHGCC_3300 = 0x24 # 3300 mA CHGCC_3400 = 0x25 # 3400 mA CHGCC_3500 = 0x26 # 3500 mA CHGCC_3600 = 0x27 # 3600 mA CHGCC_3700 = 0x28 # 3700 mA CHGCC_3800 = 0x29 # 3800 mA CHGCC_3900 = 0x2A # 3900 mA CHGCC_4000 = 0x2B # 4000 mA CHGCC_4100 = 0x2C # 4100 mA CHGCC_4200 = 0x2D # 4200 mA CHGCC_4300 = 0x2E # 4300 mA CHGCC_4400 = 0x2F # 4400 mA CHGCC_4500 = 0x30 # 4500 mA CHGCC_4600 = 0x31 # 4600 mA CHGCC_4700 = 0x32 # 4700 mA CHGCC_4800 = 0x33 # 4800 mA CHGCC_4900 = 0x34 # 4900 mA CHGCC_5000 = 0x35 # 5000 mA CHGCC_5100 = 0x36 # 5100 mA CHGCC_5200 = 0x37 # 5200 mA CHGCC_5300 = 0x38 # 5300 mA CHGCC_5400 = 0x39 # 5400 mA CHGCC_5500 = 0x3A # 5500 mA CHGCC_5600 = 0x3B # 5600 mA CHGCC_5700 = 0x3C # 5700 mA CHGCC_5800 = 0x3D # 5800 mA CHGCC_5900 = 0x3E # 5900 mA CHGCC_6000 = 0x3F # 6000 mA CHGCC_MIN = CHGCC_100 CHGCC_MAX = CHGCC_6000 CHGCC_DEFAULT = CHGCC_450 REG_CHG_CNFG_03 = 0x19 SYS_TRACK_DIS = 0x80 # SYS Tracking Disable Control SYS_TRACK_ENABLED = 0x00 # SYS tracking enabled. SYS regulated to MAX(VBATT + 4%, VSYSMIN), even in Charge Done state. SYS_TRACK_DISABLED = 0x80 # SYS tracking is disabled. SYS is regulated to VCHG_CV_PRM. SYS_TRACK_DEFAULT = SYS_TRACK_DISABLED B2SOVRC_DTC = 0x40 # Battery to SYS Overcurrent Debounce Time Control. B2SOVRC_DTC_6_MS = 0x00 # tOCP = 6 ms B2SOVRC_DTC_100_MS = 0x40 # tOCP = 100 ms B2SOVRC_DTC_MIN = B2SOVRC_DTC_6_MS B2SOVRC_DTC_MAX = B2SOVRC_DTC_100_MS B2SOVRC_DTC_DEFAULT= B2SOVRC_DTC_6_MS TO_TIME = 0x38 # Top-Off Timer Setting TO_TIME_30_SEC = 0x00 # 30 seconds TO_TIME_10_MIN = 0x08 # 10 minutes TO_TIME_20_MIN = 0x10 # 20 minutes TO_TIME_30_MIN = 0x18 # 30 minutes TO_TIME_40_MIN = 0x20 # 40 minutes TO_TIME_50_MIN = 0x28 # 50 minutes TO_TIME_60_MIN = 0x30 # 60 minutes TO_TIME_70_MIN = 0x38 # 70 minutes TO_TIME_MIN = TO_TIME_30_SEC TO_TIME_MAX = TO_TIME_70_MIN TO_TIME_DEFAULT = TO_TIME_30_MIN TO_ITH = 0x07 # Top-Off Current Threshold (mA). TO_ITH_100 = 0x00 # 100 mA TO_ITH_200 = 0x01 # 200 mA TO_ITH_300 = 0x02 # 300 mA TO_ITH_400 = 0x03 # 400 mA TO_ITH_500 = 0x04 # 500 mA TO_ITH_600 = 0x05 # 600 mA TO_ITH_600_6 = 0x06 # 600 mA TO_ITH_600_7 = 0x07 # 600 mA TO_ITH_MIN = TO_ITH_100 TO_ITH_MAX = TO_ITH_600 TO_ITH_DEFAULT = TO_ITH_100 REG_CHG_CNFG_04 = 0x1A CHG_CV_PRM = 0x3F # Charge Termination Voltage Setting (mV). # 2 cells: CHG_CV_PRM_2C_8000 = 0x00 # 8000 mV CHG_CV_PRM_2C_8020 = 0x01 # 8020 mV CHG_CV_PRM_2C_8040 = 0x02 # 8040 mV CHG_CV_PRM_2C_8060 = 0x03 # 8060 mV CHG_CV_PRM_2C_8080 = 0x04 # 8080 mV CHG_CV_PRM_2C_8100 = 0x05 # 8100 mV CHG_CV_PRM_2C_8120 = 0x06 # 8120 mV CHG_CV_PRM_2C_8140 = 0x07 # 8140 mV CHG_CV_PRM_2C_8160 = 0x08 # 8160 mV CHG_CV_PRM_2C_8180 = 0x09 # 8180 mV CHG_CV_PRM_2C_8200 = 0x0A # 8200 mV CHG_CV_PRM_2C_8220 = 0x0B # 8220 mV CHG_CV_PRM_2C_8240 = 0x0C # 8240 mV CHG_CV_PRM_2C_8260 = 0x0D # 8260 mV CHG_CV_PRM_2C_8280 = 0x0E # 8280 mV CHG_CV_PRM_2C_8300 = 0x0F # 8300 mV CHG_CV_PRM_2C_8320 = 0x10 # 8320 mV CHG_CV_PRM_2C_8340 = 0x11 # 8340 mV CHG_CV_PRM_2C_8360 = 0x12 # 8360 mV CHG_CV_PRM_2C_8380 = 0x13 # 8380 mV CHG_CV_PRM_2C_8400 = 0x14 # 8400 mV CHG_CV_PRM_2C_8420 = 0x15 # 8420 mV CHG_CV_PRM_2C_8440 = 0x16 # 8440 mV CHG_CV_PRM_2C_8460 = 0x17 # 8460 mV CHG_CV_PRM_2C_8480 = 0x18 # 8480 mV CHG_CV_PRM_2C_8500 = 0x19 # 8500 mV CHG_CV_PRM_2C_8520 = 0x1A # 8520 mV CHG_CV_PRM_2C_8540 = 0x1B # 8540 mV CHG_CV_PRM_2C_8560 = 0x1C # 8560 mV CHG_CV_PRM_2C_8580 = 0x1D # 8680 mV CHG_CV_PRM_2C_8600 = 0x1E # 8600 mV CHG_CV_PRM_2C_8620 = 0x1F # 8620 mV CHG_CV_PRM_2C_8640 = 0x20 # 8640 mV CHG_CV_PRM_2C_8660 = 0x21 # 8660 mV CHG_CV_PRM_2C_8680 = 0x22 # 8680 mV CHG_CV_PRM_2C_8700 = 0x23 # 8700 mV CHG_CV_PRM_2C_8720 = 0x24 # 8720 mV CHG_CV_PRM_2C_8740 = 0x25 # 8740 mV CHG_CV_PRM_2C_8760 = 0x26 # 8760 mV CHG_CV_PRM_2C_8780 = 0x27 # 8780 mV CHG_CV_PRM_2C_8800 = 0x28 # 8800 mV CHG_CV_PRM_2C_8820 = 0x29 # 8820 mV CHG_CV_PRM_2C_8840 = 0x2A # 8840 mV CHG_CV_PRM_2C_8860 = 0x2B # 8860 mV CHG_CV_PRM_2C_8880 = 0x2C # 8880 mV CHG_CV_PRM_2C_8900 = 0x2D # 8900 mV CHG_CV_PRM_2C_8920 = 0x2E # 8920 mV CHG_CV_PRM_2C_8940 = 0x2F # 8940 mV CHG_CV_PRM_2C_8960 = 0x30 # 8960 mV CHG_CV_PRM_2C_8980 = 0x31 # 8980 mV CHG_CV_PRM_2C_9000 = 0x32 # 9000 mV CHG_CV_PRM_2C_9020 = 0x33 # 9020 mV CHG_CV_PRM_2C_9040 = 0x34 # 9040 mV CHG_CV_PRM_2C_9060 = 0x35 # 9060 mV CHG_CV_PRM_2C_9080 = 0x36 # 9080 mV CHG_CV_PRM_2C_9100 = 0x37 # 9100 mV CHG_CV_PRM_2C_9120 = 0x38 # 9120 mV CHG_CV_PRM_2C_9140 = 0x39 # 9140 mV CHG_CV_PRM_2C_9160 = 0x3A # 9160 mV CHG_CV_PRM_2C_9180 = 0x3B # 9180 mV CHG_CV_PRM_2C_9200 = 0x3C # 9200 mV CHG_CV_PRM_2C_9220 = 0x3D # 9220 mV CHG_CV_PRM_2C_9240 = 0x3E # 9240 mV CHG_CV_PRM_2C_9260 = 0x3F # 9260 mV CHG_CV_PRM_2C_MIN = CHG_CV_PRM_2C_8000 CHG_CV_PRM_2C_MAX = CHG_CV_PRM_2C_9260 CHG_CV_PRM_2C_DEFAULT = CHG_CV_PRM_2C_8000 # 3 cells: CHG_CV_PRM_3C_12000= 0x00 # 12000 mV CHG_CV_PRM_3C_12030= 0x01 # 12030 mV CHG_CV_PRM_3C_12060= 0x02 # 12060 mV CHG_CV_PRM_3C_12090= 0x03 # 12090 mV CHG_CV_PRM_3C_12120= 0x04 # 12120 mV CHG_CV_PRM_3C_12150= 0x05 # 12150 mV CHG_CV_PRM_3C_12180= 0x06 # 12180 mV CHG_CV_PRM_3C_12210= 0x07 # 12210 mV CHG_CV_PRM_3C_12240= 0x08 # 12240 mV CHG_CV_PRM_3C_12270= 0x09 # 12270 mV CHG_CV_PRM_3C_12300= 0x0A # 12300 mV CHG_CV_PRM_3C_12330= 0x0B # 12330 mV CHG_CV_PRM_3C_12360= 0x0C # 12360 mV CHG_CV_PRM_3C_12390= 0x0D # 12390 mV CHG_CV_PRM_3C_12420= 0x0E # 12420 mV CHG_CV_PRM_3C_12450= 0x0F # 12450 mV CHG_CV_PRM_3C_12480= 0x10 # 12480 mV CHG_CV_PRM_3C_12510= 0x11 # 12510 mV CHG_CV_PRM_3C_12540= 0x12 # 12540 mV CHG_CV_PRM_3C_12570= 0x13 # 12570 mV CHG_CV_PRM_3C_12600= 0x14 # 12600 mV CHG_CV_PRM_3C_12630= 0x15 # 12630 mV CHG_CV_PRM_3C_12660= 0x16 # 12660 mV CHG_CV_PRM_3C_12690= 0x17 # 12690 mV CHG_CV_PRM_3C_12720= 0x18 # 12720 mV CHG_CV_PRM_3C_12750= 0x19 # 12750 mV CHG_CV_PRM_3C_12780= 0x1A # 12780 mV CHG_CV_PRM_3C_12810= 0x1B # 12810 mV CHG_CV_PRM_3C_12840= 0x1C # 12840 mV CHG_CV_PRM_3C_12870= 0x1D # 12870 mV CHG_CV_PRM_3C_12900= 0x1E # 12900 mV CHG_CV_PRM_3C_12930= 0x1F # 12930 mV CHG_CV_PRM_3C_12960= 0x20 # 12960 mV CHG_CV_PRM_3C_12990= 0x21 # 12990 mV CHG_CV_PRM_3C_13020= 0x22 # 13020 mV CHG_CV_PRM_3C_13050= 0x23 # 13050 mV CHG_CV_PRM_3C_MIN = CHG_CV_PRM_3C_12000 CHG_CV_PRM_3C_MAX = CHG_CV_PRM_3C_13050 CHG_CV_PRM_3C_DEFAULT = CHG_CV_PRM_3C_12000 CHG_CV_PRM_DEFAULT = CHG_CV_PRM_2C_DEFAULT REG_CHG_CNFG_05 = 0x1B ITRICKLE = 0x30 # Trickle Charge Current Selection (mA) ITRICKLE_100 = 0x00 # 100 mA ITRICKLE_200 = 0x10 # 200 mA ITRICKLE_300 = 0x20 # 300 mA ITRICKLE_400 = 0x30 # 400 mA ITRICKLE_MIN = ITRICKLE_100 ITRICKLE_MAX = ITRICKLE_400 ITRICKLE_DEFAULT = ITRICKLE_100 B2SOVRC = 0x0F # BATT to SYS Overcurrent Threshold (mA) B2SOVRC_DISABLED = 0x00 # Disabled B2SOVRC_3000 = 0x01 # 3000 mA B2SOVRC_3500 = 0x02 # 3500 mA B2SOVRC_4000 = 0x03 # 4000 mA B2SOVRC_4500 = 0x04 # 4500 mA B2SOVRC_5000 = 0x05 # 5000 mA B2SOVRC_5500 = 0x06 # 5500 mA B2SOVRC_6000 = 0x07 # 6000 mA B2SOVRC_6500 = 0x08 # 6500 mA B2SOVRC_7000 = 0x09 # 7000 mA B2SOVRC_7500 = 0x0A # 7500 mA B2SOVRC_8000 = 0x0B # 8000 mA B2SOVRC_8500 = 0x0C # 8500 mA B2SOVRC_9000 = 0x0D # 9000 mA B2SOVRC_9500 = 0x0E # 9500 mA B2SOVRC_10000 = 0x0F # 10000 mA B2SOVRC_MIN = B2SOVRC_3000 B2SOVRC_MAX = B2SOVRC_10000 B2SOVRC_DEFAULT = B2SOVRC_4500 REG_CHG_CNFG_06 = 0x1C CHGPROT = 0x0C # Charger Settings Protection Bits CHGPROT_LOCK = 0x00 # Write capability locked. CHGPROT_LOCK_4 = 0x04 # Write capability locked. CHGPROT_LOCK_8 = 0x08 # Write capability locked. CHGPROT_UNLOCK = 0x0C # Write capability unlocked. CHGPROT_DEFAULT = CHGPROT_LOCK WDTCLR = 0x03 # Watchdog Timer Clear Bits WDTCLR_DO_NOT_TOUCH= 0x00 # Watchdog is not cleared. WDTCLR_DO_CLEAR = 0x01 # Watchdog is cleared. WDTCLR_DO_NOT_TOUCH_2= 0x02 # Watchdog is not cleared. WDTCLR_DO_NOT_TOUCH_3= 0x03 # Watchdog is not cleared. WDTCLR_DEFAULT = WDTCLR_DO_NOT_TOUCH REG_CHG_CNFG_07 = 0x1D JEITA_EN = 0x80 # JEITA Enable JEITA_EN_OFF = 0x00 # JEITA disabled. Fast-charge current and charge termination voltage do not change based on thermistor temperature. JEITA_EN_ON = 0x80 # JEITA enabled. Fast-charge current and charge termination voltage change based on thermistor temperature. JEITA_EN_DEFAULT = JEITA_EN_OFF REGTEMP = 0x78 # Junction Temperature Thermal Regulation (deg. C). REGTEMP_85 = 0x00 # 85 deg. Celsius REGTEMP_90 = 0x08 # 90 deg. Celsius REGTEMP_95 = 0x10 # 95 deg. Celsius REGTEMP_100 = 0x18 # 100 deg. Celsius REGTEMP_105 = 0x20 # 105 deg. Celsius REGTEMP_110 = 0x28 # 110 deg. Celsius REGTEMP_115 = 0x30 # 115 deg. Celsius REGTEMP_120 = 0x38 # 120 deg. Celsius REGTEMP_125 = 0x40 # 125 deg. Celsius REGTEMP_130 = 0x48 # 130 deg. Celsius REGTEMP_MIN = REGTEMP_85 REGTEMP_MAX = REGTEMP_130 REGTEMP_DEFAULT = REGTEMP_115 VCHGCV_COOL = 0x04 # JEITA-Controlled Battery Termination Voltage When Thermistor Temperature is Between TCOLD and TCOOL VCHGCV_COOL_NORMAL = 0x00 # Battery termination voltage is set by CHG_CV_PRM. VCHGCV_COOL_REDUCED= 0x04 # Battery termination voltage is set by (CHG_CV_PRM - 180mV/cell). VCHGCV_COOL_DEFAULT= VCHGCV_COOL_NORMAL ICHGCC_COOL = 0x02 # JEITA-Controlled Battery Fast-Charge Current When Thermistor Temperature is Between TCOLD and TCOOL ICHGCC_COOL_NORMAL = 0x00 # Battery fast-charge current is set by CHGCC ICHGCC_COOL_REDUCED= 0x02 # Battery fast-charge current is reduced to 50% of CHGCC ICHGCC_COOL_DEFAULT= ICHGCC_COOL_REDUCED FSHIP_MODE = 0x01 # Factory Ship Mode Enable FSHIP_MODE_OFF = 0x00 # Disable factory ship mode FSHIP_MODE_ON = 0x01 # Enable factory ship mode FSHIP_MODE_DEFAULT = FSHIP_MODE_OFF REG_CHG_CNFG_08 = 0x1E CHGIN_ILIM = 0x7F # CHGIN Input Current Limit (mA). CHGIN_ILIM_100 = 0x00 # 100 mA CHGIN_ILIM_100_1 = 0x01 # 100 mA CHGIN_ILIM_100_2 = 0x02 # 100 mA CHGIN_ILIM_100_3 = 0x03 # 100 mA CHGIN_ILIM_150 = 0x04 # 150 mA CHGIN_ILIM_200 = 0x05 # 200 mA CHGIN_ILIM_250 = 0x06 # 250 mA CHGIN_ILIM_300 = 0x07 # 300 mA CHGIN_ILIM_350 = 0x08 # 350 mA CHGIN_ILIM_400 = 0x09 # 400 mA CHGIN_ILIM_450 = 0x0A # 450 mA CHGIN_ILIM_500 = 0x0B # 500 mA CHGIN_ILIM_550 = 0x0C # 550 mA CHGIN_ILIM_600 = 0x0D # 600 mA CHGIN_ILIM_650 = 0x0E # 650 mA CHGIN_ILIM_700 = 0x0F # 700 mA CHGIN_ILIM_750 = 0x10 # 750 mA CHGIN_ILIM_800 = 0x11 # 800 mA CHGIN_ILIM_850 = 0x12 # 850 mA CHGIN_ILIM_900 = 0x13 # 900 mA CHGIN_ILIM_950 = 0x14 # 950 mA CHGIN_ILIM_1000 = 0x15 # 1000 mA CHGIN_ILIM_1050 = 0x16 # 1050 mA CHGIN_ILIM_1100 = 0x17 # 1100 mA CHGIN_ILIM_1150 = 0x18 # 1150 mA CHGIN_ILIM_1200 = 0x19 # 1200 mA CHGIN_ILIM_1250 = 0x1A # 1250 mA CHGIN_ILIM_1300 = 0x1B # 1300 mA CHGIN_ILIM_1350 = 0x1C # 1350 mA CHGIN_ILIM_1400 = 0x1D # 1400 mA CHGIN_ILIM_1450 = 0x1E # 1450 mA CHGIN_ILIM_1500 = 0x1F # 1500 mA CHGIN_ILIM_1550 = 0x20 # 1550 mA CHGIN_ILIM_1600 = 0x21 # 1600 mA CHGIN_ILIM_1650 = 0x22 # 1650 mA CHGIN_ILIM_1700 = 0x23 # 1700 mA CHGIN_ILIM_1750 = 0x24 # 1750 mA CHGIN_ILIM_1800 = 0x25 # 1800 mA CHGIN_ILIM_1850 = 0x26 # 1850 mA CHGIN_ILIM_1900 = 0x27 # 1900 mA CHGIN_ILIM_1950 = 0x28 # 1950 mA CHGIN_ILIM_2000 = 0x29 # 2000 mA CHGIN_ILIM_2050 = 0x2A # 2050 mA CHGIN_ILIM_2100 = 0x2B # 2100 mA CHGIN_ILIM_2150 = 0x2C # 2150 mA CHGIN_ILIM_2200 = 0x2D # 2200 mA CHGIN_ILIM_2250 = 0x2E # 2250 mA CHGIN_ILIM_2300 = 0x2F # 2300 mA CHGIN_ILIM_2350 = 0x30 # 2350 mA CHGIN_ILIM_2400 = 0x31 # 2400 mA CHGIN_ILIM_2450 = 0x32 # 2450 mA CHGIN_ILIM_2500 = 0x33 # 2500 mA CHGIN_ILIM_2550 = 0x34 # 2550 mA CHGIN_ILIM_2600 = 0x35 # 2600 mA CHGIN_ILIM_2650 = 0x36 # 2650 mA CHGIN_ILIM_2700 = 0x37 # 2700 mA CHGIN_ILIM_2750 = 0x38 # 2750 mA CHGIN_ILIM_2800 = 0x39 # 2800 mA CHGIN_ILIM_2850 = 0x3A # 2850 mA CHGIN_ILIM_2900 = 0x3B # 2900 mA CHGIN_ILIM_2950 = 0x3C # 2950 mA CHGIN_ILIM_3000 = 0x3D # 3000 mA CHGIN_ILIM_3050 = 0x3E # 3050 mA CHGIN_ILIM_3100 = 0x3F # 3100 mA CHGIN_ILIM_3150 = 0x40 # 3150 mA CHGIN_ILIM_3200 = 0x41 # 3200 mA CHGIN_ILIM_3250 = 0x42 # 3250 mA CHGIN_ILIM_3300 = 0x43 # 3300 mA CHGIN_ILIM_3350 = 0x44 # 3350 mA CHGIN_ILIM_3400 = 0x45 # 3400 mA CHGIN_ILIM_3450 = 0x46 # 3450 mA CHGIN_ILIM_3500 = 0x47 # 3500 mA CHGIN_ILIM_3550 = 0x48 # 3550 mA CHGIN_ILIM_3600 = 0x49 # 3600 mA CHGIN_ILIM_3650 = 0x4A # 3650 mA CHGIN_ILIM_3700 = 0x4B # 3700 mA CHGIN_ILIM_3750 = 0x4C # 3750 mA CHGIN_ILIM_3800 = 0x4D # 3800 mA CHGIN_ILIM_3850 = 0x4E # 3850 mA CHGIN_ILIM_3900 = 0x4F # 3900 mA CHGIN_ILIM_3950 = 0x50 # 3950 mA CHGIN_ILIM_4000 = 0x51 # 4000 mA CHGIN_ILIM_4050 = 0x52 # 4050 mA CHGIN_ILIM_4100 = 0x53 # 4100 mA CHGIN_ILIM_4150 = 0x54 # 4150 mA CHGIN_ILIM_4200 = 0x55 # 4200 mA CHGIN_ILIM_4250 = 0x56 # 4250 mA CHGIN_ILIM_4300 = 0x57 # 4300 mA CHGIN_ILIM_4350 = 0x58 # 4350 mA CHGIN_ILIM_4400 = 0x59 # 4400 mA CHGIN_ILIM_4450 = 0x5A # 4450 mA CHGIN_ILIM_4500 = 0x5B # 4500 mA CHGIN_ILIM_4550 = 0x5C # 4550 mA CHGIN_ILIM_4600 = 0x5D # 4600 mA CHGIN_ILIM_4650 = 0x5E # 4650 mA CHGIN_ILIM_4700 = 0x5F # 4700 mA CHGIN_ILIM_4750 = 0x60 # 4750 mA CHGIN_ILIM_4800 = 0x61 # 4800 mA CHGIN_ILIM_4850 = 0x62 # 4850 mA CHGIN_ILIM_4900 = 0x63 # 4900 mA CHGIN_ILIM_4950 = 0x64 # 4950 mA CHGIN_ILIM_5000 = 0x65 # 5000 mA CHGIN_ILIM_5050 = 0x66 # 5050 mA CHGIN_ILIM_5100 = 0x67 # 5100 mA CHGIN_ILIM_5150 = 0x68 # 5150 mA CHGIN_ILIM_5200 = 0x69 # 5200 mA CHGIN_ILIM_5250 = 0x6A # 5250 mA CHGIN_ILIM_5300 = 0x6B # 5300 mA CHGIN_ILIM_5350 = 0x6C # 5350 mA CHGIN_ILIM_5400 = 0x6D # 5400 mA CHGIN_ILIM_5450 = 0x6E # 5450 mA CHGIN_ILIM_5500 = 0x6F # 5500 mA CHGIN_ILIM_5550 = 0x70 # 5550 mA CHGIN_ILIM_5600 = 0x71 # 5600 mA CHGIN_ILIM_5650 = 0x72 # 5650 mA CHGIN_ILIM_5700 = 0x73 # 5700 mA CHGIN_ILIM_5750 = 0x74 # 5750 mA CHGIN_ILIM_5800 = 0x75 # 5800 mA CHGIN_ILIM_5850 = 0x76 # 5850 mA CHGIN_ILIM_5900 = 0x77 # 5900 mA CHGIN_ILIM_5950 = 0x78 # 5950 mA CHGIN_ILIM_6000 = 0x79 # 6000 mA CHGIN_ILIM_6050 = 0x7A # 6050 mA CHGIN_ILIM_6100 = 0x7B # 6100 mA CHGIN_ILIM_6150 = 0x7C # 6150 mA CHGIN_ILIM_6200 = 0x7D # 6200 mA CHGIN_ILIM_6250 = 0x7E # 6250 mA CHGIN_ILIM_6300 = 0x7F # 6300 mA CHGIN_ILIM_MIN = CHGIN_ILIM_100 CHGIN_ILIM_MAX = CHGIN_ILIM_6300 CHGIN_ILIM_DEFAULT = CHGIN_ILIM_500 CHGIN_ILIM_DEFAULT_VALUE = 500 REG_CHG_CNFG_09 = 0x1F INLIM_CLK = 0xC0 # Input Current Limit Soft-Start Period (micro seconds) Between Consecutive Increments of 25mA INLIM_CLK_8 = 0x00 # 8 us INLIM_CLK_256 = 0x40 # 256 us INLIM_CLK_1024 = 0x80 # 1024 us ~ 1 ms INLIM_CLK_4096 = 0xC0 # 4096 us ~ 4 ms INLIM_CLK_MIN = INLIM_CLK_8 INLIM_CLK_MAX = INLIM_CLK_4096 INLIM_CLK_DEFAULT = INLIM_CLK_1024 OTG_ILIM = 0x38 # OTG Mode Current Limit Setting (mA) OTG_ILIM_500 = 0x00 # 500 mA OTG_ILIM_900 = 0x08 # 900 mA OTG_ILIM_1200 = 0x10 # 1200 mA OTG_ILIM_1500 = 0x18 # 1500 mA OTG_ILIM_2000 = 0x20 # 2000 mA OTG_ILIM_2250 = 0x28 # 2250 mA OTG_ILIM_2500 = 0x30 # 2500 mA OTG_ILIM_3000 = 0x38 # 3000 mA OTG_ILIM_MIN = OTG_ILIM_500 OTG_ILIM_MAX = OTG_ILIM_3000 OTG_ILIM_DEFAULT = OTG_ILIM_1500 MINVSYS = 0x07 # Minimum System Regulation Voltage (mV) # 2 cells: MINVSYS_2C_5535 = 0x00 # 5535 mV MINVSYS_2C_5740 = 0x01 # 5740 mV MINVSYS_2C_5945 = 0x02 # 5945 mV MINVSYS_2C_6150 = 0x03 # 6150 mV MINVSYS_2C_6355 = 0x04 # 6355 mV MINVSYS_2C_6560 = 0x05 # 6560 mV MINVSYS_2C_6765 = 0x06 # 6765 mV MINVSYS_2C_6970 = 0x07 # 6970 mV MINVSYS_2C_MIN = MINVSYS_2C_5535 MINVSYS_2C_MAX = MINVSYS_2C_6970 MINVSYS_2C_DEFAULT = MINVSYS_2C_6150 # 3 cells: MINVSYS_3C_8303 = 0x00 # 8303 mV MINVSYS_3C_8610 = 0x01 # 8610 mV MINVSYS_3C_8918 = 0x02 # 8918 mV MINVSYS_3C_9225 = 0x03 # 9225 mV MINVSYS_3C_9533 = 0x04 # 9533 mV MINVSYS_3C_9840 = 0x05 # 9840 mV MINVSYS_3C_10148 = 0x06 # 10148 mV MINVSYS_3C_10455 = 0x07 # 10455 mV MINVSYS_3C_MIN = MINVSYS_3C_8303 MINVSYS_3C_MAX = MINVSYS_3C_10455 MINVSYS_3C_DEFAULT = MINVSYS_3C_9225 MINVSYS_DEFAULT = MINVSYS_2C_DEFAULT REG_CHG_CNFG_10 = 0x20 VCHGIN_REG = 0x3E # CHGIN Voltage Regulation Threshold (mV) VCHGIN_REG_4025 = 0x00 # 4025 mV VCHGIN_REG_4200 = 0x02 # 4200 mV VCHGIN_REG_4375 = 0x04 # 4375 mV VCHGIN_REG_4550 = 0x06 # 4550 mV VCHGIN_REG_4725 = 0x08 # 4725 mV VCHGIN_REG_4900 = 0x0A # 4900 mV VCHGIN_REG_5425 = 0x0C # 5425 mV VCHGIN_REG_5950 = 0x0E # 5950 mV VCHGIN_REG_6475 = 0x10 # 6475 mV VCHGIN_REG_7000 = 0x12 # 7000 mV VCHGIN_REG_7525 = 0x14 # 7525 mV VCHGIN_REG_8050 = 0x16 # 8050 mV VCHGIN_REG_8575 = 0x18 # 8575 mV VCHGIN_REG_9100 = 0x1A # 9100 mV VCHGIN_REG_9625 = 0x1C # 9625 mV VCHGIN_REG_10150 = 0x1E # 10150 mV VCHGIN_REG_10675 = 0x20 # 10675 mV VCHGIN_REG_10950 = 0x22 # 10950 mV VCHGIN_REG_11550 = 0x24 # 11550 mV VCHGIN_REG_12150 = 0x26 # 12150 mV VCHGIN_REG_12750 = 0x28 # 12750 mV VCHGIN_REG_13350 = 0x2A # 13350 mV VCHGIN_REG_13950 = 0x2C # 13950 mV VCHGIN_REG_14550 = 0x2E # 14550 mV VCHGIN_REG_15150 = 0x30 # 15150 mV VCHGIN_REG_15750 = 0x32 # 15750 mV VCHGIN_REG_16350 = 0x34 # 16350 mV VCHGIN_REG_16950 = 0x36 # 16950 mV VCHGIN_REG_17550 = 0x38 # 17550 mV VCHGIN_REG_18150 = 0x3A # 18150 mV VCHGIN_REG_18750 = 0x3C # 18750 mV VCHGIN_REG_19050 = 0x3E # 19050 mV VCHGIN_REG_MIN = VCHGIN_REG_4025 VCHGIN_REG_MAX = VCHGIN_REG_19050 VCHGIN_REG_DEFAULT = VCHGIN_REG_4725 DISKIP = 0x01 # Charger Skip Mode Disable DISKIP_AUTO = 0x00 # Autoskip mode DISKIP_DISABLED = 0x01 # Disable skip mode DISKIP_DEFAULT = DISKIP_AUTO # # Register / Content descriptions # registerMap = [ [REG_CID, 'CID', ([CID_REVISION, 'REV'], [CID_VERSION, 'VER'], [0xFF, 'ID'])], [REG_SWRST, 'SWRST', ()], [REG_TOP_INT, 'TOP_INT', ([TSHDN_I, 'TSHDN_I'], [SYSOVLO_I, 'SYSOVLO_I'], [SYSUVLO_I, 'SYSUVLO_I'])], [REG_TOP_INT_MASK, 'TOP_INT_MASK', ([TSHDN_M, 'TSHDN_M'], [SYSOVLO_M, 'SYSOVLO_M'], [SYSUVLO_M, 'SYSUVLO_M'])], [REG_TOP_INT_OK, 'TOP_INT_OK', ([TSHDN_OK, 'TSHDN_OK'], [SYSOVLO_OK, 'SYSOVLO_OK'], [SYSUVLO_OK, 'SYSUVLO_OK'])], [REG_CHG_INT, 'CHG_INT', ([AICL_I, 'AICL_I'], [CHGIN_I, 'CHGIN_I'], [B2SOVRC_I, 'B2SOVRC_I'], [CHG_I, '_CHG_I'], [BAT_I, 'BAT_I'], [CHGINLIM_I, 'CHGINLIM_I'], [DISQBAT_I, 'DISQBAT_I'], [OTG_PLIM_I, 'OTG_PLIM_I'])], [REG_CHG_INT_MASK, 'CHG_INT_MASK', ([AICL_M, 'AICL_M'], [CHGIN_M, 'CHGIN_M'], [B2SOVRC_M, 'B2SOVRC_M'], [CHG_M, 'CHG_M'], [BAT_M, 'BAT_M'], [CHGINLIM_M, 'CHGINLIM_M'], [DISQBAT_M, 'DISQBAT_M'], [OTG_PLIM_M, 'OTG_PLIM_M'])], [REG_CHG_INT_OK, 'CHG_INT_OK', ([AICL_OK, 'AICL_OK'], [CHGIN_OK, 'CHGIN_OK'], [B2SOVRC_OK, 'B2SOVRC_OK'], [CHG_OK, 'CHG_OK'], [BAT_OK, 'BAT_OK'], [CHGINLIM_OK, 'CHGINLIM_OK'], [DISQBAT_OK, 'DISQBAT_OK'], [OTG_PLIM_OK, 'OTG_PLIM_OK'])], [REG_CHG_DETAILS_00, 'CHG_DETAILS_00', ([CHGIN_DTLS, 'CHGIN_DTLS'], [OTG_DTLS, 'OTG_DTLS'], [QB_DTLS, 'QB_DTLS'])], [REG_CHG_DETAILS_01, 'CHG_DETAILS_01', ([TREG, 'TREG'], [BAT_DTLS, 'BAT_DTLS'], [CHG_DTLS, 'CHG_DTLS'])], [REG_CHG_DETAILS_02, 'CHG_DETAILS_02', ([THM_DTLS, 'THM_DTLS'], [APP_MODE_DTLS, 'APP_MODE_DTLS'], [FSW_DTLS, 'FSW_DTLS'], [NUM_CELL_DTLS, 'NUM_CELL_DTLS'])], [REG_CHG_CNFG_00, 'CHG_CNFG_00', ([COMM_MODE, 'COMM_MODE'], [DISIBS, 'DISIBS'], [STBY_EN, 'STBY_EN'], [WDTEN, 'WDTEN'], [MODE, 'MODE'])], [REG_CHG_CNFG_01, 'CHG_CNFG_01', ([PQEN, 'PQEN'], [LPM, 'LPM'], [CHG_RSTRT, 'CHG_RSTRT'], [STAT_EN, 'STAT_EN'], [FCHGTIME, 'FCHGTIME'])], [REG_CHG_CNFG_02, 'CHG_CNFG_02', ([CHGCC, 'CHGCC'],)], [REG_CHG_CNFG_03, 'CHG_CNFG_03', ([SYS_TRACK_DIS, 'SYS_TRACK_DIS'], [B2SOVRC_DTC, 'B2SOVRC_DTC'], [TO_TIME, 'TO_TIME'], [TO_ITH, 'TO_ITH'])], [REG_CHG_CNFG_04, 'CHG_CNFG_04', ([CHG_CV_PRM, 'CHG_CV_PRM'],)], [REG_CHG_CNFG_05, 'CHG_CNFG_05', ([ITRICKLE, 'ITRICKLE'], [B2SOVRC, 'B2SOVRC'])], [REG_CHG_CNFG_06, 'CHG_CNFG_06', ([CHGPROT, 'CHGPROT'], [WDTCLR, 'WDTCLR'])], [REG_CHG_CNFG_07, 'CHG_CNFG_07', ([JEITA_EN, 'JEITA_EN'], [REGTEMP, 'REGTEMP'], [VCHGCV_COOL, 'VCHGCV_COOL'], [ICHGCC_COOL, 'ICHGCC_COOL'], [FSHIP_MODE, 'FSHIP_MODE'])], [REG_CHG_CNFG_08, 'CHG_CNFG_08', ([CHGIN_ILIM, 'CHGIN_ILIM'],)], [REG_CHG_CNFG_09, 'CHG_CNFG_09', ([INLIM_CLK, 'INLIM_CLK'], [OTG_ILIM, 'OTG_ILIM'], [MINVSYS, 'MINVSYS'])], [REG_CHG_CNFG_10, 'CHG_CNFG_10', ([VCHGIN_REG, 'VCHGIN_REG'], [DISKIP, 'DISKIP'])], ]