MAX77654 Ultra-Low Power PMIC Mbed Driver

Committer:
metin.ozkan@analog.com
Date:
Fri Mar 25 15:42:47 2022 +0300
Revision:
0:788f63dcf0a0
Child:
1:4ad70542956e
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
metin.ozkan@analog.com 0:788f63dcf0a0 1 /*******************************************************************************
metin.ozkan@analog.com 0:788f63dcf0a0 2 * Copyright (C) 2022 Maxim Integrated Products, Inc., All rights Reserved.
metin.ozkan@analog.com 0:788f63dcf0a0 3 *
metin.ozkan@analog.com 0:788f63dcf0a0 4 * This software is protected by copyright laws of the United States and
metin.ozkan@analog.com 0:788f63dcf0a0 5 * of foreign countries. This material may also be protected by patent laws
metin.ozkan@analog.com 0:788f63dcf0a0 6 * and technology transfer regulations of the United States and of foreign
metin.ozkan@analog.com 0:788f63dcf0a0 7 * countries. This software is furnished under a license agreement and/or a
metin.ozkan@analog.com 0:788f63dcf0a0 8 * nondisclosure agreement and may only be used or reproduced in accordance
metin.ozkan@analog.com 0:788f63dcf0a0 9 * with the terms of those agreements. Dissemination of this information to
metin.ozkan@analog.com 0:788f63dcf0a0 10 * any party or parties not specified in the license agreement and/or
metin.ozkan@analog.com 0:788f63dcf0a0 11 * nondisclosure agreement is expressly prohibited.
metin.ozkan@analog.com 0:788f63dcf0a0 12 *
metin.ozkan@analog.com 0:788f63dcf0a0 13 * The above copyright notice and this permission notice shall be included
metin.ozkan@analog.com 0:788f63dcf0a0 14 * in all copies or substantial portions of the Software.
metin.ozkan@analog.com 0:788f63dcf0a0 15 *
metin.ozkan@analog.com 0:788f63dcf0a0 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
metin.ozkan@analog.com 0:788f63dcf0a0 17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
metin.ozkan@analog.com 0:788f63dcf0a0 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
metin.ozkan@analog.com 0:788f63dcf0a0 19 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
metin.ozkan@analog.com 0:788f63dcf0a0 20 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
metin.ozkan@analog.com 0:788f63dcf0a0 21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
metin.ozkan@analog.com 0:788f63dcf0a0 22 * OTHER DEALINGS IN THE SOFTWARE.
metin.ozkan@analog.com 0:788f63dcf0a0 23 *
metin.ozkan@analog.com 0:788f63dcf0a0 24 * Except as contained in this notice, the name of Maxim Integrated
metin.ozkan@analog.com 0:788f63dcf0a0 25 * Products, Inc. shall not be used except as stated in the Maxim Integrated
metin.ozkan@analog.com 0:788f63dcf0a0 26 * Products, Inc. Branding Policy.
metin.ozkan@analog.com 0:788f63dcf0a0 27 *
metin.ozkan@analog.com 0:788f63dcf0a0 28 * The mere transfer of this software does not imply any licenses
metin.ozkan@analog.com 0:788f63dcf0a0 29 * of trade secrets, proprietary technology, copyrights, patents,
metin.ozkan@analog.com 0:788f63dcf0a0 30 * trademarks, maskwork rights, or any other form of intellectual
metin.ozkan@analog.com 0:788f63dcf0a0 31 * property whatsoever. Maxim Integrated Products, Inc. retains all
metin.ozkan@analog.com 0:788f63dcf0a0 32 * ownership rights.
metin.ozkan@analog.com 0:788f63dcf0a0 33 *******************************************************************************
metin.ozkan@analog.com 0:788f63dcf0a0 34 */
metin.ozkan@analog.com 0:788f63dcf0a0 35
metin.ozkan@analog.com 0:788f63dcf0a0 36 #ifndef _MAX77654_H_
metin.ozkan@analog.com 0:788f63dcf0a0 37 #define _MAX77654_H_
metin.ozkan@analog.com 0:788f63dcf0a0 38
metin.ozkan@analog.com 0:788f63dcf0a0 39 #include "mbed.h"
metin.ozkan@analog.com 0:788f63dcf0a0 40 #include "MAX77654_regs.h"
metin.ozkan@analog.com 0:788f63dcf0a0 41
metin.ozkan@analog.com 0:788f63dcf0a0 42 #define MAX77654_NO_ERROR 0
metin.ozkan@analog.com 0:788f63dcf0a0 43 #define MAX77654_VALUE_NULL -1
metin.ozkan@analog.com 0:788f63dcf0a0 44 #define MAX77654_WRITE_DATA_FAILED -2
metin.ozkan@analog.com 0:788f63dcf0a0 45 #define MAX77654_READ_DATA_FAILED -3
metin.ozkan@analog.com 0:788f63dcf0a0 46 #define MAX77654_INVALID_DATA -4
metin.ozkan@analog.com 0:788f63dcf0a0 47 #define MAX77654_INVALID_CHANNEL_NUMBER -5
metin.ozkan@analog.com 0:788f63dcf0a0 48
metin.ozkan@analog.com 0:788f63dcf0a0 49 #define MAX77654_I2C_ADDRESS 0x90
metin.ozkan@analog.com 0:788f63dcf0a0 50
metin.ozkan@analog.com 0:788f63dcf0a0 51 /**
metin.ozkan@analog.com 0:788f63dcf0a0 52 * @brief MAX77654 Ultra-Low Power PMIC Featuring Single-Inductor, 3-Output Buck-Boost,
metin.ozkan@analog.com 0:788f63dcf0a0 53 * 2-LDOs, Power Path Charger for Small Li+, and Ship Mode
metin.ozkan@analog.com 0:788f63dcf0a0 54 *
metin.ozkan@analog.com 0:788f63dcf0a0 55 * @details The MAX77654 provides highly-integrated battery charging and power supply
metin.ozkan@analog.com 0:788f63dcf0a0 56 * solutions for low-power applications where size and efficiency are critical.
metin.ozkan@analog.com 0:788f63dcf0a0 57 * <br>https://www.maximintegrated.com/en/products/power/power-management-ics/MAX77654.html
metin.ozkan@analog.com 0:788f63dcf0a0 58 *
metin.ozkan@analog.com 0:788f63dcf0a0 59 * @code
metin.ozkan@analog.com 0:788f63dcf0a0 60 * @endcode
metin.ozkan@analog.com 0:788f63dcf0a0 61 */
metin.ozkan@analog.com 0:788f63dcf0a0 62
metin.ozkan@analog.com 0:788f63dcf0a0 63 class MAX77654
metin.ozkan@analog.com 0:788f63dcf0a0 64 {
metin.ozkan@analog.com 0:788f63dcf0a0 65 private:
metin.ozkan@analog.com 0:788f63dcf0a0 66 I2C *i2c_handler;
metin.ozkan@analog.com 0:788f63dcf0a0 67 DigitalOut *power_pin; // power pin
metin.ozkan@analog.com 0:788f63dcf0a0 68 DigitalIn *data_read; // data sent pin
metin.ozkan@analog.com 0:788f63dcf0a0 69 InterruptIn *irq_pin; // interrupt pin
metin.ozkan@analog.com 0:788f63dcf0a0 70
metin.ozkan@analog.com 0:788f63dcf0a0 71 /**
metin.ozkan@analog.com 0:788f63dcf0a0 72 * @brief Register Addresses
metin.ozkan@analog.com 0:788f63dcf0a0 73 * @details Enumerated MAX77654 register addresses
metin.ozkan@analog.com 0:788f63dcf0a0 74 */
metin.ozkan@analog.com 0:788f63dcf0a0 75 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 76 /*Global*/
metin.ozkan@analog.com 0:788f63dcf0a0 77 INT_GLBL0 = 0x00, // Interrupt Status 0
metin.ozkan@analog.com 0:788f63dcf0a0 78 INT_GLBL1 = 0x04, // Interrupt Status 1
metin.ozkan@analog.com 0:788f63dcf0a0 79 ERCFLAG = 0x05, // Flags
metin.ozkan@analog.com 0:788f63dcf0a0 80 STAT_GLBL = 0x06, // Global Status
metin.ozkan@analog.com 0:788f63dcf0a0 81 INTM_GLBL1 = 0x08, // Interrupt Mask 1
metin.ozkan@analog.com 0:788f63dcf0a0 82 INTM_GLBL0 = 0x09, // Interrupt Mask 0
metin.ozkan@analog.com 0:788f63dcf0a0 83 CNFG_GLBL = 0x10, // Configuration Global
metin.ozkan@analog.com 0:788f63dcf0a0 84 CNFG_GPIO0 = 0x11, // GPIO0 Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 85 CNFG_GPIO1 = 0x12, // GPIO1 Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 86 CNFG_GPIO2 = 0x13, // GPIO2 Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 87 CID = 0x14, // Chip Identification Code
metin.ozkan@analog.com 0:788f63dcf0a0 88 CNFG_WDT = 0x17, // Configuration WatchDog Timer
metin.ozkan@analog.com 0:788f63dcf0a0 89 /*Charger*/
metin.ozkan@analog.com 0:788f63dcf0a0 90 INT_CHG = 0x01, // Charger Interrupt Status
metin.ozkan@analog.com 0:788f63dcf0a0 91 STAT_CHG_A = 0x02, // Charger Status A
metin.ozkan@analog.com 0:788f63dcf0a0 92 STAT_CHG_B = 0x03, // Charger Status B
metin.ozkan@analog.com 0:788f63dcf0a0 93 INT_M_CHG = 0x07, // Charger Interrupt Mask
metin.ozkan@analog.com 0:788f63dcf0a0 94 CNFG_CHG_A = 0x20, // Charger Configuration A
metin.ozkan@analog.com 0:788f63dcf0a0 95 CNFG_CHG_B = 0x21, // Charger Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 96 CNFG_CHG_C = 0x22, // Charger Configuration C
metin.ozkan@analog.com 0:788f63dcf0a0 97 CNFG_CHG_D = 0x23, // Charger Configuration D
metin.ozkan@analog.com 0:788f63dcf0a0 98 CNFG_CHG_E = 0x24, // Charger Configuration E
metin.ozkan@analog.com 0:788f63dcf0a0 99 CNFG_CHG_F = 0x25, // Charger Configuration F
metin.ozkan@analog.com 0:788f63dcf0a0 100 CNFG_CHG_G = 0x26, // Charger Configuration G
metin.ozkan@analog.com 0:788f63dcf0a0 101 CNFG_CHG_H = 0x27, // Charger Configuration H
metin.ozkan@analog.com 0:788f63dcf0a0 102 CNFG_CHG_I = 0x28, // Charger Configuration I
metin.ozkan@analog.com 0:788f63dcf0a0 103 /*SBB*/
metin.ozkan@analog.com 0:788f63dcf0a0 104 CNFG_SBB0_A = 0x29, // SIMO Buck-Boost 0 Configuration A
metin.ozkan@analog.com 0:788f63dcf0a0 105 CNFG_SBB0_B = 0x2A, // SIMO Buck-Boost 0 Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 106 CNFG_SBB1_A = 0x2B, // SIMO Buck-Boost 1 Configuration A
metin.ozkan@analog.com 0:788f63dcf0a0 107 CNFG_SBB1_B = 0x2C, // SIMO Buck-Boost 1 Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 108 CNFG_SBB2_A = 0x2D, // SIMO Buck-Boost 2 Configuration A
metin.ozkan@analog.com 0:788f63dcf0a0 109 CNFG_SBB2_B = 0x2E, // SIMO Buck-Boost 2 Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 110 CNFG_SBB_TOP = 0x2F, // SIMO Buck-Boost Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 111 /*LDO*/
metin.ozkan@analog.com 0:788f63dcf0a0 112 CNFG_LDO0_A = 0x38, // LDO Configuration A
metin.ozkan@analog.com 0:788f63dcf0a0 113 CNFG_LDO0_B = 0x39, // LDO Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 114 CNFG_LDO1_A = 0x3A, // LDO Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 115 CNFG_LDO1_B = 0x3B // LDO Configuration B
metin.ozkan@analog.com 0:788f63dcf0a0 116 } reg_t;
metin.ozkan@analog.com 0:788f63dcf0a0 117
metin.ozkan@analog.com 0:788f63dcf0a0 118 /**
metin.ozkan@analog.com 0:788f63dcf0a0 119 * @brief Interrupt handler function
metin.ozkan@analog.com 0:788f63dcf0a0 120 */
metin.ozkan@analog.com 0:788f63dcf0a0 121 void InterruptHandler();
metin.ozkan@analog.com 0:788f63dcf0a0 122
metin.ozkan@analog.com 0:788f63dcf0a0 123 void (MAX77654::*funcptr)(void);
metin.ozkan@analog.com 0:788f63dcf0a0 124
metin.ozkan@analog.com 0:788f63dcf0a0 125 /**
metin.ozkan@analog.com 0:788f63dcf0a0 126 * @brief Post interrupt jobs after interrupt is detected.
metin.ozkan@analog.com 0:788f63dcf0a0 127 */
metin.ozkan@analog.com 0:788f63dcf0a0 128 void PostInterruptWork();
metin.ozkan@analog.com 0:788f63dcf0a0 129
metin.ozkan@analog.com 0:788f63dcf0a0 130 Thread *post_intr_work_thread;
metin.ozkan@analog.com 0:788f63dcf0a0 131
metin.ozkan@analog.com 0:788f63dcf0a0 132 struct handler {
metin.ozkan@analog.com 0:788f63dcf0a0 133 void (*func)(void *);
metin.ozkan@analog.com 0:788f63dcf0a0 134 void *cb;
metin.ozkan@analog.com 0:788f63dcf0a0 135 };
metin.ozkan@analog.com 0:788f63dcf0a0 136
metin.ozkan@analog.com 0:788f63dcf0a0 137 handler interrupt_handler_list[8];
metin.ozkan@analog.com 0:788f63dcf0a0 138
metin.ozkan@analog.com 0:788f63dcf0a0 139 public:
metin.ozkan@analog.com 0:788f63dcf0a0 140 /**
metin.ozkan@analog.com 0:788f63dcf0a0 141 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 142 * All Interrupt Flags combined from INT_GLBL0, INT_GLBL1 and INT_CHG
metin.ozkan@analog.com 0:788f63dcf0a0 143 *
metin.ozkan@analog.com 0:788f63dcf0a0 144 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 145 * - Register : ERCFLAG (0x05)
metin.ozkan@analog.com 0:788f63dcf0a0 146 * - Bit Fields : [7:0]
metin.ozkan@analog.com 0:788f63dcf0a0 147 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 148 * - Description : Enumerated interrupt flags
metin.ozkan@analog.com 0:788f63dcf0a0 149 */
metin.ozkan@analog.com 0:788f63dcf0a0 150 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 151 INT_GLBL0_GPI0_F,
metin.ozkan@analog.com 0:788f63dcf0a0 152 INT_GLBL0_GPI0_R,
metin.ozkan@analog.com 0:788f63dcf0a0 153 INT_GLBL0_NEN_F,
metin.ozkan@analog.com 0:788f63dcf0a0 154 INT_GLBL0_NEN_R,
metin.ozkan@analog.com 0:788f63dcf0a0 155 INT_GLBL0_TJAL1_R,
metin.ozkan@analog.com 0:788f63dcf0a0 156 INT_GLBL0_TJAL2_R,
metin.ozkan@analog.com 0:788f63dcf0a0 157 INT_GLBL0_DOD1_R,
metin.ozkan@analog.com 0:788f63dcf0a0 158 INT_GLBL0_DOD0_R,
metin.ozkan@analog.com 0:788f63dcf0a0 159 INT_GLBL1_GPI1_F,
metin.ozkan@analog.com 0:788f63dcf0a0 160 INT_GLBL1_GPI1_R,
metin.ozkan@analog.com 0:788f63dcf0a0 161 INT_GLBL1_GPI2_F,
metin.ozkan@analog.com 0:788f63dcf0a0 162 INT_GLBL1_GPI2_R,
metin.ozkan@analog.com 0:788f63dcf0a0 163 INT_GLBL1_SBB_TO,
metin.ozkan@analog.com 0:788f63dcf0a0 164 INT_GLBL1_LDO0_F,
metin.ozkan@analog.com 0:788f63dcf0a0 165 INT_GLBL1_LDO1_F,
metin.ozkan@analog.com 0:788f63dcf0a0 166 INT_CHG_THM_I,
metin.ozkan@analog.com 0:788f63dcf0a0 167 INT_CHG_CGH_I,
metin.ozkan@analog.com 0:788f63dcf0a0 168 INT_CHG_CHGIN_I,
metin.ozkan@analog.com 0:788f63dcf0a0 169 INT_CHG_TJ_REG_I,
metin.ozkan@analog.com 0:788f63dcf0a0 170 INT_CHG_CHGIN_CTRL_I,
metin.ozkan@analog.com 0:788f63dcf0a0 171 INT_CHG_SYS_CTRL_I,
metin.ozkan@analog.com 0:788f63dcf0a0 172 INT_CHG_SYS_CNFG_I,
metin.ozkan@analog.com 0:788f63dcf0a0 173 INT_CHG_END
metin.ozkan@analog.com 0:788f63dcf0a0 174 } int_glbl_t;
metin.ozkan@analog.com 0:788f63dcf0a0 175
metin.ozkan@analog.com 0:788f63dcf0a0 176 /**
metin.ozkan@analog.com 0:788f63dcf0a0 177 * MAX77654 constructor.
metin.ozkan@analog.com 0:788f63dcf0a0 178 */
metin.ozkan@analog.com 0:788f63dcf0a0 179 MAX77654(I2C *i2c, DigitalOut *powerPin, DigitalIn *dataPin, PinName IRQPin = NC);
metin.ozkan@analog.com 0:788f63dcf0a0 180
metin.ozkan@analog.com 0:788f63dcf0a0 181 /**
metin.ozkan@analog.com 0:788f63dcf0a0 182 * MAX77654 destructor.
metin.ozkan@analog.com 0:788f63dcf0a0 183 */
metin.ozkan@analog.com 0:788f63dcf0a0 184 ~MAX77654();
metin.ozkan@analog.com 0:788f63dcf0a0 185
metin.ozkan@analog.com 0:788f63dcf0a0 186 /**
metin.ozkan@analog.com 0:788f63dcf0a0 187 * @brief Function pointer type to interrupt handler function
metin.ozkan@analog.com 0:788f63dcf0a0 188 */
metin.ozkan@analog.com 0:788f63dcf0a0 189 typedef void (*interrupt_handler_function)(void *);
metin.ozkan@analog.com 0:788f63dcf0a0 190
metin.ozkan@analog.com 0:788f63dcf0a0 191 /**
metin.ozkan@analog.com 0:788f63dcf0a0 192 * @brief Read from a register.
metin.ozkan@analog.com 0:788f63dcf0a0 193 *
metin.ozkan@analog.com 0:788f63dcf0a0 194 * @param[in] reg Address of a register to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 195 * @param[out] value Pointer to save result value.
metin.ozkan@analog.com 0:788f63dcf0a0 196 *
metin.ozkan@analog.com 0:788f63dcf0a0 197 * @returns 0 on success, negative error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 198 */
metin.ozkan@analog.com 0:788f63dcf0a0 199 int read_register(uint8_t reg, uint8_t *value);
metin.ozkan@analog.com 0:788f63dcf0a0 200
metin.ozkan@analog.com 0:788f63dcf0a0 201 /**
metin.ozkan@analog.com 0:788f63dcf0a0 202 * @brief Write to a register.
metin.ozkan@analog.com 0:788f63dcf0a0 203 *
metin.ozkan@analog.com 0:788f63dcf0a0 204 * @param[in] reg Address of a register to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 205 * @param[out] value Pointer of value to be written to register.
metin.ozkan@analog.com 0:788f63dcf0a0 206 *
metin.ozkan@analog.com 0:788f63dcf0a0 207 * @returns 0 on success, negative error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 208 */
metin.ozkan@analog.com 0:788f63dcf0a0 209 int write_register(uint8_t reg, const uint8_t *value);
metin.ozkan@analog.com 0:788f63dcf0a0 210
metin.ozkan@analog.com 0:788f63dcf0a0 211 /**
metin.ozkan@analog.com 0:788f63dcf0a0 212 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 213 *
metin.ozkan@analog.com 0:788f63dcf0a0 214 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 215 * - Register : ERCFLAG (0x05)
metin.ozkan@analog.com 0:788f63dcf0a0 216 * - Bit Fields : [7:0]
metin.ozkan@analog.com 0:788f63dcf0a0 217 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 218 * - Description : Demodulator Parameter #2 to be used only in FSK mode. Must be programmed according to
metin.ozkan@analog.com 0:788f63dcf0a0 219 * the table of FSK Demodulator Configuration.
metin.ozkan@analog.com 0:788f63dcf0a0 220 */
metin.ozkan@analog.com 0:788f63dcf0a0 221 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 222 ERC_FLAG_NOT_OCCURRED,
metin.ozkan@analog.com 0:788f63dcf0a0 223 ERC_FLAG_OCCURRED
metin.ozkan@analog.com 0:788f63dcf0a0 224 }ercflag_t;
metin.ozkan@analog.com 0:788f63dcf0a0 225
metin.ozkan@analog.com 0:788f63dcf0a0 226 /**
metin.ozkan@analog.com 0:788f63dcf0a0 227 * @brief Get Thermal Overload Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 228 *
metin.ozkan@analog.com 0:788f63dcf0a0 229 * @param[out] ercflag Thermal overload bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 230 *
metin.ozkan@analog.com 0:788f63dcf0a0 231 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 232 */
metin.ozkan@analog.com 0:788f63dcf0a0 233 int GetThermalOverload(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 234
metin.ozkan@analog.com 0:788f63dcf0a0 235 /**
metin.ozkan@analog.com 0:788f63dcf0a0 236 * @brief Get Sys Domain Overvoltage Lockout Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 237 *
metin.ozkan@analog.com 0:788f63dcf0a0 238 * @param[out] ercflag Sys domain overvoltage lockout bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 239 *
metin.ozkan@analog.com 0:788f63dcf0a0 240 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 241 */
metin.ozkan@analog.com 0:788f63dcf0a0 242 int GetSysOvervoltageLockout(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 243
metin.ozkan@analog.com 0:788f63dcf0a0 244 /**
metin.ozkan@analog.com 0:788f63dcf0a0 245 * @brief Get Sys Domain Undervoltage Lockout Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 246 *
metin.ozkan@analog.com 0:788f63dcf0a0 247 * @param[out] ercflag Sys domain undervoltage lockout bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 248 *
metin.ozkan@analog.com 0:788f63dcf0a0 249 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 250 */
metin.ozkan@analog.com 0:788f63dcf0a0 251 int GetSysUndervoltageLockout(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 252
metin.ozkan@analog.com 0:788f63dcf0a0 253 /**
metin.ozkan@analog.com 0:788f63dcf0a0 254 * @brief Get Manual Reset Timer Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 255 *
metin.ozkan@analog.com 0:788f63dcf0a0 256 * @param[out] ercflag Manual reset timer bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 257 *
metin.ozkan@analog.com 0:788f63dcf0a0 258 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 259 */
metin.ozkan@analog.com 0:788f63dcf0a0 260 int GetManualResetTimer(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 261
metin.ozkan@analog.com 0:788f63dcf0a0 262 /**
metin.ozkan@analog.com 0:788f63dcf0a0 263 * @brief Get Software Off Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 264 *
metin.ozkan@analog.com 0:788f63dcf0a0 265 * @param[out] ercflag Software off bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 266 *
metin.ozkan@analog.com 0:788f63dcf0a0 267 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 268 */
metin.ozkan@analog.com 0:788f63dcf0a0 269 int GetSoftwareOffFlag(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 270
metin.ozkan@analog.com 0:788f63dcf0a0 271 /**
metin.ozkan@analog.com 0:788f63dcf0a0 272 * @brief Get Software Cold Reset.
metin.ozkan@analog.com 0:788f63dcf0a0 273 *
metin.ozkan@analog.com 0:788f63dcf0a0 274 * @param[out] ercflag Software cold reset bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 275 *
metin.ozkan@analog.com 0:788f63dcf0a0 276 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 277 */
metin.ozkan@analog.com 0:788f63dcf0a0 278 int GetSoftwareColdResetFlag(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 279
metin.ozkan@analog.com 0:788f63dcf0a0 280 /**
metin.ozkan@analog.com 0:788f63dcf0a0 281 * @brief Get Watchdog Timer Off Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 282 *
metin.ozkan@analog.com 0:788f63dcf0a0 283 * @param[out] ercflag Watchdog timer off bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 284 *
metin.ozkan@analog.com 0:788f63dcf0a0 285 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 286 */
metin.ozkan@analog.com 0:788f63dcf0a0 287 int GetWatchdogTimerOffFlag(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 288
metin.ozkan@analog.com 0:788f63dcf0a0 289 /**
metin.ozkan@analog.com 0:788f63dcf0a0 290 * @brief Get Watchdog Timer Reset Flag.
metin.ozkan@analog.com 0:788f63dcf0a0 291 *
metin.ozkan@analog.com 0:788f63dcf0a0 292 * @param[out] ercflag Watchdog timer reset bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 293 *
metin.ozkan@analog.com 0:788f63dcf0a0 294 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 295 */
metin.ozkan@analog.com 0:788f63dcf0a0 296 int GetWatchdogTimerResetFlag(ercflag_t *ercflag);
metin.ozkan@analog.com 0:788f63dcf0a0 297
metin.ozkan@analog.com 0:788f63dcf0a0 298 /**
metin.ozkan@analog.com 0:788f63dcf0a0 299 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 300 *
metin.ozkan@analog.com 0:788f63dcf0a0 301 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 302 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 303 * - Bit Fields : [7]
metin.ozkan@analog.com 0:788f63dcf0a0 304 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 305 * - Description : Device Identification Bits for Metal Options.
metin.ozkan@analog.com 0:788f63dcf0a0 306 */
metin.ozkan@analog.com 0:788f63dcf0a0 307 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 308 DIDM_MAX77654,
metin.ozkan@analog.com 0:788f63dcf0a0 309 DIDM_RESERVED
metin.ozkan@analog.com 0:788f63dcf0a0 310 }didm_t;
metin.ozkan@analog.com 0:788f63dcf0a0 311
metin.ozkan@analog.com 0:788f63dcf0a0 312 /**
metin.ozkan@analog.com 0:788f63dcf0a0 313 * @brief Get Device Identification Bits for Metal Options.
metin.ozkan@analog.com 0:788f63dcf0a0 314 *
metin.ozkan@analog.com 0:788f63dcf0a0 315 * @param[out] didm Device identification bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 316 *
metin.ozkan@analog.com 0:788f63dcf0a0 317 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 318 */
metin.ozkan@analog.com 0:788f63dcf0a0 319 int GetDeviceIdentification(didm_t *didm);
metin.ozkan@analog.com 0:788f63dcf0a0 320
metin.ozkan@analog.com 0:788f63dcf0a0 321 /**
metin.ozkan@analog.com 0:788f63dcf0a0 322 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 323 *
metin.ozkan@analog.com 0:788f63dcf0a0 324 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 325 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 326 * - Bit Fields : [6]
metin.ozkan@analog.com 0:788f63dcf0a0 327 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 328 * - Description : BOK Interrupt Status.
metin.ozkan@analog.com 0:788f63dcf0a0 329 */
metin.ozkan@analog.com 0:788f63dcf0a0 330 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 331 BOK_MAIN_BIAS_NOT_READY,
metin.ozkan@analog.com 0:788f63dcf0a0 332 BOK_MAIN_BIAS_READY
metin.ozkan@analog.com 0:788f63dcf0a0 333 }bok_t;
metin.ozkan@analog.com 0:788f63dcf0a0 334
metin.ozkan@analog.com 0:788f63dcf0a0 335 /**
metin.ozkan@analog.com 0:788f63dcf0a0 336 * @brief Get BOK Interrupt Status.
metin.ozkan@analog.com 0:788f63dcf0a0 337 *
metin.ozkan@analog.com 0:788f63dcf0a0 338 * @param[out] bok Main bias status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 339 *
metin.ozkan@analog.com 0:788f63dcf0a0 340 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 341 */
metin.ozkan@analog.com 0:788f63dcf0a0 342 int GetBOKInterruptStatus(bok_t *bok);
metin.ozkan@analog.com 0:788f63dcf0a0 343
metin.ozkan@analog.com 0:788f63dcf0a0 344 /**
metin.ozkan@analog.com 0:788f63dcf0a0 345 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 346 *
metin.ozkan@analog.com 0:788f63dcf0a0 347 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 348 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 349 * - Bit Fields : [5]
metin.ozkan@analog.com 0:788f63dcf0a0 350 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 351 * - Description : LDO0 Dropout Detector Rising Status.
metin.ozkan@analog.com 0:788f63dcf0a0 352 */
metin.ozkan@analog.com 0:788f63dcf0a0 353 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 354 DOD0_S_LDO0_NOT_IN_DROPOUT,
metin.ozkan@analog.com 0:788f63dcf0a0 355 DOD0_S_LDO0_IN_DROPOUT
metin.ozkan@analog.com 0:788f63dcf0a0 356 }dod0_s_t;
metin.ozkan@analog.com 0:788f63dcf0a0 357
metin.ozkan@analog.com 0:788f63dcf0a0 358 /**
metin.ozkan@analog.com 0:788f63dcf0a0 359 * @brief Get LDO0 Dropout Detector Rising Status.
metin.ozkan@analog.com 0:788f63dcf0a0 360 *
metin.ozkan@analog.com 0:788f63dcf0a0 361 * @param[out] dod0_s LDO0 dropout status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 362 *
metin.ozkan@analog.com 0:788f63dcf0a0 363 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 364 */
metin.ozkan@analog.com 0:788f63dcf0a0 365 int GetLDO0DropoutRisingStatus(dod0_s_t *dod0_s);
metin.ozkan@analog.com 0:788f63dcf0a0 366
metin.ozkan@analog.com 0:788f63dcf0a0 367 /**
metin.ozkan@analog.com 0:788f63dcf0a0 368 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 369 *
metin.ozkan@analog.com 0:788f63dcf0a0 370 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 371 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 372 * - Bit Fields : [4]
metin.ozkan@analog.com 0:788f63dcf0a0 373 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 374 * - Description : LDO1 Dropout Detector Rising Status.
metin.ozkan@analog.com 0:788f63dcf0a0 375 */
metin.ozkan@analog.com 0:788f63dcf0a0 376 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 377 DOD1_S_LDO1_NOT_IN_DROPOUT,
metin.ozkan@analog.com 0:788f63dcf0a0 378 DOD1_S_LDO1_IN_DROPOUT
metin.ozkan@analog.com 0:788f63dcf0a0 379 }dod1_s_t;
metin.ozkan@analog.com 0:788f63dcf0a0 380
metin.ozkan@analog.com 0:788f63dcf0a0 381 /**
metin.ozkan@analog.com 0:788f63dcf0a0 382 * @brief Get LDO1 Dropout Detector Rising Status.
metin.ozkan@analog.com 0:788f63dcf0a0 383 *
metin.ozkan@analog.com 0:788f63dcf0a0 384 * @param[out] dod1_s LDO1 dropout status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 385 *
metin.ozkan@analog.com 0:788f63dcf0a0 386 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 387 */
metin.ozkan@analog.com 0:788f63dcf0a0 388 int GetLDO1DropoutRisingStatus(dod1_s_t *dod1_s);
metin.ozkan@analog.com 0:788f63dcf0a0 389
metin.ozkan@analog.com 0:788f63dcf0a0 390 /**
metin.ozkan@analog.com 0:788f63dcf0a0 391 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 392 *
metin.ozkan@analog.com 0:788f63dcf0a0 393 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 394 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 395 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 396 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 397 * - Description : Thermal Alarm 2 Status.
metin.ozkan@analog.com 0:788f63dcf0a0 398 */
metin.ozkan@analog.com 0:788f63dcf0a0 399 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 400 TJAL2_S_JUNC_TEMP_LESS_THAN_TJA2,
metin.ozkan@analog.com 0:788f63dcf0a0 401 TJAL2_S_JUNC_TEMP_GREATER_THAN_TJA2
metin.ozkan@analog.com 0:788f63dcf0a0 402 }tjal2_s_t;
metin.ozkan@analog.com 0:788f63dcf0a0 403
metin.ozkan@analog.com 0:788f63dcf0a0 404 /**
metin.ozkan@analog.com 0:788f63dcf0a0 405 * @brief Get Thermal Alarm 2 Status.
metin.ozkan@analog.com 0:788f63dcf0a0 406 *
metin.ozkan@analog.com 0:788f63dcf0a0 407 * @param[out] tjal2_s Thermal alarm 2 status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 408 *
metin.ozkan@analog.com 0:788f63dcf0a0 409 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 410 */
metin.ozkan@analog.com 0:788f63dcf0a0 411 int GetThermalAlarm2Status(tjal2_s_t *tjal2_s);
metin.ozkan@analog.com 0:788f63dcf0a0 412
metin.ozkan@analog.com 0:788f63dcf0a0 413 /**
metin.ozkan@analog.com 0:788f63dcf0a0 414 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 415 *
metin.ozkan@analog.com 0:788f63dcf0a0 416 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 417 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 418 * - Bit Fields : [2]
metin.ozkan@analog.com 0:788f63dcf0a0 419 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 420 * - Description : Thermal Alarm 1 Status.
metin.ozkan@analog.com 0:788f63dcf0a0 421 */
metin.ozkan@analog.com 0:788f63dcf0a0 422 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 423 TJAL1_S_JUNC_TEMP_LESS_THAN_TJA1,
metin.ozkan@analog.com 0:788f63dcf0a0 424 TJAL1_S_JUNC_TEMP_GREATER_THAN_TJA1
metin.ozkan@analog.com 0:788f63dcf0a0 425 }tjal1_s_t;
metin.ozkan@analog.com 0:788f63dcf0a0 426
metin.ozkan@analog.com 0:788f63dcf0a0 427 /**
metin.ozkan@analog.com 0:788f63dcf0a0 428 * @brief Get Thermal Alarm 1 Status.
metin.ozkan@analog.com 0:788f63dcf0a0 429 *
metin.ozkan@analog.com 0:788f63dcf0a0 430 * @param[out] tjal1_s Thermal alarm 1 status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 431 *
metin.ozkan@analog.com 0:788f63dcf0a0 432 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 433 */
metin.ozkan@analog.com 0:788f63dcf0a0 434 int GetThermalAlarm1Status(tjal1_s_t *tjal1_s);
metin.ozkan@analog.com 0:788f63dcf0a0 435
metin.ozkan@analog.com 0:788f63dcf0a0 436 /**
metin.ozkan@analog.com 0:788f63dcf0a0 437 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 438 *
metin.ozkan@analog.com 0:788f63dcf0a0 439 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 440 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 441 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 442 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 443 * - Description : Debounced Status for the nEN input.
metin.ozkan@analog.com 0:788f63dcf0a0 444 */
metin.ozkan@analog.com 0:788f63dcf0a0 445 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 446 STAT_EN_NEN_NOT_ACTIVE,
metin.ozkan@analog.com 0:788f63dcf0a0 447 STAT_EN_NEN_ACTIVE
metin.ozkan@analog.com 0:788f63dcf0a0 448 }stat_en_t;
metin.ozkan@analog.com 0:788f63dcf0a0 449
metin.ozkan@analog.com 0:788f63dcf0a0 450 /**
metin.ozkan@analog.com 0:788f63dcf0a0 451 * @brief Get Debounced Status for the nEN input.
metin.ozkan@analog.com 0:788f63dcf0a0 452 *
metin.ozkan@analog.com 0:788f63dcf0a0 453 * @param[out] stat_en Debounced status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 454 *
metin.ozkan@analog.com 0:788f63dcf0a0 455 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 456 */
metin.ozkan@analog.com 0:788f63dcf0a0 457 int GetnENDebouncedStatus(stat_en_t *stat_en);
metin.ozkan@analog.com 0:788f63dcf0a0 458
metin.ozkan@analog.com 0:788f63dcf0a0 459 /**
metin.ozkan@analog.com 0:788f63dcf0a0 460 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 461 *
metin.ozkan@analog.com 0:788f63dcf0a0 462 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 463 * - Register : STAT_GLBL (0x06)
metin.ozkan@analog.com 0:788f63dcf0a0 464 * - Bit Fields : [0]
metin.ozkan@analog.com 0:788f63dcf0a0 465 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 466 * - Description : Software Version of the nIRQ MOSFET gate drive.
metin.ozkan@analog.com 0:788f63dcf0a0 467 */
metin.ozkan@analog.com 0:788f63dcf0a0 468 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 469 STAT_IRQ_UNMASKED_GATE_DRIVE_LOW,
metin.ozkan@analog.com 0:788f63dcf0a0 470 STAT_IRQ_UNMASKED_GATE_DRIVE_HIGH
metin.ozkan@analog.com 0:788f63dcf0a0 471 }stat_irq_t;
metin.ozkan@analog.com 0:788f63dcf0a0 472
metin.ozkan@analog.com 0:788f63dcf0a0 473 /**
metin.ozkan@analog.com 0:788f63dcf0a0 474 * @brief Get Software Version of the nIRQ MOSFET gate drive.
metin.ozkan@analog.com 0:788f63dcf0a0 475 *
metin.ozkan@analog.com 0:788f63dcf0a0 476 * @param[out] stat_en Software version bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 477 *
metin.ozkan@analog.com 0:788f63dcf0a0 478 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 479 */
metin.ozkan@analog.com 0:788f63dcf0a0 480 int GetSoftwareVersionGateDrive(stat_irq_t *stat_irq);
metin.ozkan@analog.com 0:788f63dcf0a0 481
metin.ozkan@analog.com 0:788f63dcf0a0 482 /**
metin.ozkan@analog.com 0:788f63dcf0a0 483 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 484 *
metin.ozkan@analog.com 0:788f63dcf0a0 485 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 486 * - Register : INT_M_CHG (0x07), INTM_GLBL1 (0x08), and INTM_GLBL0 (0x09)
metin.ozkan@analog.com 0:788f63dcf0a0 487 * - Bit Fields : [7:0]
metin.ozkan@analog.com 0:788f63dcf0a0 488 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 489 * - Description : Interrupt Masks.
metin.ozkan@analog.com 0:788f63dcf0a0 490 */
metin.ozkan@analog.com 0:788f63dcf0a0 491 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 492 INTM_INTERRUPT_UNMASKED,
metin.ozkan@analog.com 0:788f63dcf0a0 493 INTM_INTERRUPT_MASKED
metin.ozkan@analog.com 0:788f63dcf0a0 494 }intm_t;
metin.ozkan@analog.com 0:788f63dcf0a0 495
metin.ozkan@analog.com 0:788f63dcf0a0 496 /**
metin.ozkan@analog.com 0:788f63dcf0a0 497 * @brief Set LDO1 Fault Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 498 *
metin.ozkan@analog.com 0:788f63dcf0a0 499 * @param[in] intm LDO1 fault interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 500 *
metin.ozkan@analog.com 0:788f63dcf0a0 501 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 502 */
metin.ozkan@analog.com 0:788f63dcf0a0 503 int SetLDO1FaultInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 504
metin.ozkan@analog.com 0:788f63dcf0a0 505 /**
metin.ozkan@analog.com 0:788f63dcf0a0 506 * @brief Get LDO1 Fault Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 507 *
metin.ozkan@analog.com 0:788f63dcf0a0 508 * @param[out] intm LDO1 fault interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 509 *
metin.ozkan@analog.com 0:788f63dcf0a0 510 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 511 */
metin.ozkan@analog.com 0:788f63dcf0a0 512 int GetLDO1FaultInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 513
metin.ozkan@analog.com 0:788f63dcf0a0 514 /**
metin.ozkan@analog.com 0:788f63dcf0a0 515 * @brief Set LDO0 Fault Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 516 *
metin.ozkan@analog.com 0:788f63dcf0a0 517 * @param[in] intm LDO0 fault interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 518 *
metin.ozkan@analog.com 0:788f63dcf0a0 519 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 520 */
metin.ozkan@analog.com 0:788f63dcf0a0 521 int SetLDO0FaultInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 522
metin.ozkan@analog.com 0:788f63dcf0a0 523 /**
metin.ozkan@analog.com 0:788f63dcf0a0 524 * @brief Get LDO1 Fault Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 525 *
metin.ozkan@analog.com 0:788f63dcf0a0 526 * @param[out] intm LDO1 fault interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 527 *
metin.ozkan@analog.com 0:788f63dcf0a0 528 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 529 */
metin.ozkan@analog.com 0:788f63dcf0a0 530 int GetLDO0FaultInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 531
metin.ozkan@analog.com 0:788f63dcf0a0 532 /**
metin.ozkan@analog.com 0:788f63dcf0a0 533 * @brief Set SBB Timeout Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 534 *
metin.ozkan@analog.com 0:788f63dcf0a0 535 * @param[in] intm SBB timeout interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 536 *
metin.ozkan@analog.com 0:788f63dcf0a0 537 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 538 */
metin.ozkan@analog.com 0:788f63dcf0a0 539 int SetSBBTimeoutMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 540
metin.ozkan@analog.com 0:788f63dcf0a0 541 /**
metin.ozkan@analog.com 0:788f63dcf0a0 542 * @brief Get SBB Timeout Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 543 *
metin.ozkan@analog.com 0:788f63dcf0a0 544 * @param[out] intm SBB timeout interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 545 *
metin.ozkan@analog.com 0:788f63dcf0a0 546 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 547 */
metin.ozkan@analog.com 0:788f63dcf0a0 548 int GetSBBTimeoutMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 549
metin.ozkan@analog.com 0:788f63dcf0a0 550 /**
metin.ozkan@analog.com 0:788f63dcf0a0 551 * @brief Set GPI2 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 552 *
metin.ozkan@analog.com 0:788f63dcf0a0 553 * @param[in] intm GPI2 rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 554 *
metin.ozkan@analog.com 0:788f63dcf0a0 555 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 556 */
metin.ozkan@analog.com 0:788f63dcf0a0 557 int SetGPI2RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 558
metin.ozkan@analog.com 0:788f63dcf0a0 559 /**
metin.ozkan@analog.com 0:788f63dcf0a0 560 * @brief Get GPI2 Rising Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 561 *
metin.ozkan@analog.com 0:788f63dcf0a0 562 * @param[out] intm GPI2 rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 563 *
metin.ozkan@analog.com 0:788f63dcf0a0 564 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 565 */
metin.ozkan@analog.com 0:788f63dcf0a0 566 int GetGPI2RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 567
metin.ozkan@analog.com 0:788f63dcf0a0 568 /**
metin.ozkan@analog.com 0:788f63dcf0a0 569 * @brief Set GPI2 Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 570 *
metin.ozkan@analog.com 0:788f63dcf0a0 571 * @param[in] intm GPI2 falling interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 572 *
metin.ozkan@analog.com 0:788f63dcf0a0 573 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 574 */
metin.ozkan@analog.com 0:788f63dcf0a0 575 int SetGPI2FallingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 576
metin.ozkan@analog.com 0:788f63dcf0a0 577 /**
metin.ozkan@analog.com 0:788f63dcf0a0 578 * @brief Get GPI2 Falling Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 579 *
metin.ozkan@analog.com 0:788f63dcf0a0 580 * @param[out] intm GPI2 falling interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 581 *
metin.ozkan@analog.com 0:788f63dcf0a0 582 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 583 */
metin.ozkan@analog.com 0:788f63dcf0a0 584 int GetGPI2FallingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 585
metin.ozkan@analog.com 0:788f63dcf0a0 586 /**
metin.ozkan@analog.com 0:788f63dcf0a0 587 * @brief Set GPI1 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 588 *
metin.ozkan@analog.com 0:788f63dcf0a0 589 * @param[in] intm GPI1 rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 590 *
metin.ozkan@analog.com 0:788f63dcf0a0 591 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 592 */
metin.ozkan@analog.com 0:788f63dcf0a0 593 int SetGPI1RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 594
metin.ozkan@analog.com 0:788f63dcf0a0 595 /**
metin.ozkan@analog.com 0:788f63dcf0a0 596 * @brief Get GPI1 Rising Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 597 *
metin.ozkan@analog.com 0:788f63dcf0a0 598 * @param[out] intm GPI1 rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 599 *
metin.ozkan@analog.com 0:788f63dcf0a0 600 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 601 */
metin.ozkan@analog.com 0:788f63dcf0a0 602 int GetGPI1RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 603
metin.ozkan@analog.com 0:788f63dcf0a0 604 /**
metin.ozkan@analog.com 0:788f63dcf0a0 605 * @brief Set GPI1 Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 606 *
metin.ozkan@analog.com 0:788f63dcf0a0 607 * @param[in] intm GPI1 falling interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 608 *
metin.ozkan@analog.com 0:788f63dcf0a0 609 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 610 */
metin.ozkan@analog.com 0:788f63dcf0a0 611 int SetGPI1FallingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 612
metin.ozkan@analog.com 0:788f63dcf0a0 613 /**
metin.ozkan@analog.com 0:788f63dcf0a0 614 * @brief Get GPI1 Falling Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 615 *
metin.ozkan@analog.com 0:788f63dcf0a0 616 * @param[out] intm GPI1 falling interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 617 *
metin.ozkan@analog.com 0:788f63dcf0a0 618 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 619 */
metin.ozkan@analog.com 0:788f63dcf0a0 620 int GetGPI1FallingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 621
metin.ozkan@analog.com 0:788f63dcf0a0 622 /**
metin.ozkan@analog.com 0:788f63dcf0a0 623 * @brief Set LDO Dropout0 Detector Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 624 *
metin.ozkan@analog.com 0:788f63dcf0a0 625 * @param[in] intm LDO dropout0 detector rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 626 *
metin.ozkan@analog.com 0:788f63dcf0a0 627 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 628 */
metin.ozkan@analog.com 0:788f63dcf0a0 629 int SetDropout0RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 630
metin.ozkan@analog.com 0:788f63dcf0a0 631 /**
metin.ozkan@analog.com 0:788f63dcf0a0 632 * @brief Get LDO Dropout0 Detector Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 633 *
metin.ozkan@analog.com 0:788f63dcf0a0 634 * @param[out] intm LDO dropout0 detector rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 635 *
metin.ozkan@analog.com 0:788f63dcf0a0 636 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 637 */
metin.ozkan@analog.com 0:788f63dcf0a0 638 int GetDropout0RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 639
metin.ozkan@analog.com 0:788f63dcf0a0 640 /**
metin.ozkan@analog.com 0:788f63dcf0a0 641 * @brief Set LDO Dropout1 Detector Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 642 *
metin.ozkan@analog.com 0:788f63dcf0a0 643 * @param[in] intm LDO dropout1 detector rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 644 *
metin.ozkan@analog.com 0:788f63dcf0a0 645 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 646 */
metin.ozkan@analog.com 0:788f63dcf0a0 647 int SetDropout1RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 648
metin.ozkan@analog.com 0:788f63dcf0a0 649 /**
metin.ozkan@analog.com 0:788f63dcf0a0 650 * @brief Get LDO Dropout1 Detector Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 651 *
metin.ozkan@analog.com 0:788f63dcf0a0 652 * @param[out] intm LDO dropout1 detector rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 653 *
metin.ozkan@analog.com 0:788f63dcf0a0 654 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 655 */
metin.ozkan@analog.com 0:788f63dcf0a0 656 int GetDropout1RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 657
metin.ozkan@analog.com 0:788f63dcf0a0 658 /**
metin.ozkan@analog.com 0:788f63dcf0a0 659 * @brief Set Thermal Alarm 2 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 660 *
metin.ozkan@analog.com 0:788f63dcf0a0 661 * @param[in] intm Thermal alarm 2 rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 662 *
metin.ozkan@analog.com 0:788f63dcf0a0 663 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 664 */
metin.ozkan@analog.com 0:788f63dcf0a0 665 int SetThermalAlarm2RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 666
metin.ozkan@analog.com 0:788f63dcf0a0 667 /**
metin.ozkan@analog.com 0:788f63dcf0a0 668 * @brief Get Thermal Alarm 2 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 669 *
metin.ozkan@analog.com 0:788f63dcf0a0 670 * @param[out] intm Thermal alarm 2 rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 671 *
metin.ozkan@analog.com 0:788f63dcf0a0 672 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 673 */
metin.ozkan@analog.com 0:788f63dcf0a0 674 int GetThermalAlarm2RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 675
metin.ozkan@analog.com 0:788f63dcf0a0 676 /**
metin.ozkan@analog.com 0:788f63dcf0a0 677 * @brief Set Thermal Alarm 1 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 678 *
metin.ozkan@analog.com 0:788f63dcf0a0 679 * @param[in] intm Thermal alarm 1 rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 680 *
metin.ozkan@analog.com 0:788f63dcf0a0 681 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 682 */
metin.ozkan@analog.com 0:788f63dcf0a0 683 int SetThermalAlarm1RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 684
metin.ozkan@analog.com 0:788f63dcf0a0 685 /**
metin.ozkan@analog.com 0:788f63dcf0a0 686 * @brief Get Thermal Alarm 1 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 687 *
metin.ozkan@analog.com 0:788f63dcf0a0 688 * @param[out] intm Thermal alarm 1 rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 689 *
metin.ozkan@analog.com 0:788f63dcf0a0 690 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 691 */
metin.ozkan@analog.com 0:788f63dcf0a0 692 int GetThermalAlarm1RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 693
metin.ozkan@analog.com 0:788f63dcf0a0 694 /**
metin.ozkan@analog.com 0:788f63dcf0a0 695 * @brief Set nEN Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 696 *
metin.ozkan@analog.com 0:788f63dcf0a0 697 * @param[in] intm nEN rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 698 *
metin.ozkan@analog.com 0:788f63dcf0a0 699 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 700 */
metin.ozkan@analog.com 0:788f63dcf0a0 701 int SetnENRisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 702
metin.ozkan@analog.com 0:788f63dcf0a0 703 /**
metin.ozkan@analog.com 0:788f63dcf0a0 704 * @brief Get nEN Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 705 *
metin.ozkan@analog.com 0:788f63dcf0a0 706 * @param[out] intm nEN rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 707 *
metin.ozkan@analog.com 0:788f63dcf0a0 708 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 709 */
metin.ozkan@analog.com 0:788f63dcf0a0 710 int GetnENRisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 711
metin.ozkan@analog.com 0:788f63dcf0a0 712 /**
metin.ozkan@analog.com 0:788f63dcf0a0 713 * @brief Set nEN Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 714 *
metin.ozkan@analog.com 0:788f63dcf0a0 715 * @param[in] intm nEN falling interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 716 *
metin.ozkan@analog.com 0:788f63dcf0a0 717 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 718 */
metin.ozkan@analog.com 0:788f63dcf0a0 719 int SetnENFallingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 720
metin.ozkan@analog.com 0:788f63dcf0a0 721 /**
metin.ozkan@analog.com 0:788f63dcf0a0 722 * @brief Get nEN Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 723 *
metin.ozkan@analog.com 0:788f63dcf0a0 724 * @param[out] intm nEN falling interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 725 *
metin.ozkan@analog.com 0:788f63dcf0a0 726 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 727 */
metin.ozkan@analog.com 0:788f63dcf0a0 728 int GetnENFallingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 729
metin.ozkan@analog.com 0:788f63dcf0a0 730 /**
metin.ozkan@analog.com 0:788f63dcf0a0 731 * @brief Set GPI0 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 732 *
metin.ozkan@analog.com 0:788f63dcf0a0 733 * @param[in] intm GPI rising interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 734 *
metin.ozkan@analog.com 0:788f63dcf0a0 735 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 736 */
metin.ozkan@analog.com 0:788f63dcf0a0 737 int SetGPI0RisingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 738
metin.ozkan@analog.com 0:788f63dcf0a0 739 /**
metin.ozkan@analog.com 0:788f63dcf0a0 740 * @brief Get GPI0 Rising Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 741 *
metin.ozkan@analog.com 0:788f63dcf0a0 742 * @param[out] intm GPI rising interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 743 *
metin.ozkan@analog.com 0:788f63dcf0a0 744 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 745 */
metin.ozkan@analog.com 0:788f63dcf0a0 746 int GetGPI0RisingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 747
metin.ozkan@analog.com 0:788f63dcf0a0 748 /**
metin.ozkan@analog.com 0:788f63dcf0a0 749 * @brief Set GPI0 Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 750 *
metin.ozkan@analog.com 0:788f63dcf0a0 751 * @param[in] intm GPI falling interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 752 *
metin.ozkan@analog.com 0:788f63dcf0a0 753 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 754 */
metin.ozkan@analog.com 0:788f63dcf0a0 755 int SetGPI0FallingInterruptMask(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 756
metin.ozkan@analog.com 0:788f63dcf0a0 757 /**
metin.ozkan@analog.com 0:788f63dcf0a0 758 * @brief Get GPI0 Falling Interrupt Mask.
metin.ozkan@analog.com 0:788f63dcf0a0 759 *
metin.ozkan@analog.com 0:788f63dcf0a0 760 * @param[out] intm GPI falling interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 761 *
metin.ozkan@analog.com 0:788f63dcf0a0 762 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 763 */
metin.ozkan@analog.com 0:788f63dcf0a0 764 int GetGPI0FallingInterruptMask(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 765
metin.ozkan@analog.com 0:788f63dcf0a0 766 /**
metin.ozkan@analog.com 0:788f63dcf0a0 767 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 768 *
metin.ozkan@analog.com 0:788f63dcf0a0 769 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 770 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 771 * - Bit Fields : [7]
metin.ozkan@analog.com 0:788f63dcf0a0 772 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 773 * - Description : nEN Internal Pullup Resistor.
metin.ozkan@analog.com 0:788f63dcf0a0 774 */
metin.ozkan@analog.com 0:788f63dcf0a0 775 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 776 PU_DIS_STRONG_NEN_PULLUP_200K,
metin.ozkan@analog.com 0:788f63dcf0a0 777 PU_DIS_WEAK_NEN_PULLUP_10M
metin.ozkan@analog.com 0:788f63dcf0a0 778 }pu_dis_t;
metin.ozkan@analog.com 0:788f63dcf0a0 779
metin.ozkan@analog.com 0:788f63dcf0a0 780 /**
metin.ozkan@analog.com 0:788f63dcf0a0 781 * @brief Set nEN Internal Pullup Resistor.
metin.ozkan@analog.com 0:788f63dcf0a0 782 *
metin.ozkan@analog.com 0:788f63dcf0a0 783 * @param[in] pu_dis nEN internal pullup resistor bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 784 *
metin.ozkan@analog.com 0:788f63dcf0a0 785 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 786 */
metin.ozkan@analog.com 0:788f63dcf0a0 787 int SetnENInternalPullupResistor(pu_dis_t pu_dis);
metin.ozkan@analog.com 0:788f63dcf0a0 788
metin.ozkan@analog.com 0:788f63dcf0a0 789 /**
metin.ozkan@analog.com 0:788f63dcf0a0 790 * @brief Get nEN Internal Pullup Resistor.
metin.ozkan@analog.com 0:788f63dcf0a0 791 *
metin.ozkan@analog.com 0:788f63dcf0a0 792 * @param[out] pu_dis nEN internal pullup resistor bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 793 *
metin.ozkan@analog.com 0:788f63dcf0a0 794 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 795 */
metin.ozkan@analog.com 0:788f63dcf0a0 796 int GetnENInternalPullupResistor(pu_dis_t *pu_dis);
metin.ozkan@analog.com 0:788f63dcf0a0 797
metin.ozkan@analog.com 0:788f63dcf0a0 798 /**
metin.ozkan@analog.com 0:788f63dcf0a0 799 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 800 *
metin.ozkan@analog.com 0:788f63dcf0a0 801 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 802 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 803 * - Bit Fields : [6]
metin.ozkan@analog.com 0:788f63dcf0a0 804 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 805 * - Description : Manual Reset Time (tMRST).
metin.ozkan@analog.com 0:788f63dcf0a0 806 */
metin.ozkan@analog.com 0:788f63dcf0a0 807 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 808 T_MRST_TIME_8S,
metin.ozkan@analog.com 0:788f63dcf0a0 809 T_MRST_TIME_16S
metin.ozkan@analog.com 0:788f63dcf0a0 810 }t_mrst_t;
metin.ozkan@analog.com 0:788f63dcf0a0 811
metin.ozkan@analog.com 0:788f63dcf0a0 812 /**
metin.ozkan@analog.com 0:788f63dcf0a0 813 * @brief Set the Manual Reset Time (tMRST).
metin.ozkan@analog.com 0:788f63dcf0a0 814 *
metin.ozkan@analog.com 0:788f63dcf0a0 815 * @param[in] t_mrst Manual reset time bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 816 *
metin.ozkan@analog.com 0:788f63dcf0a0 817 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 818 */
metin.ozkan@analog.com 0:788f63dcf0a0 819 int SetManualResetTime(t_mrst_t t_mrst);
metin.ozkan@analog.com 0:788f63dcf0a0 820
metin.ozkan@analog.com 0:788f63dcf0a0 821 /**
metin.ozkan@analog.com 0:788f63dcf0a0 822 * @brief Get the Manual Reset Time (tMRST).
metin.ozkan@analog.com 0:788f63dcf0a0 823 *
metin.ozkan@analog.com 0:788f63dcf0a0 824 * @param[out] t_mrst Manual reset time bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 825 *
metin.ozkan@analog.com 0:788f63dcf0a0 826 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 827 */
metin.ozkan@analog.com 0:788f63dcf0a0 828 int GetManualResetTime(t_mrst_t *t_mrst);
metin.ozkan@analog.com 0:788f63dcf0a0 829
metin.ozkan@analog.com 0:788f63dcf0a0 830 /**
metin.ozkan@analog.com 0:788f63dcf0a0 831 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 832 *
metin.ozkan@analog.com 0:788f63dcf0a0 833 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 834 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 835 * - Bit Fields : [5]
metin.ozkan@analog.com 0:788f63dcf0a0 836 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 837 * - Description : Main Bias Low-Power Mode Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 838 */
metin.ozkan@analog.com 0:788f63dcf0a0 839 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 840 SBIA_LPM_NORMAL_POWER_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 841 SBIA_LPM_LOWER_POWER_MODE
metin.ozkan@analog.com 0:788f63dcf0a0 842 }sbia_lpm_t;
metin.ozkan@analog.com 0:788f63dcf0a0 843
metin.ozkan@analog.com 0:788f63dcf0a0 844 /**
metin.ozkan@analog.com 0:788f63dcf0a0 845 * @brief Set Main Bias Low-Power Mode Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 846 *
metin.ozkan@analog.com 0:788f63dcf0a0 847 * @param[in] sbia_lpm main bias low-power mode software request bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 848 *
metin.ozkan@analog.com 0:788f63dcf0a0 849 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 850 */
metin.ozkan@analog.com 0:788f63dcf0a0 851 int SetMainBiasLowerPowerModeReq(sbia_lpm_t sbia_lpm);
metin.ozkan@analog.com 0:788f63dcf0a0 852
metin.ozkan@analog.com 0:788f63dcf0a0 853 /**
metin.ozkan@analog.com 0:788f63dcf0a0 854 * @brief Get Main Bias Low-Power Mode Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 855 *
metin.ozkan@analog.com 0:788f63dcf0a0 856 * @param[out] sbia_lpm Main bias low-power mode software request bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 857 *
metin.ozkan@analog.com 0:788f63dcf0a0 858 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 859 */
metin.ozkan@analog.com 0:788f63dcf0a0 860 int GetMainBiasLowerPowerModeReq(sbia_lpm_t *sbia_lpm);
metin.ozkan@analog.com 0:788f63dcf0a0 861
metin.ozkan@analog.com 0:788f63dcf0a0 862 /**
metin.ozkan@analog.com 0:788f63dcf0a0 863 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 864 *
metin.ozkan@analog.com 0:788f63dcf0a0 865 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 866 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 867 * - Bit Fields : [4]
metin.ozkan@analog.com 0:788f63dcf0a0 868 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 869 * - Description : Main Bias Enable Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 870 */
metin.ozkan@analog.com 0:788f63dcf0a0 871 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 872 SBIA_EN_ON_OFF_CONTROLLER,
metin.ozkan@analog.com 0:788f63dcf0a0 873 SBIA_EN_ALWAYS_ON
metin.ozkan@analog.com 0:788f63dcf0a0 874 }sbia_en_t;
metin.ozkan@analog.com 0:788f63dcf0a0 875
metin.ozkan@analog.com 0:788f63dcf0a0 876 /**
metin.ozkan@analog.com 0:788f63dcf0a0 877 * @brief Set Main Bias Enable Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 878 *
metin.ozkan@analog.com 0:788f63dcf0a0 879 * @param[in] sbia_en Main bias enable software request bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 880 *
metin.ozkan@analog.com 0:788f63dcf0a0 881 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 882 */
metin.ozkan@analog.com 0:788f63dcf0a0 883 int SetMainBiasEnableReq(sbia_en_t sbia_en);
metin.ozkan@analog.com 0:788f63dcf0a0 884
metin.ozkan@analog.com 0:788f63dcf0a0 885 /**
metin.ozkan@analog.com 0:788f63dcf0a0 886 * @brief Get Main Bias Enable Software Request.
metin.ozkan@analog.com 0:788f63dcf0a0 887 *
metin.ozkan@analog.com 0:788f63dcf0a0 888 * @param[out] sbia_en Main bias enable software request bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 889 *
metin.ozkan@analog.com 0:788f63dcf0a0 890 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 891 */
metin.ozkan@analog.com 0:788f63dcf0a0 892 int GetMainBiasEnableReq(sbia_en_t *sbia_en);
metin.ozkan@analog.com 0:788f63dcf0a0 893
metin.ozkan@analog.com 0:788f63dcf0a0 894 /**
metin.ozkan@analog.com 0:788f63dcf0a0 895 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 896 *
metin.ozkan@analog.com 0:788f63dcf0a0 897 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 898 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 899 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 900 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 901 * - Description : nEN Input (ON-KEY) Default Configuration Mode.
metin.ozkan@analog.com 0:788f63dcf0a0 902 */
metin.ozkan@analog.com 0:788f63dcf0a0 903 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 904 NEN_MODE_PUSH_BUTTON_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 905 NEN_MODE_SLIDE_SWITCH_MODE
metin.ozkan@analog.com 0:788f63dcf0a0 906 }nen_mode_t;
metin.ozkan@analog.com 0:788f63dcf0a0 907
metin.ozkan@analog.com 0:788f63dcf0a0 908 /**
metin.ozkan@analog.com 0:788f63dcf0a0 909 * @brief Set nEN Input (ON-KEY) Default Configuration Mode.
metin.ozkan@analog.com 0:788f63dcf0a0 910 *
metin.ozkan@analog.com 0:788f63dcf0a0 911 * @param[in] nen_mode nEN input default configuration mode bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 912 *
metin.ozkan@analog.com 0:788f63dcf0a0 913 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 914 */
metin.ozkan@analog.com 0:788f63dcf0a0 915 int SetnEnInputMode(nen_mode_t nen_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 916
metin.ozkan@analog.com 0:788f63dcf0a0 917 /**
metin.ozkan@analog.com 0:788f63dcf0a0 918 * @brief Get nEN Input (ON-KEY) Default Configuration Mode.
metin.ozkan@analog.com 0:788f63dcf0a0 919 *
metin.ozkan@analog.com 0:788f63dcf0a0 920 * @param[out] nen_mode nEN input default configuration mode bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 921 *
metin.ozkan@analog.com 0:788f63dcf0a0 922 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 923 */
metin.ozkan@analog.com 0:788f63dcf0a0 924 int GetnEnInputMode(nen_mode_t *nen_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 925
metin.ozkan@analog.com 0:788f63dcf0a0 926 /**
metin.ozkan@analog.com 0:788f63dcf0a0 927 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 928 *
metin.ozkan@analog.com 0:788f63dcf0a0 929 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 930 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 931 * - Bit Fields : [2]
metin.ozkan@analog.com 0:788f63dcf0a0 932 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 933 * - Description : Debounce Timer Enable for the nEN Pin.
metin.ozkan@analog.com 0:788f63dcf0a0 934 */
metin.ozkan@analog.com 0:788f63dcf0a0 935 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 936 DBEN_NEN_DEBOUNCE_500US,
metin.ozkan@analog.com 0:788f63dcf0a0 937 DBEN_NEN_DEBOUNCE_30MS
metin.ozkan@analog.com 0:788f63dcf0a0 938 }dben_nen_t;
metin.ozkan@analog.com 0:788f63dcf0a0 939
metin.ozkan@analog.com 0:788f63dcf0a0 940 /**
metin.ozkan@analog.com 0:788f63dcf0a0 941 * @brief Set Debounce Timer Enable for the nEN Pin.
metin.ozkan@analog.com 0:788f63dcf0a0 942 *
metin.ozkan@analog.com 0:788f63dcf0a0 943 * @param[in] dben_nen Debounce timer enable for the nEN pin bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 944 *
metin.ozkan@analog.com 0:788f63dcf0a0 945 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 946 */
metin.ozkan@analog.com 0:788f63dcf0a0 947 int SetDebounceTimerEnable(dben_nen_t dben_nen);
metin.ozkan@analog.com 0:788f63dcf0a0 948
metin.ozkan@analog.com 0:788f63dcf0a0 949 /**
metin.ozkan@analog.com 0:788f63dcf0a0 950 * @brief Get Debounce Timer Enable for the nEN Pin.
metin.ozkan@analog.com 0:788f63dcf0a0 951 *
metin.ozkan@analog.com 0:788f63dcf0a0 952 * @param[out] dben_nen Debounce timer enable for the nEN pin bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 953 *
metin.ozkan@analog.com 0:788f63dcf0a0 954 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 955 */
metin.ozkan@analog.com 0:788f63dcf0a0 956 int GetDebounceTimerEnable(dben_nen_t *dben_nen);
metin.ozkan@analog.com 0:788f63dcf0a0 957
metin.ozkan@analog.com 0:788f63dcf0a0 958 /**
metin.ozkan@analog.com 0:788f63dcf0a0 959 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 960 *
metin.ozkan@analog.com 0:788f63dcf0a0 961 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 962 * - Register : CNFG_GLBL (0x10)
metin.ozkan@analog.com 0:788f63dcf0a0 963 * - Bit Fields : [1:0]
metin.ozkan@analog.com 0:788f63dcf0a0 964 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 965 * - Description : Software Reset Functions.
metin.ozkan@analog.com 0:788f63dcf0a0 966 */
metin.ozkan@analog.com 0:788f63dcf0a0 967 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 968 SFT_CTRL_NO_ACTION,
metin.ozkan@analog.com 0:788f63dcf0a0 969 SFT_CTRL_SOFTWARE_COLD_RESET,
metin.ozkan@analog.com 0:788f63dcf0a0 970 SFT_CTRL_SOFTWARE_OFF,
metin.ozkan@analog.com 0:788f63dcf0a0 971 SFT_CTRL_FACTORY_SHIP_MODE_ENTER
metin.ozkan@analog.com 0:788f63dcf0a0 972 }sft_ctrl_t;
metin.ozkan@analog.com 0:788f63dcf0a0 973
metin.ozkan@analog.com 0:788f63dcf0a0 974 /**
metin.ozkan@analog.com 0:788f63dcf0a0 975 * @brief Set Software Reset Functions.
metin.ozkan@analog.com 0:788f63dcf0a0 976 *
metin.ozkan@analog.com 0:788f63dcf0a0 977 * @param[in] sft_ctrl Software reset functions field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 978 *
metin.ozkan@analog.com 0:788f63dcf0a0 979 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 980 */
metin.ozkan@analog.com 0:788f63dcf0a0 981 int SetSoftwareResetFunctions(sft_ctrl_t sft_ctrl);
metin.ozkan@analog.com 0:788f63dcf0a0 982
metin.ozkan@analog.com 0:788f63dcf0a0 983 /**
metin.ozkan@analog.com 0:788f63dcf0a0 984 * @brief Get Software Reset Functions.
metin.ozkan@analog.com 0:788f63dcf0a0 985 *
metin.ozkan@analog.com 0:788f63dcf0a0 986 * @param[out] sft_ctrl Software reset functions field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 987 *
metin.ozkan@analog.com 0:788f63dcf0a0 988 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 989 */
metin.ozkan@analog.com 0:788f63dcf0a0 990 int GetSoftwareResetFunctions(sft_ctrl_t *sft_ctrl);
metin.ozkan@analog.com 0:788f63dcf0a0 991
metin.ozkan@analog.com 0:788f63dcf0a0 992 /**
metin.ozkan@analog.com 0:788f63dcf0a0 993 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 994 *
metin.ozkan@analog.com 0:788f63dcf0a0 995 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 996 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 997 * - Bit Fields : [5]
metin.ozkan@analog.com 0:788f63dcf0a0 998 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 999 * - Description : Alternate Mode Enable for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1000 */
metin.ozkan@analog.com 0:788f63dcf0a0 1001 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1002 ALT_GPIO_STANDARD_GPI_OR_GPO,
metin.ozkan@analog.com 0:788f63dcf0a0 1003 ALT_GPIO_FLEX_POWER_OR_SSB2_ENABLE_OR_BIAS_LPM
metin.ozkan@analog.com 0:788f63dcf0a0 1004 }alt_gpio_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1005
metin.ozkan@analog.com 0:788f63dcf0a0 1006 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1007 * @brief Set Alternate Mode Enable for GPIO.
metin.ozkan@analog.com 0:788f63dcf0a0 1008 *
metin.ozkan@analog.com 0:788f63dcf0a0 1009 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1010 * @param[in] alt_gpio Alternate mode enable for GPIO bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1011 *
metin.ozkan@analog.com 0:788f63dcf0a0 1012 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1013 */
metin.ozkan@analog.com 0:788f63dcf0a0 1014 int SetAlternateModeEnable(uint8_t channel, alt_gpio_t alt_gpio);
metin.ozkan@analog.com 0:788f63dcf0a0 1015
metin.ozkan@analog.com 0:788f63dcf0a0 1016 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1017 * @brief Get Alternate Mode Enable for GPIO.
metin.ozkan@analog.com 0:788f63dcf0a0 1018 *
metin.ozkan@analog.com 0:788f63dcf0a0 1019 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1020 * @param[out] alt_gpio Alternate mode enable for GPIO bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1021 *
metin.ozkan@analog.com 0:788f63dcf0a0 1022 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1023 */
metin.ozkan@analog.com 0:788f63dcf0a0 1024 int GetAlternateModeEnable(uint8_t channel, alt_gpio_t *alt_gpio);
metin.ozkan@analog.com 0:788f63dcf0a0 1025
metin.ozkan@analog.com 0:788f63dcf0a0 1026 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1027 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1028 *
metin.ozkan@analog.com 0:788f63dcf0a0 1029 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1030 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 1031 * - Bit Fields : [4]
metin.ozkan@analog.com 0:788f63dcf0a0 1032 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1033 * - Description : General Purpose Input Debounce Timer Enable for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1034 */
metin.ozkan@analog.com 0:788f63dcf0a0 1035 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1036 DBEN_GPI_NO_DEBOUNCE,
metin.ozkan@analog.com 0:788f63dcf0a0 1037 DBEN_GPI_DEBOUNCE_30MS
metin.ozkan@analog.com 0:788f63dcf0a0 1038 }dben_gpi_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1039
metin.ozkan@analog.com 0:788f63dcf0a0 1040 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1041 * @brief Set General Purpose Input Debounce Timer Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1042 *
metin.ozkan@analog.com 0:788f63dcf0a0 1043 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1044 * @param[in] dben_gpi General purpose input debounce timer enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1045 *
metin.ozkan@analog.com 0:788f63dcf0a0 1046 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1047 */
metin.ozkan@analog.com 0:788f63dcf0a0 1048 int SetGPIDebounceTimerEnable(uint8_t channel, dben_gpi_t dben_gpi);
metin.ozkan@analog.com 0:788f63dcf0a0 1049
metin.ozkan@analog.com 0:788f63dcf0a0 1050 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1051 * @brief Get General Purpose Input Debounce Timer Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1052 *
metin.ozkan@analog.com 0:788f63dcf0a0 1053 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1054 * @param[out] dben_gpi General purpose input debounce timer enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1055 *
metin.ozkan@analog.com 0:788f63dcf0a0 1056 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1057 */
metin.ozkan@analog.com 0:788f63dcf0a0 1058 int GetGPIDebounceTimerEnable(uint8_t channel, dben_gpi_t *dben_gpi);
metin.ozkan@analog.com 0:788f63dcf0a0 1059
metin.ozkan@analog.com 0:788f63dcf0a0 1060 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1061 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1062 *
metin.ozkan@analog.com 0:788f63dcf0a0 1063 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1064 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 1065 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 1066 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1067 * - Description : General Purpose Output Data Output for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1068 */
metin.ozkan@analog.com 0:788f63dcf0a0 1069 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1070 GPO_DO_LOGIC_LOW,
metin.ozkan@analog.com 0:788f63dcf0a0 1071 GPO_DO_LOGIC_HIGH
metin.ozkan@analog.com 0:788f63dcf0a0 1072 }gpo_do_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1073
metin.ozkan@analog.com 0:788f63dcf0a0 1074 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1075 * @brief Set General Purpose Output Data Output.
metin.ozkan@analog.com 0:788f63dcf0a0 1076 *
metin.ozkan@analog.com 0:788f63dcf0a0 1077 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1078 * @param[in] gpo_do General purpose output data output bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1079 *
metin.ozkan@analog.com 0:788f63dcf0a0 1080 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1081 */
metin.ozkan@analog.com 0:788f63dcf0a0 1082 int SetGPODataOutput(uint8_t channel, gpo_do_t gpo_do);
metin.ozkan@analog.com 0:788f63dcf0a0 1083
metin.ozkan@analog.com 0:788f63dcf0a0 1084 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1085 * @brief Get General Purpose Output Data Output.
metin.ozkan@analog.com 0:788f63dcf0a0 1086 *
metin.ozkan@analog.com 0:788f63dcf0a0 1087 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1088 * @param[out] gpo_do General purpose output data output bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1089 *
metin.ozkan@analog.com 0:788f63dcf0a0 1090 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1091 */
metin.ozkan@analog.com 0:788f63dcf0a0 1092 int GetGPODataOutput(uint8_t channel, gpo_do_t *gpo_do);
metin.ozkan@analog.com 0:788f63dcf0a0 1093
metin.ozkan@analog.com 0:788f63dcf0a0 1094 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1095 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1096 *
metin.ozkan@analog.com 0:788f63dcf0a0 1097 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1098 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 1099 * - Bit Fields : [2]
metin.ozkan@analog.com 0:788f63dcf0a0 1100 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1101 * - Description : General Purpose Output Driver Type for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1102 */
metin.ozkan@analog.com 0:788f63dcf0a0 1103 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1104 GPO_DRV_OPEN_DRAIN,
metin.ozkan@analog.com 0:788f63dcf0a0 1105 GPO_DRV_PUSH_PULL
metin.ozkan@analog.com 0:788f63dcf0a0 1106 }gpo_drv_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1107
metin.ozkan@analog.com 0:788f63dcf0a0 1108 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1109 * @brief Set General Purpose Output Driver Type.
metin.ozkan@analog.com 0:788f63dcf0a0 1110 *
metin.ozkan@analog.com 0:788f63dcf0a0 1111 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1112 * @param[in] gpo_drv General purpose output driver type bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1113 *
metin.ozkan@analog.com 0:788f63dcf0a0 1114 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1115 */
metin.ozkan@analog.com 0:788f63dcf0a0 1116 int SetGPODriveType(uint8_t channel, gpo_drv_t gpo_drv);
metin.ozkan@analog.com 0:788f63dcf0a0 1117
metin.ozkan@analog.com 0:788f63dcf0a0 1118 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1119 * @brief Get General Purpose Output Driver Type.
metin.ozkan@analog.com 0:788f63dcf0a0 1120 *
metin.ozkan@analog.com 0:788f63dcf0a0 1121 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1122 * @param[out] gpo_drv General purpose output driver type bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1123 *
metin.ozkan@analog.com 0:788f63dcf0a0 1124 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1125 */
metin.ozkan@analog.com 0:788f63dcf0a0 1126 int GetGPODriveType(uint8_t channel, gpo_drv_t *gpo_drv);
metin.ozkan@analog.com 0:788f63dcf0a0 1127
metin.ozkan@analog.com 0:788f63dcf0a0 1128 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1129 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1130 *
metin.ozkan@analog.com 0:788f63dcf0a0 1131 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1132 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 1133 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 1134 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1135 * - Description : GPIO Digital Input Value for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1136 */
metin.ozkan@analog.com 0:788f63dcf0a0 1137 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1138 GPO_DI_INPUT_LOGIC_LOW,
metin.ozkan@analog.com 0:788f63dcf0a0 1139 GPO_DI_INPUT_LOGIC_HIGH
metin.ozkan@analog.com 0:788f63dcf0a0 1140 }gpo_di_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1141
metin.ozkan@analog.com 0:788f63dcf0a0 1142 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1143 * @brief Set GPIO Digital Input Value.
metin.ozkan@analog.com 0:788f63dcf0a0 1144 *
metin.ozkan@analog.com 0:788f63dcf0a0 1145 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1146 * @param[in] gpo_di GPIO digital input value bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1147 *
metin.ozkan@analog.com 0:788f63dcf0a0 1148 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1149 */
metin.ozkan@analog.com 0:788f63dcf0a0 1150 int SetGPIOInputValue(uint8_t channel, gpo_di_t gpo_di);
metin.ozkan@analog.com 0:788f63dcf0a0 1151
metin.ozkan@analog.com 0:788f63dcf0a0 1152 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1153 * @brief Get GPIO Digital Input Value.
metin.ozkan@analog.com 0:788f63dcf0a0 1154 *
metin.ozkan@analog.com 0:788f63dcf0a0 1155 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1156 * @param[out] gpo_di GPIO digital input value bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1157 *
metin.ozkan@analog.com 0:788f63dcf0a0 1158 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1159 */
metin.ozkan@analog.com 0:788f63dcf0a0 1160 int GetGPIOInputValue(uint8_t channel, gpo_di_t *gpo_di);
metin.ozkan@analog.com 0:788f63dcf0a0 1161
metin.ozkan@analog.com 0:788f63dcf0a0 1162 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1163 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1164 *
metin.ozkan@analog.com 0:788f63dcf0a0 1165 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1166 * - Register : CNFG_GPIO0 (0x11), CNFG_GPIO1 (0x12) and CNFG_GPIO2 (0x13)
metin.ozkan@analog.com 0:788f63dcf0a0 1167 * - Bit Fields : [0]
metin.ozkan@analog.com 0:788f63dcf0a0 1168 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1169 * - Description : GPIO Direction for GPIO 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 1170 */
metin.ozkan@analog.com 0:788f63dcf0a0 1171 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1172 GPO_DIR_GPO,
metin.ozkan@analog.com 0:788f63dcf0a0 1173 GPO_DIR_GPI
metin.ozkan@analog.com 0:788f63dcf0a0 1174 }gpo_dir_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1175
metin.ozkan@analog.com 0:788f63dcf0a0 1176 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1177 * @brief Set GPIO Direction.
metin.ozkan@analog.com 0:788f63dcf0a0 1178 *
metin.ozkan@analog.com 0:788f63dcf0a0 1179 * @param[in] channel Channel number: 0, 1 or 2
metin.ozkan@analog.com 0:788f63dcf0a0 1180 * @param[in] gpo_dir GPIO direction bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1181 *
metin.ozkan@analog.com 0:788f63dcf0a0 1182 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1183 */
metin.ozkan@analog.com 0:788f63dcf0a0 1184 int SetGPIODirection(uint8_t channel, gpo_dir_t gpo_dir);
metin.ozkan@analog.com 0:788f63dcf0a0 1185
metin.ozkan@analog.com 0:788f63dcf0a0 1186 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1187 * @brief Get GPIO Direction.
metin.ozkan@analog.com 0:788f63dcf0a0 1188 *
metin.ozkan@analog.com 0:788f63dcf0a0 1189 * @param[in] channel Channel number
metin.ozkan@analog.com 0:788f63dcf0a0 1190 * @param[out] gpo_dir GPIO direction bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1191 *
metin.ozkan@analog.com 0:788f63dcf0a0 1192 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1193 */
metin.ozkan@analog.com 0:788f63dcf0a0 1194 int GetGPIODirection(uint8_t channel, gpo_dir_t *gpo_dir);
metin.ozkan@analog.com 0:788f63dcf0a0 1195
metin.ozkan@analog.com 0:788f63dcf0a0 1196 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1197 * @brief Read the CID
metin.ozkan@analog.com 0:788f63dcf0a0 1198 * @details Read and return Chip Identification Code register value
metin.ozkan@analog.com 0:788f63dcf0a0 1199 * @returns CID if no errors, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1200 */
metin.ozkan@analog.com 0:788f63dcf0a0 1201 int GetCID(void);
metin.ozkan@analog.com 0:788f63dcf0a0 1202
metin.ozkan@analog.com 0:788f63dcf0a0 1203 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1204 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1205 *
metin.ozkan@analog.com 0:788f63dcf0a0 1206 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1207 * - Register : CNFG_WDT (0x17)
metin.ozkan@analog.com 0:788f63dcf0a0 1208 * - Bit Fields : [5:4]
metin.ozkan@analog.com 0:788f63dcf0a0 1209 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1210 * - Description : Watchdog Timer Period.
metin.ozkan@analog.com 0:788f63dcf0a0 1211 */
metin.ozkan@analog.com 0:788f63dcf0a0 1212 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1213 WDT_PER_SECOND_16S,
metin.ozkan@analog.com 0:788f63dcf0a0 1214 WDT_PER_SECOND_32S,
metin.ozkan@analog.com 0:788f63dcf0a0 1215 WDT_PER_SECOND_64S,
metin.ozkan@analog.com 0:788f63dcf0a0 1216 WDT_PER_SECOND_128S
metin.ozkan@analog.com 0:788f63dcf0a0 1217 }wdt_per_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1218
metin.ozkan@analog.com 0:788f63dcf0a0 1219 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1220 * @brief Set Watchdog Timer Period.
metin.ozkan@analog.com 0:788f63dcf0a0 1221 *
metin.ozkan@analog.com 0:788f63dcf0a0 1222 * @param[in] wdt_per Watchdog timer period bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1223 *
metin.ozkan@analog.com 0:788f63dcf0a0 1224 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1225 */
metin.ozkan@analog.com 0:788f63dcf0a0 1226 int SetWatchdogTimerPeriod(wdt_per_t wdt_per);
metin.ozkan@analog.com 0:788f63dcf0a0 1227
metin.ozkan@analog.com 0:788f63dcf0a0 1228 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1229 * @brief Get Watchdog Timer Period.
metin.ozkan@analog.com 0:788f63dcf0a0 1230 *
metin.ozkan@analog.com 0:788f63dcf0a0 1231 * @param[out] wdt_per Watchdog timer period bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1232 *
metin.ozkan@analog.com 0:788f63dcf0a0 1233 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1234 */
metin.ozkan@analog.com 0:788f63dcf0a0 1235 int GetWatchdogTimerPeriod(wdt_per_t *wdt_per);
metin.ozkan@analog.com 0:788f63dcf0a0 1236
metin.ozkan@analog.com 0:788f63dcf0a0 1237 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1238 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1239 *
metin.ozkan@analog.com 0:788f63dcf0a0 1240 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1241 * - Register : CNFG_WDT (0x17)
metin.ozkan@analog.com 0:788f63dcf0a0 1242 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 1243 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1244 * - Description : Watchdog Timer Expired Action.
metin.ozkan@analog.com 0:788f63dcf0a0 1245 */
metin.ozkan@analog.com 0:788f63dcf0a0 1246 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1247 WDT_MODE_POWER_OFF,
metin.ozkan@analog.com 0:788f63dcf0a0 1248 WDT_MODE_POWER_RESET
metin.ozkan@analog.com 0:788f63dcf0a0 1249 }wdt_mode_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1250
metin.ozkan@analog.com 0:788f63dcf0a0 1251 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1252 * @brief Set Watchdog Timer Expired Action.
metin.ozkan@analog.com 0:788f63dcf0a0 1253 *
metin.ozkan@analog.com 0:788f63dcf0a0 1254 * @param[in] wdt_mode Watchdog timer expired action bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1255 *
metin.ozkan@analog.com 0:788f63dcf0a0 1256 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1257 */
metin.ozkan@analog.com 0:788f63dcf0a0 1258 int SetWatchdogTimerExpiredAction(wdt_mode_t wdt_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 1259
metin.ozkan@analog.com 0:788f63dcf0a0 1260 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1261 * @brief Get Watchdog Timer Expired Action.
metin.ozkan@analog.com 0:788f63dcf0a0 1262 *
metin.ozkan@analog.com 0:788f63dcf0a0 1263 * @param[out] wdt_mode Watchdog timer expired action bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1264 *
metin.ozkan@analog.com 0:788f63dcf0a0 1265 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1266 */
metin.ozkan@analog.com 0:788f63dcf0a0 1267 int GetWatchdogTimerExpiredAction(wdt_mode_t *wdt_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 1268
metin.ozkan@analog.com 0:788f63dcf0a0 1269 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1270 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1271 *
metin.ozkan@analog.com 0:788f63dcf0a0 1272 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1273 * - Register : CNFG_WDT (0x17)
metin.ozkan@analog.com 0:788f63dcf0a0 1274 * - Bit Fields : [2]
metin.ozkan@analog.com 0:788f63dcf0a0 1275 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1276 * - Description : Watchdog Timer Clear Control.
metin.ozkan@analog.com 0:788f63dcf0a0 1277 */
metin.ozkan@analog.com 0:788f63dcf0a0 1278 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1279 WDT_CLR_PERIOD_NOT_RESET,
metin.ozkan@analog.com 0:788f63dcf0a0 1280 WDT_CLR_PERIOD_RESET
metin.ozkan@analog.com 0:788f63dcf0a0 1281 }wdt_clr_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1282
metin.ozkan@analog.com 0:788f63dcf0a0 1283 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1284 * @brief Set Watchdog Timer Clear Control.
metin.ozkan@analog.com 0:788f63dcf0a0 1285 *
metin.ozkan@analog.com 0:788f63dcf0a0 1286 * @param[in] wdt_clr Watchdog timer clear control bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1287 *
metin.ozkan@analog.com 0:788f63dcf0a0 1288 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1289 */
metin.ozkan@analog.com 0:788f63dcf0a0 1290 int SetWatchdogTimerClearControl(wdt_clr_t wdt_clr);
metin.ozkan@analog.com 0:788f63dcf0a0 1291
metin.ozkan@analog.com 0:788f63dcf0a0 1292 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1293 * @brief Get Watchdog Timer Clear Control.
metin.ozkan@analog.com 0:788f63dcf0a0 1294 *
metin.ozkan@analog.com 0:788f63dcf0a0 1295 * @param[out] wdt_clr Watchdog timer clear control bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1296 *
metin.ozkan@analog.com 0:788f63dcf0a0 1297 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1298 */
metin.ozkan@analog.com 0:788f63dcf0a0 1299 int GetWatchdogTimerClearControl(wdt_clr_t *wdt_clr);
metin.ozkan@analog.com 0:788f63dcf0a0 1300
metin.ozkan@analog.com 0:788f63dcf0a0 1301 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1302 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1303 *
metin.ozkan@analog.com 0:788f63dcf0a0 1304 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1305 * - Register : CNFG_WDT (0x17)
metin.ozkan@analog.com 0:788f63dcf0a0 1306 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 1307 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1308 * - Description : Watchdog Timer Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1309 */
metin.ozkan@analog.com 0:788f63dcf0a0 1310 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1311 WDT_EN_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 1312 WDT_EN_ENABLED
metin.ozkan@analog.com 0:788f63dcf0a0 1313 }wdt_en_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1314
metin.ozkan@analog.com 0:788f63dcf0a0 1315 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1316 * @brief Set Watchdog Timer Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1317 *
metin.ozkan@analog.com 0:788f63dcf0a0 1318 * @param[in] wdt_en Watchdog timer enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1319 *
metin.ozkan@analog.com 0:788f63dcf0a0 1320 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1321 */
metin.ozkan@analog.com 0:788f63dcf0a0 1322 int SetWatchdogTimerEnable(wdt_en_t wdt_en);
metin.ozkan@analog.com 0:788f63dcf0a0 1323
metin.ozkan@analog.com 0:788f63dcf0a0 1324 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1325 * @brief Get Watchdog Timer Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1326 *
metin.ozkan@analog.com 0:788f63dcf0a0 1327 * @param[out] wdt_en Watchdog timer enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1328 *
metin.ozkan@analog.com 0:788f63dcf0a0 1329 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1330 */
metin.ozkan@analog.com 0:788f63dcf0a0 1331 int GetWatchdogTimerEnable(wdt_en_t *wdt_en);
metin.ozkan@analog.com 0:788f63dcf0a0 1332
metin.ozkan@analog.com 0:788f63dcf0a0 1333 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1334 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1335 *
metin.ozkan@analog.com 0:788f63dcf0a0 1336 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1337 * - Register : CNFG_WDT (0x17)
metin.ozkan@analog.com 0:788f63dcf0a0 1338 * - Bit Fields : [0]
metin.ozkan@analog.com 0:788f63dcf0a0 1339 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1340 * - Description : Factory-Set Safety Bit for the Watchdog Timer.
metin.ozkan@analog.com 0:788f63dcf0a0 1341 */
metin.ozkan@analog.com 0:788f63dcf0a0 1342 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1343 WDT_LOCK_UNLOCKED,
metin.ozkan@analog.com 0:788f63dcf0a0 1344 WDT_LOCK_LOCKED
metin.ozkan@analog.com 0:788f63dcf0a0 1345 }wdt_lock_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1346
metin.ozkan@analog.com 0:788f63dcf0a0 1347 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1348 * @brief Set Factory-Set Safety Bit for the Watchdog Timer.
metin.ozkan@analog.com 0:788f63dcf0a0 1349 *
metin.ozkan@analog.com 0:788f63dcf0a0 1350 * @param[in] wdt_lock Factory-set safety bit for the watchdog timer to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1351 *
metin.ozkan@analog.com 0:788f63dcf0a0 1352 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1353 */
metin.ozkan@analog.com 0:788f63dcf0a0 1354 int SetFactorySetSafetyBit(wdt_lock_t wdt_lock);
metin.ozkan@analog.com 0:788f63dcf0a0 1355
metin.ozkan@analog.com 0:788f63dcf0a0 1356 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1357 * @brief Get Factory-Set Safety Bit for the Watchdog Timer.
metin.ozkan@analog.com 0:788f63dcf0a0 1358 *
metin.ozkan@analog.com 0:788f63dcf0a0 1359 * @param[out] wdt_lock Factory-set safety bit for the watchdog timer to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1360 *
metin.ozkan@analog.com 0:788f63dcf0a0 1361 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1362 */
metin.ozkan@analog.com 0:788f63dcf0a0 1363 int GetFactorySetSafetyBit(wdt_lock_t *wdt_lock);
metin.ozkan@analog.com 0:788f63dcf0a0 1364
metin.ozkan@analog.com 0:788f63dcf0a0 1365 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1366 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1367 *
metin.ozkan@analog.com 0:788f63dcf0a0 1368 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1369 * - Register : STAT_CHG_A (0x02)
metin.ozkan@analog.com 0:788f63dcf0a0 1370 * - Bit Fields : [6:3]
metin.ozkan@analog.com 0:788f63dcf0a0 1371 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1372 * - Description : Status bits if it is engaged or not.
metin.ozkan@analog.com 0:788f63dcf0a0 1373 */
metin.ozkan@analog.com 0:788f63dcf0a0 1374 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1375 STAT_EN_NOT_ENGAGED,
metin.ozkan@analog.com 0:788f63dcf0a0 1376 STAT_EN_ENGAGED
metin.ozkan@analog.com 0:788f63dcf0a0 1377 }stat_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1378
metin.ozkan@analog.com 0:788f63dcf0a0 1379 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1380 * @brief Get Minimum Input Voltage Regulation Loop Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1381 *
metin.ozkan@analog.com 0:788f63dcf0a0 1382 * @param[out] stat Status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1383 *
metin.ozkan@analog.com 0:788f63dcf0a0 1384 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1385 */
metin.ozkan@analog.com 0:788f63dcf0a0 1386 int GetMinimumVCHGINVoltageLoopStatus(stat_t *stat);
metin.ozkan@analog.com 0:788f63dcf0a0 1387
metin.ozkan@analog.com 0:788f63dcf0a0 1388 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1389 * @brief Get Input Current Limit Loop Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1390 *
metin.ozkan@analog.com 0:788f63dcf0a0 1391 * @param[out] stat Status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1392 *
metin.ozkan@analog.com 0:788f63dcf0a0 1393 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1394 */
metin.ozkan@analog.com 0:788f63dcf0a0 1395 int GetCHGINCurrentLimitLoopStatus(stat_t *stat);
metin.ozkan@analog.com 0:788f63dcf0a0 1396
metin.ozkan@analog.com 0:788f63dcf0a0 1397 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1398 * @brief Get Minimum System Voltage Regulation Loop Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1399 *
metin.ozkan@analog.com 0:788f63dcf0a0 1400 * @param[out] stat Status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1401 *
metin.ozkan@analog.com 0:788f63dcf0a0 1402 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1403 */
metin.ozkan@analog.com 0:788f63dcf0a0 1404 int GetMinimumSYSVoltageLoopStatus(stat_t *stat);
metin.ozkan@analog.com 0:788f63dcf0a0 1405
metin.ozkan@analog.com 0:788f63dcf0a0 1406 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1407 * @brief Get Maximum Junction Temperature Regulation Loop Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1408 *
metin.ozkan@analog.com 0:788f63dcf0a0 1409 * @param[out] stat Status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1410 *
metin.ozkan@analog.com 0:788f63dcf0a0 1411 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1412 */
metin.ozkan@analog.com 0:788f63dcf0a0 1413 int GetMaximumJunctionTempLoopStatus(stat_t *stat);
metin.ozkan@analog.com 0:788f63dcf0a0 1414
metin.ozkan@analog.com 0:788f63dcf0a0 1415 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1416 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1417 *
metin.ozkan@analog.com 0:788f63dcf0a0 1418 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1419 * - Register : STAT_CHG_A (0x02)
metin.ozkan@analog.com 0:788f63dcf0a0 1420 * - Bit Fields : [2:0]
metin.ozkan@analog.com 0:788f63dcf0a0 1421 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1422 * - Description : Battery Temperature Details.
metin.ozkan@analog.com 0:788f63dcf0a0 1423 */
metin.ozkan@analog.com 0:788f63dcf0a0 1424 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1425 THM_DTLS_THERMISTOR_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 1426 THM_DTLS_BATTERY_COLD,
metin.ozkan@analog.com 0:788f63dcf0a0 1427 THM_DTLS_BATTERY_COOL,
metin.ozkan@analog.com 0:788f63dcf0a0 1428 THM_DTLS_BATTERY_WARM,
metin.ozkan@analog.com 0:788f63dcf0a0 1429 THM_DTLS_BATTERY_HOT,
metin.ozkan@analog.com 0:788f63dcf0a0 1430 THM_DTLS_BATTERY_NORMAL,
metin.ozkan@analog.com 0:788f63dcf0a0 1431 THM_DTLS_RESERVED_0x06,
metin.ozkan@analog.com 0:788f63dcf0a0 1432 THM_DTLS_RESERVED_0x07
metin.ozkan@analog.com 0:788f63dcf0a0 1433 }thm_dtls_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1434
metin.ozkan@analog.com 0:788f63dcf0a0 1435 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1436 * @brief Get Battery Temperature Details.
metin.ozkan@analog.com 0:788f63dcf0a0 1437 * Valid only when CHGIN_DTLS[1:0] = 0b11.
metin.ozkan@analog.com 0:788f63dcf0a0 1438 *
metin.ozkan@analog.com 0:788f63dcf0a0 1439 * @param[out] thm_dtls Battery temperature details field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1440 *
metin.ozkan@analog.com 0:788f63dcf0a0 1441 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1442 */
metin.ozkan@analog.com 0:788f63dcf0a0 1443 int GetBatteryTemperatureDetails(thm_dtls_t *thm_dtls);
metin.ozkan@analog.com 0:788f63dcf0a0 1444
metin.ozkan@analog.com 0:788f63dcf0a0 1445 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1446 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1447 *
metin.ozkan@analog.com 0:788f63dcf0a0 1448 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1449 * - Register : STAT_CHG_B (0x03)
metin.ozkan@analog.com 0:788f63dcf0a0 1450 * - Bit Fields : [7:4]
metin.ozkan@analog.com 0:788f63dcf0a0 1451 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1452 * - Description : Charger Details.
metin.ozkan@analog.com 0:788f63dcf0a0 1453 */
metin.ozkan@analog.com 0:788f63dcf0a0 1454 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1455 CHG_DTLS_OFF,
metin.ozkan@analog.com 0:788f63dcf0a0 1456 CHG_DTLS_PREQUALIFICATION_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 1457 CHG_DTLS_FAST_CHARGE_CC,
metin.ozkan@analog.com 0:788f63dcf0a0 1458 CHG_DTLS_JEITA_FAST_CHARGE_CC,
metin.ozkan@analog.com 0:788f63dcf0a0 1459 CHG_DTLS_FAST_CHARGE_CV,
metin.ozkan@analog.com 0:788f63dcf0a0 1460 CHG_DTLS_JEITA_FAST_CHARGE_CV,
metin.ozkan@analog.com 0:788f63dcf0a0 1461 CHG_DTLS_TOP_OFF_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 1462 CHG_DTLS_JEITA_MODIFIED_TOP_OFF_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 1463 CHG_DTLS_DONE,
metin.ozkan@analog.com 0:788f63dcf0a0 1464 CHG_DTLS_JEITA_MODIFIED_DONE,
metin.ozkan@analog.com 0:788f63dcf0a0 1465 CHG_DTLS_PREQUALIFICATION_TIMER_FAULT,
metin.ozkan@analog.com 0:788f63dcf0a0 1466 CHG_DTLS_FAST_CHARGE_TIMER_FAULT,
metin.ozkan@analog.com 0:788f63dcf0a0 1467 CHG_DTLS_BATTERY_TEMPERATURE_FAULT,
metin.ozkan@analog.com 0:788f63dcf0a0 1468 CHG_DTLS_RESERVED_0x0D,
metin.ozkan@analog.com 0:788f63dcf0a0 1469 CHG_DTLS_RESERVED_0x0E,
metin.ozkan@analog.com 0:788f63dcf0a0 1470 CHG_DTLS_RESERVED_0x0F
metin.ozkan@analog.com 0:788f63dcf0a0 1471 }chg_dtls_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1472
metin.ozkan@analog.com 0:788f63dcf0a0 1473 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1474 * @brief Get Charger Details.
metin.ozkan@analog.com 0:788f63dcf0a0 1475 *
metin.ozkan@analog.com 0:788f63dcf0a0 1476 * @param[out] chg_dtls Charger details field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1477 *
metin.ozkan@analog.com 0:788f63dcf0a0 1478 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1479 */
metin.ozkan@analog.com 0:788f63dcf0a0 1480 int GetChargerDetails(chg_dtls_t *chg_dtls);
metin.ozkan@analog.com 0:788f63dcf0a0 1481
metin.ozkan@analog.com 0:788f63dcf0a0 1482 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1483 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1484 *
metin.ozkan@analog.com 0:788f63dcf0a0 1485 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1486 * - Register : STAT_CHG_B (0x03)
metin.ozkan@analog.com 0:788f63dcf0a0 1487 * - Bit Fields : [3:2]
metin.ozkan@analog.com 0:788f63dcf0a0 1488 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1489 * - Description : CHGIN Status Detail.
metin.ozkan@analog.com 0:788f63dcf0a0 1490 */
metin.ozkan@analog.com 0:788f63dcf0a0 1491 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1492 CHGIN_DTLS_VOLTAGE_BELOW_UVLO,
metin.ozkan@analog.com 0:788f63dcf0a0 1493 CHGIN_DTLS_VOLTAGE_ABOVE_OVP,
metin.ozkan@analog.com 0:788f63dcf0a0 1494 CHGIN_DTLS_DEBOUNCED,
metin.ozkan@analog.com 0:788f63dcf0a0 1495 CHGIN_DTLS_OKAY
metin.ozkan@analog.com 0:788f63dcf0a0 1496 }chgin_dtls_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1497
metin.ozkan@analog.com 0:788f63dcf0a0 1498 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1499 * @brief Get CHGIN Status Detail.
metin.ozkan@analog.com 0:788f63dcf0a0 1500 *
metin.ozkan@analog.com 0:788f63dcf0a0 1501 * @param[out] chgin_dtls CHGIN status detail field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1502 *
metin.ozkan@analog.com 0:788f63dcf0a0 1503 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1504 */
metin.ozkan@analog.com 0:788f63dcf0a0 1505 int GetCHGINStatusDetails(chgin_dtls_t *chgin_dtls);
metin.ozkan@analog.com 0:788f63dcf0a0 1506
metin.ozkan@analog.com 0:788f63dcf0a0 1507 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1508 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1509 *
metin.ozkan@analog.com 0:788f63dcf0a0 1510 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1511 * - Register : STAT_CHG_B (0x03)
metin.ozkan@analog.com 0:788f63dcf0a0 1512 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 1513 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1514 * - Description : Quick Charger Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1515 */
metin.ozkan@analog.com 0:788f63dcf0a0 1516 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1517 CHG_CHARGING_NOT_HAPPENING,
metin.ozkan@analog.com 0:788f63dcf0a0 1518 CHG_CHARGING_HAPPENING
metin.ozkan@analog.com 0:788f63dcf0a0 1519 }chg_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1520
metin.ozkan@analog.com 0:788f63dcf0a0 1521 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1522 * @brief Get Quick Charger Status.
metin.ozkan@analog.com 0:788f63dcf0a0 1523 *
metin.ozkan@analog.com 0:788f63dcf0a0 1524 * @param[out] chg Quick charger status bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1525 *
metin.ozkan@analog.com 0:788f63dcf0a0 1526 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1527 */
metin.ozkan@analog.com 0:788f63dcf0a0 1528 int GetQuickChargerStatus(chg_t *chg);
metin.ozkan@analog.com 0:788f63dcf0a0 1529
metin.ozkan@analog.com 0:788f63dcf0a0 1530 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1531 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1532 *
metin.ozkan@analog.com 0:788f63dcf0a0 1533 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1534 * - Register : STAT_CHG_B (0x03)
metin.ozkan@analog.com 0:788f63dcf0a0 1535 * - Bit Fields : [0]
metin.ozkan@analog.com 0:788f63dcf0a0 1536 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1537 * - Description : Time Suspend Indicator.
metin.ozkan@analog.com 0:788f63dcf0a0 1538 */
metin.ozkan@analog.com 0:788f63dcf0a0 1539 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1540 TIME_SUS_CHARGER_TIMER_NOT_SUSPENDED,
metin.ozkan@analog.com 0:788f63dcf0a0 1541 TIME_SUS_CHARGER_TIMER_SUSPENDED
metin.ozkan@analog.com 0:788f63dcf0a0 1542 }time_sus_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1543
metin.ozkan@analog.com 0:788f63dcf0a0 1544 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1545 * @brief Get Time Suspend Indicator.
metin.ozkan@analog.com 0:788f63dcf0a0 1546 *
metin.ozkan@analog.com 0:788f63dcf0a0 1547 * @param[out] time_sus Time suspend indicator bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1548 *
metin.ozkan@analog.com 0:788f63dcf0a0 1549 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1550 */
metin.ozkan@analog.com 0:788f63dcf0a0 1551 int GetTimeSuspendedIndicator(time_sus_t *time_sus);
metin.ozkan@analog.com 0:788f63dcf0a0 1552
metin.ozkan@analog.com 0:788f63dcf0a0 1553 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1554 * @brief Set SYS_CNFG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1555 * Setting this bit prevents the SYS_CNFG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1556 *
metin.ozkan@analog.com 0:788f63dcf0a0 1557 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1558 *
metin.ozkan@analog.com 0:788f63dcf0a0 1559 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1560 */
metin.ozkan@analog.com 0:788f63dcf0a0 1561 int SetSYSCONFIGMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1562
metin.ozkan@analog.com 0:788f63dcf0a0 1563 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1564 * @brief Get SYS_CNFG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1565 * Setting this bit prevents the SYS_CNFG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1566 *
metin.ozkan@analog.com 0:788f63dcf0a0 1567 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1568 *
metin.ozkan@analog.com 0:788f63dcf0a0 1569 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1570 */
metin.ozkan@analog.com 0:788f63dcf0a0 1571 int GetSYSCONFIGMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1572
metin.ozkan@analog.com 0:788f63dcf0a0 1573 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1574 * @brief Set SYS_CTRL_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1575 * Setting this bit prevents the SYS_CTRL_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1576 *
metin.ozkan@analog.com 0:788f63dcf0a0 1577 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1578 *
metin.ozkan@analog.com 0:788f63dcf0a0 1579 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1580 */
metin.ozkan@analog.com 0:788f63dcf0a0 1581 int SetSYSCTRLMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1582
metin.ozkan@analog.com 0:788f63dcf0a0 1583 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1584 * @brief Get SYS_CTRL_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1585 * Setting this bit prevents the SYS_CTRL_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1586 *
metin.ozkan@analog.com 0:788f63dcf0a0 1587 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1588 *
metin.ozkan@analog.com 0:788f63dcf0a0 1589 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1590 */
metin.ozkan@analog.com 0:788f63dcf0a0 1591 int GetSYSCTRLMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1592
metin.ozkan@analog.com 0:788f63dcf0a0 1593 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1594 * @brief Set CHGIN_CTRL_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1595 * Setting this bit prevents the CHGIN_CTRL_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1596 *
metin.ozkan@analog.com 0:788f63dcf0a0 1597 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1598 *
metin.ozkan@analog.com 0:788f63dcf0a0 1599 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1600 */
metin.ozkan@analog.com 0:788f63dcf0a0 1601 int SetCHGINCTRLMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1602
metin.ozkan@analog.com 0:788f63dcf0a0 1603 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1604 * @brief Get CHGIN_CTRL_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1605 * Setting this bit prevents the CHGIN_CTRL_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1606 *
metin.ozkan@analog.com 0:788f63dcf0a0 1607 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1608 *
metin.ozkan@analog.com 0:788f63dcf0a0 1609 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1610 */
metin.ozkan@analog.com 0:788f63dcf0a0 1611 int GetCHGINCTRLMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1612
metin.ozkan@analog.com 0:788f63dcf0a0 1613 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1614 * @brief Set TJREG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1615 * Setting this bit prevents the TJREG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1616 *
metin.ozkan@analog.com 0:788f63dcf0a0 1617 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1618 *
metin.ozkan@analog.com 0:788f63dcf0a0 1619 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1620 */
metin.ozkan@analog.com 0:788f63dcf0a0 1621 int SetTJREGMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1622
metin.ozkan@analog.com 0:788f63dcf0a0 1623 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1624 * @brief Get TJREG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1625 * Setting this bit prevents the TJREG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1626 *
metin.ozkan@analog.com 0:788f63dcf0a0 1627 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1628 *
metin.ozkan@analog.com 0:788f63dcf0a0 1629 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1630 */
metin.ozkan@analog.com 0:788f63dcf0a0 1631 int GetTJREGMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1632
metin.ozkan@analog.com 0:788f63dcf0a0 1633 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1634 * @brief Set CHGIN_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1635 * Setting this bit prevents the CHGIN_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1636 *
metin.ozkan@analog.com 0:788f63dcf0a0 1637 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1638 *
metin.ozkan@analog.com 0:788f63dcf0a0 1639 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1640 */
metin.ozkan@analog.com 0:788f63dcf0a0 1641 int SetCHGINMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1642
metin.ozkan@analog.com 0:788f63dcf0a0 1643 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1644 * @brief Get CHGIN_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1645 * Setting this bit prevents the CHGIN_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1646 *
metin.ozkan@analog.com 0:788f63dcf0a0 1647 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1648 *
metin.ozkan@analog.com 0:788f63dcf0a0 1649 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1650 */
metin.ozkan@analog.com 0:788f63dcf0a0 1651 int GetCHGINMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1652
metin.ozkan@analog.com 0:788f63dcf0a0 1653 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1654 * @brief Set CHG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1655 * Setting this bit prevents the CHG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1656 *
metin.ozkan@analog.com 0:788f63dcf0a0 1657 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1658 *
metin.ozkan@analog.com 0:788f63dcf0a0 1659 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1660 */
metin.ozkan@analog.com 0:788f63dcf0a0 1661 int SetCHGMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1662
metin.ozkan@analog.com 0:788f63dcf0a0 1663 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1664 * @brief Get CHG_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1665 * Setting this bit prevents the CHG_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1666 *
metin.ozkan@analog.com 0:788f63dcf0a0 1667 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1668 *
metin.ozkan@analog.com 0:788f63dcf0a0 1669 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1670 */
metin.ozkan@analog.com 0:788f63dcf0a0 1671 int GetCHGMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1672
metin.ozkan@analog.com 0:788f63dcf0a0 1673 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1674 * @brief Set THM_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1675 * Setting this bit prevents the THM_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1676 *
metin.ozkan@analog.com 0:788f63dcf0a0 1677 * @param[in] intm Interrupt mask bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1678 *
metin.ozkan@analog.com 0:788f63dcf0a0 1679 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1680 */
metin.ozkan@analog.com 0:788f63dcf0a0 1681 int SetTHMMBit(intm_t intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1682
metin.ozkan@analog.com 0:788f63dcf0a0 1683 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1684 * @brief Get THM_I.
metin.ozkan@analog.com 0:788f63dcf0a0 1685 * Setting this bit prevents the THM_I bit from causing hardware IRQs
metin.ozkan@analog.com 0:788f63dcf0a0 1686 *
metin.ozkan@analog.com 0:788f63dcf0a0 1687 * @param[out] intm Interrupt mask bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1688 *
metin.ozkan@analog.com 0:788f63dcf0a0 1689 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1690 */
metin.ozkan@analog.com 0:788f63dcf0a0 1691 int GetTHMMBit(intm_t *intm);
metin.ozkan@analog.com 0:788f63dcf0a0 1692
metin.ozkan@analog.com 0:788f63dcf0a0 1693 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1694 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1695 *
metin.ozkan@analog.com 0:788f63dcf0a0 1696 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1697 * - Register : CNFG_CHG_A (0x20)
metin.ozkan@analog.com 0:788f63dcf0a0 1698 * - Bit Fields : [7:6]
metin.ozkan@analog.com 0:788f63dcf0a0 1699 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1700 * - Description : VHOT JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1701 */
metin.ozkan@analog.com 0:788f63dcf0a0 1702 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1703 THM_HOT_VOLT_0_411V,
metin.ozkan@analog.com 0:788f63dcf0a0 1704 THM_HOT_VOLT_0_367V,
metin.ozkan@analog.com 0:788f63dcf0a0 1705 THM_HOT_VOLT_0_327V,
metin.ozkan@analog.com 0:788f63dcf0a0 1706 THM_HOT_VOLT_0_291V
metin.ozkan@analog.com 0:788f63dcf0a0 1707 }thm_hot_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1708
metin.ozkan@analog.com 0:788f63dcf0a0 1709 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1710 * @brief Set the VHOT JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1711 *
metin.ozkan@analog.com 0:788f63dcf0a0 1712 * @param[in] thm_hot The VHOT JEITA temperature threshold field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1713 *
metin.ozkan@analog.com 0:788f63dcf0a0 1714 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1715 */
metin.ozkan@analog.com 0:788f63dcf0a0 1716 int SetHOTJEITATemperature(thm_hot_t thm_hot);
metin.ozkan@analog.com 0:788f63dcf0a0 1717
metin.ozkan@analog.com 0:788f63dcf0a0 1718 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1719 * @brief Get the VHOT JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1720 *
metin.ozkan@analog.com 0:788f63dcf0a0 1721 * @param[out] thm_hot The VHOT JEITA temperature threshold field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1722 *
metin.ozkan@analog.com 0:788f63dcf0a0 1723 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1724 */
metin.ozkan@analog.com 0:788f63dcf0a0 1725 int GetHOTJEITATemperature(thm_hot_t *thm_hot);
metin.ozkan@analog.com 0:788f63dcf0a0 1726
metin.ozkan@analog.com 0:788f63dcf0a0 1727 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1728 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1729 *
metin.ozkan@analog.com 0:788f63dcf0a0 1730 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1731 * - Register : CNFG_CHG_A (0x20)
metin.ozkan@analog.com 0:788f63dcf0a0 1732 * - Bit Fields : [5:4]
metin.ozkan@analog.com 0:788f63dcf0a0 1733 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1734 * - Description : VWARM JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1735 */
metin.ozkan@analog.com 0:788f63dcf0a0 1736 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1737 THM_WARM_VOLT_0_511V,
metin.ozkan@analog.com 0:788f63dcf0a0 1738 THM_WARM_VOLT_0_459V,
metin.ozkan@analog.com 0:788f63dcf0a0 1739 THM_WARM_VOLT_0_411V,
metin.ozkan@analog.com 0:788f63dcf0a0 1740 THM_WARM_VOLT_0_367V
metin.ozkan@analog.com 0:788f63dcf0a0 1741 }thm_warm_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1742
metin.ozkan@analog.com 0:788f63dcf0a0 1743 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1744 * @brief Set the VWARM JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1745 *
metin.ozkan@analog.com 0:788f63dcf0a0 1746 * @param[in] thm_warm The VWARM JEITA temperature threshold field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1747 *
metin.ozkan@analog.com 0:788f63dcf0a0 1748 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1749 */
metin.ozkan@analog.com 0:788f63dcf0a0 1750 int SetWARMJEITATemperature(thm_warm_t thm_warm);
metin.ozkan@analog.com 0:788f63dcf0a0 1751
metin.ozkan@analog.com 0:788f63dcf0a0 1752 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1753 * @brief Get the VWARM JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1754 *
metin.ozkan@analog.com 0:788f63dcf0a0 1755 * @param[out] thm_warm The VWARM JEITA temperature threshold field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1756 *
metin.ozkan@analog.com 0:788f63dcf0a0 1757 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1758 */
metin.ozkan@analog.com 0:788f63dcf0a0 1759 int GetWARMJEITATemperature(thm_warm_t *thm_warm);
metin.ozkan@analog.com 0:788f63dcf0a0 1760
metin.ozkan@analog.com 0:788f63dcf0a0 1761 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1762 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1763 *
metin.ozkan@analog.com 0:788f63dcf0a0 1764 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1765 * - Register : CNFG_CHG_A (0x20)
metin.ozkan@analog.com 0:788f63dcf0a0 1766 * - Bit Fields : [3:2]
metin.ozkan@analog.com 0:788f63dcf0a0 1767 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1768 * - Description : VCOOL JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1769 */
metin.ozkan@analog.com 0:788f63dcf0a0 1770 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1771 THM_COOL_VOLT_0_923V,
metin.ozkan@analog.com 0:788f63dcf0a0 1772 THM_COOL_VOLT_0_867V,
metin.ozkan@analog.com 0:788f63dcf0a0 1773 THM_COOL_VOLT_0_807V,
metin.ozkan@analog.com 0:788f63dcf0a0 1774 THM_COOL_VOLT_0_747V
metin.ozkan@analog.com 0:788f63dcf0a0 1775 }thm_cool_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1776
metin.ozkan@analog.com 0:788f63dcf0a0 1777 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1778 * @brief Set the VCOOL JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1779 *
metin.ozkan@analog.com 0:788f63dcf0a0 1780 * @param[in] thm_cool The VCOOL JEITA temperature threshold field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1781 *
metin.ozkan@analog.com 0:788f63dcf0a0 1782 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1783 */
metin.ozkan@analog.com 0:788f63dcf0a0 1784 int SetCOOLJEITATemperature(thm_cool_t thm_cool);
metin.ozkan@analog.com 0:788f63dcf0a0 1785
metin.ozkan@analog.com 0:788f63dcf0a0 1786 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1787 * @brief Get the VCOOL JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1788 *
metin.ozkan@analog.com 0:788f63dcf0a0 1789 * @param[out] thm_cool The VCOOL JEITA temperature threshold field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1790 *
metin.ozkan@analog.com 0:788f63dcf0a0 1791 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1792 */
metin.ozkan@analog.com 0:788f63dcf0a0 1793 int GetCOOLJEITATemperature(thm_cool_t *thm_cool);
metin.ozkan@analog.com 0:788f63dcf0a0 1794
metin.ozkan@analog.com 0:788f63dcf0a0 1795 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1796 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1797 *
metin.ozkan@analog.com 0:788f63dcf0a0 1798 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1799 * - Register : CNFG_CHG_A (0x20)
metin.ozkan@analog.com 0:788f63dcf0a0 1800 * - Bit Fields : [1:0]
metin.ozkan@analog.com 0:788f63dcf0a0 1801 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1802 * - Description : VCOLD JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1803 */
metin.ozkan@analog.com 0:788f63dcf0a0 1804 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1805 THM_COLD_VOLT_1_024V,
metin.ozkan@analog.com 0:788f63dcf0a0 1806 THM_COLD_VOLT_0_976V,
metin.ozkan@analog.com 0:788f63dcf0a0 1807 THM_COLD_VOLT_0_923V,
metin.ozkan@analog.com 0:788f63dcf0a0 1808 THM_COLD_VOLT_0_867V
metin.ozkan@analog.com 0:788f63dcf0a0 1809 }thm_cold_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1810
metin.ozkan@analog.com 0:788f63dcf0a0 1811 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1812 * @brief Set the VCOLD JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1813 *
metin.ozkan@analog.com 0:788f63dcf0a0 1814 * @param[in] thm_cold The VCOLD JEITA temperature threshold field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1815 *
metin.ozkan@analog.com 0:788f63dcf0a0 1816 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1817 */
metin.ozkan@analog.com 0:788f63dcf0a0 1818 int SetCOLDJEITATemperature(thm_cold_t thm_cold);
metin.ozkan@analog.com 0:788f63dcf0a0 1819
metin.ozkan@analog.com 0:788f63dcf0a0 1820 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1821 * @brief Get the VCOLD JEITA Temperature Threshold.
metin.ozkan@analog.com 0:788f63dcf0a0 1822 *
metin.ozkan@analog.com 0:788f63dcf0a0 1823 * @param[out] thm_cold The VCOLD JEITA temperature threshold field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1824 *
metin.ozkan@analog.com 0:788f63dcf0a0 1825 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1826 */
metin.ozkan@analog.com 0:788f63dcf0a0 1827 int GetCOLDJEITATemperature(thm_cold_t *thm_cold);
metin.ozkan@analog.com 0:788f63dcf0a0 1828
metin.ozkan@analog.com 0:788f63dcf0a0 1829 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1830 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1831 *
metin.ozkan@analog.com 0:788f63dcf0a0 1832 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1833 * - Register : CNFG_CHG_B (0x21)
metin.ozkan@analog.com 0:788f63dcf0a0 1834 * - Bit Fields : [7:5]
metin.ozkan@analog.com 0:788f63dcf0a0 1835 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1836 * - Description : Minimum CHGIN Regulation Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 1837 */
metin.ozkan@analog.com 0:788f63dcf0a0 1838 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1839 VCHGIN_MIN_VOLT_4_0V,
metin.ozkan@analog.com 0:788f63dcf0a0 1840 VCHGIN_MIN_VOLT_4_1V,
metin.ozkan@analog.com 0:788f63dcf0a0 1841 VCHGIN_MIN_VOLT_4_2V,
metin.ozkan@analog.com 0:788f63dcf0a0 1842 VCHGIN_MIN_VOLT_4_3V,
metin.ozkan@analog.com 0:788f63dcf0a0 1843 VCHGIN_MIN_VOLT_4_4V,
metin.ozkan@analog.com 0:788f63dcf0a0 1844 VCHGIN_MIN_VOLT_4_5V,
metin.ozkan@analog.com 0:788f63dcf0a0 1845 VCHGIN_MIN_VOLT_4_6V,
metin.ozkan@analog.com 0:788f63dcf0a0 1846 VCHGIN_MIN_VOLT_4_7V
metin.ozkan@analog.com 0:788f63dcf0a0 1847 }vchgin_min_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1848
metin.ozkan@analog.com 0:788f63dcf0a0 1849 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1850 * @brief Set Minimum CHGIN Regulation Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 1851 *
metin.ozkan@analog.com 0:788f63dcf0a0 1852 * @param[in] vchgin_min Minimum CHGIN regulation voltage field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1853 *
metin.ozkan@analog.com 0:788f63dcf0a0 1854 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1855 */
metin.ozkan@analog.com 0:788f63dcf0a0 1856 int SetMinimumCHGINVoltage(vchgin_min_t vchgin_min);
metin.ozkan@analog.com 0:788f63dcf0a0 1857
metin.ozkan@analog.com 0:788f63dcf0a0 1858 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1859 * @brief Get Minimum CHGIN Regulation Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 1860 *
metin.ozkan@analog.com 0:788f63dcf0a0 1861 * @param[out] vchgin_min Minimum CHGIN regulation voltage field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1862 *
metin.ozkan@analog.com 0:788f63dcf0a0 1863 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1864 */
metin.ozkan@analog.com 0:788f63dcf0a0 1865 int GetMinimumCHGINVoltage(vchgin_min_t *vchgin_min);
metin.ozkan@analog.com 0:788f63dcf0a0 1866
metin.ozkan@analog.com 0:788f63dcf0a0 1867 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1868 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1869 *
metin.ozkan@analog.com 0:788f63dcf0a0 1870 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1871 * - Register : CNFG_CHG_B (0x21)
metin.ozkan@analog.com 0:788f63dcf0a0 1872 * - Bit Fields : [4:2]
metin.ozkan@analog.com 0:788f63dcf0a0 1873 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1874 * - Description : CHGIN Input Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 1875 */
metin.ozkan@analog.com 0:788f63dcf0a0 1876 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1877 ICHGIN_LIM_AMP_95MA,
metin.ozkan@analog.com 0:788f63dcf0a0 1878 ICHGIN_LIM_AMP_190MA,
metin.ozkan@analog.com 0:788f63dcf0a0 1879 ICHGIN_LIM_AMP_285MA,
metin.ozkan@analog.com 0:788f63dcf0a0 1880 ICHGIN_LIM_AMP_385MA,
metin.ozkan@analog.com 0:788f63dcf0a0 1881 ICHGIN_LIM_AMP_475MA,
metin.ozkan@analog.com 0:788f63dcf0a0 1882 ICHGIN_LIM_AMP_RESERVED_0x05,
metin.ozkan@analog.com 0:788f63dcf0a0 1883 ICHGIN_LIM_AMP_RESERVED_0x06,
metin.ozkan@analog.com 0:788f63dcf0a0 1884 ICHGIN_LIM_AMP_RESERVED_0x07
metin.ozkan@analog.com 0:788f63dcf0a0 1885 }ichgin_lim_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1886
metin.ozkan@analog.com 0:788f63dcf0a0 1887 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1888 * @brief Set CHGIN Input Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 1889 *
metin.ozkan@analog.com 0:788f63dcf0a0 1890 * @param[in] ichgin_lim CHGIN input current limit field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1891 *
metin.ozkan@analog.com 0:788f63dcf0a0 1892 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1893 */
metin.ozkan@analog.com 0:788f63dcf0a0 1894 int SetCHGINInputCurrentLimit(ichgin_lim_t ichgin_lim);
metin.ozkan@analog.com 0:788f63dcf0a0 1895
metin.ozkan@analog.com 0:788f63dcf0a0 1896 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1897 * @brief Get CHGIN Input Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 1898 *
metin.ozkan@analog.com 0:788f63dcf0a0 1899 * @param[out] ichgin_lim CHGIN input current limit field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1900 *
metin.ozkan@analog.com 0:788f63dcf0a0 1901 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1902 */
metin.ozkan@analog.com 0:788f63dcf0a0 1903 int GetCHGINInputCurrentLimit(ichgin_lim_t *ichgin_lim);
metin.ozkan@analog.com 0:788f63dcf0a0 1904
metin.ozkan@analog.com 0:788f63dcf0a0 1905 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1906 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1907 *
metin.ozkan@analog.com 0:788f63dcf0a0 1908 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1909 * - Register : CNFG_CHG_B (0x21)
metin.ozkan@analog.com 0:788f63dcf0a0 1910 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 1911 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1912 * - Description : Prequalification Charge Current as a percentage of IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 1913 */
metin.ozkan@analog.com 0:788f63dcf0a0 1914 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1915 I_PQ_PERCENT_10,
metin.ozkan@analog.com 0:788f63dcf0a0 1916 I_PQ_PERCENT_20
metin.ozkan@analog.com 0:788f63dcf0a0 1917 }i_pq_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1918
metin.ozkan@analog.com 0:788f63dcf0a0 1919 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1920 * @brief Set the Prequalification Charge Current as a percentage of IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 1921 *
metin.ozkan@analog.com 0:788f63dcf0a0 1922 * @param[in] i_pq The prequalification charge current bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1923 *
metin.ozkan@analog.com 0:788f63dcf0a0 1924 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1925 */
metin.ozkan@analog.com 0:788f63dcf0a0 1926 int SetPrequalificationChargeCurrent(i_pq_t i_pq);
metin.ozkan@analog.com 0:788f63dcf0a0 1927
metin.ozkan@analog.com 0:788f63dcf0a0 1928 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1929 * @brief Get the Prequalification Charge Current as a percentage of IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 1930 *
metin.ozkan@analog.com 0:788f63dcf0a0 1931 * @param[out] i_pq the prequalification charge current bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1932 *
metin.ozkan@analog.com 0:788f63dcf0a0 1933 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1934 */
metin.ozkan@analog.com 0:788f63dcf0a0 1935 int GetPrequalificationChargeCurrent(i_pq_t *i_pq);
metin.ozkan@analog.com 0:788f63dcf0a0 1936
metin.ozkan@analog.com 0:788f63dcf0a0 1937 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1938 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1939 *
metin.ozkan@analog.com 0:788f63dcf0a0 1940 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1941 * - Register : CNFG_CHG_B (0x21)
metin.ozkan@analog.com 0:788f63dcf0a0 1942 * - Bit Fields : [0]
metin.ozkan@analog.com 0:788f63dcf0a0 1943 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1944 * - Description : Charger Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1945 */
metin.ozkan@analog.com 0:788f63dcf0a0 1946 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1947 CHG_EN_BATTERY_CHARGER_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 1948 CHG_EN_BATTERY_CHARGER_ENABLED
metin.ozkan@analog.com 0:788f63dcf0a0 1949 }chg_en_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1950
metin.ozkan@analog.com 0:788f63dcf0a0 1951 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1952 * @brief Set Charger Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1953 *
metin.ozkan@analog.com 0:788f63dcf0a0 1954 * @param[in] chg_en Charger enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1955 *
metin.ozkan@analog.com 0:788f63dcf0a0 1956 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1957 */
metin.ozkan@analog.com 0:788f63dcf0a0 1958 int SetBatteryChargerEnable(chg_en_t chg_en);
metin.ozkan@analog.com 0:788f63dcf0a0 1959
metin.ozkan@analog.com 0:788f63dcf0a0 1960 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1961 * @brief Get Charger Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 1962 *
metin.ozkan@analog.com 0:788f63dcf0a0 1963 * @param[out] chg_en Charger enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 1964 *
metin.ozkan@analog.com 0:788f63dcf0a0 1965 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1966 */
metin.ozkan@analog.com 0:788f63dcf0a0 1967 int GetBatteryChargerEnable(chg_en_t *chg_en);
metin.ozkan@analog.com 0:788f63dcf0a0 1968
metin.ozkan@analog.com 0:788f63dcf0a0 1969 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1970 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 1971 *
metin.ozkan@analog.com 0:788f63dcf0a0 1972 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 1973 * - Register : CNFG_CHG_C (0x22)
metin.ozkan@analog.com 0:788f63dcf0a0 1974 * - Bit Fields : [7:5]
metin.ozkan@analog.com 0:788f63dcf0a0 1975 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 1976 * - Description : Battery Prequalification Voltage Threshold (VPQ).
metin.ozkan@analog.com 0:788f63dcf0a0 1977 */
metin.ozkan@analog.com 0:788f63dcf0a0 1978 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 1979 CHG_PQ_VOLT_2_3V,
metin.ozkan@analog.com 0:788f63dcf0a0 1980 CHG_PQ_VOLT_2_4V,
metin.ozkan@analog.com 0:788f63dcf0a0 1981 CHG_PQ_VOLT_2_5V,
metin.ozkan@analog.com 0:788f63dcf0a0 1982 CHG_PQ_VOLT_2_6V,
metin.ozkan@analog.com 0:788f63dcf0a0 1983 CHG_PQ_VOLT_2_7V,
metin.ozkan@analog.com 0:788f63dcf0a0 1984 CHG_PQ_VOLT_2_8V,
metin.ozkan@analog.com 0:788f63dcf0a0 1985 CHG_PQ_VOLT_2_9V,
metin.ozkan@analog.com 0:788f63dcf0a0 1986 CHG_PQ_VOLT_3_0V
metin.ozkan@analog.com 0:788f63dcf0a0 1987 }chg_pq_t;
metin.ozkan@analog.com 0:788f63dcf0a0 1988
metin.ozkan@analog.com 0:788f63dcf0a0 1989 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1990 * @brief Set Battery Prequalification Voltage Threshold (VPQ).
metin.ozkan@analog.com 0:788f63dcf0a0 1991 *
metin.ozkan@analog.com 0:788f63dcf0a0 1992 * @param[in] chg_pq Battery prequalification voltage threshold field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 1993 *
metin.ozkan@analog.com 0:788f63dcf0a0 1994 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 1995 */
metin.ozkan@analog.com 0:788f63dcf0a0 1996 int SetBatteryPQVoltageThreshold(chg_pq_t chg_pq);
metin.ozkan@analog.com 0:788f63dcf0a0 1997
metin.ozkan@analog.com 0:788f63dcf0a0 1998 /**
metin.ozkan@analog.com 0:788f63dcf0a0 1999 * @brief Get Battery Prequalification Voltage Threshold (VPQ).
metin.ozkan@analog.com 0:788f63dcf0a0 2000 *
metin.ozkan@analog.com 0:788f63dcf0a0 2001 * @param[out] chg_pq Battery prequalification voltage threshold field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2002 *
metin.ozkan@analog.com 0:788f63dcf0a0 2003 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2004 */
metin.ozkan@analog.com 0:788f63dcf0a0 2005 int GetBatteryPQVoltageThreshold(chg_pq_t *chg_pq);
metin.ozkan@analog.com 0:788f63dcf0a0 2006
metin.ozkan@analog.com 0:788f63dcf0a0 2007 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2008 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2009 *
metin.ozkan@analog.com 0:788f63dcf0a0 2010 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2011 * - Register : CNFG_CHG_C (0x22)
metin.ozkan@analog.com 0:788f63dcf0a0 2012 * - Bit Fields : [4:3]
metin.ozkan@analog.com 0:788f63dcf0a0 2013 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2014 * - Description : Charger Termination Current (ITERM).
metin.ozkan@analog.com 0:788f63dcf0a0 2015 */
metin.ozkan@analog.com 0:788f63dcf0a0 2016 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2017 I_TERM_PERCENT_5,
metin.ozkan@analog.com 0:788f63dcf0a0 2018 I_TERM_PERCENT_7_5,
metin.ozkan@analog.com 0:788f63dcf0a0 2019 I_TERM_PERCENT_10,
metin.ozkan@analog.com 0:788f63dcf0a0 2020 I_TERM_PERCENT_15
metin.ozkan@analog.com 0:788f63dcf0a0 2021 }i_term_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2022
metin.ozkan@analog.com 0:788f63dcf0a0 2023 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2024 * @brief Set Charger Termination Current (ITERM).
metin.ozkan@analog.com 0:788f63dcf0a0 2025 * I_TERM[1:0] sets the charger termination current
metin.ozkan@analog.com 0:788f63dcf0a0 2026 * as a percentage of the fast charge current IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2027 *
metin.ozkan@analog.com 0:788f63dcf0a0 2028 * @param[in] i_term Charger termination current field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2029 *
metin.ozkan@analog.com 0:788f63dcf0a0 2030 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2031 */
metin.ozkan@analog.com 0:788f63dcf0a0 2032 int SetChargerTerminationCurrent(i_term_t i_term);
metin.ozkan@analog.com 0:788f63dcf0a0 2033
metin.ozkan@analog.com 0:788f63dcf0a0 2034 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2035 * @brief Get Charger Termination Current (ITERM).
metin.ozkan@analog.com 0:788f63dcf0a0 2036 * I_TERM[1:0] sets the charger termination current
metin.ozkan@analog.com 0:788f63dcf0a0 2037 * as a percentage of the fast charge current IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2038 *
metin.ozkan@analog.com 0:788f63dcf0a0 2039 * @param[out] i_term Charger termination current field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2040 *
metin.ozkan@analog.com 0:788f63dcf0a0 2041 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2042 */
metin.ozkan@analog.com 0:788f63dcf0a0 2043 int GetChargerTerminationCurrent(i_term_t *i_term);
metin.ozkan@analog.com 0:788f63dcf0a0 2044
metin.ozkan@analog.com 0:788f63dcf0a0 2045 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2046 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2047 *
metin.ozkan@analog.com 0:788f63dcf0a0 2048 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2049 * - Register : CNFG_CHG_C (0x22)
metin.ozkan@analog.com 0:788f63dcf0a0 2050 * - Bit Fields : [2:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2051 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2052 * - Description : Top-off Timer Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2053 */
metin.ozkan@analog.com 0:788f63dcf0a0 2054 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2055 T_TOPOFF_MINUTE_0M,
metin.ozkan@analog.com 0:788f63dcf0a0 2056 T_TOPOFF_MINUTE_5M,
metin.ozkan@analog.com 0:788f63dcf0a0 2057 T_TOPOFF_MINUTE_10M,
metin.ozkan@analog.com 0:788f63dcf0a0 2058 T_TOPOFF_MINUTE_15M,
metin.ozkan@analog.com 0:788f63dcf0a0 2059 T_TOPOFF_MINUTE_20M,
metin.ozkan@analog.com 0:788f63dcf0a0 2060 T_TOPOFF_MINUTE_25M,
metin.ozkan@analog.com 0:788f63dcf0a0 2061 T_TOPOFF_MINUTE_30M,
metin.ozkan@analog.com 0:788f63dcf0a0 2062 T_TOPOFF_MINUTE_35M
metin.ozkan@analog.com 0:788f63dcf0a0 2063 }t_topoff_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2064
metin.ozkan@analog.com 0:788f63dcf0a0 2065 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2066 * @brief Set Top-off Timer Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2067 *
metin.ozkan@analog.com 0:788f63dcf0a0 2068 * @param[in] t_topoff Top-off timer value field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2069 *
metin.ozkan@analog.com 0:788f63dcf0a0 2070 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2071 */
metin.ozkan@analog.com 0:788f63dcf0a0 2072 int SetTopOffTimerValue(t_topoff_t t_topoff);
metin.ozkan@analog.com 0:788f63dcf0a0 2073
metin.ozkan@analog.com 0:788f63dcf0a0 2074 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2075 * @brief Get Top-off Timer Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2076 *
metin.ozkan@analog.com 0:788f63dcf0a0 2077 * @param[out] t_topoff Top-off timer value field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2078 *
metin.ozkan@analog.com 0:788f63dcf0a0 2079 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2080 */
metin.ozkan@analog.com 0:788f63dcf0a0 2081 int GetTopOffTimerValue(t_topoff_t *t_topoff);
metin.ozkan@analog.com 0:788f63dcf0a0 2082
metin.ozkan@analog.com 0:788f63dcf0a0 2083 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2084 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2085 *
metin.ozkan@analog.com 0:788f63dcf0a0 2086 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2087 * - Register : CNFG_CHG_D (0x23)
metin.ozkan@analog.com 0:788f63dcf0a0 2088 * - Bit Fields : [7:5]
metin.ozkan@analog.com 0:788f63dcf0a0 2089 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2090 * - Description : Die Junction Temperature Regulation Point, TJ-REG.
metin.ozkan@analog.com 0:788f63dcf0a0 2091 */
metin.ozkan@analog.com 0:788f63dcf0a0 2092 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2093 TJ_REG_DEGREE_60C,
metin.ozkan@analog.com 0:788f63dcf0a0 2094 TJ_REG_DEGREE_70C,
metin.ozkan@analog.com 0:788f63dcf0a0 2095 TJ_REG_DEGREE_80C,
metin.ozkan@analog.com 0:788f63dcf0a0 2096 TJ_REG_DEGREE_90C,
metin.ozkan@analog.com 0:788f63dcf0a0 2097 TJ_REG_DEGREE_100C,
metin.ozkan@analog.com 0:788f63dcf0a0 2098 TJ_REG_DEGREE_100C_0x05,
metin.ozkan@analog.com 0:788f63dcf0a0 2099 TJ_REG_DEGREE_100C_0x06,
metin.ozkan@analog.com 0:788f63dcf0a0 2100 TJ_REG_DEGREE_100C_0x07
metin.ozkan@analog.com 0:788f63dcf0a0 2101 }tj_reg_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2102
metin.ozkan@analog.com 0:788f63dcf0a0 2103 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2104 * @brief Set the Die Junction Temperature Regulation Point, TJ-REG.
metin.ozkan@analog.com 0:788f63dcf0a0 2105 *
metin.ozkan@analog.com 0:788f63dcf0a0 2106 * @param[in] tj_reg The die junction temperature regulation point field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2107 *
metin.ozkan@analog.com 0:788f63dcf0a0 2108 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2109 */
metin.ozkan@analog.com 0:788f63dcf0a0 2110 int SetDieJunctionTemperature(tj_reg_t tj_reg);
metin.ozkan@analog.com 0:788f63dcf0a0 2111
metin.ozkan@analog.com 0:788f63dcf0a0 2112 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2113 * @brief Get the Die Junction Temperature Regulation Point, TJ-REG.
metin.ozkan@analog.com 0:788f63dcf0a0 2114 *
metin.ozkan@analog.com 0:788f63dcf0a0 2115 * @param[out] tj_reg The die junction temperature regulation point field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2116 *
metin.ozkan@analog.com 0:788f63dcf0a0 2117 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2118 */
metin.ozkan@analog.com 0:788f63dcf0a0 2119 int GetDieJunctionTemperature(tj_reg_t *tj_reg);
metin.ozkan@analog.com 0:788f63dcf0a0 2120
metin.ozkan@analog.com 0:788f63dcf0a0 2121 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2122 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2123 *
metin.ozkan@analog.com 0:788f63dcf0a0 2124 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2125 * - Register : CNFG_CHG_D (0x23)
metin.ozkan@analog.com 0:788f63dcf0a0 2126 * - Bit Fields : [4:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2127 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2128 * - Description : System Voltage Regulation (VSYS-REG).
metin.ozkan@analog.com 0:788f63dcf0a0 2129 */
metin.ozkan@analog.com 0:788f63dcf0a0 2130 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2131 VSYS_REG_VOLT_4_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2132 VSYS_REG_VOLT_4_125V,
metin.ozkan@analog.com 0:788f63dcf0a0 2133 VSYS_REG_VOLT_4_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2134 VSYS_REG_VOLT_4_175V,
metin.ozkan@analog.com 0:788f63dcf0a0 2135 VSYS_REG_VOLT_4_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2136 VSYS_REG_VOLT_4_225V,
metin.ozkan@analog.com 0:788f63dcf0a0 2137 VSYS_REG_VOLT_4_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2138 VSYS_REG_VOLT_4_275V,
metin.ozkan@analog.com 0:788f63dcf0a0 2139 VSYS_REG_VOLT_4_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2140 VSYS_REG_VOLT_4_325V,
metin.ozkan@analog.com 0:788f63dcf0a0 2141 VSYS_REG_VOLT_4_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2142 VSYS_REG_VOLT_4_375V,
metin.ozkan@analog.com 0:788f63dcf0a0 2143 VSYS_REG_VOLT_4_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2144 VSYS_REG_VOLT_4_425V,
metin.ozkan@analog.com 0:788f63dcf0a0 2145 VSYS_REG_VOLT_4_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2146 VSYS_REG_VOLT_4_475V,
metin.ozkan@analog.com 0:788f63dcf0a0 2147 VSYS_REG_VOLT_4_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2148 VSYS_REG_VOLT_4_525V,
metin.ozkan@analog.com 0:788f63dcf0a0 2149 VSYS_REG_VOLT_4_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2150 VSYS_REG_VOLT_4_575V,
metin.ozkan@analog.com 0:788f63dcf0a0 2151 VSYS_REG_VOLT_4_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2152 VSYS_REG_VOLT_4_625V,
metin.ozkan@analog.com 0:788f63dcf0a0 2153 VSYS_REG_VOLT_4_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2154 VSYS_REG_VOLT_4_675V,
metin.ozkan@analog.com 0:788f63dcf0a0 2155 VSYS_REG_VOLT_4_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2156 VSYS_REG_VOLT_4_725V,
metin.ozkan@analog.com 0:788f63dcf0a0 2157 VSYS_REG_VOLT_4_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2158 VSYS_REG_VOLT_4_775V,
metin.ozkan@analog.com 0:788f63dcf0a0 2159 VSYS_REG_VOLT_4_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2160 VSYS_REG_VOLT_4_800V_0x1D,
metin.ozkan@analog.com 0:788f63dcf0a0 2161 VSYS_REG_VOLT_4_800V_0x1E,
metin.ozkan@analog.com 0:788f63dcf0a0 2162 VSYS_REG_VOLT_4_800V_0x1F
metin.ozkan@analog.com 0:788f63dcf0a0 2163 }vsys_reg_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2164
metin.ozkan@analog.com 0:788f63dcf0a0 2165 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2166 * @brief Set System Voltage Regulation (VSYS-REG).
metin.ozkan@analog.com 0:788f63dcf0a0 2167 *
metin.ozkan@analog.com 0:788f63dcf0a0 2168 * @param[in] vsys_reg System voltage regulation field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2169 *
metin.ozkan@analog.com 0:788f63dcf0a0 2170 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2171 */
metin.ozkan@analog.com 0:788f63dcf0a0 2172 int SetSystemVoltageRegulation(vsys_reg_t vsys_reg);
metin.ozkan@analog.com 0:788f63dcf0a0 2173
metin.ozkan@analog.com 0:788f63dcf0a0 2174 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2175 * @brief Get System Voltage Regulation (VSYS-REG).
metin.ozkan@analog.com 0:788f63dcf0a0 2176 *
metin.ozkan@analog.com 0:788f63dcf0a0 2177 * @param[out] vsys_reg System voltage regulation field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2178 *
metin.ozkan@analog.com 0:788f63dcf0a0 2179 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2180 */
metin.ozkan@analog.com 0:788f63dcf0a0 2181 int GetSystemVoltageRegulation(vsys_reg_t *vsys_reg);
metin.ozkan@analog.com 0:788f63dcf0a0 2182
metin.ozkan@analog.com 0:788f63dcf0a0 2183 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2184 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2185 *
metin.ozkan@analog.com 0:788f63dcf0a0 2186 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2187 * - Register : CNFG_CHG_E (0x24), and CNFG_CHG_F (0x25)
metin.ozkan@analog.com 0:788f63dcf0a0 2188 * - Bit Fields : [7:2]
metin.ozkan@analog.com 0:788f63dcf0a0 2189 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2190 * - Description : Fast-Charge Constant Current Value, IFAST-CHG or IFAST-CHG-JEITA.
metin.ozkan@analog.com 0:788f63dcf0a0 2191 */
metin.ozkan@analog.com 0:788f63dcf0a0 2192 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2193 CHG_CC_AMP_7_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2194 CHG_CC_AMP_15_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2195 CHG_CC_AMP_22_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2196 CHG_CC_AMP_30_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2197 CHG_CC_AMP_37_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2198 CHG_CC_AMP_45_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2199 CHG_CC_AMP_52_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2200 CHG_CC_AMP_60_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2201 CHG_CC_AMP_67_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2202 CHG_CC_AMP_75_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2203 CHG_CC_AMP_82_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2204 CHG_CC_AMP_90_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2205 CHG_CC_AMP_97_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2206 CHG_CC_AMP_105_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2207 CHG_CC_AMP_112_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2208 CHG_CC_AMP_120_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2209 CHG_CC_AMP_127_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2210 CHG_CC_AMP_135_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2211 CHG_CC_AMP_142_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2212 CHG_CC_AMP_150_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2213 CHG_CC_AMP_157_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2214 CHG_CC_AMP_165_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2215 CHG_CC_AMP_172_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2216 CHG_CC_AMP_180_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2217 CHG_CC_AMP_187_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2218 CHG_CC_AMP_195_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2219 CHG_CC_AMP_202_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2220 CHG_CC_AMP_210_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2221 CHG_CC_AMP_217_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2222 CHG_CC_AMP_225_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2223 CHG_CC_AMP_232_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2224 CHG_CC_AMP_240_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2225 CHG_CC_AMP_247_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2226 CHG_CC_AMP_255_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2227 CHG_CC_AMP_262_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2228 CHG_CC_AMP_270_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2229 CHG_CC_AMP_277_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2230 CHG_CC_AMP_285_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2231 CHG_CC_AMP_292_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2232 CHG_CC_AMP_300_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2233 CHG_CC_AMP_300_0MA_0x28,
metin.ozkan@analog.com 0:788f63dcf0a0 2234 CHG_CC_AMP_300_0MA_0x29,
metin.ozkan@analog.com 0:788f63dcf0a0 2235 CHG_CC_AMP_300_0MA_0x2A,
metin.ozkan@analog.com 0:788f63dcf0a0 2236 CHG_CC_AMP_300_0MA_0x2B,
metin.ozkan@analog.com 0:788f63dcf0a0 2237 CHG_CC_AMP_300_0MA_0x2C,
metin.ozkan@analog.com 0:788f63dcf0a0 2238 CHG_CC_AMP_300_0MA_0x2D,
metin.ozkan@analog.com 0:788f63dcf0a0 2239 CHG_CC_AMP_300_0MA_0x2E,
metin.ozkan@analog.com 0:788f63dcf0a0 2240 CHG_CC_AMP_300_0MA_0x2F,
metin.ozkan@analog.com 0:788f63dcf0a0 2241 CHG_CC_AMP_300_0MA_0x30,
metin.ozkan@analog.com 0:788f63dcf0a0 2242 CHG_CC_AMP_300_0MA_0x31,
metin.ozkan@analog.com 0:788f63dcf0a0 2243 CHG_CC_AMP_300_0MA_0x32,
metin.ozkan@analog.com 0:788f63dcf0a0 2244 CHG_CC_AMP_300_0MA_0x33,
metin.ozkan@analog.com 0:788f63dcf0a0 2245 CHG_CC_AMP_300_0MA_0x34,
metin.ozkan@analog.com 0:788f63dcf0a0 2246 CHG_CC_AMP_300_0MA_0x35,
metin.ozkan@analog.com 0:788f63dcf0a0 2247 CHG_CC_AMP_300_0MA_0x36,
metin.ozkan@analog.com 0:788f63dcf0a0 2248 CHG_CC_AMP_300_0MA_0x37,
metin.ozkan@analog.com 0:788f63dcf0a0 2249 CHG_CC_AMP_300_0MA_0x38,
metin.ozkan@analog.com 0:788f63dcf0a0 2250 CHG_CC_AMP_300_0MA_0x39,
metin.ozkan@analog.com 0:788f63dcf0a0 2251 CHG_CC_AMP_300_0MA_0x3A,
metin.ozkan@analog.com 0:788f63dcf0a0 2252 CHG_CC_AMP_300_0MA_0x3B,
metin.ozkan@analog.com 0:788f63dcf0a0 2253 CHG_CC_AMP_300_0MA_0x3C,
metin.ozkan@analog.com 0:788f63dcf0a0 2254 CHG_CC_AMP_300_0MA_0x3D,
metin.ozkan@analog.com 0:788f63dcf0a0 2255 CHG_CC_AMP_300_0MA_0x3E,
metin.ozkan@analog.com 0:788f63dcf0a0 2256 CHG_CC_AMP_300_0MA_0x3F
metin.ozkan@analog.com 0:788f63dcf0a0 2257 }chg_cc_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2258
metin.ozkan@analog.com 0:788f63dcf0a0 2259 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2260 * @brief Set the Fast-Charge Constant Current Value, IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2261 *
metin.ozkan@analog.com 0:788f63dcf0a0 2262 * @param[in] chg_cc the fast-charge constant current value field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2263 *
metin.ozkan@analog.com 0:788f63dcf0a0 2264 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2265 */
metin.ozkan@analog.com 0:788f63dcf0a0 2266 int SetFastChargeCCValue(chg_cc_t chg_cc);
metin.ozkan@analog.com 0:788f63dcf0a0 2267
metin.ozkan@analog.com 0:788f63dcf0a0 2268 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2269 * @brief Get the Fast-Charge Constant Current Value, IFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2270 *
metin.ozkan@analog.com 0:788f63dcf0a0 2271 * @param[out] chg_cc the fast-charge constant current value field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2272 *
metin.ozkan@analog.com 0:788f63dcf0a0 2273 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2274 */
metin.ozkan@analog.com 0:788f63dcf0a0 2275 int GetFastChargeCCValue(chg_cc_t *chg_cc);
metin.ozkan@analog.com 0:788f63dcf0a0 2276
metin.ozkan@analog.com 0:788f63dcf0a0 2277 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2278 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2279 *
metin.ozkan@analog.com 0:788f63dcf0a0 2280 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2281 * - Register : CNFG_CHG_E (0x24)
metin.ozkan@analog.com 0:788f63dcf0a0 2282 * - Bit Fields : [1:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2283 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2284 * - Description : Fast-charge Safety timer, tFC.
metin.ozkan@analog.com 0:788f63dcf0a0 2285 */
metin.ozkan@analog.com 0:788f63dcf0a0 2286 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2287 T_FAST_CHG_TIMER_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 2288 T_FAST_CHG_HOUR_3H,
metin.ozkan@analog.com 0:788f63dcf0a0 2289 T_FAST_CHG_HOUR_5H,
metin.ozkan@analog.com 0:788f63dcf0a0 2290 T_FAST_CHG_HOUR_7H
metin.ozkan@analog.com 0:788f63dcf0a0 2291 }t_fast_chg_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2292
metin.ozkan@analog.com 0:788f63dcf0a0 2293 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2294 * @brief Set the Fast-charge Safety timer, tFC.
metin.ozkan@analog.com 0:788f63dcf0a0 2295 *
metin.ozkan@analog.com 0:788f63dcf0a0 2296 * @param[in] t_fast_chg Fast-charge safety timer field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2297 *
metin.ozkan@analog.com 0:788f63dcf0a0 2298 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2299 */
metin.ozkan@analog.com 0:788f63dcf0a0 2300 int SetFastChargSafetyTimer(t_fast_chg_t t_fast_chg);
metin.ozkan@analog.com 0:788f63dcf0a0 2301
metin.ozkan@analog.com 0:788f63dcf0a0 2302 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2303 * @brief Get the Fast-charge Safety timer, tFC.
metin.ozkan@analog.com 0:788f63dcf0a0 2304 *
metin.ozkan@analog.com 0:788f63dcf0a0 2305 * @param[out] t_fast_chg Fast-charge safety timer field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2306 *
metin.ozkan@analog.com 0:788f63dcf0a0 2307 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2308 */
metin.ozkan@analog.com 0:788f63dcf0a0 2309 int GetFastChargSafetyTimer(t_fast_chg_t *t_fast_chg);
metin.ozkan@analog.com 0:788f63dcf0a0 2310
metin.ozkan@analog.com 0:788f63dcf0a0 2311 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2312 * @brief Set IFAST-CHG-JEITA
metin.ozkan@analog.com 0:788f63dcf0a0 2313 * when the battery is either cool or warm as defined by the
metin.ozkan@analog.com 0:788f63dcf0a0 2314 * VCOOL and VWARM temperature thresholds..
metin.ozkan@analog.com 0:788f63dcf0a0 2315 *
metin.ozkan@analog.com 0:788f63dcf0a0 2316 * @param[in] chg_cc_jeita IFAST-CHG-JEITA field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2317 *
metin.ozkan@analog.com 0:788f63dcf0a0 2318 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2319 */
metin.ozkan@analog.com 0:788f63dcf0a0 2320 int SetFastChargeCCJEITA(chg_cc_t chg_cc_jeita);
metin.ozkan@analog.com 0:788f63dcf0a0 2321
metin.ozkan@analog.com 0:788f63dcf0a0 2322 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2323 * @brief Get IFAST-CHG-JEITA
metin.ozkan@analog.com 0:788f63dcf0a0 2324 * when the battery is either cool or warm as defined by the
metin.ozkan@analog.com 0:788f63dcf0a0 2325 * VCOOL and VWARM temperature thresholds.
metin.ozkan@analog.com 0:788f63dcf0a0 2326 *
metin.ozkan@analog.com 0:788f63dcf0a0 2327 * @param[out] chg_cc_jeita IFAST-CHG-JEITA field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2328 *
metin.ozkan@analog.com 0:788f63dcf0a0 2329 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2330 */
metin.ozkan@analog.com 0:788f63dcf0a0 2331 int GetFastChargeCCJEITA(chg_cc_t *chg_cc_jeita);
metin.ozkan@analog.com 0:788f63dcf0a0 2332
metin.ozkan@analog.com 0:788f63dcf0a0 2333 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2334 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2335 *
metin.ozkan@analog.com 0:788f63dcf0a0 2336 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2337 * - Register : CNFG_CHG_F (0x25)
metin.ozkan@analog.com 0:788f63dcf0a0 2338 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 2339 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2340 * - Description : Thermistor Enable Bit.
metin.ozkan@analog.com 0:788f63dcf0a0 2341 */
metin.ozkan@analog.com 0:788f63dcf0a0 2342 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2343 THM_EN_THERMISTOR_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 2344 THM_EN_THERMISTOR_ENABLED
metin.ozkan@analog.com 0:788f63dcf0a0 2345 }thm_en_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2346
metin.ozkan@analog.com 0:788f63dcf0a0 2347 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2348 * @brief Set Thermistor Enable Bit.
metin.ozkan@analog.com 0:788f63dcf0a0 2349 *
metin.ozkan@analog.com 0:788f63dcf0a0 2350 * @param[in] thm_en Thermistor enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2351 *
metin.ozkan@analog.com 0:788f63dcf0a0 2352 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2353 */
metin.ozkan@analog.com 0:788f63dcf0a0 2354 int SetThermistorEnable(thm_en_t thm_en);
metin.ozkan@analog.com 0:788f63dcf0a0 2355
metin.ozkan@analog.com 0:788f63dcf0a0 2356 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2357 * @brief Get Thermistor enable bit.
metin.ozkan@analog.com 0:788f63dcf0a0 2358 *
metin.ozkan@analog.com 0:788f63dcf0a0 2359 * @param[out] thm_en Thermistor enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2360 *
metin.ozkan@analog.com 0:788f63dcf0a0 2361 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2362 */
metin.ozkan@analog.com 0:788f63dcf0a0 2363 int GetThermistorEnable(thm_en_t *thm_en);
metin.ozkan@analog.com 0:788f63dcf0a0 2364
metin.ozkan@analog.com 0:788f63dcf0a0 2365 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2366 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2367 *
metin.ozkan@analog.com 0:788f63dcf0a0 2368 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2369 * - Register : CNFG_CHG_G (0x26) and CNFG_CHG_H (0x27)
metin.ozkan@analog.com 0:788f63dcf0a0 2370 * - Bit Fields : [7:2]
metin.ozkan@analog.com 0:788f63dcf0a0 2371 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2372 * - Description : Fast-Charge Battery Regulation Voltage, VFAST-CHG or VFAST-CHG-JEITA.
metin.ozkan@analog.com 0:788f63dcf0a0 2373 */
metin.ozkan@analog.com 0:788f63dcf0a0 2374 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2375 CHG_CV_VOLT_3_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2376 CHG_CV_VOLT_3_625V,
metin.ozkan@analog.com 0:788f63dcf0a0 2377 CHG_CV_VOLT_3_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2378 CHG_CV_VOLT_3_675V,
metin.ozkan@analog.com 0:788f63dcf0a0 2379 CHG_CV_VOLT_3_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2380 CHG_CV_VOLT_3_725V,
metin.ozkan@analog.com 0:788f63dcf0a0 2381 CHG_CV_VOLT_3_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2382 CHG_CV_VOLT_3_775V,
metin.ozkan@analog.com 0:788f63dcf0a0 2383 CHG_CV_VOLT_3_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2384 CHG_CV_VOLT_3_825V,
metin.ozkan@analog.com 0:788f63dcf0a0 2385 CHG_CV_VOLT_3_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2386 CHG_CV_VOLT_3_875V,
metin.ozkan@analog.com 0:788f63dcf0a0 2387 CHG_CV_VOLT_3_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2388 CHG_CV_VOLT_3_925V,
metin.ozkan@analog.com 0:788f63dcf0a0 2389 CHG_CV_VOLT_3_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2390 CHG_CV_VOLT_3_975V,
metin.ozkan@analog.com 0:788f63dcf0a0 2391 CHG_CV_VOLT_4_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2392 CHG_CV_VOLT_4_025V,
metin.ozkan@analog.com 0:788f63dcf0a0 2393 CHG_CV_VOLT_4_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2394 CHG_CV_VOLT_4_075V,
metin.ozkan@analog.com 0:788f63dcf0a0 2395 CHG_CV_VOLT_4_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2396 CHG_CV_VOLT_4_125V,
metin.ozkan@analog.com 0:788f63dcf0a0 2397 CHG_CV_VOLT_4_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2398 CHG_CV_VOLT_4_175V,
metin.ozkan@analog.com 0:788f63dcf0a0 2399 CHG_CV_VOLT_4_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2400 CHG_CV_VOLT_4_225V,
metin.ozkan@analog.com 0:788f63dcf0a0 2401 CHG_CV_VOLT_4_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2402 CHG_CV_VOLT_4_275V,
metin.ozkan@analog.com 0:788f63dcf0a0 2403 CHG_CV_VOLT_4_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2404 CHG_CV_VOLT_4_325V,
metin.ozkan@analog.com 0:788f63dcf0a0 2405 CHG_CV_VOLT_4_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2406 CHG_CV_VOLT_4_375V,
metin.ozkan@analog.com 0:788f63dcf0a0 2407 CHG_CV_VOLT_4_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2408 CHG_CV_VOLT_4_425V,
metin.ozkan@analog.com 0:788f63dcf0a0 2409 CHG_CV_VOLT_4_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2410 CHG_CV_VOLT_4_475V,
metin.ozkan@analog.com 0:788f63dcf0a0 2411 CHG_CV_VOLT_4_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2412 CHG_CV_VOLT_4_525V,
metin.ozkan@analog.com 0:788f63dcf0a0 2413 CHG_CV_VOLT_4_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2414 CHG_CV_VOLT_4_575V,
metin.ozkan@analog.com 0:788f63dcf0a0 2415 CHG_CV_VOLT_4_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2416 CHG_CV_VOLT_4_600V_0x29,
metin.ozkan@analog.com 0:788f63dcf0a0 2417 CHG_CV_VOLT_4_600V_0x2A,
metin.ozkan@analog.com 0:788f63dcf0a0 2418 CHG_CV_VOLT_4_600V_0x2B,
metin.ozkan@analog.com 0:788f63dcf0a0 2419 CHG_CV_VOLT_4_600V_0x2C,
metin.ozkan@analog.com 0:788f63dcf0a0 2420 CHG_CV_VOLT_4_600V_0x2D,
metin.ozkan@analog.com 0:788f63dcf0a0 2421 CHG_CV_VOLT_4_600V_0x2E,
metin.ozkan@analog.com 0:788f63dcf0a0 2422 CHG_CV_VOLT_4_600V_0x2F,
metin.ozkan@analog.com 0:788f63dcf0a0 2423 CHG_CV_VOLT_4_600V_0x30,
metin.ozkan@analog.com 0:788f63dcf0a0 2424 CHG_CV_VOLT_4_600V_0x31,
metin.ozkan@analog.com 0:788f63dcf0a0 2425 CHG_CV_VOLT_4_600V_0x32,
metin.ozkan@analog.com 0:788f63dcf0a0 2426 CHG_CV_VOLT_4_600V_0x33,
metin.ozkan@analog.com 0:788f63dcf0a0 2427 CHG_CV_VOLT_4_600V_0x34,
metin.ozkan@analog.com 0:788f63dcf0a0 2428 CHG_CV_VOLT_4_600V_0x35,
metin.ozkan@analog.com 0:788f63dcf0a0 2429 CHG_CV_VOLT_4_600V_0x36,
metin.ozkan@analog.com 0:788f63dcf0a0 2430 CHG_CV_VOLT_4_600V_0x37,
metin.ozkan@analog.com 0:788f63dcf0a0 2431 CHG_CV_VOLT_4_600V_0x38,
metin.ozkan@analog.com 0:788f63dcf0a0 2432 CHG_CV_VOLT_4_600V_0x39,
metin.ozkan@analog.com 0:788f63dcf0a0 2433 CHG_CV_VOLT_4_600V_0x3A,
metin.ozkan@analog.com 0:788f63dcf0a0 2434 CHG_CV_VOLT_4_600V_0x3B,
metin.ozkan@analog.com 0:788f63dcf0a0 2435 CHG_CV_VOLT_4_600V_0x3C,
metin.ozkan@analog.com 0:788f63dcf0a0 2436 CHG_CV_VOLT_4_600V_0x3D,
metin.ozkan@analog.com 0:788f63dcf0a0 2437 CHG_CV_VOLT_4_600V_0x3E,
metin.ozkan@analog.com 0:788f63dcf0a0 2438 CHG_CV_VOLT_4_600V_0x3F
metin.ozkan@analog.com 0:788f63dcf0a0 2439 }chg_cv_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2440
metin.ozkan@analog.com 0:788f63dcf0a0 2441 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2442 * @brief Set Fast-Charge Battery Regulation Voltage, VFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2443 *
metin.ozkan@analog.com 0:788f63dcf0a0 2444 * @param[in] chg_cv Fast-charge battery regulation voltage field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2445 *
metin.ozkan@analog.com 0:788f63dcf0a0 2446 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2447 */
metin.ozkan@analog.com 0:788f63dcf0a0 2448 int SetFastChargeBatteryRegVolt(chg_cv_t chg_cv);
metin.ozkan@analog.com 0:788f63dcf0a0 2449
metin.ozkan@analog.com 0:788f63dcf0a0 2450 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2451 * @brief Get Fast-Charge Battery Regulation Voltage, VFAST-CHG.
metin.ozkan@analog.com 0:788f63dcf0a0 2452 *
metin.ozkan@analog.com 0:788f63dcf0a0 2453 * @param[out] chg_cv Fast-charge battery regulation voltage field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2454 *
metin.ozkan@analog.com 0:788f63dcf0a0 2455 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2456 */
metin.ozkan@analog.com 0:788f63dcf0a0 2457 int GetFastChargeBatteryRegVolt(chg_cv_t *chg_cv);
metin.ozkan@analog.com 0:788f63dcf0a0 2458
metin.ozkan@analog.com 0:788f63dcf0a0 2459 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2460 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2461 *
metin.ozkan@analog.com 0:788f63dcf0a0 2462 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2463 * - Register : CNFG_CHG_G (0x26)
metin.ozkan@analog.com 0:788f63dcf0a0 2464 * - Bit Fields : [1]
metin.ozkan@analog.com 0:788f63dcf0a0 2465 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2466 * - Description : USB suspend mode.
metin.ozkan@analog.com 0:788f63dcf0a0 2467 */
metin.ozkan@analog.com 0:788f63dcf0a0 2468 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2469 USBS_CHGIN_NOT_SUSPENDED,
metin.ozkan@analog.com 0:788f63dcf0a0 2470 USBS_CHGIN_SUSPENDED
metin.ozkan@analog.com 0:788f63dcf0a0 2471 }usbs_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2472
metin.ozkan@analog.com 0:788f63dcf0a0 2473 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2474 * @brief Set USBS. Setting this bit places CHGIN in USB suspend mode.
metin.ozkan@analog.com 0:788f63dcf0a0 2475 *
metin.ozkan@analog.com 0:788f63dcf0a0 2476 * @param[in] usbs USB suspend mode bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2477 *
metin.ozkan@analog.com 0:788f63dcf0a0 2478 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2479 */
metin.ozkan@analog.com 0:788f63dcf0a0 2480 int SetCHGINUSBSuspendMode(usbs_t usbs);
metin.ozkan@analog.com 0:788f63dcf0a0 2481
metin.ozkan@analog.com 0:788f63dcf0a0 2482 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2483 * @brief Get USBS. Setting this bit places CHGIN in USB suspend mode.
metin.ozkan@analog.com 0:788f63dcf0a0 2484 *
metin.ozkan@analog.com 0:788f63dcf0a0 2485 * @param[out] usbs USB suspend mode bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2486 *
metin.ozkan@analog.com 0:788f63dcf0a0 2487 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2488 */
metin.ozkan@analog.com 0:788f63dcf0a0 2489 int GetCHGINUSBSuspendMode(usbs_t *usbs);
metin.ozkan@analog.com 0:788f63dcf0a0 2490
metin.ozkan@analog.com 0:788f63dcf0a0 2491 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2492 * @brief Set the modified VFAST-CHG-JEITA for when the battery is either
metin.ozkan@analog.com 0:788f63dcf0a0 2493 * cool or warm as defined by the VCOOL and VWARM temperature thresholds.
metin.ozkan@analog.com 0:788f63dcf0a0 2494 *
metin.ozkan@analog.com 0:788f63dcf0a0 2495 * @param[in] chg_cv_jeita Modified VFAST-CHG-JEITA field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2496 *
metin.ozkan@analog.com 0:788f63dcf0a0 2497 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2498 */
metin.ozkan@analog.com 0:788f63dcf0a0 2499 int SetFastChargeVoltageJEITA(chg_cv_t chg_cv_jeita);
metin.ozkan@analog.com 0:788f63dcf0a0 2500
metin.ozkan@analog.com 0:788f63dcf0a0 2501 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2502 * @brief Get the modified VFAST-CHG-JEITA for when the battery is either
metin.ozkan@analog.com 0:788f63dcf0a0 2503 * cool or warm as defined by the VCOOL and VWARM temperature thresholds.
metin.ozkan@analog.com 0:788f63dcf0a0 2504 *
metin.ozkan@analog.com 0:788f63dcf0a0 2505 * @param[out] chg_cv_jeita Modified VFAST-CHG-JEITA field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2506 *
metin.ozkan@analog.com 0:788f63dcf0a0 2507 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2508 */
metin.ozkan@analog.com 0:788f63dcf0a0 2509 int GetFastChargeVoltageJEITA(chg_cv_t *chg_cv_jeita);
metin.ozkan@analog.com 0:788f63dcf0a0 2510
metin.ozkan@analog.com 0:788f63dcf0a0 2511 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2512 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2513 *
metin.ozkan@analog.com 0:788f63dcf0a0 2514 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2515 * - Register : CNFG_CHG_I (0x28)
metin.ozkan@analog.com 0:788f63dcf0a0 2516 * - Bit Fields : [7:4]
metin.ozkan@analog.com 0:788f63dcf0a0 2517 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2518 * - Description : Battery Discharge Current Full-Scale Current Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2519 */
metin.ozkan@analog.com 0:788f63dcf0a0 2520 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2521 IMON_DISCHG_SCALE_AMP_8_2MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2522 IMON_DISCHG_SCALE_AMP_40_5MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2523 IMON_DISCHG_SCALE_AMP_72_3MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2524 IMON_DISCHG_SCALE_AMP_103_4MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2525 IMON_DISCHG_SCALE_AMP_134_1MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2526 IMON_DISCHG_SCALE_AMP_164_1MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2527 IMON_DISCHG_SCALE_AMP_193_7MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2528 IMON_DISCHG_SCALE_AMP_222_7MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2529 IMON_DISCHG_SCALE_AMP_251_2MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2530 IMON_DISCHG_SCALE_AMP_279_3MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2531 IMON_DISCHG_SCALE_AMP_300_0MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2532 IMON_DISCHG_SCALE_AMP_300_0MA_0x0B,
metin.ozkan@analog.com 0:788f63dcf0a0 2533 IMON_DISCHG_SCALE_AMP_300_0MA_0x0C,
metin.ozkan@analog.com 0:788f63dcf0a0 2534 IMON_DISCHG_SCALE_AMP_300_0MA_0x0D,
metin.ozkan@analog.com 0:788f63dcf0a0 2535 IMON_DISCHG_SCALE_AMP_300_0MA_0x0E,
metin.ozkan@analog.com 0:788f63dcf0a0 2536 IMON_DISCHG_SCALE_AMP_300_0MA_0x0F
metin.ozkan@analog.com 0:788f63dcf0a0 2537 }imon_dischg_scale_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2538
metin.ozkan@analog.com 0:788f63dcf0a0 2539 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2540 * @brief Set the Battery Discharge Current Full-Scale Current Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2541 *
metin.ozkan@analog.com 0:788f63dcf0a0 2542 * @param[in] imon_dischg_scale the battery discharge current full-scale current value field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2543 *
metin.ozkan@analog.com 0:788f63dcf0a0 2544 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2545 */
metin.ozkan@analog.com 0:788f63dcf0a0 2546 int SetDischargeCurrentFullScale(imon_dischg_scale_t imon_dischg_scale);
metin.ozkan@analog.com 0:788f63dcf0a0 2547
metin.ozkan@analog.com 0:788f63dcf0a0 2548 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2549 * @brief Get the Battery Discharge Current Full-Scale Current Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2550 *
metin.ozkan@analog.com 0:788f63dcf0a0 2551 * @param[out] imon_dischg_scale the battery discharge current full-scale current value field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2552 *
metin.ozkan@analog.com 0:788f63dcf0a0 2553 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2554 */
metin.ozkan@analog.com 0:788f63dcf0a0 2555 int GetDischargeCurrentFullScale(imon_dischg_scale_t *imon_dischg_scale);
metin.ozkan@analog.com 0:788f63dcf0a0 2556
metin.ozkan@analog.com 0:788f63dcf0a0 2557 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2558 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2559 *
metin.ozkan@analog.com 0:788f63dcf0a0 2560 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2561 * - Register : CNFG_CHG_I (0x28)
metin.ozkan@analog.com 0:788f63dcf0a0 2562 * - Bit Fields : [3:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2563 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2564 * - Description : Analog channel to connect to AMUX.
metin.ozkan@analog.com 0:788f63dcf0a0 2565 */
metin.ozkan@analog.com 0:788f63dcf0a0 2566 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2567 MUX_SEL_MULTIPLEXER_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 2568 MUX_SEL_CHGIN_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2569 MUX_SEL_CHGIN_CURRENT_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2570 MUX_SEL_BATTERY_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2571 MUX_SEL_BATTERY_CHARGE_CURRENT_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2572 MUX_SEL_BATTERY_DISCHARGE_CURRENT_MONITOR_NORMAL,
metin.ozkan@analog.com 0:788f63dcf0a0 2573 MUX_SEL_BATTERY_DISCHARGE_CURRENT_MONITOR_NULL,
metin.ozkan@analog.com 0:788f63dcf0a0 2574 MUX_SEL_THM_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2575 MUX_SEL_TBIAS_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2576 MUX_SEL_AGND_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2577 MUX_SEL_SYS_VOLTAGE_MONITOR,
metin.ozkan@analog.com 0:788f63dcf0a0 2578 MUX_SEL_SYS_VOLTAGE_MONITOR_0x0B,
metin.ozkan@analog.com 0:788f63dcf0a0 2579 MUX_SEL_SYS_VOLTAGE_MONITOR_0x0C,
metin.ozkan@analog.com 0:788f63dcf0a0 2580 MUX_SEL_SYS_VOLTAGE_MONITOR_0x0D,
metin.ozkan@analog.com 0:788f63dcf0a0 2581 MUX_SEL_SYS_VOLTAGE_MONITOR_0x0E,
metin.ozkan@analog.com 0:788f63dcf0a0 2582 MUX_SEL_SYS_VOLTAGE_MONITOR_0x0F
metin.ozkan@analog.com 0:788f63dcf0a0 2583 }mux_sel_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2584
metin.ozkan@analog.com 0:788f63dcf0a0 2585 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2586 * @brief Set the Analog Channel to connect to AMUX.
metin.ozkan@analog.com 0:788f63dcf0a0 2587 *
metin.ozkan@analog.com 0:788f63dcf0a0 2588 * @param[in] imon_dischg_scale the battery discharge current full-scale current value field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2589 *
metin.ozkan@analog.com 0:788f63dcf0a0 2590 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2591 */
metin.ozkan@analog.com 0:788f63dcf0a0 2592 int SetAMUX(mux_sel_t mux_sel);
metin.ozkan@analog.com 0:788f63dcf0a0 2593
metin.ozkan@analog.com 0:788f63dcf0a0 2594 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2595 * @brief Get the Battery Discharge Current Full-Scale Current Value.
metin.ozkan@analog.com 0:788f63dcf0a0 2596 *
metin.ozkan@analog.com 0:788f63dcf0a0 2597 * @param[out] imon_dischg_scale the battery discharge current full-scale current value field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2598 *
metin.ozkan@analog.com 0:788f63dcf0a0 2599 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2600 */
metin.ozkan@analog.com 0:788f63dcf0a0 2601 int GetAMUX(mux_sel_t *mux_sel);
metin.ozkan@analog.com 0:788f63dcf0a0 2602
metin.ozkan@analog.com 0:788f63dcf0a0 2603 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2604 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2605 *
metin.ozkan@analog.com 0:788f63dcf0a0 2606 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2607 * - Register : CNFG_SBB0_A (0x29), CNFG_SBB1_A (0x2B) and CNFG_SBB2_A (0x2D)
metin.ozkan@analog.com 0:788f63dcf0a0 2608 * - Bit Fields : [6:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2609 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2610 * - Description : SIMO Buck-Boost Channel 0, 1 or 2 Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 2611 */
metin.ozkan@analog.com 0:788f63dcf0a0 2612 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2613 TV_SBB_VOLT_0_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2614 TV_SBB_VOLT_0_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2615 TV_SBB_VOLT_0_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2616 TV_SBB_VOLT_0_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2617 TV_SBB_VOLT_1_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2618 TV_SBB_VOLT_1_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2619 TV_SBB_VOLT_1_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2620 TV_SBB_VOLT_1_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2621 TV_SBB_VOLT_1_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2622 TV_SBB_VOLT_1_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2623 TV_SBB_VOLT_1_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2624 TV_SBB_VOLT_1_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2625 TV_SBB_VOLT_1_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2626 TV_SBB_VOLT_1_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2627 TV_SBB_VOLT_1_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2628 TV_SBB_VOLT_1_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2629 TV_SBB_VOLT_1_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2630 TV_SBB_VOLT_1_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2631 TV_SBB_VOLT_1_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2632 TV_SBB_VOLT_1_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2633 TV_SBB_VOLT_1_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2634 TV_SBB_VOLT_1_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2635 TV_SBB_VOLT_1_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2636 TV_SBB_VOLT_1_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2637 TV_SBB_VOLT_2_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2638 TV_SBB_VOLT_2_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2639 TV_SBB_VOLT_2_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2640 TV_SBB_VOLT_2_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2641 TV_SBB_VOLT_2_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2642 TV_SBB_VOLT_2_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2643 TV_SBB_VOLT_2_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2644 TV_SBB_VOLT_2_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2645 TV_SBB_VOLT_2_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2646 TV_SBB_VOLT_2_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2647 TV_SBB_VOLT_2_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2648 TV_SBB_VOLT_2_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2649 TV_SBB_VOLT_2_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2650 TV_SBB_VOLT_2_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2651 TV_SBB_VOLT_2_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2652 TV_SBB_VOLT_2_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2653 TV_SBB_VOLT_2_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2654 TV_SBB_VOLT_2_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2655 TV_SBB_VOLT_2_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2656 TV_SBB_VOLT_2_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2657 TV_SBB_VOLT_3_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2658 TV_SBB_VOLT_3_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2659 TV_SBB_VOLT_3_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2660 TV_SBB_VOLT_3_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2661 TV_SBB_VOLT_3_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2662 TV_SBB_VOLT_3_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2663 TV_SBB_VOLT_3_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2664 TV_SBB_VOLT_3_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2665 TV_SBB_VOLT_3_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2666 TV_SBB_VOLT_3_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2667 TV_SBB_VOLT_3_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2668 TV_SBB_VOLT_3_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2669 TV_SBB_VOLT_3_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2670 TV_SBB_VOLT_3_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2671 TV_SBB_VOLT_3_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2672 TV_SBB_VOLT_3_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2673 TV_SBB_VOLT_3_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2674 TV_SBB_VOLT_3_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2675 TV_SBB_VOLT_3_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2676 TV_SBB_VOLT_3_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2677 TV_SBB_VOLT_4_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2678 TV_SBB_VOLT_4_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2679 TV_SBB_VOLT_4_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2680 TV_SBB_VOLT_4_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2681 TV_SBB_VOLT_4_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2682 TV_SBB_VOLT_4_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2683 TV_SBB_VOLT_4_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2684 TV_SBB_VOLT_4_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2685 TV_SBB_VOLT_4_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2686 TV_SBB_VOLT_4_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2687 TV_SBB_VOLT_4_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2688 TV_SBB_VOLT_4_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 2689 TV_SBB_VOLT_4_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 2690 TV_SBB_VOLT_4_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 2691 TV_SBB_VOLT_4_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 2692 TV_SBB_VOLT_4_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 2693 TV_SBB_VOLT_4_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2694 TV_SBB_VOLT_4_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2695 TV_SBB_VOLT_4_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2696 TV_SBB_VOLT_4_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2697 TV_SBB_VOLT_5_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2698 TV_SBB_VOLT_5_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2699 TV_SBB_VOLT_5_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2700 TV_SBB_VOLT_5_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 2701 TV_SBB_VOLT_5_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 2702 TV_SBB_VOLT_5_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 2703 TV_SBB_VOLT_5_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 2704 TV_SBB_VOLT_5_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 2705 TV_SBB_VOLT_5_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 2706 TV_SBB_VOLT_5_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 2707 TV_SBB_VOLT_5_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 2708 TV_SBB_VOLT_5_500V_0x5D,
metin.ozkan@analog.com 0:788f63dcf0a0 2709 TV_SBB_VOLT_5_500V_0x5E,
metin.ozkan@analog.com 0:788f63dcf0a0 2710 TV_SBB_VOLT_5_500V_0x5F,
metin.ozkan@analog.com 0:788f63dcf0a0 2711 TV_SBB_VOLT_5_500V_0x60,
metin.ozkan@analog.com 0:788f63dcf0a0 2712 TV_SBB_VOLT_5_500V_0x61,
metin.ozkan@analog.com 0:788f63dcf0a0 2713 TV_SBB_VOLT_5_500V_0x62,
metin.ozkan@analog.com 0:788f63dcf0a0 2714 TV_SBB_VOLT_5_500V_0x63,
metin.ozkan@analog.com 0:788f63dcf0a0 2715 TV_SBB_VOLT_5_500V_0x64,
metin.ozkan@analog.com 0:788f63dcf0a0 2716 TV_SBB_VOLT_5_500V_0x65,
metin.ozkan@analog.com 0:788f63dcf0a0 2717 TV_SBB_VOLT_5_500V_0x66,
metin.ozkan@analog.com 0:788f63dcf0a0 2718 TV_SBB_VOLT_5_500V_0x67,
metin.ozkan@analog.com 0:788f63dcf0a0 2719 TV_SBB_VOLT_5_500V_0x68,
metin.ozkan@analog.com 0:788f63dcf0a0 2720 TV_SBB_VOLT_5_500V_0x69,
metin.ozkan@analog.com 0:788f63dcf0a0 2721 TV_SBB_VOLT_5_500V_0x6A,
metin.ozkan@analog.com 0:788f63dcf0a0 2722 TV_SBB_VOLT_5_500V_0x6B,
metin.ozkan@analog.com 0:788f63dcf0a0 2723 TV_SBB_VOLT_5_500V_0x6C,
metin.ozkan@analog.com 0:788f63dcf0a0 2724 TV_SBB_VOLT_5_500V_0x6D,
metin.ozkan@analog.com 0:788f63dcf0a0 2725 TV_SBB_VOLT_5_500V_0x6E,
metin.ozkan@analog.com 0:788f63dcf0a0 2726 TV_SBB_VOLT_5_500V_0x6F,
metin.ozkan@analog.com 0:788f63dcf0a0 2727 TV_SBB_VOLT_5_500V_0x70,
metin.ozkan@analog.com 0:788f63dcf0a0 2728 TV_SBB_VOLT_5_500V_0x71,
metin.ozkan@analog.com 0:788f63dcf0a0 2729 TV_SBB_VOLT_5_500V_0x72,
metin.ozkan@analog.com 0:788f63dcf0a0 2730 TV_SBB_VOLT_5_500V_0x73,
metin.ozkan@analog.com 0:788f63dcf0a0 2731 TV_SBB_VOLT_5_500V_0x74,
metin.ozkan@analog.com 0:788f63dcf0a0 2732 TV_SBB_VOLT_5_500V_0x75,
metin.ozkan@analog.com 0:788f63dcf0a0 2733 TV_SBB_VOLT_5_500V_0x76,
metin.ozkan@analog.com 0:788f63dcf0a0 2734 TV_SBB_VOLT_5_500V_0x77,
metin.ozkan@analog.com 0:788f63dcf0a0 2735 TV_SBB_VOLT_5_500V_0x78,
metin.ozkan@analog.com 0:788f63dcf0a0 2736 TV_SBB_VOLT_5_500V_0x79,
metin.ozkan@analog.com 0:788f63dcf0a0 2737 TV_SBB_VOLT_5_500V_0x7A,
metin.ozkan@analog.com 0:788f63dcf0a0 2738 TV_SBB_VOLT_5_500V_0x7B,
metin.ozkan@analog.com 0:788f63dcf0a0 2739 TV_SBB_VOLT_5_500V_0x7C,
metin.ozkan@analog.com 0:788f63dcf0a0 2740 TV_SBB_VOLT_5_500V_0x7D,
metin.ozkan@analog.com 0:788f63dcf0a0 2741 TV_SBB_VOLT_5_500V_0x7E,
metin.ozkan@analog.com 0:788f63dcf0a0 2742 TV_SBB_VOLT_5_500V_0x7F
metin.ozkan@analog.com 0:788f63dcf0a0 2743 }tv_sbb_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2744
metin.ozkan@analog.com 0:788f63dcf0a0 2745 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2746 * @brief Set SIMO Buck-Boost Channel x Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 2747 *
metin.ozkan@analog.com 0:788f63dcf0a0 2748 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2749 * @param[in] tv_sbb SIMO buck-boost channel x target output voltage field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2750 *
metin.ozkan@analog.com 0:788f63dcf0a0 2751 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2752 */
metin.ozkan@analog.com 0:788f63dcf0a0 2753 int SetSBBTargetOutVoltage(uint8_t channel, tv_sbb_t tv_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2754
metin.ozkan@analog.com 0:788f63dcf0a0 2755 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2756 * @brief Get SIMO Buck-Boost Channel x Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 2757 *
metin.ozkan@analog.com 0:788f63dcf0a0 2758 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2759 * @param[out] tv_sbb SIMO buck-boost channel x target output voltage field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2760 *
metin.ozkan@analog.com 0:788f63dcf0a0 2761 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2762 */
metin.ozkan@analog.com 0:788f63dcf0a0 2763 int GetSBBTargetOutVoltage(uint8_t channel, tv_sbb_t *tv_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2764
metin.ozkan@analog.com 0:788f63dcf0a0 2765 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2766 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2767 *
metin.ozkan@analog.com 0:788f63dcf0a0 2768 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2769 * - Register : CNFG_SBB0_B (0x2A), CNFG_SBB1_B (0x2C) (0x2B) and CNFG_SBB2_B (0x2E)
metin.ozkan@analog.com 0:788f63dcf0a0 2770 * - Bit Fields : [6]
metin.ozkan@analog.com 0:788f63dcf0a0 2771 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2772 * - Description : Operation mode of SBB0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2773 */
metin.ozkan@analog.com 0:788f63dcf0a0 2774 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2775 OP_MODE_BUCK_BOOST_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 2776 OP_MODE_BUCK_MODE
metin.ozkan@analog.com 0:788f63dcf0a0 2777 }op_mode_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2778
metin.ozkan@analog.com 0:788f63dcf0a0 2779 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2780 * @brief Set Operation mode of SBBx.
metin.ozkan@analog.com 0:788f63dcf0a0 2781 *
metin.ozkan@analog.com 0:788f63dcf0a0 2782 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2783 * @param[in] op_mode Operation mode of SBBx bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2784 *
metin.ozkan@analog.com 0:788f63dcf0a0 2785 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2786 */
metin.ozkan@analog.com 0:788f63dcf0a0 2787 int SetSIMOOperationMode(uint8_t channel, op_mode_t op_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 2788
metin.ozkan@analog.com 0:788f63dcf0a0 2789 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2790 * @brief Get Operation mode of SBBx.
metin.ozkan@analog.com 0:788f63dcf0a0 2791 *
metin.ozkan@analog.com 0:788f63dcf0a0 2792 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2793 * @param[out] op_mode Operation mode of SBBx bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2794 *
metin.ozkan@analog.com 0:788f63dcf0a0 2795 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2796 */
metin.ozkan@analog.com 0:788f63dcf0a0 2797 int GetSIMOOperationMode(uint8_t channel, op_mode_t *op_mode);
metin.ozkan@analog.com 0:788f63dcf0a0 2798
metin.ozkan@analog.com 0:788f63dcf0a0 2799 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2800 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2801 *
metin.ozkan@analog.com 0:788f63dcf0a0 2802 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2803 * - Register : CNFG_SBB0_B (0x2A), CNFG_SBB1_B (0x2C) (0x2B) and CNFG_SBB2_B (0x2E)
metin.ozkan@analog.com 0:788f63dcf0a0 2804 * - Bit Fields : [5:4]
metin.ozkan@analog.com 0:788f63dcf0a0 2805 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2806 * - Description : SIMO Buck-Boost Channel 0, 1 or 2 Peak Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 2807 */
metin.ozkan@analog.com 0:788f63dcf0a0 2808 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2809 IP_SBB_AMP_1_000A,
metin.ozkan@analog.com 0:788f63dcf0a0 2810 IP_SBB_AMP_0_750A,
metin.ozkan@analog.com 0:788f63dcf0a0 2811 IP_SBB_AMP_0_500A,
metin.ozkan@analog.com 0:788f63dcf0a0 2812 IP_SBB_AMP_0_333A
metin.ozkan@analog.com 0:788f63dcf0a0 2813 }ip_sbb_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2814
metin.ozkan@analog.com 0:788f63dcf0a0 2815 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2816 * @brief Set SIMO Buck-Boost Channel x Peak Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 2817 *
metin.ozkan@analog.com 0:788f63dcf0a0 2818 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2819 * @param[in] ip_sbb SIMO buck-boost channel 2 peak current limit field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2820 *
metin.ozkan@analog.com 0:788f63dcf0a0 2821 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2822 */
metin.ozkan@analog.com 0:788f63dcf0a0 2823 int SetSBBPeakCurrentLimit(uint8_t channel, ip_sbb_t ip_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2824
metin.ozkan@analog.com 0:788f63dcf0a0 2825 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2826 * @brief Get SIMO Buck-Boost Channel x Peak Current Limit.
metin.ozkan@analog.com 0:788f63dcf0a0 2827 *
metin.ozkan@analog.com 0:788f63dcf0a0 2828 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2829 * @param[out] ip_sbb SIMO buck-boost channel 2 peak current limit field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2830 *
metin.ozkan@analog.com 0:788f63dcf0a0 2831 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2832 */
metin.ozkan@analog.com 0:788f63dcf0a0 2833 int GetSBBPeakCurrentLimit(uint8_t channel, ip_sbb_t *ip_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2834
metin.ozkan@analog.com 0:788f63dcf0a0 2835 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2836 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2837 *
metin.ozkan@analog.com 0:788f63dcf0a0 2838 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2839 * - Register : CNFG_SBB0_B (0x2A), CNFG_SBB1_B (0x2C) (0x2B) and CNFG_SBB2_B (0x2E)
metin.ozkan@analog.com 0:788f63dcf0a0 2840 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 2841 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2842 * - Description : SIMO Buck-Boost Channel 0, 1 or 2 Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 2843 */
metin.ozkan@analog.com 0:788f63dcf0a0 2844 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2845 ADE_SBB_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 2846 ADE_SBB_ENABLED
metin.ozkan@analog.com 0:788f63dcf0a0 2847 }ade_sbb_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2848
metin.ozkan@analog.com 0:788f63dcf0a0 2849 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2850 * @brief Set SIMO Buck-Boost Channel x Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 2851 *
metin.ozkan@analog.com 0:788f63dcf0a0 2852 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2853 * @param[in] ade_sbb SIMO buck-boost channel 2 active-discharge enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2854 *
metin.ozkan@analog.com 0:788f63dcf0a0 2855 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2856 */
metin.ozkan@analog.com 0:788f63dcf0a0 2857 int SetSBBActiveDischargeEnable(uint8_t channel, ade_sbb_t ade_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2858
metin.ozkan@analog.com 0:788f63dcf0a0 2859 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2860 * @brief Get SIMO Buck-Boost Channel x Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 2861 *
metin.ozkan@analog.com 0:788f63dcf0a0 2862 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2863 * @param[out] ade_sbb SIMO buck-boost channel 2 active-discharge enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2864 *
metin.ozkan@analog.com 0:788f63dcf0a0 2865 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2866 */
metin.ozkan@analog.com 0:788f63dcf0a0 2867 int GetSBBActiveDischargeEnable(uint8_t channel, ade_sbb_t *ade_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2868
metin.ozkan@analog.com 0:788f63dcf0a0 2869 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2870 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2871 *
metin.ozkan@analog.com 0:788f63dcf0a0 2872 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2873 * - Register : CNFG_SBB0_B (0x2A), CNFG_SBB1_B (0x2C) (0x2B) and CNFG_SBB2_B (0x2E)
metin.ozkan@analog.com 0:788f63dcf0a0 2874 * - Bit Fields : [5:4]
metin.ozkan@analog.com 0:788f63dcf0a0 2875 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2876 * - Description : Enable Control for SIMO Buck-Boost Channel 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2877 */
metin.ozkan@analog.com 0:788f63dcf0a0 2878 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2879 EN_SBB_FPS_SLOT_0,
metin.ozkan@analog.com 0:788f63dcf0a0 2880 EN_SBB_FPS_SLOT_1,
metin.ozkan@analog.com 0:788f63dcf0a0 2881 EN_SBB_FPS_SLOT_2,
metin.ozkan@analog.com 0:788f63dcf0a0 2882 EN_SBB_FPS_SLOT_3,
metin.ozkan@analog.com 0:788f63dcf0a0 2883 EN_SBB_OFF,
metin.ozkan@analog.com 0:788f63dcf0a0 2884 EN_SBB_SAME_AS_0X04,
metin.ozkan@analog.com 0:788f63dcf0a0 2885 EN_SBB_ON,
metin.ozkan@analog.com 0:788f63dcf0a0 2886 EN_SBB_SAME_AS_0X06,
metin.ozkan@analog.com 0:788f63dcf0a0 2887 }en_sbb_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2888
metin.ozkan@analog.com 0:788f63dcf0a0 2889 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2890 * @brief Set Enable Control for SIMO Buck-Boost Channel x.
metin.ozkan@analog.com 0:788f63dcf0a0 2891 *
metin.ozkan@analog.com 0:788f63dcf0a0 2892 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2893 * @param[in] en_sbb Enable control for SIMO buck-boost channel x field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2894 *
metin.ozkan@analog.com 0:788f63dcf0a0 2895 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2896 */
metin.ozkan@analog.com 0:788f63dcf0a0 2897 int SetSBBEnableControl(uint8_t channel, en_sbb_t en_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2898
metin.ozkan@analog.com 0:788f63dcf0a0 2899 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2900 * @brief Get Enable Control for SIMO Buck-Boost Channel x.
metin.ozkan@analog.com 0:788f63dcf0a0 2901 *
metin.ozkan@analog.com 0:788f63dcf0a0 2902 * @param[in] channel Channel number: 0, 1 or 2.
metin.ozkan@analog.com 0:788f63dcf0a0 2903 * @param[out] en_sbb Enable control for SIMO buck-boost channel x field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2904 *
metin.ozkan@analog.com 0:788f63dcf0a0 2905 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2906 */
metin.ozkan@analog.com 0:788f63dcf0a0 2907 int GetSBBEnableControl(uint8_t channel, en_sbb_t *en_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2908
metin.ozkan@analog.com 0:788f63dcf0a0 2909 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2910 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2911 *
metin.ozkan@analog.com 0:788f63dcf0a0 2912 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2913 * - Register : CNFG_SBB_TOP (0x2F)
metin.ozkan@analog.com 0:788f63dcf0a0 2914 * - Bit Fields : [7]
metin.ozkan@analog.com 0:788f63dcf0a0 2915 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2916 * - Description : Changes how CNFG_CHG_B.ICHGIN_LIM is interpreted.
metin.ozkan@analog.com 0:788f63dcf0a0 2917 */
metin.ozkan@analog.com 0:788f63dcf0a0 2918 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2919 ICHIN_LIM_AMP_95MA,
metin.ozkan@analog.com 0:788f63dcf0a0 2920 ICHIN_LIM_AMP_475MA
metin.ozkan@analog.com 0:788f63dcf0a0 2921 }ichgin_lim_def_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2922
metin.ozkan@analog.com 0:788f63dcf0a0 2923 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2924 * @brief Set Changes how CNFG_CHG_B.ICHGIN_LIM is interpreted.
metin.ozkan@analog.com 0:788f63dcf0a0 2925 *
metin.ozkan@analog.com 0:788f63dcf0a0 2926 * @param[in] ichgin_lim_def CNFG_CHG_B.ICHGIN_LIM bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2927 *
metin.ozkan@analog.com 0:788f63dcf0a0 2928 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2929 */
metin.ozkan@analog.com 0:788f63dcf0a0 2930 int SetCHGINInputCurrentLimit(ichgin_lim_def_t ichgin_lim_def);
metin.ozkan@analog.com 0:788f63dcf0a0 2931
metin.ozkan@analog.com 0:788f63dcf0a0 2932 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2933 * @brief Get Changes how CNFG_CHG_B.ICHGIN_LIM is interpreted.
metin.ozkan@analog.com 0:788f63dcf0a0 2934 *
metin.ozkan@analog.com 0:788f63dcf0a0 2935 * @param[out] ichgin_lim_def CNFG_CHG_B.ICHGIN_LIM bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2936 *
metin.ozkan@analog.com 0:788f63dcf0a0 2937 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2938 */
metin.ozkan@analog.com 0:788f63dcf0a0 2939 int GetCHGINInputCurrentLimit(ichgin_lim_def_t *ichgin_lim_def);
metin.ozkan@analog.com 0:788f63dcf0a0 2940
metin.ozkan@analog.com 0:788f63dcf0a0 2941 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2942 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2943 *
metin.ozkan@analog.com 0:788f63dcf0a0 2944 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2945 * - Register : CNFG_SBB_TOP (0x2F)
metin.ozkan@analog.com 0:788f63dcf0a0 2946 * - Bit Fields : [1:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2947 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2948 * - Description : SIMO Buck-Boost (all channels) Drive Strength Trim.
metin.ozkan@analog.com 0:788f63dcf0a0 2949 */
metin.ozkan@analog.com 0:788f63dcf0a0 2950 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2951 DRV_SBB_FASTEST_TRANSITION_TIME,
metin.ozkan@analog.com 0:788f63dcf0a0 2952 DRV_SBB_A_LITTLE_SLOWER_THAN_0X00,
metin.ozkan@analog.com 0:788f63dcf0a0 2953 DRV_SBB_A_LITTLE_SLOWER_THAN_0X01,
metin.ozkan@analog.com 0:788f63dcf0a0 2954 DRV_SBB_A_LITTLE_SLOWER_THAN_0X02
metin.ozkan@analog.com 0:788f63dcf0a0 2955 }drv_sbb_t;
metin.ozkan@analog.com 0:788f63dcf0a0 2956
metin.ozkan@analog.com 0:788f63dcf0a0 2957 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2958 * @brief Set SIMO Buck-Boost (all channels) Drive Strength Trim.
metin.ozkan@analog.com 0:788f63dcf0a0 2959 *
metin.ozkan@analog.com 0:788f63dcf0a0 2960 * @param[in] drv_sbb SIMO buck-boost drive strength trim field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 2961 *
metin.ozkan@analog.com 0:788f63dcf0a0 2962 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2963 */
metin.ozkan@analog.com 0:788f63dcf0a0 2964 int SetSBBDriveStrength(drv_sbb_t drv_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2965
metin.ozkan@analog.com 0:788f63dcf0a0 2966 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2967 * @brief Get SIMO Buck-Boost (all channels) Drive Strength Trim.
metin.ozkan@analog.com 0:788f63dcf0a0 2968 *
metin.ozkan@analog.com 0:788f63dcf0a0 2969 * @param[out] drv_sbb SIMO buck-boost drive strength trim field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 2970 *
metin.ozkan@analog.com 0:788f63dcf0a0 2971 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 2972 */
metin.ozkan@analog.com 0:788f63dcf0a0 2973 int GetSBBDriveStrength(drv_sbb_t *drv_sbb);
metin.ozkan@analog.com 0:788f63dcf0a0 2974
metin.ozkan@analog.com 0:788f63dcf0a0 2975 /**
metin.ozkan@analog.com 0:788f63dcf0a0 2976 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 2977 *
metin.ozkan@analog.com 0:788f63dcf0a0 2978 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 2979 * - Register : CNFG_LDO0_A (0x38) and CNFG_LDO1_A (0x3A)
metin.ozkan@analog.com 0:788f63dcf0a0 2980 * - Bit Fields : [6:0]
metin.ozkan@analog.com 0:788f63dcf0a0 2981 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 2982 * - Description : LDO Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 2983 */
metin.ozkan@analog.com 0:788f63dcf0a0 2984 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 2985 TV_LDO_VOLT_0_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 2986 TV_LDO_VOLT_0_825V,
metin.ozkan@analog.com 0:788f63dcf0a0 2987 TV_LDO_VOLT_0_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 2988 TV_LDO_VOLT_0_875V,
metin.ozkan@analog.com 0:788f63dcf0a0 2989 TV_LDO_VOLT_0_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 2990 TV_LDO_VOLT_0_925V,
metin.ozkan@analog.com 0:788f63dcf0a0 2991 TV_LDO_VOLT_0_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 2992 TV_LDO_VOLT_0_975V,
metin.ozkan@analog.com 0:788f63dcf0a0 2993 TV_LDO_VOLT_1_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 2994 TV_LDO_VOLT_1_025V,
metin.ozkan@analog.com 0:788f63dcf0a0 2995 TV_LDO_VOLT_1_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 2996 TV_LDO_VOLT_1_075V,
metin.ozkan@analog.com 0:788f63dcf0a0 2997 TV_LDO_VOLT_1_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 2998 TV_LDO_VOLT_1_125V,
metin.ozkan@analog.com 0:788f63dcf0a0 2999 TV_LDO_VOLT_1_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 3000 TV_LDO_VOLT_1_175V,
metin.ozkan@analog.com 0:788f63dcf0a0 3001 TV_LDO_VOLT_1_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 3002 TV_LDO_VOLT_1_225V,
metin.ozkan@analog.com 0:788f63dcf0a0 3003 TV_LDO_VOLT_1_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 3004 TV_LDO_VOLT_1_275V,
metin.ozkan@analog.com 0:788f63dcf0a0 3005 TV_LDO_VOLT_1_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 3006 TV_LDO_VOLT_1_325V,
metin.ozkan@analog.com 0:788f63dcf0a0 3007 TV_LDO_VOLT_1_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 3008 TV_LDO_VOLT_1_375V,
metin.ozkan@analog.com 0:788f63dcf0a0 3009 TV_LDO_VOLT_1_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 3010 TV_LDO_VOLT_1_425V,
metin.ozkan@analog.com 0:788f63dcf0a0 3011 TV_LDO_VOLT_1_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 3012 TV_LDO_VOLT_1_475V,
metin.ozkan@analog.com 0:788f63dcf0a0 3013 TV_LDO_VOLT_1_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 3014 TV_LDO_VOLT_1_525V,
metin.ozkan@analog.com 0:788f63dcf0a0 3015 TV_LDO_VOLT_1_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 3016 TV_LDO_VOLT_1_575V,
metin.ozkan@analog.com 0:788f63dcf0a0 3017 TV_LDO_VOLT_1_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 3018 TV_LDO_VOLT_1_625V,
metin.ozkan@analog.com 0:788f63dcf0a0 3019 TV_LDO_VOLT_1_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 3020 TV_LDO_VOLT_1_675V,
metin.ozkan@analog.com 0:788f63dcf0a0 3021 TV_LDO_VOLT_1_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 3022 TV_LDO_VOLT_1_725V,
metin.ozkan@analog.com 0:788f63dcf0a0 3023 TV_LDO_VOLT_1_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 3024 TV_LDO_VOLT_1_775V,
metin.ozkan@analog.com 0:788f63dcf0a0 3025 TV_LDO_VOLT_1_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 3026 TV_LDO_VOLT_1_825V,
metin.ozkan@analog.com 0:788f63dcf0a0 3027 TV_LDO_VOLT_1_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 3028 TV_LDO_VOLT_1_875V,
metin.ozkan@analog.com 0:788f63dcf0a0 3029 TV_LDO_VOLT_1_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 3030 TV_LDO_VOLT_1_925V,
metin.ozkan@analog.com 0:788f63dcf0a0 3031 TV_LDO_VOLT_1_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 3032 TV_LDO_VOLT_1_975V,
metin.ozkan@analog.com 0:788f63dcf0a0 3033 TV_LDO_VOLT_2_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 3034 TV_LDO_VOLT_2_025V,
metin.ozkan@analog.com 0:788f63dcf0a0 3035 TV_LDO_VOLT_2_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 3036 TV_LDO_VOLT_2_075V,
metin.ozkan@analog.com 0:788f63dcf0a0 3037 TV_LDO_VOLT_2_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 3038 TV_LDO_VOLT_2_125V,
metin.ozkan@analog.com 0:788f63dcf0a0 3039 TV_LDO_VOLT_2_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 3040 TV_LDO_VOLT_2_175V,
metin.ozkan@analog.com 0:788f63dcf0a0 3041 TV_LDO_VOLT_2_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 3042 TV_LDO_VOLT_2_225V,
metin.ozkan@analog.com 0:788f63dcf0a0 3043 TV_LDO_VOLT_2_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 3044 TV_LDO_VOLT_2_275V,
metin.ozkan@analog.com 0:788f63dcf0a0 3045 TV_LDO_VOLT_2_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 3046 TV_LDO_VOLT_2_325V,
metin.ozkan@analog.com 0:788f63dcf0a0 3047 TV_LDO_VOLT_2_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 3048 TV_LDO_VOLT_2_375V,
metin.ozkan@analog.com 0:788f63dcf0a0 3049 TV_LDO_VOLT_2_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 3050 TV_LDO_VOLT_2_425V,
metin.ozkan@analog.com 0:788f63dcf0a0 3051 TV_LDO_VOLT_2_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 3052 TV_LDO_VOLT_2_475V,
metin.ozkan@analog.com 0:788f63dcf0a0 3053 TV_LDO_VOLT_2_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 3054 TV_LDO_VOLT_2_525V,
metin.ozkan@analog.com 0:788f63dcf0a0 3055 TV_LDO_VOLT_2_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 3056 TV_LDO_VOLT_2_575V,
metin.ozkan@analog.com 0:788f63dcf0a0 3057 TV_LDO_VOLT_2_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 3058 TV_LDO_VOLT_2_625V,
metin.ozkan@analog.com 0:788f63dcf0a0 3059 TV_LDO_VOLT_2_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 3060 TV_LDO_VOLT_2_675V,
metin.ozkan@analog.com 0:788f63dcf0a0 3061 TV_LDO_VOLT_2_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 3062 TV_LDO_VOLT_2_725V,
metin.ozkan@analog.com 0:788f63dcf0a0 3063 TV_LDO_VOLT_2_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 3064 TV_LDO_VOLT_2_775V,
metin.ozkan@analog.com 0:788f63dcf0a0 3065 TV_LDO_VOLT_2_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 3066 TV_LDO_VOLT_2_825V,
metin.ozkan@analog.com 0:788f63dcf0a0 3067 TV_LDO_VOLT_2_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 3068 TV_LDO_VOLT_2_875V,
metin.ozkan@analog.com 0:788f63dcf0a0 3069 TV_LDO_VOLT_2_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 3070 TV_LDO_VOLT_2_925V,
metin.ozkan@analog.com 0:788f63dcf0a0 3071 TV_LDO_VOLT_2_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 3072 TV_LDO_VOLT_2_975V,
metin.ozkan@analog.com 0:788f63dcf0a0 3073 TV_LDO_VOLT_3_000V,
metin.ozkan@analog.com 0:788f63dcf0a0 3074 TV_LDO_VOLT_3_025V,
metin.ozkan@analog.com 0:788f63dcf0a0 3075 TV_LDO_VOLT_3_050V,
metin.ozkan@analog.com 0:788f63dcf0a0 3076 TV_LDO_VOLT_3_075V,
metin.ozkan@analog.com 0:788f63dcf0a0 3077 TV_LDO_VOLT_3_100V,
metin.ozkan@analog.com 0:788f63dcf0a0 3078 TV_LDO_VOLT_3_125V,
metin.ozkan@analog.com 0:788f63dcf0a0 3079 TV_LDO_VOLT_3_150V,
metin.ozkan@analog.com 0:788f63dcf0a0 3080 TV_LDO_VOLT_3_175V,
metin.ozkan@analog.com 0:788f63dcf0a0 3081 TV_LDO_VOLT_3_200V,
metin.ozkan@analog.com 0:788f63dcf0a0 3082 TV_LDO_VOLT_3_225V,
metin.ozkan@analog.com 0:788f63dcf0a0 3083 TV_LDO_VOLT_3_250V,
metin.ozkan@analog.com 0:788f63dcf0a0 3084 TV_LDO_VOLT_3_275V,
metin.ozkan@analog.com 0:788f63dcf0a0 3085 TV_LDO_VOLT_3_300V,
metin.ozkan@analog.com 0:788f63dcf0a0 3086 TV_LDO_VOLT_3_325V,
metin.ozkan@analog.com 0:788f63dcf0a0 3087 TV_LDO_VOLT_3_350V,
metin.ozkan@analog.com 0:788f63dcf0a0 3088 TV_LDO_VOLT_3_375V,
metin.ozkan@analog.com 0:788f63dcf0a0 3089 TV_LDO_VOLT_3_400V,
metin.ozkan@analog.com 0:788f63dcf0a0 3090 TV_LDO_VOLT_3_425V,
metin.ozkan@analog.com 0:788f63dcf0a0 3091 TV_LDO_VOLT_3_450V,
metin.ozkan@analog.com 0:788f63dcf0a0 3092 TV_LDO_VOLT_3_475V,
metin.ozkan@analog.com 0:788f63dcf0a0 3093 TV_LDO_VOLT_3_500V,
metin.ozkan@analog.com 0:788f63dcf0a0 3094 TV_LDO_VOLT_3_525V,
metin.ozkan@analog.com 0:788f63dcf0a0 3095 TV_LDO_VOLT_3_550V,
metin.ozkan@analog.com 0:788f63dcf0a0 3096 TV_LDO_VOLT_3_575V,
metin.ozkan@analog.com 0:788f63dcf0a0 3097 TV_LDO_VOLT_3_600V,
metin.ozkan@analog.com 0:788f63dcf0a0 3098 TV_LDO_VOLT_3_625V,
metin.ozkan@analog.com 0:788f63dcf0a0 3099 TV_LDO_VOLT_3_650V,
metin.ozkan@analog.com 0:788f63dcf0a0 3100 TV_LDO_VOLT_3_675V,
metin.ozkan@analog.com 0:788f63dcf0a0 3101 TV_LDO_VOLT_3_700V,
metin.ozkan@analog.com 0:788f63dcf0a0 3102 TV_LDO_VOLT_3_725V,
metin.ozkan@analog.com 0:788f63dcf0a0 3103 TV_LDO_VOLT_3_750V,
metin.ozkan@analog.com 0:788f63dcf0a0 3104 TV_LDO_VOLT_3_775V,
metin.ozkan@analog.com 0:788f63dcf0a0 3105 TV_LDO_VOLT_3_800V,
metin.ozkan@analog.com 0:788f63dcf0a0 3106 TV_LDO_VOLT_3_825V,
metin.ozkan@analog.com 0:788f63dcf0a0 3107 TV_LDO_VOLT_3_850V,
metin.ozkan@analog.com 0:788f63dcf0a0 3108 TV_LDO_VOLT_3_875V,
metin.ozkan@analog.com 0:788f63dcf0a0 3109 TV_LDO_VOLT_3_900V,
metin.ozkan@analog.com 0:788f63dcf0a0 3110 TV_LDO_VOLT_3_925V,
metin.ozkan@analog.com 0:788f63dcf0a0 3111 TV_LDO_VOLT_3_950V,
metin.ozkan@analog.com 0:788f63dcf0a0 3112 TV_LDO_VOLT_3_975V
metin.ozkan@analog.com 0:788f63dcf0a0 3113 }tv_ldo_t;
metin.ozkan@analog.com 0:788f63dcf0a0 3114
metin.ozkan@analog.com 0:788f63dcf0a0 3115 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3116 * @brief Set LDO Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 3117 *
metin.ozkan@analog.com 0:788f63dcf0a0 3118 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3119 * @param[in] tv_ldo LDO target output voltage field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 3120 *
metin.ozkan@analog.com 0:788f63dcf0a0 3121 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3122 */
metin.ozkan@analog.com 0:788f63dcf0a0 3123 int SetLDOTargetOutVoltage(uint8_t channel, tv_ldo_t tv_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3124
metin.ozkan@analog.com 0:788f63dcf0a0 3125 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3126 * @brief Get LDO Target Output Voltage.
metin.ozkan@analog.com 0:788f63dcf0a0 3127 *
metin.ozkan@analog.com 0:788f63dcf0a0 3128 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3129 * @param[out] tv_ldo LDO target output voltage field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 3130 *
metin.ozkan@analog.com 0:788f63dcf0a0 3131 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3132 */
metin.ozkan@analog.com 0:788f63dcf0a0 3133 int GetLDOTargetOutVoltage(uint8_t channel, tv_ldo_t *tv_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3134
metin.ozkan@analog.com 0:788f63dcf0a0 3135 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3136 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 3137 *
metin.ozkan@analog.com 0:788f63dcf0a0 3138 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 3139 * - Register : CNFG_LDO0_B (0x39) and CNFG_LDO1_B (0x3B)
metin.ozkan@analog.com 0:788f63dcf0a0 3140 * - Bit Fields : [4]
metin.ozkan@analog.com 0:788f63dcf0a0 3141 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 3142 * - Description : Operation Mode of LDO0 or 1.
metin.ozkan@analog.com 0:788f63dcf0a0 3143 */
metin.ozkan@analog.com 0:788f63dcf0a0 3144 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 3145 LDO_MD_LDO_MODE,
metin.ozkan@analog.com 0:788f63dcf0a0 3146 LDO_MD_LSW_MODE
metin.ozkan@analog.com 0:788f63dcf0a0 3147 }ldo_md_t;
metin.ozkan@analog.com 0:788f63dcf0a0 3148
metin.ozkan@analog.com 0:788f63dcf0a0 3149 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3150 * @brief Set Operation Mode of LDOx.
metin.ozkan@analog.com 0:788f63dcf0a0 3151 *
metin.ozkan@analog.com 0:788f63dcf0a0 3152 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3153 * @param[in] ldo_md Operation mode of LDOx bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 3154 *
metin.ozkan@analog.com 0:788f63dcf0a0 3155 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3156 */
metin.ozkan@analog.com 0:788f63dcf0a0 3157 int SetLDOMode(uint8_t channel, ldo_md_t ldo_md);
metin.ozkan@analog.com 0:788f63dcf0a0 3158
metin.ozkan@analog.com 0:788f63dcf0a0 3159 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3160 * @brief Get Operation Mode of LDOx.
metin.ozkan@analog.com 0:788f63dcf0a0 3161 *
metin.ozkan@analog.com 0:788f63dcf0a0 3162 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3163 * @param[out] ldo_md Operation mode of LDOx bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 3164 *
metin.ozkan@analog.com 0:788f63dcf0a0 3165 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3166 */
metin.ozkan@analog.com 0:788f63dcf0a0 3167 int GetLDOMode(uint8_t channel, ldo_md_t *ldo_md);
metin.ozkan@analog.com 0:788f63dcf0a0 3168
metin.ozkan@analog.com 0:788f63dcf0a0 3169 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3170 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 3171 *
metin.ozkan@analog.com 0:788f63dcf0a0 3172 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 3173 * - Register : CNFG_LDO0_B (0x39) and CNFG_LDO1_B (0x3B)
metin.ozkan@analog.com 0:788f63dcf0a0 3174 * - Bit Fields : [3]
metin.ozkan@analog.com 0:788f63dcf0a0 3175 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 3176 * - Description : LDO0 or 1 Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 3177 */
metin.ozkan@analog.com 0:788f63dcf0a0 3178 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 3179 ADE_LDO_DISABLED,
metin.ozkan@analog.com 0:788f63dcf0a0 3180 ADE_LDO_ENABLED
metin.ozkan@analog.com 0:788f63dcf0a0 3181 }ade_ldo_t;
metin.ozkan@analog.com 0:788f63dcf0a0 3182
metin.ozkan@analog.com 0:788f63dcf0a0 3183 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3184 * @brief Set LDOx Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 3185 *
metin.ozkan@analog.com 0:788f63dcf0a0 3186 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3187 * @param[in] ade_ldo LDOx active-discharge enable bit to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 3188 *
metin.ozkan@analog.com 0:788f63dcf0a0 3189 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3190 */
metin.ozkan@analog.com 0:788f63dcf0a0 3191 int SetLDOActiveDischargeEnable(uint8_t channel, ade_ldo_t ade_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3192
metin.ozkan@analog.com 0:788f63dcf0a0 3193 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3194 * @brief Get LDOx Active-Discharge Enable.
metin.ozkan@analog.com 0:788f63dcf0a0 3195 *
metin.ozkan@analog.com 0:788f63dcf0a0 3196 * @param[in] channel Channel number: 0 or 1
metin.ozkan@analog.com 0:788f63dcf0a0 3197 * @param[out] ade_ldo LDOx active-discharge enable bit to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 3198 *
metin.ozkan@analog.com 0:788f63dcf0a0 3199 * @return 0 on success, error code on failure.
metin.ozkan@analog.com 0:788f63dcf0a0 3200 */
metin.ozkan@analog.com 0:788f63dcf0a0 3201 int GetLDOActiveDischargeEnable(uint8_t channel, ade_ldo_t *ade_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3202
metin.ozkan@analog.com 0:788f63dcf0a0 3203 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3204 * @brief Register Configuration
metin.ozkan@analog.com 0:788f63dcf0a0 3205 *
metin.ozkan@analog.com 0:788f63dcf0a0 3206 * @details
metin.ozkan@analog.com 0:788f63dcf0a0 3207 * - Register : CNFG_LDO0_B (0x39) and CNFG_LDO1_B (0x3B)
metin.ozkan@analog.com 0:788f63dcf0a0 3208 * - Bit Fields : [2:0]
metin.ozkan@analog.com 0:788f63dcf0a0 3209 * - Default : 0x0
metin.ozkan@analog.com 0:788f63dcf0a0 3210 * - Description : Enable Control for LDO0 or 1.
metin.ozkan@analog.com 0:788f63dcf0a0 3211 */
metin.ozkan@analog.com 0:788f63dcf0a0 3212 typedef enum {
metin.ozkan@analog.com 0:788f63dcf0a0 3213 EN_LDO_FPS_SLOT_0,
metin.ozkan@analog.com 0:788f63dcf0a0 3214 EN_LDO_FPS_SLOT_1,
metin.ozkan@analog.com 0:788f63dcf0a0 3215 EN_LDO_FPS_SLOT_2,
metin.ozkan@analog.com 0:788f63dcf0a0 3216 EN_LDO_FPS_SLOT_3,
metin.ozkan@analog.com 0:788f63dcf0a0 3217 EN_LDO_OFF,
metin.ozkan@analog.com 0:788f63dcf0a0 3218 EN_LDO_SAME_AS_0X04,
metin.ozkan@analog.com 0:788f63dcf0a0 3219 EN_LDO_ON,
metin.ozkan@analog.com 0:788f63dcf0a0 3220 EN_LDO_SAME_AS_0X06,
metin.ozkan@analog.com 0:788f63dcf0a0 3221 }en_ldo_t;
metin.ozkan@analog.com 0:788f63dcf0a0 3222
metin.ozkan@analog.com 0:788f63dcf0a0 3223 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3224 * @brief Set Enable Control for LDOx.
metin.ozkan@analog.com 0:788f63dcf0a0 3225 *
metin.ozkan@analog.com 0:788f63dcf0a0 3226 * @param[in] channel Channel number: 0 or 1.
metin.ozkan@analog.com 0:788f63dcf0a0 3227 * @param[in] en_ldo Enable control for LDOx field to be written.
metin.ozkan@analog.com 0:788f63dcf0a0 3228 *
metin.ozkan@analog.com 0:788f63dcf0a0 3229 * @return 0 on success, error code on failure
metin.ozkan@analog.com 0:788f63dcf0a0 3230 */
metin.ozkan@analog.com 0:788f63dcf0a0 3231 int SetLDOEnableControl(uint8_t channel, en_ldo_t en_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3232
metin.ozkan@analog.com 0:788f63dcf0a0 3233 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3234 * @brief Get Enable Control for LDOx.
metin.ozkan@analog.com 0:788f63dcf0a0 3235 *
metin.ozkan@analog.com 0:788f63dcf0a0 3236 * @param[in] channel Channel number: 0 or 1.
metin.ozkan@analog.com 0:788f63dcf0a0 3237 * @param[in] en_ldo Enable control for LDOx field to be read.
metin.ozkan@analog.com 0:788f63dcf0a0 3238 *
metin.ozkan@analog.com 0:788f63dcf0a0 3239 * @return 0 on success, error code on failure
metin.ozkan@analog.com 0:788f63dcf0a0 3240 */
metin.ozkan@analog.com 0:788f63dcf0a0 3241 int GetLDOEnableControl(uint8_t channel, en_ldo_t *en_ldo);
metin.ozkan@analog.com 0:788f63dcf0a0 3242
metin.ozkan@analog.com 0:788f63dcf0a0 3243 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3244 * @brief Disable all interrupts
metin.ozkan@analog.com 0:788f63dcf0a0 3245 *
metin.ozkan@analog.com 0:788f63dcf0a0 3246 * @return 0 on success, error code on failure
metin.ozkan@analog.com 0:788f63dcf0a0 3247 */
metin.ozkan@analog.com 0:788f63dcf0a0 3248 int IRQDisableAll();
metin.ozkan@analog.com 0:788f63dcf0a0 3249
metin.ozkan@analog.com 0:788f63dcf0a0 3250 /**
metin.ozkan@analog.com 0:788f63dcf0a0 3251 * @brief Set Interrupt Handler for a Specific Interrupt ID.
metin.ozkan@analog.com 0:788f63dcf0a0 3252 *
metin.ozkan@analog.com 0:788f63dcf0a0 3253 * @param[in] id Interrupt id, one of INTR_ID_*.
metin.ozkan@analog.com 0:788f63dcf0a0 3254 * @param[in] func Interrupt handler function.
metin.ozkan@analog.com 0:788f63dcf0a0 3255 * @param[in] cb Interrupt handler data.
metin.ozkan@analog.com 0:788f63dcf0a0 3256 */
metin.ozkan@analog.com 0:788f63dcf0a0 3257 void SetInterruptHandler(int_glbl_t id, interrupt_handler_function func, void *cb);
metin.ozkan@analog.com 0:788f63dcf0a0 3258 };
metin.ozkan@analog.com 0:788f63dcf0a0 3259 #endif /*_MAX77654_H_*/