MAX77654 Ultra-Low Power PMIC Mbed Driver

Committer:
Okan Sahin
Date:
Fri Aug 26 14:57:06 2022 +0300
Revision:
4:77203c01b399
Parent:
1:4ad70542956e
fix interrupt_handler_list

use number of interrupts as a size of array.
initialize with NULL.

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