Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /* Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ */
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 /* BQ25980_CHARGER_H */