MAX77658 Ultra-Low Power PMIC Mbed Driver
MAX77658_regs.h@0:00d2a8670533, 2022-06-30 (annotated)
- Committer:
- metin.ozkan@analog.com
- Date:
- Thu Jun 30 12:15:15 2022 +0300
- Revision:
- 0:00d2a8670533
Initial Commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
metin.ozkan@analog.com | 0:00d2a8670533 | 1 | /******************************************************************************* |
metin.ozkan@analog.com | 0:00d2a8670533 | 2 | * Copyright(C) Analog Devices Inc., All Rights Reserved. |
metin.ozkan@analog.com | 0:00d2a8670533 | 3 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 4 | * Permission is hereby granted, free of charge, to any person obtaining a |
metin.ozkan@analog.com | 0:00d2a8670533 | 5 | * copy of this software and associated documentation files(the "Software"), |
metin.ozkan@analog.com | 0:00d2a8670533 | 6 | * to deal in the Software without restriction, including without limitation |
metin.ozkan@analog.com | 0:00d2a8670533 | 7 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
metin.ozkan@analog.com | 0:00d2a8670533 | 8 | * and/or sell copies of the Software, and to permit persons to whom the |
metin.ozkan@analog.com | 0:00d2a8670533 | 9 | * Software is furnished to do so, subject to the following conditions: |
metin.ozkan@analog.com | 0:00d2a8670533 | 10 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 11 | * The above copyright notice and this permission notice shall be included |
metin.ozkan@analog.com | 0:00d2a8670533 | 12 | * in all copies or substantial portions of the Software. |
metin.ozkan@analog.com | 0:00d2a8670533 | 13 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
metin.ozkan@analog.com | 0:00d2a8670533 | 15 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
metin.ozkan@analog.com | 0:00d2a8670533 | 16 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
metin.ozkan@analog.com | 0:00d2a8670533 | 17 | * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES |
metin.ozkan@analog.com | 0:00d2a8670533 | 18 | * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
metin.ozkan@analog.com | 0:00d2a8670533 | 19 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
metin.ozkan@analog.com | 0:00d2a8670533 | 20 | * OTHER DEALINGS IN THE SOFTWARE. |
metin.ozkan@analog.com | 0:00d2a8670533 | 21 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 22 | * Except as contained in this notice, the name of Analog Devices Inc. |
metin.ozkan@analog.com | 0:00d2a8670533 | 23 | * shall not be used except as stated in the Analog Devices Inc. |
metin.ozkan@analog.com | 0:00d2a8670533 | 24 | * Branding Policy. |
metin.ozkan@analog.com | 0:00d2a8670533 | 25 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 26 | * The mere transfer of this software does not imply any licenses |
metin.ozkan@analog.com | 0:00d2a8670533 | 27 | * of trade secrets, proprietary technology, copyrights, patents, |
metin.ozkan@analog.com | 0:00d2a8670533 | 28 | * trademarks, maskwork rights, or any other form of intellectual |
metin.ozkan@analog.com | 0:00d2a8670533 | 29 | * property whatsoever. Analog Devices Inc.retains all ownership rights. |
metin.ozkan@analog.com | 0:00d2a8670533 | 30 | ******************************************************************************* |
metin.ozkan@analog.com | 0:00d2a8670533 | 31 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 32 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 33 | #ifndef MAX77658_REGS_H_ |
metin.ozkan@analog.com | 0:00d2a8670533 | 34 | #define MAX77658_REGS_H_ |
metin.ozkan@analog.com | 0:00d2a8670533 | 35 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 36 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 37 | * @brief INT_GLBL0 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 38 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 39 | * Address : 0x00 |
metin.ozkan@analog.com | 0:00d2a8670533 | 40 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 41 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 42 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 43 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 44 | unsigned char gpi0_f : 1; /**< GPI Falling Interrupt. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 45 | Note that "GPI" refers to the GPIO programmed to be an input. |
metin.ozkan@analog.com | 0:00d2a8670533 | 46 | 0 = No GPI falling edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 47 | 1 = A GPI falling edge has occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 48 | unsigned char gpi0_r : 1; /**< GPI Rising Interrupt. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 49 | Note that "GPI" refers to the GPIO programmed to be an input. |
metin.ozkan@analog.com | 0:00d2a8670533 | 50 | 0 = No GPI rising edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 51 | 1 = A GPI rising edge has occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 52 | unsigned char nen_f : 1; /**< nEN Falling Interrupt.Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 53 | 0 = No nEN falling edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 54 | 1 = A nEN falling edge as occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 55 | unsigned char nen_r : 1; /**< nEN Rising Interrupt. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 56 | 0 = No nEN rising edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 57 | 1 = A nEN rising edge as occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 58 | unsigned char tjal1_r : 1; /**< Thermal Alarm 1 Rising Interrupt. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 59 | 0 = The junction temperature has not risen above TJAL1 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 60 | 1 = The junction temperature has risen above TJAL1 since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 61 | unsigned char tjal2_r : 1; /**< Thermal Alarm 2 Rising Interrupt. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 62 | 0 = The junction temperature has not risen above TJAL2 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 63 | 1 = The junction temperature has risen above TJAL2 since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 64 | unsigned char d0d1_r : 1; /**< LDO Dropout Detector Rising Interrupt. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 65 | 0 = The LDO has not detected dropout since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 66 | 1 = The LDO has detected dropout since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 67 | unsigned char dod0_r : 1; /**< LDO Dropout Detector Rising Interrupt. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 68 | 0 = The LDO has not detected dropout since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 69 | 1 = The LDO has detected dropout since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 70 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 71 | } reg_int_glbl0_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 72 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 73 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 74 | * @brief INT_GLBL1 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 75 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 76 | * Address : 0x04 |
metin.ozkan@analog.com | 0:00d2a8670533 | 77 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 78 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 79 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 80 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 81 | unsigned char gpi1_f : 1; /**< GPI Falling Interrupt. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 82 | Note that "GPI" refers to the GPIO programmed to be an input. |
metin.ozkan@analog.com | 0:00d2a8670533 | 83 | 0 = No GPI falling edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 84 | 1 = A GPI falling edge has occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 85 | unsigned char gpi1_r : 1; /**< GPI Rising Interrupt. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 86 | Note that "GPI" refers to the GPIO programmed to be an input. |
metin.ozkan@analog.com | 0:00d2a8670533 | 87 | 0 = No GPI rising edges have occurred since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 88 | 1 = A GPI rising edge has occurred since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 89 | unsigned char sbb0_f : 1; /**< SBB0 Fault Indicator. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 90 | 0 = No fault has occurred on SBB0 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 91 | 1 = SBB0 has fallen out of regulation since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 92 | unsigned char sbb1_f : 1; /**< SBB1 Fault Indicator. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 93 | 0 = No fault has occurred on SBB1 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 94 | 1 = SBB1 has fallen out of regulation since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 95 | unsigned char sbb2_f : 1; /**< SBB2 Fault Indicator. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 96 | 0 = No fault has occurred on SBB2 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 97 | 1 = SBB2 has fallen out of regulation since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 98 | unsigned char ldo0_f : 1; /**< LDO0 Fault Interrupt. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 99 | 0 = No fault has occurred on LDO0 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 100 | 1 = LDO0 has fallen out of regulation since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 101 | unsigned char ldo1_f : 1; /**< LDO1 Fault Interrupt. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 102 | 0 = No fault has occurred on LDO1 since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 103 | 1 = LDO1 has fallen out of regulation since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 104 | unsigned char rsvd : 1; /**< Reserved. |
metin.ozkan@analog.com | 0:00d2a8670533 | 105 | Unutilized bit. Write to 0. Reads are don't care. Bit 7. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 106 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 107 | } reg_int_glbl1_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 108 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 109 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 110 | * @brief ERCFLAG Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 111 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 112 | * Address : 0x05 |
metin.ozkan@analog.com | 0:00d2a8670533 | 113 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 114 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 115 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 116 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 117 | unsigned char tovld : 1; /**< Thermal Overload. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 118 | 0 = Thermal overload has not occurred since the last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 119 | 1 = Thermal overload has occurred since the list read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 120 | This indicates that the junction temperature has exceeded 165ºC. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 121 | unsigned char sysovlo : 1; /**< SYS Domain Overvoltage Lockout. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 122 | 0 = The SYS domain overvoltage lockout has not occurred since this last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 123 | 1 = The SYS domain overvoltage lockout has occurred since the last read of this register. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 124 | unsigned char sysuvlo : 1; /**< SYS Domain Undervoltage Lockout. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 125 | 0 = The SYS domain undervoltage lockout has not occurred since this last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 126 | 1 = The SYS domain undervoltage lockout has occurred since the last read of this register. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 127 | unsigned char mrst_f : 1; /**< Manual Reset Timer. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 128 | 0 = A Manual Reset has not occurred since this last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 129 | 1 = A Manual Reset has occurred since this last read of this register. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 130 | unsigned char sft_off_f : 1; /**< Software Off Flag. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 131 | 0 = The SFT_OFF function has not occurred since the last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 132 | 1 = The SFT_OFF function has occurred since the last read of this register. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 133 | unsigned char sft_crst_f: 1; /**< Software Cold Reset Flag. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 134 | 0 = The software cold reset has not occurred since the last read of this register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 135 | 1 = The software cold reset has occurred since the last read of this register. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 136 | unsigned char wdt_off : 1; /**< Watchdog Timer OFF Flag. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 137 | This bit sets when the watchdog timer expires and causes a power-off. |
metin.ozkan@analog.com | 0:00d2a8670533 | 138 | 0 = Watchdog timer has not caused a power-off since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 139 | 1 = Watchdog timer has expired and caused a power-off since the last time this bit was read. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 140 | unsigned char wdt_rst : 1; /**< Watchdog Timer Reset Flag. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 141 | This bit sets when the watchdog timer expires and causes a power-reset. |
metin.ozkan@analog.com | 0:00d2a8670533 | 142 | 0 = Watchdog timer has not caused a power-reset since the last time this bit was read. |
metin.ozkan@analog.com | 0:00d2a8670533 | 143 | 1 = Watchdog timer has expired and caused a power-reset since the last time this bit was read.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 144 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 145 | } reg_ercflag_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 146 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 147 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 148 | * @brief STAT_GLBL Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 149 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 150 | * Address : 0x06 |
metin.ozkan@analog.com | 0:00d2a8670533 | 151 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 152 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 153 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 154 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 155 | unsigned char stat_irq : 1; /**< Software Version of the nIRQ MOSFET gate drive. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 156 | 0 = unmasked gate drive is logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 157 | 1 = unmasked gate drive is logic high */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 158 | unsigned char stat_en : 1; /**< Debounced Status for the nEN input. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 159 | 0 = nEN is not active (logic high) |
metin.ozkan@analog.com | 0:00d2a8670533 | 160 | 1 = nEN is active (logic low) */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 161 | unsigned char tjal1_s : 1; /**< Thermal Alarm 1 Status. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 162 | 0 = The junction temperature is less than TJAL1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 163 | 1 = The junction temperature is greater than TJAL1 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 164 | unsigned char tjal2_s : 1; /**< Thermal Alarm 2 Status. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 165 | 0 = The junction temperature is less than TJAL2 |
metin.ozkan@analog.com | 0:00d2a8670533 | 166 | 1 = The junction temperature is greater than TJAL2 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 167 | unsigned char dod1_s : 1; /**< LDO1 Dropout Detector Rising Status. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 168 | 0 = LDO1 is not in dropout |
metin.ozkan@analog.com | 0:00d2a8670533 | 169 | 1 = LDO1 is in dropout */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 170 | unsigned char dod0_s : 1; /**< LDO0 Dropout Detector Rising Status. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 171 | 0 = LDO0 is not in dropout |
metin.ozkan@analog.com | 0:00d2a8670533 | 172 | 1 = LDO0 is in dropout */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 173 | unsigned char bok : 1; /**< BOK Interrupt Status. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 174 | 0 = Main Bias is not ready. |
metin.ozkan@analog.com | 0:00d2a8670533 | 175 | 1 = Main Bias enabled and ready. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 176 | unsigned char didm : 1; /**< Device Identification Bits for Metal Options. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 177 | 0 = MAX77658 |
metin.ozkan@analog.com | 0:00d2a8670533 | 178 | 1 = Reserved */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 179 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 180 | } reg_stat_glbl_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 181 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 182 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 183 | * @brief INTM_GLBL0 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 184 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 185 | * Address : 0x08 |
metin.ozkan@analog.com | 0:00d2a8670533 | 186 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 187 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 188 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 189 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 190 | unsigned char gpi0_fm : 1; /**< GPI Falling Interrupt Mask. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 191 | 0 = Unmasked. If GPI_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 192 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 193 | 1 = Masked. nIRQ does not go low due to GPI_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 194 | unsigned char gpi0_rm : 1; /**< GPI Rising Interrupt Mask. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 195 | 0 = Unmasked. If GPI_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 196 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 197 | 1 = Masked. nIRQ does not go low due to GPI_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 198 | unsigned char nen_fm : 1; /**< nEN Falling Interrupt Mask. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 199 | 0 = Unmasked. If nEN_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 200 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 201 | 1 = Masked. nIRQ does not go low due to nEN_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 202 | unsigned char nen_rm : 1; /**< nEN Rising Interrupt Mask. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 203 | 0 = Unmasked. If nEN_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 204 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 205 | 1 = Masked. nIRQ does not go low due to nEN_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 206 | unsigned char tjal1_rm : 1; /**< Thermal Alarm 1 Rising Interrupt Mask. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 207 | 0 = Unmasked. If TJAL1_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 208 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 209 | 1 = Masked. nIRQ does not go low due to TJAL1_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 210 | unsigned char tjal2_rm : 1; /**< Thermal Alarm 2 Rising Interrupt Mask. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 211 | 0 = Unmasked. If TJAL2_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 212 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 213 | 1 = Masked. nIRQ does not go low due to TJAL2_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 214 | unsigned char dod1_rm : 1; /**< LDO Dropout Detector Rising Interrupt Mask. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 215 | 0 = Unmasked. If DOD1_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 216 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 217 | 1 = Masked. nIRQ does not go low due to DOD1_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 218 | unsigned char dod0_rm : 1; /**< LDO Dropout Detector Rising Interrupt Mask. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 219 | 0 = Unmasked. If DOD0_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 220 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 221 | 1 = Masked. nIRQ does not go low due to DOD0_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 222 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 223 | } reg_intm_glbl0_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 224 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 225 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 226 | * @brief INTM_GLBL1 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 227 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 228 | * Address : 0x09 |
metin.ozkan@analog.com | 0:00d2a8670533 | 229 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 230 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 231 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 232 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 233 | unsigned char gpi1_fm : 1; /**< GPI Falling Interrupt Mask. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 234 | 0 = Unmasked. If GPI_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 235 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 236 | 1 = Masked. nIRQ does not go low due to GPI_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 237 | unsigned char gpi1_rm : 1; /**< GPI Rising Interrupt Mask. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 238 | 0 = Unmasked. If GPI_R goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 239 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 240 | 1 = Masked. nIRQ does not go low due to GPI_R. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 241 | unsigned char sbb0_fm : 1; /**< SBB0 Fault Interrupt Mask. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 242 | 0 = Unmasked. If SBB0_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 243 | nIRQ goes high when all interrupt bits are cleared.. |
metin.ozkan@analog.com | 0:00d2a8670533 | 244 | 1 = Masked. nIRQ does not go low due to SBB0_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 245 | unsigned char sbb1_fm : 1; /**< SBB1 Fault Interrupt Mask. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 246 | 0 = Unmasked. If SBB1_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 247 | nIRQ goes high when all interrupt bits are cleared.. |
metin.ozkan@analog.com | 0:00d2a8670533 | 248 | 1 = Masked. nIRQ does not go low due to SBB1_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 249 | unsigned char sbb2_fm : 1; /**< SBB2 Fault Interrupt Mask. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 250 | 0 = Unmasked. If SBB2_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 251 | nIRQ goes high when all interrupt bits are cleared.. |
metin.ozkan@analog.com | 0:00d2a8670533 | 252 | 1 = Masked. nIRQ does not go low due to SBB2_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 253 | unsigned char ldo0_m : 1; /**< LDO0 Fault Interrupt. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 254 | 0 = Unmasked. If LDO0_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 255 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 256 | 1 = Masked. nIRQ does not go low due to LDO0_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 257 | unsigned char ldo1_m : 1; /**< LDO1 Fault Interrupt Mask. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 258 | 0 = Unmasked. If LDO1_F goes from 0 to 1, then nIRQ goes low. |
metin.ozkan@analog.com | 0:00d2a8670533 | 259 | nIRQ goes high when all interrupt bits are cleared. |
metin.ozkan@analog.com | 0:00d2a8670533 | 260 | 1 = Masked. nIRQ does not go low due to LDO1_F. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 261 | unsigned char rsvd : 1; /**< Reserved. |
metin.ozkan@analog.com | 0:00d2a8670533 | 262 | Unutilized bit. Write to 0. Reads are don't care. Bit 7. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 263 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 264 | } reg_intm_glbl1_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 265 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 266 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 267 | * @brief CNFG_GLBL Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 268 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 269 | * Address : 0x10 |
metin.ozkan@analog.com | 0:00d2a8670533 | 270 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 271 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 272 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 273 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 274 | unsigned char sft_ctrl : 2; /**< Software Reset Functions. Bit 1:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 275 | 0b00 = No Action |
metin.ozkan@analog.com | 0:00d2a8670533 | 276 | 0b01 = Software Cold Reset (SFT_CRST). The device powers down, resets, and the powers up again. |
metin.ozkan@analog.com | 0:00d2a8670533 | 277 | 0b10 = Software Off (SFT_OFF). The device powers down, resets, and then remains off and waiting for a wake-up event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 278 | 0b11 = Factory-Ship Mode Enter (FSM). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 279 | unsigned char dben_nen : 1; /**< Debounce Timer Enable for the nEN Pin. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 280 | 0 = 500μs Debounce |
metin.ozkan@analog.com | 0:00d2a8670533 | 281 | 1 = 30ms Debounce */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 282 | unsigned char nen_mode : 2; /**< nEN Input (ON-KEY) Default Configuration Mode. Bit 4:3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 283 | 0b00 = Push-button mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 284 | 0b01 = Slide-switch mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 285 | 0b10 = Logic mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 286 | 0b11 = Reserved */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 287 | unsigned char sbia_lpm : 1; /**< Main Bias Low-Power Mode Software Request. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 288 | 0 = Main Bias requested to be in Normal-Power Mode by software. |
metin.ozkan@analog.com | 0:00d2a8670533 | 289 | 1 = Main Bias request to be in Low-Power Mode by software. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 290 | unsigned char t_mrst : 1; /**< Sets the Manual Reset Time (tMRST). Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 291 | 0 = 8s |
metin.ozkan@analog.com | 0:00d2a8670533 | 292 | 1 = 4s */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 293 | unsigned char pu_dis : 1; /**< nEN Internal Pullup Resistor. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 294 | 0 = Strong internal nEN pullup (200kΩ) |
metin.ozkan@analog.com | 0:00d2a8670533 | 295 | 1 = Weak internal nEN pullup (10MΩ) */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 296 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 297 | } reg_cnfg_glbl_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 298 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 299 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 300 | * @brief CNFG_GPIO0 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 301 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 302 | * Address : 0x11 |
metin.ozkan@analog.com | 0:00d2a8670533 | 303 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 304 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 305 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 306 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 307 | unsigned char gpo_dir : 1; /**< GPIO Direction. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 308 | 0 = General purpose output (GPO) |
metin.ozkan@analog.com | 0:00d2a8670533 | 309 | 1 = General purpose input (GPI) */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 310 | unsigned char gpo_di : 1; /**< GPIO Digital Input Value. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 311 | 0 = Input logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 312 | 1 = Input logic high */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 313 | unsigned char gpo_drv : 1; /**< General Purpose Output Driver Type. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 314 | This bit is a don't care when DIR = 1 (configured as input) When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 315 | 0 = Open-Drain |
metin.ozkan@analog.com | 0:00d2a8670533 | 316 | 1 = Push-Pull */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 317 | unsigned char gpo_do : 1; /**< General Purpose Output Data Output. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 318 | This bit is a don't care when DIR = 1 (configured as input). When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 319 | 0 = GPIO is output is logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 320 | 1 = GPIO is output logic high when set as push-pull output (DRV = 1). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 321 | unsigned char dben_gpi : 1; /**< General Purpose Input Debounce Timer Enable. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 322 | 0 = no debounce |
metin.ozkan@analog.com | 0:00d2a8670533 | 323 | 1 = 30ms debounce */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 324 | unsigned char alt_gpio : 1; /**< Alternate Mode Enable for GPIO0. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 325 | 0 = Standard GPIO. |
metin.ozkan@analog.com | 0:00d2a8670533 | 326 | 1 = Active-high input, Force USB Suspend (FUS). FUS is only active if the FUS_M bit is set to 0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 327 | unsigned char : 1; /**< Bit 6. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 328 | unsigned char rsvd : 1; /**< Reserved. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 329 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 330 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 331 | } reg_cnfg_gpio0_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 332 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 333 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 334 | * @brief CNFG_GPIO1 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 335 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 336 | * Address : 0x12 |
metin.ozkan@analog.com | 0:00d2a8670533 | 337 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 338 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 339 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 340 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 341 | unsigned char gpo_dir : 1; /**< GPIO Direction. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 342 | 0 = General purpose output (GPO) |
metin.ozkan@analog.com | 0:00d2a8670533 | 343 | 1 = General purpose input (GPI) */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 344 | unsigned char gpo_di : 1; /**< GPIO Digital Input Value. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 345 | 0 = Input logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 346 | 1 = Input logic high */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 347 | unsigned char gpo_drv : 1; /**< General Purpose Output Driver Type. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 348 | This bit is a don't care when DIR = 1 (configured as input) When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 349 | 0 = Open-Drain |
metin.ozkan@analog.com | 0:00d2a8670533 | 350 | 1 = Push-Pull */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 351 | unsigned char gpo_do : 1; /**< General Purpose Output Data Output. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 352 | This bit is a don't care when DIR = 1 (configured as input). When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 353 | 0 = GPIO is output is logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 354 | 1 = GPIO is output logic high when set as push-pull output (DRV = 1). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 355 | unsigned char dben_gpi : 1; /**< General Purpose Input Debounce Timer Enable. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 356 | 0 = no debounce |
metin.ozkan@analog.com | 0:00d2a8670533 | 357 | 1 = 30ms debounce */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 358 | unsigned char alt_gpio : 1; /**< Alternate Mode Enable for GPIO1. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 359 | 0 = Standard GPIO. |
metin.ozkan@analog.com | 0:00d2a8670533 | 360 | 1 = Active-high output of SBB2's Flexible Power Sequencer (FPS) slot. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 361 | unsigned char rsvd : 2; /**< Reserved. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 362 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 363 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 364 | } reg_cnfg_gpio1_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 365 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 366 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 367 | * @brief CNFG_GPIO2 Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 368 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 369 | * Address : 0x13 |
metin.ozkan@analog.com | 0:00d2a8670533 | 370 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 371 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 372 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 373 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 374 | unsigned char gpo_dir : 1; /**< GPIO Direction. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 375 | 0 = General purpose output (GPO) |
metin.ozkan@analog.com | 0:00d2a8670533 | 376 | 1 = General purpose input (GPI) */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 377 | unsigned char gpo_di : 1; /**< GPIO Digital Input Value. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 378 | 0 = Input logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 379 | 1 = Input logic high */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 380 | unsigned char gpo_drv : 1; /**< General Purpose Output Driver Type. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 381 | This bit is a don't care when DIR = 1 (configured as input) When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 382 | 0 = Open-Drain |
metin.ozkan@analog.com | 0:00d2a8670533 | 383 | 1 = Push-Pull */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 384 | unsigned char gpo_do : 1; /**< General Purpose Output Data Output. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 385 | This bit is a don't care when DIR = 1 (configured as input). When set for GPO (DIR = 0): |
metin.ozkan@analog.com | 0:00d2a8670533 | 386 | 0 = GPIO is output is logic low |
metin.ozkan@analog.com | 0:00d2a8670533 | 387 | 1 = GPIO is output logic high when set as push-pull output (DRV = 1). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 388 | unsigned char dben_gpi : 1; /**< General Purpose Input Debounce Timer Enable. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 389 | 0 = no debounce |
metin.ozkan@analog.com | 0:00d2a8670533 | 390 | 1 = 30ms debounce */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 391 | unsigned char alt_gpio : 1; /**< Alternate Mode Enable for GPIO2. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 392 | 0 = Standard GPIO. |
metin.ozkan@analog.com | 0:00d2a8670533 | 393 | 1 = Active-high input, Enable DISQBAT. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 394 | unsigned char rsvd : 2; /**< Reserved. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 395 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 396 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 397 | } reg_cnfg_gpio2_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 398 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 399 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 400 | * @brief CID Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 401 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 402 | * Address : 0x14 |
metin.ozkan@analog.com | 0:00d2a8670533 | 403 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 404 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 405 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 406 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 407 | unsigned char cid : 4; /**< Chip Identification Code. Bit 4:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 408 | The Chip Identification Code refers to a set of reset values in the register map, or the "OTP configuration.". */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 409 | unsigned char : 4; /**< Bit 7:4. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 410 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 411 | } reg_cid_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 412 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 413 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 414 | * @brief CNFG_WDT Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 415 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 416 | * Address : 0x17 |
metin.ozkan@analog.com | 0:00d2a8670533 | 417 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 418 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 419 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 420 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 421 | unsigned char wdt_lock : 1; /**< Factory-Set Safety Bit for the Watchdog Timer. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 422 | 0 = Watchdog timer can be enabled and disabled with WDT_EN. |
metin.ozkan@analog.com | 0:00d2a8670533 | 423 | 1 = Watchdog timer can not be disabled with WDT_EN. |
metin.ozkan@analog.com | 0:00d2a8670533 | 424 | However, WDT_EN can still be used to enable the watchdog timer. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 425 | unsigned char wdt_en : 1; /**< Watchdog Timer Enable. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 426 | 0 = Watchdog timer is not enabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 427 | 1 = Watchdog timer is enabled. The timer will expire if not reset by setting WDT_CLR. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 428 | unsigned char wdt_clr : 1; /**< Watchdog Timer Clear Control. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 429 | 0 = Watchdog timer period is not reset. |
metin.ozkan@analog.com | 0:00d2a8670533 | 430 | 1 = Watchdog timer is reset back to tWD. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 431 | unsigned char wdt_mode : 1; /**< Watchdog Timer Expired Action. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 432 | 0 = Watchdog timer expire causes power-off. |
metin.ozkan@analog.com | 0:00d2a8670533 | 433 | 1 = Watchdog timer expire causes power-reset. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 434 | unsigned char wdt_per : 2; /**< Watchdog Timer Period. Bit 5:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 435 | 0b00 = 16 seconds 0b01 = 32 seconds |
metin.ozkan@analog.com | 0:00d2a8670533 | 436 | 0b10 = 64 seconds 0b11 = 128 seconds. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 437 | unsigned char rsvd : 2; /**< Reserved. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 438 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 439 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 440 | } reg_cnfg_wdt_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 441 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 442 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 443 | * @brief INT_CHG Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 444 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 445 | * Address : 0x01 |
metin.ozkan@analog.com | 0:00d2a8670533 | 446 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 447 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 448 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 449 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 450 | unsigned char thm_i : 1; /**< Thermistor related interrupt. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 451 | 0 = The bits in THM_DTLS[2:0] have not changed since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 452 | 1 = The bits in THM_DTLS[2:0] have changed since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 453 | unsigned char chg_i : 1; /**< Charger related interrupt. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 454 | 0 = The bits in CHG_DTLS[3:0] have not changed since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 455 | 1 = The bits in CHG_DTLS[3:0] have changed since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 456 | unsigned char chgin_i : 1; /**< CHGIN related interrupt. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 457 | 0 = The bits in CHGIN_DTLS[1:0] have not changed since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 458 | 1 = The bits in CHGIN_DTLS[1:0] have changed since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 459 | unsigned char tj_reg_i : 1; /**< Die junction temperature regulation interrupt. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 460 | 0 = The die temperature has not exceeded TJ-REG since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 461 | 1 = The die temperature has exceeded TJ-REG since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 462 | unsigned char chgin_ctrl_i : 1; /**< CHGIN control-loop related interrupt. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 463 | 0 = Neither the VCHGIN_MIN_STAT nor the ICHGIN_LIM_STAT bits have changed since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 464 | 1 = The VCHGIN_MIN_STAT or ICHGIN_LIM_STAT bits have changed since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 465 | unsigned char sys_ctrl_i : 1; /**< Minimum System Voltage Regulation-loop related interrupt. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 466 | 0 = The minimum system voltage regulation loop has not engaged since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 467 | 1 = The minimum system voltage regulation loop has engaged since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 468 | unsigned char sys_cnfg_i : 1; /**< System voltage configuration error interrupt. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 469 | 0 = The bit combination in CHG_CV has not been forced to change since the last time this bit was read |
metin.ozkan@analog.com | 0:00d2a8670533 | 470 | 1 = The bit combination in CHG_CV has been forced to change to ensure VSYS-REG = VFAST-CHG + 200mV |
metin.ozkan@analog.com | 0:00d2a8670533 | 471 | since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 472 | unsigned char rsvd : 1; /**< Reserved. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 473 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 474 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 475 | } reg_int_chg_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 476 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 477 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 478 | * @brief STAT_CHG_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 479 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 480 | * Address : 0x02 |
metin.ozkan@analog.com | 0:00d2a8670533 | 481 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 482 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 483 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 484 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 485 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 486 | unsigned char thm_dtls : 3; /**< Battery Temperature Details. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 487 | 0b000 = Thermistor is disabled (THM_EN = 0) |
metin.ozkan@analog.com | 0:00d2a8670533 | 488 | 0b001 = Battery is cold as programmed by THM_COLD[1:0] If thermistor and charger are enabled while the battery is cold, a battery temperature fault will occur. |
metin.ozkan@analog.com | 0:00d2a8670533 | 489 | 0b010 = Battery is cool as programmed by THM_COOL[1:0] |
metin.ozkan@analog.com | 0:00d2a8670533 | 490 | 0b011 = Battery is warm as programmed by THM_WARM[1:0] |
metin.ozkan@analog.com | 0:00d2a8670533 | 491 | 0b100 = Battery is hot as programmed by THM_HOT[1:0]. If thermistor and charger are enabled while the battery is hot, a battery temperature fault will occur. |
metin.ozkan@analog.com | 0:00d2a8670533 | 492 | 0b101 = Battery is in the normal temperature region |
metin.ozkan@analog.com | 0:00d2a8670533 | 493 | 0b110 - 0b111 = reserved */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 494 | unsigned char tj_reg_stat : 1; /**< Maximum Junction Temperature Regulation Loop Status. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 495 | 0 = The maximum junction temperature regulation loop is not engaged |
metin.ozkan@analog.com | 0:00d2a8670533 | 496 | 1 = The maximum junction temperature regulation loop has engaged to regulate the junction temperature to less than TJ-REG */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 497 | unsigned char vsys_min_stat : 1; /**< Minimum System Voltage Regulation Loop Status. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 498 | 0 = The minimum system voltage regulation loop is not enganged |
metin.ozkan@analog.com | 0:00d2a8670533 | 499 | 1 = The minimum system voltage regulation loop is engaged to regulate VSYS ≥ VSYS-MIN */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 500 | unsigned char ichgin_lim_stat : 1; /**< Input Current Limit Loop Status. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 501 | 0 = The CHGIN current limit loop is not engaged |
metin.ozkan@analog.com | 0:00d2a8670533 | 502 | 1 = The CHGIN current limit loop has engaged to regulate ICHGIN ≤ ICHGIN-LIM */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 503 | unsigned char vchgin_min_stat : 1; /**< Minimum Input Voltage Regulation Loop Status. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 504 | 0 = The minimum CHGIN voltage regulation loop is not engaged |
metin.ozkan@analog.com | 0:00d2a8670533 | 505 | 1 = The minimum CHGIN voltage regulation loop has engaged to regulate VCHGIN ≥ VCHGIN-MIN */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 506 | unsigned char rsvd : 1; /**< Reserved. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 507 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 508 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 509 | } reg_stat_chg_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 510 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 511 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 512 | * @brief STAT_CHG_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 513 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 514 | * Address : 0x03 |
metin.ozkan@analog.com | 0:00d2a8670533 | 515 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 516 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 517 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 518 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 519 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 520 | unsigned char time_sus : 1; /**< Time Suspend Indicator. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 521 | 0 = The charger's timers are either not active, or not suspended |
metin.ozkan@analog.com | 0:00d2a8670533 | 522 | 1 = The charger's active timer is suspended due to one of three reasons: |
metin.ozkan@analog.com | 0:00d2a8670533 | 523 | charge current dropped below 20% of IFAST-CHG while the charger state machine is in FAST CHARGE CC mode, |
metin.ozkan@analog.com | 0:00d2a8670533 | 524 | the charger is in SUPPLEMENT mode, or the charger state machine is in BATTERY TEMPERATURE FAULT mode. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 525 | unsigned char chg : 1; /**< Quick Charger Status. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 526 | 0 = Charging is not happening |
metin.ozkan@analog.com | 0:00d2a8670533 | 527 | 1 = Charging is happening */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 528 | unsigned char chgin_dtls : 2; /**< CHGIN Status Detail. Bit 3:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 529 | 0b00 = The CHGIN input voltage is below the UVLO threshold (VCHGIN < VUVLO) |
metin.ozkan@analog.com | 0:00d2a8670533 | 530 | 0b01 = The CHGIN input voltage is above the OVP threshold (VCHGIN > VOVP) |
metin.ozkan@analog.com | 0:00d2a8670533 | 531 | 0b10 = The CHGIN input is being debounced (no power accepted from CHGIN during debounce) |
metin.ozkan@analog.com | 0:00d2a8670533 | 532 | 0b11 = The CHGIN input is okay and debounced */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 533 | unsigned char chg_dtls : 4; /**< Charger Details. Bit 7:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 534 | 0b0000 = Off |
metin.ozkan@analog.com | 0:00d2a8670533 | 535 | 0b0001 = Prequalification mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 536 | 0b0010 = Fast-charge constant-current (CC) mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 537 | 0b0011 = JEITA modified fast-charge constant-current mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 538 | 0b0100 = Fast-charge constant-voltage (CV) mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 539 | 0b0101 = JEITA modified fast-charge constant-voltage mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 540 | 0b0110 = Top-off mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 541 | 0b0111 = JEITA modified top-off mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 542 | 0b1000 = Done |
metin.ozkan@analog.com | 0:00d2a8670533 | 543 | 0b1001 = JEITA modified done (done was entered through the JEITA-modified fast-charge states) |
metin.ozkan@analog.com | 0:00d2a8670533 | 544 | 0b1010 = Prequalification timer fault |
metin.ozkan@analog.com | 0:00d2a8670533 | 545 | 0b1011 = Fast-charge timer fault |
metin.ozkan@analog.com | 0:00d2a8670533 | 546 | 0b1100 = Battery temperature fault |
metin.ozkan@analog.com | 0:00d2a8670533 | 547 | 0b1101 - 0b1111 = reserved */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 548 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 549 | } reg_stat_chg_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 550 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 551 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 552 | * @brief INT_M_CHG Register |
metin.ozkan@analog.com | 0:00d2a8670533 | 553 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 554 | * Address : 0x07 |
metin.ozkan@analog.com | 0:00d2a8670533 | 555 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 556 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 557 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 558 | struct { |
metin.ozkan@analog.com | 0:00d2a8670533 | 559 | unsigned char thm_m : 1; /**< Setting this bit prevents the THM_I bit from causing hardware IRQs. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 560 | 0 = THM_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 561 | 1 = THM_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 562 | unsigned char chg_m : 1; /**< Setting this bit prevents the CHG_I bit from causing hardware IRQs. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 563 | 0 = CHG_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 564 | 1 = CHG_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 565 | unsigned char chgin_m : 1; /**< Setting this bit prevents the CHGIN_I bit from causing hardware IRQs. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 566 | 0 = CHGIN_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 567 | 1 = CHGIN_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 568 | unsigned char tj_reg_m : 1; /**< Setting this bit prevents the TJREG_I bit from causing hardware IRQs. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 569 | 0 = TJREG_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 570 | 1 = TJREG_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 571 | unsigned char chgin_ctrl_m : 1; /**< Setting this bit prevents the CHGIN_CTRL_I bit from causing hardware IRQs. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 572 | 0 = CHGIN_CTRL_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 573 | 1 = CHGIN_CTRL_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 574 | unsigned char sys_ctrl_m : 1; /**< Setting this bit prevents the SYS_CTRL_I bit from causing hardware IRQs. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 575 | 0 = SYS_CTRL_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 576 | 1 = SYS_CTRL_I is masked */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 577 | unsigned char sys_cnfg_m : 1; /**< Setting this bit prevents the SYS_CNFG_I bit from causing hardware IRQs. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 578 | 0 = SYS_CNFG_I is not masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 579 | 1 = SYS_CNFG_I is masked |
metin.ozkan@analog.com | 0:00d2a8670533 | 580 | since the last time this bit was read */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 581 | unsigned char dis_aicl : 1; /**< Active input current loop. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 582 | 0 = Active Input Current Loop Active. |
metin.ozkan@analog.com | 0:00d2a8670533 | 583 | 1 = Active Input Current Loop Disabled. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 584 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 585 | } reg_int_m_chg_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 586 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 587 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 588 | * @brief CNFG_CHG_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 589 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 590 | * Address : 0x20 |
metin.ozkan@analog.com | 0:00d2a8670533 | 591 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 592 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 593 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 594 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 595 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 596 | unsigned char thm_cold : 2; /**< Sets the TCOLD JEITA Temperature Threshold. Bit 1:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 597 | 0b00 = TCOLD = -10ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 598 | 0b01 = TCOLD = -5ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 599 | 0b10 = TCOLD = 0ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 600 | 0b11 = TCOLD = 5ºC */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 601 | unsigned char thm_cool : 2; /**< Sets the TCOOL JEITA Temperature Threshold. Bit 3:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 602 | 0b00 = TCOOL = 0ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 603 | 0b01 = TCOOL = 5ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 604 | 0b10 = TCOOL = 10ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 605 | 0b11 = TCOOL = 15ºC */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 606 | unsigned char thm_warm : 2; /**< Sets the TWARM JEITA Temperature Threshold. Bit 5:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 607 | 0b00 = TWARM = 35ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 608 | 0b01 = TWARM = 40ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 609 | 0b10 = TWARM = 45ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 610 | 0b11 = TWARM = 50ºC */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 611 | unsigned char thm_hot : 2; /**< Sets the THOT JEITA Temperature Threshold. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 612 | 0b00 = THOT = 45ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 613 | 0b01 = THOT = 50ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 614 | 0b10 = THOT = 55ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 615 | 0b11 = THOT = 60ºC */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 616 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 617 | } reg_cnfg_chg_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 618 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 619 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 620 | * @brief CNFG_CHG_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 621 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 622 | * Address : 0x21 |
metin.ozkan@analog.com | 0:00d2a8670533 | 623 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 624 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 625 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 626 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 627 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 628 | unsigned char chg_en : 1; /**< Charger Enable. Bit 0. Default value defined by OTP bit OTP_CHG_EN: |
metin.ozkan@analog.com | 0:00d2a8670533 | 629 | 0 = the battery charger is disabled |
metin.ozkan@analog.com | 0:00d2a8670533 | 630 | 1 = the battery charger is enabled */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 631 | unsigned char i_pq : 1; /**< Sets the prequalification charge current (IPQ) as a percentage of IFAST-CHG. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 632 | 0 = 10% 1 = 20% */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 633 | unsigned char ichgin_lim : 3; /**< CHGIN Input Current Limit (ICHGIN-LIM). Bit 4:2. When CNFG_SBB_TOP.ICHGIN_LIM_DEF = 0: |
metin.ozkan@analog.com | 0:00d2a8670533 | 634 | 0b000 = 95mA 0b001 = 190mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 635 | 0b010 = 285mA 0b011 = 380mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 636 | 0b100 = 475mA 0b101 0b111 = Reserved. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 637 | unsigned char vchgin_min : 3; /**< Minimum CHGIN regulation voltage (VCHGIN-MIN). Bit 7:5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 638 | 0b000 = 4.0V 0b001 = 4.1V |
metin.ozkan@analog.com | 0:00d2a8670533 | 639 | 0b010 = 4.2V 0b011 = 4.3V |
metin.ozkan@analog.com | 0:00d2a8670533 | 640 | 0b100 = 4.4V 0b101 = 4.5V |
metin.ozkan@analog.com | 0:00d2a8670533 | 641 | 0b110 = 4.6V 0b111 = 4.7V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 642 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 643 | } reg_cnfg_chg_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 644 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 645 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 646 | * @brief CNFG_CHG_C |
metin.ozkan@analog.com | 0:00d2a8670533 | 647 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 648 | * Address : 0x22 |
metin.ozkan@analog.com | 0:00d2a8670533 | 649 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 650 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 651 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 652 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 653 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 654 | unsigned char t_topoff : 3; /**< Top-off timer value (tTO). Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 655 | 0b000 = 0 minutes 0b001 = 5 minutes |
metin.ozkan@analog.com | 0:00d2a8670533 | 656 | 0b010 = 10 minutes 0b011 = 15 minutes |
metin.ozkan@analog.com | 0:00d2a8670533 | 657 | 0b100 = 20 minutes 0b101 = 25 minutes |
metin.ozkan@analog.com | 0:00d2a8670533 | 658 | 0b110 = 30 minutes 0b111 = 35 minutes */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 659 | unsigned char i_term : 2; /**< Charger Termination Current (ITERM). Bit 4:3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 660 | 00 = 5% 01 = 7.5% |
metin.ozkan@analog.com | 0:00d2a8670533 | 661 | 10 = 10% 11 = 15% */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 662 | unsigned char chg_pq : 3; /**< Battery prequalification voltage threshold (VPQ). Bit 7:5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 663 | 0b000 = 2.3V 0b001 = 2.4V |
metin.ozkan@analog.com | 0:00d2a8670533 | 664 | 0b010 = 2.5V 0b011 = 2.6V |
metin.ozkan@analog.com | 0:00d2a8670533 | 665 | 0b100 = 2.7V 0b101 = 2.8V |
metin.ozkan@analog.com | 0:00d2a8670533 | 666 | 0b110 = 2.9V 0b111 = 3.0V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 667 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 668 | } reg_cnfg_chg_c_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 669 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 670 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 671 | * @brief CNFG_CHG_D |
metin.ozkan@analog.com | 0:00d2a8670533 | 672 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 673 | * Address : 0x23 |
metin.ozkan@analog.com | 0:00d2a8670533 | 674 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 675 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 676 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 677 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 678 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 679 | unsigned char vsys_reg : 5; /**< System voltage regulation (VSYS-REG). Bit 4:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 680 | 0x0 = 3.300V 0x1 = 3.350V |
metin.ozkan@analog.com | 0:00d2a8670533 | 681 | 0x2 = 3.400V ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 682 | 0x1D = 4.750V 0x1E - 0x1F = 4.800V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 683 | unsigned char tj_reg : 3; /**< Sets the die junction temperature regulation point, TJ-REG. Bit 7:5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 684 | 0b000 = 60ºC 0b001 = 70ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 685 | 0b010 = 80ºC 0b011 = 90ºC |
metin.ozkan@analog.com | 0:00d2a8670533 | 686 | 0b100 - 0b111 = 100ºC */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 687 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 688 | } reg_cnfg_chg_d_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 689 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 690 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 691 | * @brief CNFG_CHG_E |
metin.ozkan@analog.com | 0:00d2a8670533 | 692 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 693 | * Address : 0x24 |
metin.ozkan@analog.com | 0:00d2a8670533 | 694 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 695 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 696 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 697 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 698 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 699 | unsigned char t_fast_chg : 2; /**< Sets the fast-charge safety timer, tFC. Bit 1:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 700 | 0b00 = Timer disabled 0b01 = 3 hours |
metin.ozkan@analog.com | 0:00d2a8670533 | 701 | 0b10 = 5 hours 0b11 = 7 hours */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 702 | unsigned char chg_cc : 6; /**< Sets the fast-charge constant current value, IFAST-CHG. Bit 7:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 703 | 0x0 = 7.5mA 0x1 = 15.0mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 704 | 0x2 = 22.5mA ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 705 | 0x26 = 292.5mA 0x27 - 0x3F = 300.0mA */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 706 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 707 | } reg_cnfg_chg_e_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 708 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 709 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 710 | * @brief CNFG_CHG_F |
metin.ozkan@analog.com | 0:00d2a8670533 | 711 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 712 | * Address : 0x25 |
metin.ozkan@analog.com | 0:00d2a8670533 | 713 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 714 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 715 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 716 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 717 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 718 | unsigned char : 2; /**< Bit 1:0*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 719 | unsigned char chg_cc_jeita : 6; /**< Sets IFAST-CHG-JEITA for when the battery is either cool or warm as defined |
metin.ozkan@analog.com | 0:00d2a8670533 | 720 | by the VCOOL and VWARM temperature thresholds. Bit 7:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 721 | 0x0 = 7.5mA 0x1 = 15.0mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 722 | 0x2 = 22.5mA ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 723 | 0x26 = 292.5mA 0x27 - 0x3F = 300.0mA */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 724 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 725 | } reg_cnfg_chg_f_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 726 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 727 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 728 | * @brief CNFG_CHG_G |
metin.ozkan@analog.com | 0:00d2a8670533 | 729 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 730 | * Address : 0x26 |
metin.ozkan@analog.com | 0:00d2a8670533 | 731 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 732 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 733 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 734 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 735 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 736 | unsigned char fus_m : 1; /**< Forced USB Suspend Mask. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 737 | FUS is only active if the FUS_M bit is set to 0.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 738 | unsigned char usbs : 1; /**< Setting this bit places CHGIN in USB suspend mode. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 739 | 0 = CHGIN is not suspended and may draw current from an adapter source |
metin.ozkan@analog.com | 0:00d2a8670533 | 740 | 1 = CHGIN is suspended and may draw no current from an adapter source */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 741 | unsigned char chg_cv : 6; /**< Sets fast-charge battery regulation voltage, VFAST-CHG. Bit 7:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 742 | 0x0 = 3.600V 0x1 = 3.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 743 | 0x2 = 3.650V ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 744 | 0x27 = 4.575V 0x28 - 0x3F = 4.600V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 745 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 746 | } reg_cnfg_chg_g_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 747 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 748 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 749 | * @brief CNFG_CHG_H |
metin.ozkan@analog.com | 0:00d2a8670533 | 750 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 751 | * Address : 0x27 |
metin.ozkan@analog.com | 0:00d2a8670533 | 752 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 753 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 754 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 755 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 756 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 757 | unsigned char chr_th_dis : 1; /**< Charger restart threshold disable. Bit 0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 758 | unsigned char sys_bat_prt : 1; /**< VSYS_REG - CHG_CV clamp. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 759 | By default, the VSYS_REG has to be at least 200mV higher than the programmed CHG_CV. |
metin.ozkan@analog.com | 0:00d2a8670533 | 760 | If this bit is set (hardware protection is turned off), the software has to provide |
metin.ozkan@analog.com | 0:00d2a8670533 | 761 | the protection (the SYS voltage has to be 200mV higher than the BATT voltage). |
metin.ozkan@analog.com | 0:00d2a8670533 | 762 | If the VSYS_REG is lower than CHG_CV+200mV, the charger will reduce. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 763 | unsigned char chg_cv_jeita : 6; /**< Sets the modified VFAST-CHG-JEITA for when the battery is either cool or |
metin.ozkan@analog.com | 0:00d2a8670533 | 764 | warm as defined by the VCOOL and VWARM temperature thresholds. Bit 7:2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 765 | 0x0 = 3.600V 0x1 = 3.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 766 | 0x2 = 3.650V ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 767 | 0x27 = 4.575V 0x28 - 0x3F = 4.600V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 768 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 769 | } reg_cnfg_chg_h_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 770 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 771 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 772 | * @brief CNFG_CHG_I |
metin.ozkan@analog.com | 0:00d2a8670533 | 773 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 774 | * Address : 0x28 |
metin.ozkan@analog.com | 0:00d2a8670533 | 775 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 776 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 777 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 778 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 779 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 780 | unsigned char mux_sel : 4; /**< Selects the analog channel to connect to AMUX. Bit 3:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 781 | 0b0000 = Multiplexer is disabled and AMUX is high-impedance. |
metin.ozkan@analog.com | 0:00d2a8670533 | 782 | 0b0001 = CHGIN voltage monitor. |
metin.ozkan@analog.com | 0:00d2a8670533 | 783 | 0b0010 = CHGIN current monitor. |
metin.ozkan@analog.com | 0:00d2a8670533 | 784 | 0b0011 = BATT voltage monitor. |
metin.ozkan@analog.com | 0:00d2a8670533 | 785 | 0b0100 = BATT charge current monitor. Valid only while battery charging is happening (CHG = 1). |
metin.ozkan@analog.com | 0:00d2a8670533 | 786 | 0b0101 = BATT discharge current monitor normal measurement. |
metin.ozkan@analog.com | 0:00d2a8670533 | 787 | 0b0110 = BATT discharge current monitor nulling measurement. |
metin.ozkan@analog.com | 0:00d2a8670533 | 788 | 0b0111 = Reserved. |
metin.ozkan@analog.com | 0:00d2a8670533 | 789 | 0b1000 = Reserved. |
metin.ozkan@analog.com | 0:00d2a8670533 | 790 | 0b1001 = AGND voltage monitor (through 100Ω pull-down resistor) |
metin.ozkan@analog.com | 0:00d2a8670533 | 791 | 0b1010 - 0b1111 = SYS voltage monitor */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 792 | unsigned char imon_dischg_scale : 4; /**< Selects the battery discharge current full-scale current value. Bit 7:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 793 | 0x0 = 8.2mA 0x1 = 40.5mA 0x2 = 72.3mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 794 | 0x3 = 103.4mA 0x4 = 134.1mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 795 | 0x5 = 164.1mA 0x6 = 193.7mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 796 | 0x7 = 222.7mA 0x8 = 251.2mA |
metin.ozkan@analog.com | 0:00d2a8670533 | 797 | 0x9 = 279.3mA 0xA - 0xF = 300.0mA */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 798 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 799 | } reg_cnfg_chg_i_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 800 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 801 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 802 | * @brief CNFG_SBB_TOP |
metin.ozkan@analog.com | 0:00d2a8670533 | 803 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 804 | * Address : 0x38 |
metin.ozkan@analog.com | 0:00d2a8670533 | 805 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 806 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 807 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 808 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 809 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 810 | unsigned char drv_sbb : 2; /**< SIMO Buck-Boost (all channels) Drive Strength Trim. Bit 1:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 811 | 0b00 = Fastest transition time |
metin.ozkan@analog.com | 0:00d2a8670533 | 812 | 0b01 = A little slower than 0b00 |
metin.ozkan@analog.com | 0:00d2a8670533 | 813 | 0b10 = A little slower than 0b01 |
metin.ozkan@analog.com | 0:00d2a8670533 | 814 | 0b11 = A little slower than 0b10 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 815 | unsigned char : 5; /**< Bit 6:2.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 816 | unsigned char dis_lpm : 1; /**< Disables the automatic Low Power Mode for Each SIMO Channel. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 817 | 0b0 = Automatic Low Power Mode for each SIMO channel |
metin.ozkan@analog.com | 0:00d2a8670533 | 818 | 0b1 = Disable LPM feature for each SIMO channel */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 819 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 820 | } reg_cnfg_sbb_top_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 821 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 822 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 823 | * @brief CNFG_SBB0_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 824 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 825 | * Address : 0x39 |
metin.ozkan@analog.com | 0:00d2a8670533 | 826 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 827 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 828 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 829 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 830 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 831 | unsigned char tv_sbb0 : 8; /**< SIMO Buck-Boost Channel 0 Target Output Voltage. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 832 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 833 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 834 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 835 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 836 | 0xC5 = 5.425V 0xC6 = 5.450V 0xC7 = 5.475V |
metin.ozkan@analog.com | 0:00d2a8670533 | 837 | 0xC8 to 0xFF = 5.500V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 838 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 839 | } reg_cnfg_sbb0_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 840 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 841 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 842 | * @brief CNFG_SBB0_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 843 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 844 | * Address : 0x3A |
metin.ozkan@analog.com | 0:00d2a8670533 | 845 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 846 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 847 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 848 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 849 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 850 | unsigned char en_sbb0 : 3; /**< Enable Control for SIMO Buck-Boost Channel 0, |
metin.ozkan@analog.com | 0:00d2a8670533 | 851 | selecting either an FPS slot the channel powers-up and powers-down in |
metin.ozkan@analog.com | 0:00d2a8670533 | 852 | or whether the channel is forced on or off. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 853 | 0b000 = FPS slot 0 0b001 = FPS slot 1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 854 | 0b010 = FPS slot 2 0b011 = FPS slot 3 |
metin.ozkan@analog.com | 0:00d2a8670533 | 855 | 0b100 = Off irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 856 | 0b101 = same as 0b100 0b110 = On irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 857 | 0b111 = same as 0b110 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 858 | unsigned char ade_sbb0 : 1; /**< SIMO Buck-Boost Channel 0 Active-Discharge Enable. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 859 | 0 = The active discharge function is disabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 860 | When SBB0 is disabled, its discharge rate is a function of the output capacitance and the external load. |
metin.ozkan@analog.com | 0:00d2a8670533 | 861 | 1 = The active discharge function is enabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 862 | When SBB0 is disabled, an internal resistor (RAD_SBB0) is activated from SBB0 to PGND to help the output voltage discharge. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 863 | unsigned char ip_sbb0 : 2; /**< SIMO Buck-Boost Channel 0 Peak Current Limit. Bit 5:4 |
metin.ozkan@analog.com | 0:00d2a8670533 | 864 | 0b00 = 1.000A 0b01 = 0.750A |
metin.ozkan@analog.com | 0:00d2a8670533 | 865 | 0b10 = 0.500A 0b11 = 0.333A*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 866 | unsigned char op_mode0 : 2; /**< Operation mode of SBB0. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 867 | 0b00 = Automatic |
metin.ozkan@analog.com | 0:00d2a8670533 | 868 | 0b01 = Buck mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 869 | 0b10 = Boost mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 870 | 0b11 = Buck-boost mode*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 871 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 872 | } reg_cnfg_sbb0_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 873 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 874 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 875 | * @brief CNFG_SBB1_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 876 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 877 | * Address : 0x3B |
metin.ozkan@analog.com | 0:00d2a8670533 | 878 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 879 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 880 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 881 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 882 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 883 | unsigned char tv_sbb1 : 8; /**< SIMO Buck-Boost Channel 1 Target Output Voltage. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 884 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 885 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 886 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 887 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 888 | 0xC5 = 5.425V 0xC6 = 5.450V 0xC7 = 5.475V |
metin.ozkan@analog.com | 0:00d2a8670533 | 889 | 0xC8 to 0xFF = 5.500V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 890 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 891 | } reg_cnfg_sbb1_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 892 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 893 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 894 | * @brief CNFG_SBB1_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 895 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 896 | * Address : 0x3C |
metin.ozkan@analog.com | 0:00d2a8670533 | 897 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 898 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 899 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 900 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 901 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 902 | unsigned char en_sbb1 : 3; /**< Enable Control for SIMO Buck-Boost Channel 1, |
metin.ozkan@analog.com | 0:00d2a8670533 | 903 | selecting either an FPS slot the channel powers-up and powers-down in |
metin.ozkan@analog.com | 0:00d2a8670533 | 904 | or whether the channel is forced on or off. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 905 | 0b000 = FPS slot 0 0b001 = FPS slot 1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 906 | 0b010 = FPS slot 2 0b011 = FPS slot 3 |
metin.ozkan@analog.com | 0:00d2a8670533 | 907 | 0b100 = Off irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 908 | 0b101 = same as 0b100 0b110 = On irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 909 | 0b111 = same as 0b110 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 910 | unsigned char ade_sbb1 : 1; /**< SIMO Buck-Boost Channel 1 Active-Discharge Enable. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 911 | 0 = The active discharge function is disabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 912 | When SBB0 is disabled, its discharge rate is a function of the output capacitance and the external load. |
metin.ozkan@analog.com | 0:00d2a8670533 | 913 | 1 = The active discharge function is enabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 914 | When SBB0 is disabled, an internal resistor (RAD_SBB0) is activated from SBB0 to PGND to help the output voltage discharge. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 915 | unsigned char ip_sbb1 : 2; /**< SIMO Buck-Boost Channel 1 Peak Current Limit. Bit 5:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 916 | 0b00 = 1.000A 0b01 = 0.750A |
metin.ozkan@analog.com | 0:00d2a8670533 | 917 | 0b10 = 0.500A 0b11 = 0.333A*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 918 | unsigned char op_mode1 : 2; /**< Operation mode of SBB1. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 919 | 0b00 = Automatic |
metin.ozkan@analog.com | 0:00d2a8670533 | 920 | 0b01 = Buck mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 921 | 0b10 = Boost mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 922 | 0b11 = Buck-boost mode*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 923 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 924 | } reg_cnfg_sbb1_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 925 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 926 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 927 | * @brief CNFG_SBB2_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 928 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 929 | * Address : 0x3D |
metin.ozkan@analog.com | 0:00d2a8670533 | 930 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 931 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 932 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 933 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 934 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 935 | unsigned char tv_sbb2 : 8; /**< SIMO Buck-Boost Channel 2 Target Output Voltage. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 936 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 937 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 938 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 939 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 940 | 0xC5 = 5.425V 0xC6 = 5.450V 0xC7 = 5.475V |
metin.ozkan@analog.com | 0:00d2a8670533 | 941 | 0xC8 to 0xFF = 5.500V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 942 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 943 | } reg_cnfg_sbb2_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 944 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 945 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 946 | * @brief CNFG_SBB2_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 947 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 948 | * Address : 0x3E |
metin.ozkan@analog.com | 0:00d2a8670533 | 949 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 950 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 951 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 952 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 953 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 954 | unsigned char en_sbb2 : 3; /**< Enable Control for SIMO Buck-Boost Channel 2, |
metin.ozkan@analog.com | 0:00d2a8670533 | 955 | selecting either an FPS slot the channel powers-up and powers-down in |
metin.ozkan@analog.com | 0:00d2a8670533 | 956 | or whether the channel is forced on or off. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 957 | 0b000 = FPS slot 0 0b001 = FPS slot 1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 958 | 0b010 = FPS slot 2 0b011 = FPS slot 3 |
metin.ozkan@analog.com | 0:00d2a8670533 | 959 | 0b100 = Off irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 960 | 0b101 = same as 0b100 0b110 = On irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 961 | 0b111 = same as 0b110 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 962 | unsigned char ade_sbb2 : 1; /**< SIMO Buck-Boost Channel 2 Active-Discharge Enable Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 963 | 0 = The active discharge function is disabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 964 | When SBB0 is disabled, its discharge rate is a function of the output capacitance and the external load. |
metin.ozkan@analog.com | 0:00d2a8670533 | 965 | 1 = The active discharge function is enabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 966 | When SBB0 is disabled, an internal resistor (RAD_SBB0) is activated from SBB0 to PGND to help the output voltage discharge. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 967 | unsigned char ip_sbb2 : 2; /**< SIMO Buck-Boost Channel 2 Peak Current Limit. Bit 5:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 968 | 0b00 = 1.000A 0b01 = 0.750A |
metin.ozkan@analog.com | 0:00d2a8670533 | 969 | 0b10 = 0.500A 0b11 = 0.333A*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 970 | unsigned char op_mode2 : 2; /**< Operation mode of SBB2. Bit 7:6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 971 | 0b00 = Automatic |
metin.ozkan@analog.com | 0:00d2a8670533 | 972 | 0b01 = Buck mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 973 | 0b10 = Boost mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 974 | 0b11 = Buck-boost mode*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 975 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 976 | } reg_cnfg_sbb2_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 977 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 978 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 979 | * @brief CNFG_DVS_SBB0_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 980 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 981 | * Address : 0x3F |
metin.ozkan@analog.com | 0:00d2a8670533 | 982 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 983 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 984 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 985 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 986 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 987 | unsigned char tv_sbb0_dvs : 8; /**< SIMO Buck-Boost Channel 0 Target Output Voltage. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 988 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 989 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 990 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 991 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 992 | 0xC5 = 5.425V 0xC6 = 5.450V 0xC7 = 5.475V |
metin.ozkan@analog.com | 0:00d2a8670533 | 993 | 0xC8 to 0xFF = 5.500V */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 994 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 995 | } reg_cnfg_dvs_sbb0_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 996 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 997 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 998 | * @brief CNFG_LDO0_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 999 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1000 | * Address : 0x48 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1001 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1002 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1003 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1004 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1005 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1006 | unsigned char tv_ldo0_6_0 : 7; /**< LDO0 Target Output Voltage. Bit 6:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1007 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1008 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1009 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1010 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 1011 | 0x7E = 3.650V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1012 | 0x7F = 3.675V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1013 | When TV_LDO[7] = 0, TV_LDO[6:0] sets the |
metin.ozkan@analog.com | 0:00d2a8670533 | 1014 | LDO's output voltage range from 0.5V to 3.675V. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1015 | When TV_LDO[7] = 1, TV_LDO[6:0] sets the |
metin.ozkan@analog.com | 0:00d2a8670533 | 1016 | LDO's output voltage from 1.825V to 5V. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1017 | unsigned char tv_ldo0_7 : 1; /**< LDO0 Output Voltage. Bit7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1018 | This bit applies a 1.325V offset to the output voltage of the LDO0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1019 | 0b0 = No Offset, 0b1 = 1.325V Offset |
metin.ozkan@analog.com | 0:00d2a8670533 | 1020 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1021 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1022 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1023 | } reg_cnfg_ldo0_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1024 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1025 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1026 | * @brief CNFG_LDO0_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 1027 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1028 | * Address : 0x49 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1029 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1030 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1031 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1032 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1033 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1034 | unsigned char en_ldo0 : 3; /**< Enable Control for LDO0, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1035 | selecting either an FPS slot the channel powers-up and |
metin.ozkan@analog.com | 0:00d2a8670533 | 1036 | powersdown in or whether the channel is forced on or off. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1037 | 0b000 = FPS slot 0 0b001 = FPS slot 1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1038 | 0b010 = FPS slot 2 0b011 = FPS slot 3 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1039 | 0b100 = Off irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 1040 | 0b101 = same as 0b100 0b110 = On irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 1041 | 0b111 = same as 0b110 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1042 | unsigned char ade_ldo0 : 1; /**< LDO0 Active-Discharge Enable. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1043 | 0 = The active discharge function is disabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1044 | 1 = The active discharge function is enabled.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1045 | unsigned char ldo0_md : 1; /**< Operation Mode of LDO0. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1046 | 0b0 = Low dropout linear regulator (LDO) mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 1047 | 0b1 = Load switch (LSW) mode*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1048 | unsigned char : 3; /**< */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1049 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1050 | } reg_cnfg_ldo0_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1051 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1052 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1053 | * @brief CNFG_LDO1_A |
metin.ozkan@analog.com | 0:00d2a8670533 | 1054 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1055 | * Address : 0x4A |
metin.ozkan@analog.com | 0:00d2a8670533 | 1056 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1057 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1058 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1059 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1060 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1061 | unsigned char tv_ldo1_6_0 : 7; /**< LDO1 Target Output Voltage. Bit 6:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1062 | 0x00 = 0.500V 0x01 = 0.525V 0x02 = 0.550V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1063 | 0x03 = 0.575V 0x04 = 0.600V 0x05 = 0.625V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1064 | 0x06 = 0.650V 0x07 = 0.675V 0x08 = 0.700V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1065 | ... |
metin.ozkan@analog.com | 0:00d2a8670533 | 1066 | 0x7E = 3.650V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1067 | 0x7F = 3.675V |
metin.ozkan@analog.com | 0:00d2a8670533 | 1068 | When TV_LDO[7] = 0, TV_LDO[6:0] sets the |
metin.ozkan@analog.com | 0:00d2a8670533 | 1069 | LDO's output voltage range from 0.5V to 3.675V. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1070 | When TV_LDO[7] = 1, TV_LDO[6:0] sets the |
metin.ozkan@analog.com | 0:00d2a8670533 | 1071 | LDO's output voltage from 1.825V to 5V. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1072 | unsigned char tv_ldo1_7 : 1; /**< LDO1 Output Voltage. Bit7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1073 | This bit applies a 1.325V offset to the output voltage of the LDO0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1074 | 0b0 = No Offset, 0b1 = 1.325V Offset |
metin.ozkan@analog.com | 0:00d2a8670533 | 1075 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1076 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1077 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1078 | } reg_cnfg_ldo1_a_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1079 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1080 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1081 | * @brief CNFG_LDO1_B |
metin.ozkan@analog.com | 0:00d2a8670533 | 1082 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1083 | * Address : 0x4B |
metin.ozkan@analog.com | 0:00d2a8670533 | 1084 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1085 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1086 | unsigned char raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1087 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1088 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1089 | unsigned char en_ldo1 : 3; /**< Enable Control for LDO1, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1090 | selecting either an FPS slot the channel powers-up and |
metin.ozkan@analog.com | 0:00d2a8670533 | 1091 | powersdown in or whether the channel is forced on or off. Bit 2:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1092 | 0b000 = FPS slot 0 0b001 = FPS slot 1 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1093 | 0b010 = FPS slot 2 0b011 = FPS slot 3 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1094 | 0b100 = Off irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 1095 | 0b101 = same as 0b100 0b110 = On irrespective of FPS |
metin.ozkan@analog.com | 0:00d2a8670533 | 1096 | 0b111 = same as 0b110 */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1097 | unsigned char ade_ldo1 : 1; /**< LDO1 Active-Discharge Enable. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1098 | 0 = The active discharge function is disabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1099 | 1 = The active discharge function is enabled.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1100 | unsigned char ldo1_md : 1; /**< Operation Mode of LDO1. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1101 | 0b0 = Low dropout linear regulator (LDO) mode |
metin.ozkan@analog.com | 0:00d2a8670533 | 1102 | 0b1 = Load switch (LSW) mode*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1103 | unsigned char : 3; /**< */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1104 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1105 | } reg_cnfg_ldo1_b_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1106 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1107 | /*FUEL GAUGE REGISTERS*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1108 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1109 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1110 | * @brief Status |
metin.ozkan@analog.com | 0:00d2a8670533 | 1111 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1112 | * Address : 0x00 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1113 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1114 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1115 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1116 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1117 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1118 | unsigned char imn : 1; /**< Minimum Isys Threshold Exceeded. Bit 0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1119 | unsigned char por : 1; /**< Power-On Reset. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1120 | This bit is set to 1 when the device detects that a software or hardware POR event has occurred. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1121 | unsigned char spr_2 : 1; /**< Bit 2. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1122 | unsigned char bst : 1; /**< Battery Status. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1123 | Unutilized bit. Write to 0. Reads are don't care. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1124 | unsigned char isysmx : 1; /**< SYS current is over OCP limit. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1125 | Maximum SYS current threshold exceeded. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1126 | unsigned char spr_5 : 1; /**< Bit 5. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1127 | unsigned char thmhot : 1; /**< FG Control Charger Input Current Limit. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1128 | Set to 1 to indicate a Thermistor Hot to allow FG control charger input current limit. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1129 | ThmHot is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1130 | unsigned char dsoci : 1; /**< 1% SOC Change Alert. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1131 | This bit is set to 1 to indicate a 1% SOC change alert. dSOCi is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1132 | unsigned char vmn : 1; /**< Minimum VALRT Threshold Exceeded. Bit 8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1133 | This bit is set to 1 whenever a VCELL register reading is below the minimum VALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1134 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1135 | See VS in the CONFIG register. Vmn is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1136 | unsigned char tmn : 1; /**< Minimum TALRT Threshold Exceeded. Bit 9. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1137 | This bit is set to 1 whenever a Temperature register reading is below the minimum TALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1138 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1139 | See TS in the CONFIG register. Tmn is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1140 | unsigned char smn : 1; /**< Minimum SOCALRT Threshold Exceeded. Bit 10. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1141 | This bit is set to 1 whenever SOC falls below the minimum SOCALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1142 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1143 | See SS in the CONFIG register and SACFG in the MiscCFG register. Smn is set to 0 at power-up.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1144 | unsigned char bi : 1; /**< Battery Insertion. Bit 11. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1145 | This bit is set to 1 when the device detects that a battery has been inserted into the system by monitoring the AIN pin. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1146 | This bit must be cleared by system software to detect the next insertion event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1147 | Bi is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1148 | unsigned char vmx : 1; /**< Maximum VALRT Threshold Exceeded. Bit 12. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1149 | This bit is set to 1 whenever a VCELL register reading is above the maximum VALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1150 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1151 | See VS in the CONFIG register. Vmx is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1152 | unsigned char tmx : 1; /**< Maximum TALRT Threshold Exceeded Bit 13. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1153 | This bit is set to 1 whenever a Temperature register reading is above the maximum TALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1154 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1155 | See TS in the CONFIG register. Tmx is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1156 | unsigned char smx : 1; /**< Maximum SOCALRT Threshold Exceeded. Bit 14. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1157 | This bit is set to 1 whenever SOC rises above the maximum SOCALRT value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1158 | This bit may or may not need to be cleared by system software to detect the next event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1159 | See SS in the CONFIG register and SACFG in the MiscCFG register. Smx is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1160 | unsigned char br : 1; /**< Battery Removal. Bit 15. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1161 | This bit is set to 1 when the device detects that a battery has been removed from the system. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1162 | This bit must be cleared by system software to detect the next removal event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1163 | Br is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1164 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1165 | } reg_status_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1166 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1167 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1168 | * @brief VAlrtTh |
metin.ozkan@analog.com | 0:00d2a8670533 | 1169 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1170 | * Address : 0x01 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1171 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1172 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1173 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1174 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1175 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1176 | unsigned char min_voltage_alrt : 8; /**< Minimum voltage reading. Bit 7:0, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1177 | An alert is generated if the VCell register reading falls below this value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1178 | Register type: special Set Min=0x00 to disable. Units of LSB are 20mV. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1179 | unsigned char max_voltage_alrt : 8; /**< Maximum voltage reading. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1180 | An alert is generated if the VCell register reading exceeds this value. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1181 | Register type: special Set Max=0xFF to disable. Units of LSB are 20mV. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1182 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1183 | } reg_valrt_th_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1184 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1185 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1186 | * @brief TAlrtTh |
metin.ozkan@analog.com | 0:00d2a8670533 | 1187 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1188 | * Address : 0x02 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1189 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1190 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1191 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1192 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1193 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1194 | unsigned char min_temp_alrt : 8; /**< Sets an alert threshold for minimum temperature. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1195 | Register type: special Set Min=0x80 to disable. Units of LSB are 1˚C. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1196 | unsigned char max_temp_alrt : 8; /**< Sets an alert threshold for maximum temperature. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1197 | Register type: special Set Max=0x7F to disable. Units of LSB are 1˚C. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1198 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1199 | } reg_talrt_th_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1200 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1201 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1202 | * @brief SAlrtTh |
metin.ozkan@analog.com | 0:00d2a8670533 | 1203 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1204 | * Address : 0x03 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1205 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1206 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1207 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1208 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1209 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1210 | unsigned char min_soc_alrt : 8; /**< Sets an alert for minimum SOC. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1211 | Register type: special This may be used for charge/discharge termination, or |
metin.ozkan@analog.com | 0:00d2a8670533 | 1212 | for power-management near empty. Set Min=0x00 to disable. Units of LSB are 1%. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1213 | unsigned char max_soc_alrt : 8; /**< Sets an alert for maximum SOC. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1214 | Register type: special This may be used for charge/discharge termination, or |
metin.ozkan@analog.com | 0:00d2a8670533 | 1215 | for power-management near empty. Set Max=0xFF to disable. Units of LSB are 1%. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1216 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1217 | } reg_salrt_th_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1218 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1219 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1220 | * @brief FullSocThr |
metin.ozkan@analog.com | 0:00d2a8670533 | 1221 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1222 | * Address : 0x13 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1223 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1224 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1225 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1226 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1227 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1228 | uint16_t full_soc_thr : 16; /**< FullSOCThr comes from OTP if the OTP register is enabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1229 | Otherwise it POR’s to a default of 95%. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1230 | LSB unit is 1/256%. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1231 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1232 | } reg_full_soc_thr_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1233 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1234 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1235 | * @brief DesignCap |
metin.ozkan@analog.com | 0:00d2a8670533 | 1236 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1237 | * Address : 0x18 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1238 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1239 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1240 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1241 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1242 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1243 | uint16_t design_cap : 16; /**< Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1244 | Register type: capacity. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1245 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1246 | } reg_design_cap_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1247 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1248 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1249 | * @brief Config |
metin.ozkan@analog.com | 0:00d2a8670533 | 1250 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1251 | * Address : 0x1D |
metin.ozkan@analog.com | 0:00d2a8670533 | 1252 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1253 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1254 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1255 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1256 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1257 | unsigned char ber : 1; /**< Enable alert on battery removal. Bit 0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1258 | When Ber = 1, a battery-removal condition, as detected by the AIN pin voltage, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1259 | triggers an alert. Set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1260 | unsigned char bei : 1; /**< Enable alert on battery insertion. Bit 1. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1261 | When Bei = 1, a battery-insertion condition, as detected by the AIN pin voltage, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1262 | triggers an alert. Set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1263 | unsigned char aen : 1; /**< Enable alert on fuel-gauge outputs. Bit 2. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1264 | When Aen = 1, violation of any of the alert threshold register values by temperature, voltage, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1265 | or SOC triggers an alert. This bit affects the INTB pin (FG_INT) operation only. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1266 | The Smx, Smn, Tmx, Tmn, Vmx, and Vmn bits are not disabled. This bit is set to 0 at power-up.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1267 | unsigned char fthrm : 1; /**< Force Thermistor Bias Switch. Bit 3. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1268 | Set FTHRM = 1 to always enable the thermistor bias switch. With a standard 10kOhm thermistor, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1269 | this adds an additional ~200μA to the current drain of the circuit. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1270 | This bit is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1271 | unsigned char ethrm : 1; /**< Enable Thermistor. Bit 4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1272 | Set to logic 1 to enable the automatic THRM output bias and AIN measurement every 1.4s. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1273 | This bit is set to 1 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1274 | unsigned char spr_5 : 1; /**< I2C Charge Fail Enable. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1275 | Set to 1 to enable I2CChgFail interrupt to drive the INTB pin. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1276 | This bit is not accessible by the fuel gauge firmware. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1277 | unsigned char i2csh : 1; /**< I2C Shutdown. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1278 | Set to logic 1 to force the device to enter shutdown mode if both SDA and SCL are held low for |
metin.ozkan@analog.com | 0:00d2a8670533 | 1279 | more than timeout of the SHDNTIMER register. This also configures the device to wake up on a |
metin.ozkan@analog.com | 0:00d2a8670533 | 1280 | rising edge of either SDA or SCL. Set to 1 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1281 | unsigned char shdn : 1; /**< Shutdown. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1282 | Write this bit to logic 1 to force a shutdown of the device after timeout of the SHDNTIMER register. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1283 | SHDN is reset to 0 at power-up and upon exiting shutdown mode. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1284 | unsigned char tex : 1; /**< Temperature External. Bit 8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1285 | When set to 1, the fuel gauge requires external temperature measurements to be written from the host. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1286 | When set to 0, measurements on the AIN pin are converted to a temperature value and stored |
metin.ozkan@analog.com | 0:00d2a8670533 | 1287 | in the Temperature register instead. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1288 | unsigned char ten : 1; /**< Enable Temperature Channel. Bit 9. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1289 | Set to 1 and set ETHRM or FTHRM to 1 to enable measurements on the AIN pin. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1290 | Ten is set to 1 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1291 | unsigned char ainsh : 1; /**< AIN Pin Shutdown. Bit 10. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1292 | Set to 1 to enable device shutdown when the battery is removed. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1293 | The IC enters shutdown if the AIN pin remains high (AIN reading > VTHRM - VDETR) for longer than |
metin.ozkan@analog.com | 0:00d2a8670533 | 1294 | the timeout of the SHDNTIMER register. This also configures the device to wake up when AIN is pulled |
metin.ozkan@analog.com | 0:00d2a8670533 | 1295 | low on cell insertion. AINSH is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1296 | unsigned char spr_11 : 1; /**< Fuel Gauge Charger Control. Bit 11. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1297 | Set to 1 to enable MaxCharge (fuel-gauge controlled charging). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1298 | unsigned char vs : 1; /**< Voltage ALRT Sticky. Bit 12. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1299 | When VS = 1, voltage alerts can only be cleared through software. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1300 | When VS = 0, voltage alerts are cleared automatically when the threshold is no longer exceeded. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1301 | VS is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1302 | unsigned char ts : 1; /**< Temperature ALRT Sticky. Bit 13. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1303 | When TS = 1, temperature alerts can only be cleared through software. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1304 | When TS = 0, temperature alerts are cleared automatically when the threshold is no longer exceeded. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1305 | TS is set to 1 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1306 | unsigned char ss : 1; /**< SOC ALRT Sticky. Bit 14. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1307 | When SS = 1, SOC alerts can only be cleared through software. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1308 | When SS = 0, SOC alerts are cleared automatically when the threshold is no longer exceeded. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1309 | SS is set to 0 at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1310 | unsigned char spr_15 : 1; /**< Fuel gauge Charger Fail Enable. Bit 15. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1311 | Set to 1 to enable FGCHGFAIL interrupt to drive the INTB pin. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1312 | This bit is not accessible by the fuel gauge firmware. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1313 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1314 | } reg_config_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1315 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1316 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1317 | * @brief IChgTerm |
metin.ozkan@analog.com | 0:00d2a8670533 | 1318 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1319 | * Address : 0x1E |
metin.ozkan@analog.com | 0:00d2a8670533 | 1320 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1321 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1322 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1323 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1324 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1325 | uint16_t ichg_term : 16; /**< Program IChgTerm to the exact charge termination current used in the application. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1326 | Register type: current. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1327 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1328 | } reg_ichg_term_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1329 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1330 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1331 | * @brief DevName |
metin.ozkan@analog.com | 0:00d2a8670533 | 1332 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1333 | * Address : 0x21 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1334 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1335 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1336 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1337 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1338 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1339 | uint16_t dev_name : 16; /**< holds revision information. Bit 15:0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1340 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1341 | } reg_dev_name_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1342 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1343 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1344 | * @brief FilterCfg |
metin.ozkan@analog.com | 0:00d2a8670533 | 1345 | * Use of unsigned char resulted in error in register bit field values. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1346 | * Thus, uint16_t is here used to define the size of bit fields. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1347 | * Address : 0x29 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1348 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1349 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1350 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1351 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1352 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1353 | uint16_t ncurr : 4; /**< Sets the time constant for the AverageCurrent register. Bit 3:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1354 | The default POR value of 4h gives a time constant of 11.25 seconds. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1355 | The equation setting the period is:AverageCurrent time constant = 175.8ms × 2^(2+NCURR).*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1356 | uint16_t navgcell : 3; /**< Sets the time constant for the AverageVCELL register. Bit 6:4. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1357 | The default POR value of 2h gives a time constant of 45.0s. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1358 | The equation setting the period is:AverageVCELL time constant = 175.8ms × 2(6+NAVGVCELL). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1359 | uint16_t nmix : 4; /**< Sets the time constant for the mixing algorithm. Bit 10:7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1360 | The default POR value of Dh gives a time constant of 12.8 hours = 46080s. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1361 | The equation setting the period is:Mixing Period = 175.8ms × 2(5+NMIX). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1362 | uint16_t rsvd : 3; /**< Bit 13:11. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1363 | uint16_t nempty : 2; /**< Sets the filtering for empty learning for both the I_Avgempty and QRTable registers. Bit 15:14. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1364 | Iavg_empty is learned with(NEMPTY+3) right shifts. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1365 | QRTable is learned with (NEMPTY + sizeof(Iavgempty) – sizeof (AvgCurrent)) right shifts. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1366 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1367 | } reg_filter_cfg_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1368 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1369 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1370 | * @brief IAvgEmpty |
metin.ozkan@analog.com | 0:00d2a8670533 | 1371 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1372 | * Address : 0x36 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1373 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1374 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1375 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1376 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1377 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1378 | uint16_t rsvd : 16; /**< Register type: current. Bit 15:0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1379 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1380 | } reg_iavg_empty_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1381 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1382 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1383 | * @brief VEmpty |
metin.ozkan@analog.com | 0:00d2a8670533 | 1384 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1385 | * Address : 0x3A |
metin.ozkan@analog.com | 0:00d2a8670533 | 1386 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1387 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1388 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1389 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1390 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1391 | unsigned char v_recover : 7; /**< Recovery Voltage. Sets the voltage level for clearing empty detection. Bit 6:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1392 | Once the cell voltage rises above this point, empty voltage detection is reenabled. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1393 | A 40mV resolution gives a 0 to 5.08V range. This value is written to 3.68V at power-up. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1394 | uint16_t v_empty : 9; /**< Empty Voltage. Sets the voltage level for detecting empty. Bit 15:7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1395 | A 10mV resolution gives a 0 to 5.11V range. This value is written to 3.12V at power-up.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1396 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1397 | } reg_v_empty_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1398 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1399 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1400 | * @brief Config2 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1401 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1402 | * Address : 0xBB |
metin.ozkan@analog.com | 0:00d2a8670533 | 1403 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1404 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1405 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1406 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1407 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1408 | unsigned char isys_ncurr : 4; /**< Sets the time constant for the AvgISys register. Bit 3:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1409 | The default POR value of 0100b gives a time constant of 5.625. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1410 | The equation setting the period is: AvgISys time constant = 45s x 2(ISysNCurr-7).*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1411 | unsigned char qcvqen : 1; /**< Set OCVQen=1 to enable automatic empty compensation based on VFOCV information. Bit 4. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1412 | unsigned char ldmdl : 1; /**< Host sets this bit to 1 in order to initiate firmware to finish processing a newly loaded model. Bit 5. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1413 | Firmware clears this bit to zero to indicate that model loading is finished. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1414 | unsigned char tairt_en : 1; /**< Set to 1 to enable temperature alert. Bit 6. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1415 | If TAlrtEn=0, the alert on is disabled. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1416 | unsigned char dsocen : 1; /**< Set to 1 to enable SOC 1% change alert. Bit 7. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1417 | If dSCOCen=0, the alert on is disabled.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1418 | unsigned char thm_hotairt_en : 1; /**< Set to 1 to enable ThmHotAlrtEn alert. Bit 8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1419 | If ThmHotAlrtEn = 0, the alert on is disabled.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1420 | unsigned char thmhot_en : 1; /**< Set to 1 to enable ThmHot function by comparing Voltage/Temp condition with THMHOT (40h). Bit 9. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1421 | ThmHot function is FG Charger input current limit control. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1422 | unsigned char fc_thmhot : 1; /**< Set to 1 to enable thermistor hot forcedly, regardless of actually sense thermistor temperature. Bit 10. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1423 | unsigned char spr : 5; /**< Bit 15:11. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1424 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1425 | } reg_config2_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1426 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1427 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1428 | * @brief Temp |
metin.ozkan@analog.com | 0:00d2a8670533 | 1429 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1430 | * Address : 0x08 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1431 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1432 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1433 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1434 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1435 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1436 | uint16_t temp : 16; /**< This is the most recent trimmed temperature measurement. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1437 | Temperature is measured every 1.4 seconds. Register type: temperature.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1438 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1439 | } reg_temp_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1440 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1441 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1442 | * @brief Vcell |
metin.ozkan@analog.com | 0:00d2a8670533 | 1443 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1444 | * Address : 0x09 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1445 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1446 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1447 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1448 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1449 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1450 | uint16_t vcell : 16; /**< This is the most recent trimmed cell voltage result. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1451 | It represents an FIR average of raw results. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1452 | The VOLT_Raw is sampled every 175.8ms and gain and offset trim are applied to calculate VCELL. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1453 | Register type: voltage.*/ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1454 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1455 | } reg_vcell_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1456 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1457 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1458 | * @brief Current |
metin.ozkan@analog.com | 0:00d2a8670533 | 1459 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1460 | * Address : 0x0A |
metin.ozkan@analog.com | 0:00d2a8670533 | 1461 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1462 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1463 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1464 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1465 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1466 | uint16_t current : 16; /**< Register type: current. Bit 15:0. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1467 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1468 | } reg_current_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1469 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1470 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1471 | * @brief AvgCurrent |
metin.ozkan@analog.com | 0:00d2a8670533 | 1472 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1473 | * Address : 0x0B |
metin.ozkan@analog.com | 0:00d2a8670533 | 1474 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1475 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1476 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1477 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1478 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1479 | uint16_t avg_current : 16; /**< This is the 0.7s to 6.4hr (configurable) IIR average of the current. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1480 | This register represents the upper 16 bits of the 32-bit shift register that filters current. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1481 | The average should be set equal to Current upon startup. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1482 | Register type: current. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1483 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1484 | } reg_avg_current_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1485 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1486 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1487 | * @brief AvgTA |
metin.ozkan@analog.com | 0:00d2a8670533 | 1488 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1489 | * Address : 0x16 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1490 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1491 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1492 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1493 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1494 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1495 | uint16_t avg_ta : 16; /**< This is the 6min to 12hr (configurable) IIR average of the Temperature. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1496 | The average is set equal to Temp upon startup. Register type: temperature. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1497 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1498 | } reg_avg_ta_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1499 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1500 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1501 | * @brief AvgVCell |
metin.ozkan@analog.com | 0:00d2a8670533 | 1502 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1503 | * Address : 0x19 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1504 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1505 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1506 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1507 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1508 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1509 | uint16_t avg_vcell : 16; /**< This reports the 12s to 24min (configurable) IIR average of VCELL. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1510 | The average is set equal to VCELL at startup. Register type: voltage. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1511 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1512 | } reg_avg_vcell_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1513 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1514 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1515 | * @brief MaxMinTemp |
metin.ozkan@analog.com | 0:00d2a8670533 | 1516 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1517 | * Address : 0x1A |
metin.ozkan@analog.com | 0:00d2a8670533 | 1518 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1519 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1520 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1521 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1522 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1523 | unsigned char min_temp : 8; /**< Records the minimum Temperature. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1524 | Register type: special Two's complement 8-bit value with 1°C resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1525 | unsigned char max_temp : 8; /**< Records the maximum Temperature. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1526 | Register type: special Two's complement 8-bit value with 1°C resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1527 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1528 | } reg_max_min_temp_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1529 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1530 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1531 | * @brief MaxMinVolt |
metin.ozkan@analog.com | 0:00d2a8670533 | 1532 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1533 | * Address : 0x1B |
metin.ozkan@analog.com | 0:00d2a8670533 | 1534 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1535 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1536 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1537 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1538 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1539 | unsigned char min_volt : 8; /**< Records the VCELL minimum voltage. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1540 | Register type: The maximum and minimum voltages are each stored as 8-bit values with a 20mV resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1541 | unsigned char max_volt : 8; /**< Records the VCELL maximum voltage. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1542 | Register type: The maximum and minimum voltages are each stored as 8-bit values with a 20mV resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1543 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1544 | } reg_max_min_volt_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1545 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1546 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1547 | * @brief MaxMinCurr |
metin.ozkan@analog.com | 0:00d2a8670533 | 1548 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1549 | * Address : 0x1C |
metin.ozkan@analog.com | 0:00d2a8670533 | 1550 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1551 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1552 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1553 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1554 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1555 | unsigned char min_charge_curr : 8; /**< Records the minimum charge current. Bit 7:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1556 | Register type: Two's complement 8-bit values with 0.4mV/RSENSE resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1557 | unsigned char max_charge_curr : 8; /**< Records the maximum charge current. Bit 15:8. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1558 | Register type: Two's complement 8-bit values with 0.4mV/RSENSE resolution. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1559 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1560 | } reg_max_min_curr_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1561 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1562 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1563 | * @brief AIN0 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1564 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1565 | * Address : 0x27 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1566 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1567 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1568 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1569 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1570 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1571 | uint16_t ain0 : 16; /**< The TGain, TOff, and Curve register values are then applied to this ratio-metric reading to |
metin.ozkan@analog.com | 0:00d2a8670533 | 1572 | convert the result to temperature. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1573 | Register type: special The MAX77658 stores the result as a ratio-metric value |
metin.ozkan@analog.com | 0:00d2a8670533 | 1574 | from 0% to 100% in the AIN register with an LSB of 0.0122%. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1575 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1576 | } reg_ain0_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1577 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1578 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1579 | * @brief Timer |
metin.ozkan@analog.com | 0:00d2a8670533 | 1580 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1581 | * Address : 0x3E |
metin.ozkan@analog.com | 0:00d2a8670533 | 1582 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1583 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1584 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1585 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1586 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1587 | uint16_t timer : 16; /**< Timer increments once every task period. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1588 | With default TaskPeriod, timer has units 0.1758 seconds. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1589 | Register type: special The Timer register LSB is 175.8ms, giving a full-scale range of 0 to 3.2 hours. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1590 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1591 | } reg_timer_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1592 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1593 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1594 | * @brief ShdnTimer |
metin.ozkan@analog.com | 0:00d2a8670533 | 1595 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1596 | * Address : 0x3F |
metin.ozkan@analog.com | 0:00d2a8670533 | 1597 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1598 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1599 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1600 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1601 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1602 | uint16_t shdnctr : 13; /**< Shutdown Counter. Bit 12:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1603 | This register counts the total amount of elapsed time since the shutdown trigger event. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1604 | Register type: special. This counter value stops and resets to 0 when the shutdown timeout completes. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1605 | The counter LSB is 1.4s. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1606 | unsigned char shdn_thr : 3; /**< Sets the shutdown timeout period from a minimum of 45s to a maximum of 1.6h. Bit 15:13. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1607 | The default POR value of 7h gives a shutdown delay of 1.6h. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1608 | Register type: special The equation setting the period is: Shutdown Timeout Period = 175.8ms × 2(8+THR). */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1609 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1610 | } reg_shdn_timer_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1611 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1612 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1613 | * @brief TimerH |
metin.ozkan@analog.com | 0:00d2a8670533 | 1614 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1615 | * Address : 0xBE |
metin.ozkan@analog.com | 0:00d2a8670533 | 1616 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1617 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1618 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1619 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1620 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1621 | uint16_t timerh : 16; /**< TIMERH is a 16-bit high-word extension to the TIMER register. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1622 | This extension allows time counting up to 24 years. This register can be enabled in the save & restore registers. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1623 | Register type: special A 3.2-hour LSb gives a full-scale range for the register of up to 23.94 years. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1624 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1625 | } reg_timerh_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1626 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1627 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1628 | * @brief RepCap |
metin.ozkan@analog.com | 0:00d2a8670533 | 1629 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1630 | * Address : 0x05 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1631 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1632 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1633 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1634 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1635 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1636 | uint16_t rep_cap : 16; /**< RepCap or reported capacity. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1637 | A filtered version of the AvCap register that prevents large jumps in the reported |
metin.ozkan@analog.com | 0:00d2a8670533 | 1638 | value caused by changes in the application such as abrupt changes in tempreature or |
metin.ozkan@analog.com | 0:00d2a8670533 | 1639 | load current. Register type: capacity. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1640 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1641 | } reg_rep_cap_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1642 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1643 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1644 | * @brief RepSOC |
metin.ozkan@analog.com | 0:00d2a8670533 | 1645 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1646 | * Address : 0x06 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1647 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1648 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1649 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1650 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1651 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1652 | uint16_t rep_soc : 16; /**< RepSOC is the complete calculation for State of Charge. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1653 | This includes all processing, including: ModelGauge Mixing, Empty Compensation. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1654 | Register type: percentage. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1655 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1656 | } reg_rep_soc_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1657 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1658 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1659 | * @brief AvSOC |
metin.ozkan@analog.com | 0:00d2a8670533 | 1660 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1661 | * Address : 0x0E |
metin.ozkan@analog.com | 0:00d2a8670533 | 1662 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1663 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1664 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1665 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1666 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1667 | uint16_t av_soc : 16; /**< This register provides unfiltered results. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1668 | Jumps in the reported values can be caused by abrupt changes in load current or temperature. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1669 | See the Empty Compensation section for details. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1670 | This includes all processing, including: ModelGauge Mixing, Empty Compensation. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1671 | Register type: percentage. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1672 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1673 | } reg_av_soc_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1674 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1675 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1676 | * @brief FullCapRep |
metin.ozkan@analog.com | 0:00d2a8670533 | 1677 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1678 | * Address : 0x10 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1679 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1680 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1681 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1682 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1683 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1684 | uint16_t full_cap_rep : 16; /**< Most applications should only monitor FullCapRep, instead of FullCap or FullCapNom. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1685 | A new full-capacity value is calculated at the end of every charge cycle in the application. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1686 | Register type: capacity. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1687 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1688 | } reg_full_cap_rep_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1689 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1690 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1691 | * @brief TTE |
metin.ozkan@analog.com | 0:00d2a8670533 | 1692 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1693 | * Address : 0x11 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1694 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1695 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1696 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1697 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1698 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1699 | uint16_t tte : 16; /**< The TTE value is determined by relating AvCap with AvgCurrent. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1700 | The corresponding AvgCurrent filtering gives a delay in TTE but provides more stable results. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1701 | Register type: time. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1702 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1703 | } reg_tte_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1704 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1705 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1706 | * @brief RCell |
metin.ozkan@analog.com | 0:00d2a8670533 | 1707 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1708 | * Address : 0x14 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1709 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1710 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1711 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1712 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1713 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1714 | uint16_t rcell : 16; /**< This register provides the calculated internal resistance of the cell. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1715 | RCell is determined by comparing open-circuit voltage (VFOCV) against measured voltage (VCell) |
metin.ozkan@analog.com | 0:00d2a8670533 | 1716 | over a long time period while under load or charge current. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1717 | Register type: resistance. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1718 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1719 | } reg_rcell_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1720 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1721 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1722 | * @brief Cycles |
metin.ozkan@analog.com | 0:00d2a8670533 | 1723 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1724 | * Address : 0x17 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1725 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1726 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1727 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1728 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1729 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1730 | uint16_t cycles : 16; /**< This register provides the calculated internal resistance of the cell. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1731 | RCell is determined by comparing open-circuit voltage (VFOCV) against measured voltage (VCell) |
metin.ozkan@analog.com | 0:00d2a8670533 | 1732 | over a long time period while under load or charge current. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1733 | Register type: resistance. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1734 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1735 | } reg_cycles_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1736 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1737 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1738 | * @brief AvCap |
metin.ozkan@analog.com | 0:00d2a8670533 | 1739 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1740 | * Address : 0x1F |
metin.ozkan@analog.com | 0:00d2a8670533 | 1741 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1742 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1743 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1744 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1745 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1746 | uint16_t av_cap : 16; /**< This is the remaining capacity with coulomb-counter + Voltage-Fuel-Gauge mixing, |
metin.ozkan@analog.com | 0:00d2a8670533 | 1747 | after accounting for capacity that is unavailable due to the discharge rate. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1748 | Register type: capacity. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1749 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1750 | } reg_av_cap_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1751 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1752 | /** |
metin.ozkan@analog.com | 0:00d2a8670533 | 1753 | * @brief TTF |
metin.ozkan@analog.com | 0:00d2a8670533 | 1754 | * |
metin.ozkan@analog.com | 0:00d2a8670533 | 1755 | * Address : 0x20 |
metin.ozkan@analog.com | 0:00d2a8670533 | 1756 | */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1757 | typedef union { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1758 | uint16_t raw; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1759 | struct |
metin.ozkan@analog.com | 0:00d2a8670533 | 1760 | { |
metin.ozkan@analog.com | 0:00d2a8670533 | 1761 | uint16_t ttf : 16; /**< The TTF value is determined by learning the constant current and |
metin.ozkan@analog.com | 0:00d2a8670533 | 1762 | constant voltage portions of the charge cycle based on experience of prior charge cycles. Bit 15:0. |
metin.ozkan@analog.com | 0:00d2a8670533 | 1763 | Register type: time. */ |
metin.ozkan@analog.com | 0:00d2a8670533 | 1764 | } bits; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1765 | } reg_ttf_t; |
metin.ozkan@analog.com | 0:00d2a8670533 | 1766 | |
metin.ozkan@analog.com | 0:00d2a8670533 | 1767 | #endif /* MAX77658_REGS_H_ */ |