0001
0002
0003
0004 #ifndef BQ25980_CHARGER_H
0005 #define BQ25980_CHARGER_H
0006
0007 #define BQ25980_MANUFACTURER "Texas Instruments"
0008
0009 #define BQ25980_BATOVP 0x0
0010 #define BQ25980_BATOVP_ALM 0x1
0011 #define BQ25980_BATOCP 0x2
0012 #define BQ25980_BATOCP_ALM 0x3
0013 #define BQ25980_BATUCP_ALM 0x4
0014 #define BQ25980_CHRGR_CTRL_1 0x5
0015 #define BQ25980_BUSOVP 0x6
0016 #define BQ25980_BUSOVP_ALM 0x7
0017 #define BQ25980_BUSOCP 0x8
0018 #define BQ25980_BUSOCP_ALM 0x9
0019 #define BQ25980_TEMP_CONTROL 0xA
0020 #define BQ25980_TDIE_ALM 0xB
0021 #define BQ25980_TSBUS_FLT 0xC
0022 #define BQ25980_TSBAT_FLG 0xD
0023 #define BQ25980_VAC_CONTROL 0xE
0024 #define BQ25980_CHRGR_CTRL_2 0xF
0025 #define BQ25980_CHRGR_CTRL_3 0x10
0026 #define BQ25980_CHRGR_CTRL_4 0x11
0027 #define BQ25980_CHRGR_CTRL_5 0x12
0028 #define BQ25980_STAT1 0x13
0029 #define BQ25980_STAT2 0x14
0030 #define BQ25980_STAT3 0x15
0031 #define BQ25980_STAT4 0x16
0032 #define BQ25980_STAT5 0x17
0033 #define BQ25980_FLAG1 0x18
0034 #define BQ25980_FLAG2 0x19
0035 #define BQ25980_FLAG3 0x1A
0036 #define BQ25980_FLAG4 0x1B
0037 #define BQ25980_FLAG5 0x1C
0038 #define BQ25980_MASK1 0x1D
0039 #define BQ25980_MASK2 0x1E
0040 #define BQ25980_MASK3 0x1F
0041 #define BQ25980_MASK4 0x20
0042 #define BQ25980_MASK5 0x21
0043 #define BQ25980_DEVICE_INFO 0x22
0044 #define BQ25980_ADC_CONTROL1 0x23
0045 #define BQ25980_ADC_CONTROL2 0x24
0046 #define BQ25980_IBUS_ADC_MSB 0x25
0047 #define BQ25980_IBUS_ADC_LSB 0x26
0048 #define BQ25980_VBUS_ADC_MSB 0x27
0049 #define BQ25980_VBUS_ADC_LSB 0x28
0050 #define BQ25980_VAC1_ADC_MSB 0x29
0051 #define BQ25980_VAC1_ADC_LSB 0x2A
0052 #define BQ25980_VAC2_ADC_MSB 0x2B
0053 #define BQ25980_VAC2_ADC_LSB 0x2C
0054 #define BQ25980_VOUT_ADC_MSB 0x2D
0055 #define BQ25980_VOUT_ADC_LSB 0x2E
0056 #define BQ25980_VBAT_ADC_MSB 0x2F
0057 #define BQ25980_VBAT_ADC_LSB 0x30
0058 #define BQ25980_IBAT_ADC_MSB 0x31
0059 #define BQ25980_IBAT_ADC_LSB 0x32
0060 #define BQ25980_TSBUS_ADC_MSB 0x33
0061 #define BQ25980_TSBUS_ADC_LSB 0x34
0062 #define BQ25980_TSBAT_ADC_MSB 0x35
0063 #define BQ25980_TSBAT_ADC_LSB 0x36
0064 #define BQ25980_TDIE_ADC_MSB 0x37
0065 #define BQ25980_TDIE_ADC_LSB 0x38
0066 #define BQ25980_DEGLITCH_TIME 0x39
0067 #define BQ25980_CHRGR_CTRL_6 0x3A
0068
0069 #define BQ25980_BUSOCP_STEP_uA 250000
0070 #define BQ25980_BUSOCP_OFFSET_uA 1000000
0071
0072 #define BQ25980_BUSOCP_DFLT_uA 4250000
0073 #define BQ25975_BUSOCP_DFLT_uA 4250000
0074 #define BQ25960_BUSOCP_DFLT_uA 3250000
0075
0076 #define BQ25980_BUSOCP_MIN_uA 1000000
0077
0078 #define BQ25980_BUSOCP_SC_MAX_uA 5750000
0079 #define BQ25975_BUSOCP_SC_MAX_uA 5750000
0080 #define BQ25960_BUSOCP_SC_MAX_uA 3750000
0081
0082 #define BQ25980_BUSOCP_BYP_MAX_uA 8500000
0083 #define BQ25975_BUSOCP_BYP_MAX_uA 8500000
0084 #define BQ25960_BUSOCP_BYP_MAX_uA 5750000
0085
0086 #define BQ25980_BUSOVP_SC_STEP_uV 100000
0087 #define BQ25975_BUSOVP_SC_STEP_uV 50000
0088 #define BQ25960_BUSOVP_SC_STEP_uV 50000
0089 #define BQ25980_BUSOVP_SC_OFFSET_uV 14000000
0090 #define BQ25975_BUSOVP_SC_OFFSET_uV 7000000
0091 #define BQ25960_BUSOVP_SC_OFFSET_uV 7000000
0092
0093 #define BQ25980_BUSOVP_BYP_STEP_uV 50000
0094 #define BQ25975_BUSOVP_BYP_STEP_uV 25000
0095 #define BQ25960_BUSOVP_BYP_STEP_uV 25000
0096 #define BQ25980_BUSOVP_BYP_OFFSET_uV 7000000
0097 #define BQ25975_BUSOVP_BYP_OFFSET_uV 3500000
0098 #define BQ25960_BUSOVP_BYP_OFFSET_uV 3500000
0099
0100 #define BQ25980_BUSOVP_DFLT_uV 17800000
0101 #define BQ25980_BUSOVP_BYPASS_DFLT_uV 8900000
0102 #define BQ25975_BUSOVP_DFLT_uV 8900000
0103 #define BQ25975_BUSOVP_BYPASS_DFLT_uV 4450000
0104 #define BQ25960_BUSOVP_DFLT_uV 8900000
0105
0106 #define BQ25980_BUSOVP_SC_MIN_uV 14000000
0107 #define BQ25975_BUSOVP_SC_MIN_uV 7000000
0108 #define BQ25960_BUSOVP_SC_MIN_uV 7000000
0109 #define BQ25980_BUSOVP_BYP_MIN_uV 7000000
0110 #define BQ25975_BUSOVP_BYP_MIN_uV 3500000
0111 #define BQ25960_BUSOVP_BYP_MIN_uV 3500000
0112
0113 #define BQ25980_BUSOVP_SC_MAX_uV 22000000
0114 #define BQ25975_BUSOVP_SC_MAX_uV 12750000
0115 #define BQ25960_BUSOVP_SC_MAX_uV 12750000
0116
0117 #define BQ25980_BUSOVP_BYP_MAX_uV 12750000
0118 #define BQ25975_BUSOVP_BYP_MAX_uV 6500000
0119 #define BQ25960_BUSOVP_BYP_MAX_uV 6500000
0120
0121 #define BQ25980_BATOVP_STEP_uV 20000
0122 #define BQ25975_BATOVP_STEP_uV 10000
0123 #define BQ25960_BATOVP_STEP_uV 10000
0124
0125 #define BQ25980_BATOVP_OFFSET_uV 7000000
0126 #define BQ25975_BATOVP_OFFSET_uV 3500000
0127 #define BQ25960_BATOVP_OFFSET_uV 3500000
0128
0129 #define BQ25980_BATOVP_DFLT_uV 14000000
0130 #define BQ25975_BATOVP_DFLT_uV 8900000
0131 #define BQ25960_BATOVP_DFLT_uV 8900000
0132
0133 #define BQ25980_BATOVP_MIN_uV 7000000
0134 #define BQ25975_BATOVP_MIN_uV 3500000
0135 #define BQ25960_BATOVP_MIN_uV 3500000
0136
0137 #define BQ25980_BATOVP_MAX_uV 9540000
0138 #define BQ25975_BATOVP_MAX_uV 4770000
0139 #define BQ25960_BATOVP_MAX_uV 4770000
0140
0141 #define BQ25980_BATOCP_STEP_uA 100000
0142
0143 #define BQ25980_BATOCP_MASK GENMASK(6, 0)
0144
0145 #define BQ25980_BATOCP_DFLT_uA 8100000
0146 #define BQ25960_BATOCP_DFLT_uA 6100000
0147
0148 #define BQ25980_BATOCP_MIN_uA 2000000
0149
0150 #define BQ25980_BATOCP_MAX_uA 11000000
0151 #define BQ25975_BATOCP_MAX_uA 11000000
0152 #define BQ25960_BATOCP_MAX_uA 7000000
0153
0154 #define BQ25980_ENABLE_HIZ 0xff
0155 #define BQ25980_DISABLE_HIZ 0x0
0156 #define BQ25980_EN_BYPASS BIT(3)
0157 #define BQ25980_STAT1_OVP_MASK (BIT(6) | BIT(5) | BIT(0))
0158 #define BQ25980_STAT3_OVP_MASK (BIT(7) | BIT(6))
0159 #define BQ25980_STAT1_OCP_MASK BIT(3)
0160 #define BQ25980_STAT2_OCP_MASK (BIT(6) | BIT(1))
0161 #define BQ25980_STAT4_TFLT_MASK GENMASK(5, 1)
0162 #define BQ25980_WD_STAT BIT(0)
0163 #define BQ25980_PRESENT_MASK GENMASK(4, 2)
0164 #define BQ25980_CHG_EN BIT(4)
0165 #define BQ25980_EN_HIZ BIT(6)
0166 #define BQ25980_ADC_EN BIT(7)
0167
0168 #define BQ25980_ADC_VOLT_STEP_uV 1000
0169 #define BQ25980_ADC_CURR_STEP_uA 1000
0170 #define BQ25980_ADC_POLARITY_BIT BIT(7)
0171
0172 #define BQ25980_WATCHDOG_MASK GENMASK(4, 3)
0173 #define BQ25980_WATCHDOG_DIS BIT(2)
0174 #define BQ25980_WATCHDOG_MAX 300000
0175 #define BQ25980_WATCHDOG_MIN 0
0176 #define BQ25980_NUM_WD_VAL 4
0177
0178 #endif