1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * DA9150 MFD Driver - Registers 4 * 5 * Copyright (c) 2014 Dialog Semiconductor 6 * 7 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> 8 */ 9 10#ifndef __DA9150_REGISTERS_H 11#define __DA9150_REGISTERS_H 12 13#include <linux/bitops.h> 14 15/* Registers */ 16#define DA9150_PAGE_CON 0x000 17#define DA9150_STATUS_A 0x068 18#define DA9150_STATUS_B 0x069 19#define DA9150_STATUS_C 0x06A 20#define DA9150_STATUS_D 0x06B 21#define DA9150_STATUS_E 0x06C 22#define DA9150_STATUS_F 0x06D 23#define DA9150_STATUS_G 0x06E 24#define DA9150_STATUS_H 0x06F 25#define DA9150_STATUS_I 0x070 26#define DA9150_STATUS_J 0x071 27#define DA9150_STATUS_K 0x072 28#define DA9150_STATUS_L 0x073 29#define DA9150_STATUS_N 0x074 30#define DA9150_FAULT_LOG_A 0x076 31#define DA9150_FAULT_LOG_B 0x077 32#define DA9150_EVENT_E 0x078 33#define DA9150_EVENT_F 0x079 34#define DA9150_EVENT_G 0x07A 35#define DA9150_EVENT_H 0x07B 36#define DA9150_IRQ_MASK_E 0x07C 37#define DA9150_IRQ_MASK_F 0x07D 38#define DA9150_IRQ_MASK_G 0x07E 39#define DA9150_IRQ_MASK_H 0x07F 40#define DA9150_PAGE_CON_1 0x080 41#define DA9150_CONFIG_A 0x0E0 42#define DA9150_CONFIG_B 0x0E1 43#define DA9150_CONFIG_C 0x0E2 44#define DA9150_CONFIG_D 0x0E3 45#define DA9150_CONFIG_E 0x0E4 46#define DA9150_CONTROL_A 0x0E5 47#define DA9150_CONTROL_B 0x0E6 48#define DA9150_CONTROL_C 0x0E7 49#define DA9150_GPIO_A_B 0x0E8 50#define DA9150_GPIO_C_D 0x0E9 51#define DA9150_GPIO_MODE_CONT 0x0EA 52#define DA9150_GPIO_CTRL_B 0x0EB 53#define DA9150_GPIO_CTRL_A 0x0EC 54#define DA9150_GPIO_CTRL_C 0x0ED 55#define DA9150_GPIO_CFG_A 0x0EE 56#define DA9150_GPIO_CFG_B 0x0EF 57#define DA9150_GPIO_CFG_C 0x0F0 58#define DA9150_GPADC_MAN 0x0F2 59#define DA9150_GPADC_RES_A 0x0F4 60#define DA9150_GPADC_RES_B 0x0F5 61#define DA9150_PAGE_CON_2 0x100 62#define DA9150_OTP_CONT_SHARED 0x101 63#define DA9150_INTERFACE_SHARED 0x105 64#define DA9150_CONFIG_A_SHARED 0x106 65#define DA9150_CONFIG_D_SHARED 0x109 66#define DA9150_ADETVB_CFG_C 0x150 67#define DA9150_ADETD_STAT 0x151 68#define DA9150_ADET_CMPSTAT 0x152 69#define DA9150_ADET_CTRL_A 0x153 70#define DA9150_ADETVB_CFG_B 0x154 71#define DA9150_ADETVB_CFG_A 0x155 72#define DA9150_ADETAC_CFG_A 0x156 73#define DA9150_ADDETAC_CFG_B 0x157 74#define DA9150_ADETAC_CFG_C 0x158 75#define DA9150_ADETAC_CFG_D 0x159 76#define DA9150_ADETVB_CFG_D 0x15A 77#define DA9150_ADETID_CFG_A 0x15B 78#define DA9150_ADET_RID_PT_CHG_H 0x15C 79#define DA9150_ADET_RID_PT_CHG_L 0x15D 80#define DA9150_PPR_TCTR_B 0x160 81#define DA9150_PPR_BKCTRL_A 0x163 82#define DA9150_PPR_BKCFG_A 0x164 83#define DA9150_PPR_BKCFG_B 0x165 84#define DA9150_PPR_CHGCTRL_A 0x166 85#define DA9150_PPR_CHGCTRL_B 0x167 86#define DA9150_PPR_CHGCTRL_C 0x168 87#define DA9150_PPR_TCTR_A 0x169 88#define DA9150_PPR_CHGCTRL_D 0x16A 89#define DA9150_PPR_CHGCTRL_E 0x16B 90#define DA9150_PPR_CHGCTRL_F 0x16C 91#define DA9150_PPR_CHGCTRL_G 0x16D 92#define DA9150_PPR_CHGCTRL_H 0x16E 93#define DA9150_PPR_CHGCTRL_I 0x16F 94#define DA9150_PPR_CHGCTRL_J 0x170 95#define DA9150_PPR_CHGCTRL_K 0x171 96#define DA9150_PPR_CHGCTRL_L 0x172 97#define DA9150_PPR_CHGCTRL_M 0x173 98#define DA9150_PPR_THYST_A 0x174 99#define DA9150_PPR_THYST_B 0x175 100#define DA9150_PPR_THYST_C 0x176 101#define DA9150_PPR_THYST_D 0x177 102#define DA9150_PPR_THYST_E 0x178 103#define DA9150_PPR_THYST_F 0x179 104#define DA9150_PPR_THYST_G 0x17A 105#define DA9150_PAGE_CON_3 0x180 106#define DA9150_PAGE_CON_4 0x200 107#define DA9150_PAGE_CON_5 0x280 108#define DA9150_PAGE_CON_6 0x300 109#define DA9150_COREBTLD_STAT_A 0x302 110#define DA9150_COREBTLD_CTRL_A 0x303 111#define DA9150_CORE_CONFIG_A 0x304 112#define DA9150_CORE_CONFIG_C 0x305 113#define DA9150_CORE_CONFIG_B 0x306 114#define DA9150_CORE_CFG_DATA_A 0x307 115#define DA9150_CORE_CFG_DATA_B 0x308 116#define DA9150_CORE_CMD_A 0x309 117#define DA9150_CORE_DATA_A 0x30A 118#define DA9150_CORE_DATA_B 0x30B 119#define DA9150_CORE_DATA_C 0x30C 120#define DA9150_CORE_DATA_D 0x30D 121#define DA9150_CORE2WIRE_STAT_A 0x310 122#define DA9150_CORE2WIRE_CTRL_A 0x311 123#define DA9150_FW_CTRL_A 0x312 124#define DA9150_FW_CTRL_C 0x313 125#define DA9150_FW_CTRL_D 0x314 126#define DA9150_FG_CTRL_A 0x315 127#define DA9150_FG_CTRL_B 0x316 128#define DA9150_FW_CTRL_E 0x317 129#define DA9150_FW_CTRL_B 0x318 130#define DA9150_GPADC_CMAN 0x320 131#define DA9150_GPADC_CRES_A 0x322 132#define DA9150_GPADC_CRES_B 0x323 133#define DA9150_CC_CFG_A 0x328 134#define DA9150_CC_CFG_B 0x329 135#define DA9150_CC_ICHG_RES_A 0x32A 136#define DA9150_CC_ICHG_RES_B 0x32B 137#define DA9150_CC_IAVG_RES_A 0x32C 138#define DA9150_CC_IAVG_RES_B 0x32D 139#define DA9150_TAUX_CTRL_A 0x330 140#define DA9150_TAUX_RELOAD_H 0x332 141#define DA9150_TAUX_RELOAD_L 0x333 142#define DA9150_TAUX_VALUE_H 0x334 143#define DA9150_TAUX_VALUE_L 0x335 144#define DA9150_AUX_DATA_0 0x338 145#define DA9150_AUX_DATA_1 0x339 146#define DA9150_AUX_DATA_2 0x33A 147#define DA9150_AUX_DATA_3 0x33B 148#define DA9150_BIF_CTRL 0x340 149#define DA9150_TBAT_CTRL_A 0x342 150#define DA9150_TBAT_CTRL_B 0x343 151#define DA9150_TBAT_RES_A 0x344 152#define DA9150_TBAT_RES_B 0x345 153 154/* DA9150_PAGE_CON = 0x000 */ 155#define DA9150_PAGE_SHIFT 0 156#define DA9150_PAGE_MASK (0x3f << 0) 157#define DA9150_I2C_PAGE_SHIFT 1 158#define DA9150_I2C_PAGE_MASK (0x1f << 1) 159#define DA9150_WRITE_MODE_SHIFT 6 160#define DA9150_WRITE_MODE_MASK BIT(6) 161#define DA9150_REVERT_SHIFT 7 162#define DA9150_REVERT_MASK BIT(7) 163 164/* DA9150_STATUS_A = 0x068 */ 165#define DA9150_WKUP_STAT_SHIFT 2 166#define DA9150_WKUP_STAT_MASK (0x0f << 2) 167#define DA9150_SLEEP_STAT_SHIFT 6 168#define DA9150_SLEEP_STAT_MASK (0x03 << 6) 169 170/* DA9150_STATUS_B = 0x069 */ 171#define DA9150_VFAULT_STAT_SHIFT 0 172#define DA9150_VFAULT_STAT_MASK BIT(0) 173#define DA9150_TFAULT_STAT_SHIFT 1 174#define DA9150_TFAULT_STAT_MASK BIT(1) 175 176/* DA9150_STATUS_C = 0x06A */ 177#define DA9150_VDD33_STAT_SHIFT 0 178#define DA9150_VDD33_STAT_MASK BIT(0) 179#define DA9150_VDD33_SLEEP_SHIFT 1 180#define DA9150_VDD33_SLEEP_MASK BIT(1) 181#define DA9150_LFOSC_STAT_SHIFT 7 182#define DA9150_LFOSC_STAT_MASK BIT(7) 183 184/* DA9150_STATUS_D = 0x06B */ 185#define DA9150_GPIOA_STAT_SHIFT 0 186#define DA9150_GPIOA_STAT_MASK BIT(0) 187#define DA9150_GPIOB_STAT_SHIFT 1 188#define DA9150_GPIOB_STAT_MASK BIT(1) 189#define DA9150_GPIOC_STAT_SHIFT 2 190#define DA9150_GPIOC_STAT_MASK BIT(2) 191#define DA9150_GPIOD_STAT_SHIFT 3 192#define DA9150_GPIOD_STAT_MASK BIT(3) 193 194/* DA9150_STATUS_E = 0x06C */ 195#define DA9150_DTYPE_SHIFT 0 196#define DA9150_DTYPE_MASK (0x1f << 0) 197#define DA9150_DTYPE_DT_NIL (0x00 << 0) 198#define DA9150_DTYPE_DT_USB_OTG BIT(0) 199#define DA9150_DTYPE_DT_USB_STD (0x02 << 0) 200#define DA9150_DTYPE_DT_USB_CHG (0x03 << 0) 201#define DA9150_DTYPE_DT_ACA_CHG (0x04 << 0) 202#define DA9150_DTYPE_DT_ACA_OTG (0x05 << 0) 203#define DA9150_DTYPE_DT_ACA_DOC (0x06 << 0) 204#define DA9150_DTYPE_DT_DED_CHG (0x07 << 0) 205#define DA9150_DTYPE_DT_CR5_CHG (0x08 << 0) 206#define DA9150_DTYPE_DT_CR4_CHG (0x0c << 0) 207#define DA9150_DTYPE_DT_PT_CHG (0x11 << 0) 208#define DA9150_DTYPE_DT_NN_ACC (0x16 << 0) 209#define DA9150_DTYPE_DT_NN_CHG (0x17 << 0) 210 211/* DA9150_STATUS_F = 0x06D */ 212#define DA9150_SESS_VLD_SHIFT 0 213#define DA9150_SESS_VLD_MASK BIT(0) 214#define DA9150_ID_ERR_SHIFT 1 215#define DA9150_ID_ERR_MASK BIT(1) 216#define DA9150_PT_CHG_SHIFT 2 217#define DA9150_PT_CHG_MASK BIT(2) 218 219/* DA9150_STATUS_G = 0x06E */ 220#define DA9150_RID_SHIFT 0 221#define DA9150_RID_MASK (0xff << 0) 222 223/* DA9150_STATUS_H = 0x06F */ 224#define DA9150_VBUS_STAT_SHIFT 0 225#define DA9150_VBUS_STAT_MASK (0x07 << 0) 226#define DA9150_VBUS_STAT_OFF (0x00 << 0) 227#define DA9150_VBUS_STAT_WAIT BIT(0) 228#define DA9150_VBUS_STAT_CHG (0x02 << 0) 229#define DA9150_VBUS_TRED_SHIFT 3 230#define DA9150_VBUS_TRED_MASK BIT(3) 231#define DA9150_VBUS_DROP_STAT_SHIFT 4 232#define DA9150_VBUS_DROP_STAT_MASK (0x0f << 4) 233 234/* DA9150_STATUS_I = 0x070 */ 235#define DA9150_VBUS_ISET_STAT_SHIFT 0 236#define DA9150_VBUS_ISET_STAT_MASK (0x1f << 0) 237#define DA9150_VBUS_OT_SHIFT 7 238#define DA9150_VBUS_OT_MASK BIT(7) 239 240/* DA9150_STATUS_J = 0x071 */ 241#define DA9150_CHG_STAT_SHIFT 0 242#define DA9150_CHG_STAT_MASK (0x0f << 0) 243#define DA9150_CHG_STAT_OFF (0x00 << 0) 244#define DA9150_CHG_STAT_SUSP BIT(0) 245#define DA9150_CHG_STAT_ACT (0x02 << 0) 246#define DA9150_CHG_STAT_PRE (0x03 << 0) 247#define DA9150_CHG_STAT_CC (0x04 << 0) 248#define DA9150_CHG_STAT_CV (0x05 << 0) 249#define DA9150_CHG_STAT_FULL (0x06 << 0) 250#define DA9150_CHG_STAT_TEMP (0x07 << 0) 251#define DA9150_CHG_STAT_TIME (0x08 << 0) 252#define DA9150_CHG_STAT_BAT (0x09 << 0) 253#define DA9150_CHG_TEMP_SHIFT 4 254#define DA9150_CHG_TEMP_MASK (0x07 << 4) 255#define DA9150_CHG_TEMP_UNDER (0x06 << 4) 256#define DA9150_CHG_TEMP_OVER (0x07 << 4) 257#define DA9150_CHG_IEND_STAT_SHIFT 7 258#define DA9150_CHG_IEND_STAT_MASK BIT(7) 259 260/* DA9150_STATUS_K = 0x072 */ 261#define DA9150_CHG_IAV_H_SHIFT 0 262#define DA9150_CHG_IAV_H_MASK (0xff << 0) 263 264/* DA9150_STATUS_L = 0x073 */ 265#define DA9150_CHG_IAV_L_SHIFT 5 266#define DA9150_CHG_IAV_L_MASK (0x07 << 5) 267 268/* DA9150_STATUS_N = 0x074 */ 269#define DA9150_CHG_TIME_SHIFT 1 270#define DA9150_CHG_TIME_MASK BIT(1) 271#define DA9150_CHG_TRED_SHIFT 2 272#define DA9150_CHG_TRED_MASK BIT(2) 273#define DA9150_CHG_TJUNC_CLASS_SHIFT 3 274#define DA9150_CHG_TJUNC_CLASS_MASK (0x07 << 3) 275#define DA9150_CHG_TJUNC_CLASS_6 (0x06 << 3) 276#define DA9150_EBS_STAT_SHIFT 6 277#define DA9150_EBS_STAT_MASK BIT(6) 278#define DA9150_CHG_BAT_REMOVED_SHIFT 7 279#define DA9150_CHG_BAT_REMOVED_MASK BIT(7) 280 281/* DA9150_FAULT_LOG_A = 0x076 */ 282#define DA9150_TEMP_FAULT_SHIFT 0 283#define DA9150_TEMP_FAULT_MASK BIT(0) 284#define DA9150_VSYS_FAULT_SHIFT 1 285#define DA9150_VSYS_FAULT_MASK BIT(1) 286#define DA9150_START_FAULT_SHIFT 2 287#define DA9150_START_FAULT_MASK BIT(2) 288#define DA9150_EXT_FAULT_SHIFT 3 289#define DA9150_EXT_FAULT_MASK BIT(3) 290#define DA9150_POR_FAULT_SHIFT 4 291#define DA9150_POR_FAULT_MASK BIT(4) 292 293/* DA9150_FAULT_LOG_B = 0x077 */ 294#define DA9150_VBUS_FAULT_SHIFT 0 295#define DA9150_VBUS_FAULT_MASK BIT(0) 296#define DA9150_OTG_FAULT_SHIFT 1 297#define DA9150_OTG_FAULT_MASK BIT(1) 298 299/* DA9150_EVENT_E = 0x078 */ 300#define DA9150_E_VBUS_SHIFT 0 301#define DA9150_E_VBUS_MASK BIT(0) 302#define DA9150_E_CHG_SHIFT 1 303#define DA9150_E_CHG_MASK BIT(1) 304#define DA9150_E_TCLASS_SHIFT 2 305#define DA9150_E_TCLASS_MASK BIT(2) 306#define DA9150_E_TJUNC_SHIFT 3 307#define DA9150_E_TJUNC_MASK BIT(3) 308#define DA9150_E_VFAULT_SHIFT 4 309#define DA9150_E_VFAULT_MASK BIT(4) 310#define DA9150_EVENTS_H_SHIFT 5 311#define DA9150_EVENTS_H_MASK BIT(5) 312#define DA9150_EVENTS_G_SHIFT 6 313#define DA9150_EVENTS_G_MASK BIT(6) 314#define DA9150_EVENTS_F_SHIFT 7 315#define DA9150_EVENTS_F_MASK BIT(7) 316 317/* DA9150_EVENT_F = 0x079 */ 318#define DA9150_E_CONF_SHIFT 0 319#define DA9150_E_CONF_MASK BIT(0) 320#define DA9150_E_DAT_SHIFT 1 321#define DA9150_E_DAT_MASK BIT(1) 322#define DA9150_E_DTYPE_SHIFT 3 323#define DA9150_E_DTYPE_MASK BIT(3) 324#define DA9150_E_ID_SHIFT 4 325#define DA9150_E_ID_MASK BIT(4) 326#define DA9150_E_ADP_SHIFT 5 327#define DA9150_E_ADP_MASK BIT(5) 328#define DA9150_E_SESS_END_SHIFT 6 329#define DA9150_E_SESS_END_MASK BIT(6) 330#define DA9150_E_SESS_VLD_SHIFT 7 331#define DA9150_E_SESS_VLD_MASK BIT(7) 332 333/* DA9150_EVENT_G = 0x07A */ 334#define DA9150_E_FG_SHIFT 0 335#define DA9150_E_FG_MASK BIT(0) 336#define DA9150_E_GP_SHIFT 1 337#define DA9150_E_GP_MASK BIT(1) 338#define DA9150_E_TBAT_SHIFT 2 339#define DA9150_E_TBAT_MASK BIT(2) 340#define DA9150_E_GPIOA_SHIFT 3 341#define DA9150_E_GPIOA_MASK BIT(3) 342#define DA9150_E_GPIOB_SHIFT 4 343#define DA9150_E_GPIOB_MASK BIT(4) 344#define DA9150_E_GPIOC_SHIFT 5 345#define DA9150_E_GPIOC_MASK BIT(5) 346#define DA9150_E_GPIOD_SHIFT 6 347#define DA9150_E_GPIOD_MASK BIT(6) 348#define DA9150_E_GPADC_SHIFT 7 349#define DA9150_E_GPADC_MASK BIT(7) 350 351/* DA9150_EVENT_H = 0x07B */ 352#define DA9150_E_WKUP_SHIFT 0 353#define DA9150_E_WKUP_MASK BIT(0) 354 355/* DA9150_IRQ_MASK_E = 0x07C */ 356#define DA9150_M_VBUS_SHIFT 0 357#define DA9150_M_VBUS_MASK BIT(0) 358#define DA9150_M_CHG_SHIFT 1 359#define DA9150_M_CHG_MASK BIT(1) 360#define DA9150_M_TJUNC_SHIFT 3 361#define DA9150_M_TJUNC_MASK BIT(3) 362#define DA9150_M_VFAULT_SHIFT 4 363#define DA9150_M_VFAULT_MASK BIT(4) 364 365/* DA9150_IRQ_MASK_F = 0x07D */ 366#define DA9150_M_CONF_SHIFT 0 367#define DA9150_M_CONF_MASK BIT(0) 368#define DA9150_M_DAT_SHIFT 1 369#define DA9150_M_DAT_MASK BIT(1) 370#define DA9150_M_DTYPE_SHIFT 3 371#define DA9150_M_DTYPE_MASK BIT(3) 372#define DA9150_M_ID_SHIFT 4 373#define DA9150_M_ID_MASK BIT(4) 374#define DA9150_M_ADP_SHIFT 5 375#define DA9150_M_ADP_MASK BIT(5) 376#define DA9150_M_SESS_END_SHIFT 6 377#define DA9150_M_SESS_END_MASK BIT(6) 378#define DA9150_M_SESS_VLD_SHIFT 7 379#define DA9150_M_SESS_VLD_MASK BIT(7) 380 381/* DA9150_IRQ_MASK_G = 0x07E */ 382#define DA9150_M_FG_SHIFT 0 383#define DA9150_M_FG_MASK BIT(0) 384#define DA9150_M_GP_SHIFT 1 385#define DA9150_M_GP_MASK BIT(1) 386#define DA9150_M_TBAT_SHIFT 2 387#define DA9150_M_TBAT_MASK BIT(2) 388#define DA9150_M_GPIOA_SHIFT 3 389#define DA9150_M_GPIOA_MASK BIT(3) 390#define DA9150_M_GPIOB_SHIFT 4 391#define DA9150_M_GPIOB_MASK BIT(4) 392#define DA9150_M_GPIOC_SHIFT 5 393#define DA9150_M_GPIOC_MASK BIT(5) 394#define DA9150_M_GPIOD_SHIFT 6 395#define DA9150_M_GPIOD_MASK BIT(6) 396#define DA9150_M_GPADC_SHIFT 7 397#define DA9150_M_GPADC_MASK BIT(7) 398 399/* DA9150_IRQ_MASK_H = 0x07F */ 400#define DA9150_M_WKUP_SHIFT 0 401#define DA9150_M_WKUP_MASK BIT(0) 402 403/* DA9150_PAGE_CON_1 = 0x080 */ 404#define DA9150_PAGE_SHIFT 0 405#define DA9150_PAGE_MASK (0x3f << 0) 406#define DA9150_WRITE_MODE_SHIFT 6 407#define DA9150_WRITE_MODE_MASK BIT(6) 408#define DA9150_REVERT_SHIFT 7 409#define DA9150_REVERT_MASK BIT(7) 410 411/* DA9150_CONFIG_A = 0x0E0 */ 412#define DA9150_RESET_DUR_SHIFT 0 413#define DA9150_RESET_DUR_MASK (0x03 << 0) 414#define DA9150_RESET_EXT_SHIFT 2 415#define DA9150_RESET_EXT_MASK (0x03 << 2) 416#define DA9150_START_MAX_SHIFT 4 417#define DA9150_START_MAX_MASK (0x03 << 4) 418#define DA9150_PS_WAIT_EN_SHIFT 6 419#define DA9150_PS_WAIT_EN_MASK BIT(6) 420#define DA9150_PS_DISABLE_DIRECT_SHIFT 7 421#define DA9150_PS_DISABLE_DIRECT_MASK BIT(7) 422 423/* DA9150_CONFIG_B = 0x0E1 */ 424#define DA9150_VFAULT_ADJ_SHIFT 0 425#define DA9150_VFAULT_ADJ_MASK (0x0f << 0) 426#define DA9150_VFAULT_HYST_SHIFT 4 427#define DA9150_VFAULT_HYST_MASK (0x07 << 4) 428#define DA9150_VFAULT_EN_SHIFT 7 429#define DA9150_VFAULT_EN_MASK BIT(7) 430 431/* DA9150_CONFIG_C = 0x0E2 */ 432#define DA9150_VSYS_MIN_SHIFT 3 433#define DA9150_VSYS_MIN_MASK (0x1f << 3) 434 435/* DA9150_CONFIG_D = 0x0E3 */ 436#define DA9150_LFOSC_EXT_SHIFT 0 437#define DA9150_LFOSC_EXT_MASK BIT(0) 438#define DA9150_VDD33_DWN_SHIFT 1 439#define DA9150_VDD33_DWN_MASK BIT(1) 440#define DA9150_WKUP_PM_EN_SHIFT 2 441#define DA9150_WKUP_PM_EN_MASK BIT(2) 442#define DA9150_WKUP_CE_SEL_SHIFT 3 443#define DA9150_WKUP_CE_SEL_MASK (0x03 << 3) 444#define DA9150_WKUP_CLK32K_EN_SHIFT 5 445#define DA9150_WKUP_CLK32K_EN_MASK BIT(5) 446#define DA9150_DISABLE_DEL_SHIFT 7 447#define DA9150_DISABLE_DEL_MASK BIT(7) 448 449/* DA9150_CONFIG_E = 0x0E4 */ 450#define DA9150_PM_SPKSUP_DIS_SHIFT 0 451#define DA9150_PM_SPKSUP_DIS_MASK BIT(0) 452#define DA9150_PM_MERGE_SHIFT 1 453#define DA9150_PM_MERGE_MASK BIT(1) 454#define DA9150_PM_SR_OFF_SHIFT 2 455#define DA9150_PM_SR_OFF_MASK BIT(2) 456#define DA9150_PM_TIMEOUT_EN_SHIFT 3 457#define DA9150_PM_TIMEOUT_EN_MASK BIT(3) 458#define DA9150_PM_DLY_SEL_SHIFT 4 459#define DA9150_PM_DLY_SEL_MASK (0x07 << 4) 460#define DA9150_PM_OUT_DLY_SEL_SHIFT 7 461#define DA9150_PM_OUT_DLY_SEL_MASK BIT(7) 462 463/* DA9150_CONTROL_A = 0x0E5 */ 464#define DA9150_VDD33_SL_SHIFT 0 465#define DA9150_VDD33_SL_MASK BIT(0) 466#define DA9150_VDD33_LPM_SHIFT 1 467#define DA9150_VDD33_LPM_MASK (0x03 << 1) 468#define DA9150_VDD33_EN_SHIFT 3 469#define DA9150_VDD33_EN_MASK BIT(3) 470#define DA9150_GPI_LPM_SHIFT 6 471#define DA9150_GPI_LPM_MASK BIT(6) 472#define DA9150_PM_IF_LPM_SHIFT 7 473#define DA9150_PM_IF_LPM_MASK BIT(7) 474 475/* DA9150_CONTROL_B = 0x0E6 */ 476#define DA9150_LPM_SHIFT 0 477#define DA9150_LPM_MASK BIT(0) 478#define DA9150_RESET_SHIFT 1 479#define DA9150_RESET_MASK BIT(1) 480#define DA9150_RESET_USRCONF_EN_SHIFT 2 481#define DA9150_RESET_USRCONF_EN_MASK BIT(2) 482 483/* DA9150_CONTROL_C = 0x0E7 */ 484#define DA9150_DISABLE_SHIFT 0 485#define DA9150_DISABLE_MASK BIT(0) 486 487/* DA9150_GPIO_A_B = 0x0E8 */ 488#define DA9150_GPIOA_PIN_SHIFT 0 489#define DA9150_GPIOA_PIN_MASK (0x07 << 0) 490#define DA9150_GPIOA_PIN_GPI (0x00 << 0) 491#define DA9150_GPIOA_PIN_GPO_OD BIT(0) 492#define DA9150_GPIOA_TYPE_SHIFT 3 493#define DA9150_GPIOA_TYPE_MASK BIT(3) 494#define DA9150_GPIOB_PIN_SHIFT 4 495#define DA9150_GPIOB_PIN_MASK (0x07 << 4) 496#define DA9150_GPIOB_PIN_GPI (0x00 << 4) 497#define DA9150_GPIOB_PIN_GPO_OD BIT(4) 498#define DA9150_GPIOB_TYPE_SHIFT 7 499#define DA9150_GPIOB_TYPE_MASK BIT(7) 500 501/* DA9150_GPIO_C_D = 0x0E9 */ 502#define DA9150_GPIOC_PIN_SHIFT 0 503#define DA9150_GPIOC_PIN_MASK (0x07 << 0) 504#define DA9150_GPIOC_PIN_GPI (0x00 << 0) 505#define DA9150_GPIOC_PIN_GPO_OD BIT(0) 506#define DA9150_GPIOC_TYPE_SHIFT 3 507#define DA9150_GPIOC_TYPE_MASK BIT(3) 508#define DA9150_GPIOD_PIN_SHIFT 4 509#define DA9150_GPIOD_PIN_MASK (0x07 << 4) 510#define DA9150_GPIOD_PIN_GPI (0x00 << 4) 511#define DA9150_GPIOD_PIN_GPO_OD BIT(4) 512#define DA9150_GPIOD_TYPE_SHIFT 7 513#define DA9150_GPIOD_TYPE_MASK BIT(7) 514 515/* DA9150_GPIO_MODE_CONT = 0x0EA */ 516#define DA9150_GPIOA_MODE_SHIFT 0 517#define DA9150_GPIOA_MODE_MASK BIT(0) 518#define DA9150_GPIOB_MODE_SHIFT 1 519#define DA9150_GPIOB_MODE_MASK BIT(1) 520#define DA9150_GPIOC_MODE_SHIFT 2 521#define DA9150_GPIOC_MODE_MASK BIT(2) 522#define DA9150_GPIOD_MODE_SHIFT 3 523#define DA9150_GPIOD_MODE_MASK BIT(3) 524#define DA9150_GPIOA_CONT_SHIFT 4 525#define DA9150_GPIOA_CONT_MASK BIT(4) 526#define DA9150_GPIOB_CONT_SHIFT 5 527#define DA9150_GPIOB_CONT_MASK BIT(5) 528#define DA9150_GPIOC_CONT_SHIFT 6 529#define DA9150_GPIOC_CONT_MASK BIT(6) 530#define DA9150_GPIOD_CONT_SHIFT 7 531#define DA9150_GPIOD_CONT_MASK BIT(7) 532 533/* DA9150_GPIO_CTRL_B = 0x0EB */ 534#define DA9150_WAKE_PIN_SHIFT 0 535#define DA9150_WAKE_PIN_MASK (0x03 << 0) 536#define DA9150_WAKE_MODE_SHIFT 2 537#define DA9150_WAKE_MODE_MASK BIT(2) 538#define DA9150_WAKE_CONT_SHIFT 3 539#define DA9150_WAKE_CONT_MASK BIT(3) 540#define DA9150_WAKE_DLY_SHIFT 4 541#define DA9150_WAKE_DLY_MASK BIT(4) 542 543/* DA9150_GPIO_CTRL_A = 0x0EC */ 544#define DA9150_GPIOA_ANAEN_SHIFT 0 545#define DA9150_GPIOA_ANAEN_MASK BIT(0) 546#define DA9150_GPIOB_ANAEN_SHIFT 1 547#define DA9150_GPIOB_ANAEN_MASK BIT(1) 548#define DA9150_GPIOC_ANAEN_SHIFT 2 549#define DA9150_GPIOC_ANAEN_MASK BIT(2) 550#define DA9150_GPIOD_ANAEN_SHIFT 3 551#define DA9150_GPIOD_ANAEN_MASK BIT(3) 552#define DA9150_GPIO_ANAEN 0x01 553#define DA9150_GPIO_ANAEN_MASK 0x0F 554#define DA9150_CHGLED_PIN_SHIFT 5 555#define DA9150_CHGLED_PIN_MASK (0x07 << 5) 556 557/* DA9150_GPIO_CTRL_C = 0x0ED */ 558#define DA9150_CHGBL_DUR_SHIFT 0 559#define DA9150_CHGBL_DUR_MASK (0x03 << 0) 560#define DA9150_CHGBL_DBL_SHIFT 2 561#define DA9150_CHGBL_DBL_MASK BIT(2) 562#define DA9150_CHGBL_FRQ_SHIFT 3 563#define DA9150_CHGBL_FRQ_MASK (0x03 << 3) 564#define DA9150_CHGBL_FLKR_SHIFT 5 565#define DA9150_CHGBL_FLKR_MASK BIT(5) 566 567/* DA9150_GPIO_CFG_A = 0x0EE */ 568#define DA9150_CE_LPM_DEB_SHIFT 0 569#define DA9150_CE_LPM_DEB_MASK (0x07 << 0) 570 571/* DA9150_GPIO_CFG_B = 0x0EF */ 572#define DA9150_GPIOA_PUPD_SHIFT 0 573#define DA9150_GPIOA_PUPD_MASK BIT(0) 574#define DA9150_GPIOB_PUPD_SHIFT 1 575#define DA9150_GPIOB_PUPD_MASK BIT(1) 576#define DA9150_GPIOC_PUPD_SHIFT 2 577#define DA9150_GPIOC_PUPD_MASK BIT(2) 578#define DA9150_GPIOD_PUPD_SHIFT 3 579#define DA9150_GPIOD_PUPD_MASK BIT(3) 580#define DA9150_GPIO_PUPD_MASK (0xF << 0) 581#define DA9150_GPI_DEB_SHIFT 4 582#define DA9150_GPI_DEB_MASK (0x07 << 4) 583#define DA9150_LPM_EN_SHIFT 7 584#define DA9150_LPM_EN_MASK BIT(7) 585 586/* DA9150_GPIO_CFG_C = 0x0F0 */ 587#define DA9150_GPI_V_SHIFT 0 588#define DA9150_GPI_V_MASK BIT(0) 589#define DA9150_VDDIO_INT_SHIFT 1 590#define DA9150_VDDIO_INT_MASK BIT(1) 591#define DA9150_FAULT_PIN_SHIFT 3 592#define DA9150_FAULT_PIN_MASK (0x07 << 3) 593#define DA9150_FAULT_TYPE_SHIFT 6 594#define DA9150_FAULT_TYPE_MASK BIT(6) 595#define DA9150_NIRQ_PUPD_SHIFT 7 596#define DA9150_NIRQ_PUPD_MASK BIT(7) 597 598/* DA9150_GPADC_MAN = 0x0F2 */ 599#define DA9150_GPADC_EN_SHIFT 0 600#define DA9150_GPADC_EN_MASK BIT(0) 601#define DA9150_GPADC_MUX_SHIFT 1 602#define DA9150_GPADC_MUX_MASK (0x1f << 1) 603 604/* DA9150_GPADC_RES_A = 0x0F4 */ 605#define DA9150_GPADC_RES_H_SHIFT 0 606#define DA9150_GPADC_RES_H_MASK (0xff << 0) 607 608/* DA9150_GPADC_RES_B = 0x0F5 */ 609#define DA9150_GPADC_RUN_SHIFT 0 610#define DA9150_GPADC_RUN_MASK BIT(0) 611#define DA9150_GPADC_RES_L_SHIFT 6 612#define DA9150_GPADC_RES_L_MASK (0x03 << 6) 613#define DA9150_GPADC_RES_L_BITS 2 614 615/* DA9150_PAGE_CON_2 = 0x100 */ 616#define DA9150_PAGE_SHIFT 0 617#define DA9150_PAGE_MASK (0x3f << 0) 618#define DA9150_WRITE_MODE_SHIFT 6 619#define DA9150_WRITE_MODE_MASK BIT(6) 620#define DA9150_REVERT_SHIFT 7 621#define DA9150_REVERT_MASK BIT(7) 622 623/* DA9150_OTP_CONT_SHARED = 0x101 */ 624#define DA9150_PC_DONE_SHIFT 3 625#define DA9150_PC_DONE_MASK BIT(3) 626 627/* DA9150_INTERFACE_SHARED = 0x105 */ 628#define DA9150_IF_BASE_ADDR_SHIFT 4 629#define DA9150_IF_BASE_ADDR_MASK (0x0f << 4) 630 631/* DA9150_CONFIG_A_SHARED = 0x106 */ 632#define DA9150_NIRQ_VDD_SHIFT 1 633#define DA9150_NIRQ_VDD_MASK BIT(1) 634#define DA9150_NIRQ_PIN_SHIFT 2 635#define DA9150_NIRQ_PIN_MASK BIT(2) 636#define DA9150_NIRQ_TYPE_SHIFT 3 637#define DA9150_NIRQ_TYPE_MASK BIT(3) 638#define DA9150_PM_IF_V_SHIFT 4 639#define DA9150_PM_IF_V_MASK BIT(4) 640#define DA9150_PM_IF_FMP_SHIFT 5 641#define DA9150_PM_IF_FMP_MASK BIT(5) 642#define DA9150_PM_IF_HSM_SHIFT 6 643#define DA9150_PM_IF_HSM_MASK BIT(6) 644 645/* DA9150_CONFIG_D_SHARED = 0x109 */ 646#define DA9150_NIRQ_MODE_SHIFT 1 647#define DA9150_NIRQ_MODE_MASK BIT(1) 648 649/* DA9150_ADETVB_CFG_C = 0x150 */ 650#define DA9150_TADP_RISE_SHIFT 0 651#define DA9150_TADP_RISE_MASK (0xff << 0) 652 653/* DA9150_ADETD_STAT = 0x151 */ 654#define DA9150_DCD_STAT_SHIFT 0 655#define DA9150_DCD_STAT_MASK BIT(0) 656#define DA9150_PCD_STAT_SHIFT 1 657#define DA9150_PCD_STAT_MASK (0x03 << 1) 658#define DA9150_SCD_STAT_SHIFT 3 659#define DA9150_SCD_STAT_MASK (0x03 << 3) 660#define DA9150_DP_STAT_SHIFT 5 661#define DA9150_DP_STAT_MASK BIT(5) 662#define DA9150_DM_STAT_SHIFT 6 663#define DA9150_DM_STAT_MASK BIT(6) 664 665/* DA9150_ADET_CMPSTAT = 0x152 */ 666#define DA9150_DP_COMP_SHIFT 1 667#define DA9150_DP_COMP_MASK BIT(1) 668#define DA9150_DM_COMP_SHIFT 2 669#define DA9150_DM_COMP_MASK BIT(2) 670#define DA9150_ADP_SNS_COMP_SHIFT 3 671#define DA9150_ADP_SNS_COMP_MASK BIT(3) 672#define DA9150_ADP_PRB_COMP_SHIFT 4 673#define DA9150_ADP_PRB_COMP_MASK BIT(4) 674#define DA9150_ID_COMP_SHIFT 5 675#define DA9150_ID_COMP_MASK BIT(5) 676 677/* DA9150_ADET_CTRL_A = 0x153 */ 678#define DA9150_AID_DAT_SHIFT 0 679#define DA9150_AID_DAT_MASK BIT(0) 680#define DA9150_AID_ID_SHIFT 1 681#define DA9150_AID_ID_MASK BIT(1) 682#define DA9150_AID_TRIG_SHIFT 2 683#define DA9150_AID_TRIG_MASK BIT(2) 684 685/* DA9150_ADETVB_CFG_B = 0x154 */ 686#define DA9150_VB_MODE_SHIFT 0 687#define DA9150_VB_MODE_MASK (0x03 << 0) 688#define DA9150_VB_MODE_VB_SESS BIT(0) 689 690#define DA9150_TADP_PRB_SHIFT 2 691#define DA9150_TADP_PRB_MASK BIT(2) 692#define DA9150_DAT_RPD_EXT_SHIFT 5 693#define DA9150_DAT_RPD_EXT_MASK BIT(5) 694#define DA9150_CONF_RPD_SHIFT 6 695#define DA9150_CONF_RPD_MASK BIT(6) 696#define DA9150_CONF_SRP_SHIFT 7 697#define DA9150_CONF_SRP_MASK BIT(7) 698 699/* DA9150_ADETVB_CFG_A = 0x155 */ 700#define DA9150_AID_MODE_SHIFT 0 701#define DA9150_AID_MODE_MASK (0x03 << 0) 702#define DA9150_AID_EXT_POL_SHIFT 2 703#define DA9150_AID_EXT_POL_MASK BIT(2) 704 705/* DA9150_ADETAC_CFG_A = 0x156 */ 706#define DA9150_ISET_CDP_SHIFT 0 707#define DA9150_ISET_CDP_MASK (0x1f << 0) 708#define DA9150_CONF_DBP_SHIFT 5 709#define DA9150_CONF_DBP_MASK BIT(5) 710 711/* DA9150_ADDETAC_CFG_B = 0x157 */ 712#define DA9150_ISET_DCHG_SHIFT 0 713#define DA9150_ISET_DCHG_MASK (0x1f << 0) 714#define DA9150_CONF_GPIOA_SHIFT 5 715#define DA9150_CONF_GPIOA_MASK BIT(5) 716#define DA9150_CONF_GPIOB_SHIFT 6 717#define DA9150_CONF_GPIOB_MASK BIT(6) 718#define DA9150_AID_VB_SHIFT 7 719#define DA9150_AID_VB_MASK BIT(7) 720 721/* DA9150_ADETAC_CFG_C = 0x158 */ 722#define DA9150_ISET_DEF_SHIFT 0 723#define DA9150_ISET_DEF_MASK (0x1f << 0) 724#define DA9150_CONF_MODE_SHIFT 5 725#define DA9150_CONF_MODE_MASK (0x03 << 5) 726#define DA9150_AID_CR_DIS_SHIFT 7 727#define DA9150_AID_CR_DIS_MASK BIT(7) 728 729/* DA9150_ADETAC_CFG_D = 0x159 */ 730#define DA9150_ISET_UNIT_SHIFT 0 731#define DA9150_ISET_UNIT_MASK (0x1f << 0) 732#define DA9150_AID_UNCLAMP_SHIFT 5 733#define DA9150_AID_UNCLAMP_MASK BIT(5) 734 735/* DA9150_ADETVB_CFG_D = 0x15A */ 736#define DA9150_ID_MODE_SHIFT 0 737#define DA9150_ID_MODE_MASK (0x03 << 0) 738#define DA9150_DAT_MODE_SHIFT 2 739#define DA9150_DAT_MODE_MASK (0x0f << 2) 740#define DA9150_DAT_SWP_SHIFT 6 741#define DA9150_DAT_SWP_MASK BIT(6) 742#define DA9150_DAT_CLAMP_EXT_SHIFT 7 743#define DA9150_DAT_CLAMP_EXT_MASK BIT(7) 744 745/* DA9150_ADETID_CFG_A = 0x15B */ 746#define DA9150_TID_POLL_SHIFT 0 747#define DA9150_TID_POLL_MASK (0x07 << 0) 748#define DA9150_RID_CONV_SHIFT 3 749#define DA9150_RID_CONV_MASK BIT(3) 750 751/* DA9150_ADET_RID_PT_CHG_H = 0x15C */ 752#define DA9150_RID_PT_CHG_H_SHIFT 0 753#define DA9150_RID_PT_CHG_H_MASK (0xff << 0) 754 755/* DA9150_ADET_RID_PT_CHG_L = 0x15D */ 756#define DA9150_RID_PT_CHG_L_SHIFT 6 757#define DA9150_RID_PT_CHG_L_MASK (0x03 << 6) 758 759/* DA9150_PPR_TCTR_B = 0x160 */ 760#define DA9150_CHG_TCTR_VAL_SHIFT 0 761#define DA9150_CHG_TCTR_VAL_MASK (0xff << 0) 762 763/* DA9150_PPR_BKCTRL_A = 0x163 */ 764#define DA9150_VBUS_MODE_SHIFT 0 765#define DA9150_VBUS_MODE_MASK (0x03 << 0) 766#define DA9150_VBUS_MODE_CHG BIT(0) 767#define DA9150_VBUS_MODE_OTG (0x02 << 0) 768#define DA9150_VBUS_LPM_SHIFT 2 769#define DA9150_VBUS_LPM_MASK (0x03 << 2) 770#define DA9150_VBUS_SUSP_SHIFT 4 771#define DA9150_VBUS_SUSP_MASK BIT(4) 772#define DA9150_VBUS_PWM_SHIFT 5 773#define DA9150_VBUS_PWM_MASK BIT(5) 774#define DA9150_VBUS_ISO_SHIFT 6 775#define DA9150_VBUS_ISO_MASK BIT(6) 776#define DA9150_VBUS_LDO_SHIFT 7 777#define DA9150_VBUS_LDO_MASK BIT(7) 778 779/* DA9150_PPR_BKCFG_A = 0x164 */ 780#define DA9150_VBUS_ISET_SHIFT 0 781#define DA9150_VBUS_ISET_MASK (0x1f << 0) 782#define DA9150_VBUS_IMAX_SHIFT 5 783#define DA9150_VBUS_IMAX_MASK BIT(5) 784#define DA9150_VBUS_IOTG_SHIFT 6 785#define DA9150_VBUS_IOTG_MASK (0x03 << 6) 786 787/* DA9150_PPR_BKCFG_B = 0x165 */ 788#define DA9150_VBUS_DROP_SHIFT 0 789#define DA9150_VBUS_DROP_MASK (0x0f << 0) 790#define DA9150_VBUS_FAULT_DIS_SHIFT 6 791#define DA9150_VBUS_FAULT_DIS_MASK BIT(6) 792#define DA9150_OTG_FAULT_DIS_SHIFT 7 793#define DA9150_OTG_FAULT_DIS_MASK BIT(7) 794 795/* DA9150_PPR_CHGCTRL_A = 0x166 */ 796#define DA9150_CHG_EN_SHIFT 0 797#define DA9150_CHG_EN_MASK BIT(0) 798 799/* DA9150_PPR_CHGCTRL_B = 0x167 */ 800#define DA9150_CHG_VBAT_SHIFT 0 801#define DA9150_CHG_VBAT_MASK (0x1f << 0) 802#define DA9150_CHG_VDROP_SHIFT 6 803#define DA9150_CHG_VDROP_MASK (0x03 << 6) 804 805/* DA9150_PPR_CHGCTRL_C = 0x168 */ 806#define DA9150_CHG_VFAULT_SHIFT 0 807#define DA9150_CHG_VFAULT_MASK (0x0f << 0) 808#define DA9150_CHG_IPRE_SHIFT 4 809#define DA9150_CHG_IPRE_MASK (0x03 << 4) 810 811/* DA9150_PPR_TCTR_A = 0x169 */ 812#define DA9150_CHG_TCTR_SHIFT 0 813#define DA9150_CHG_TCTR_MASK (0x07 << 0) 814#define DA9150_CHG_TCTR_MODE_SHIFT 4 815#define DA9150_CHG_TCTR_MODE_MASK BIT(4) 816 817/* DA9150_PPR_CHGCTRL_D = 0x16A */ 818#define DA9150_CHG_IBAT_SHIFT 0 819#define DA9150_CHG_IBAT_MASK (0xff << 0) 820 821/* DA9150_PPR_CHGCTRL_E = 0x16B */ 822#define DA9150_CHG_IEND_SHIFT 0 823#define DA9150_CHG_IEND_MASK (0xff << 0) 824 825/* DA9150_PPR_CHGCTRL_F = 0x16C */ 826#define DA9150_CHG_VCOLD_SHIFT 0 827#define DA9150_CHG_VCOLD_MASK (0x1f << 0) 828#define DA9150_TBAT_TQA_EN_SHIFT 6 829#define DA9150_TBAT_TQA_EN_MASK BIT(6) 830#define DA9150_TBAT_TDP_EN_SHIFT 7 831#define DA9150_TBAT_TDP_EN_MASK BIT(7) 832 833/* DA9150_PPR_CHGCTRL_G = 0x16D */ 834#define DA9150_CHG_VWARM_SHIFT 0 835#define DA9150_CHG_VWARM_MASK (0x1f << 0) 836 837/* DA9150_PPR_CHGCTRL_H = 0x16E */ 838#define DA9150_CHG_VHOT_SHIFT 0 839#define DA9150_CHG_VHOT_MASK (0x1f << 0) 840 841/* DA9150_PPR_CHGCTRL_I = 0x16F */ 842#define DA9150_CHG_ICOLD_SHIFT 0 843#define DA9150_CHG_ICOLD_MASK (0xff << 0) 844 845/* DA9150_PPR_CHGCTRL_J = 0x170 */ 846#define DA9150_CHG_IWARM_SHIFT 0 847#define DA9150_CHG_IWARM_MASK (0xff << 0) 848 849/* DA9150_PPR_CHGCTRL_K = 0x171 */ 850#define DA9150_CHG_IHOT_SHIFT 0 851#define DA9150_CHG_IHOT_MASK (0xff << 0) 852 853/* DA9150_PPR_CHGCTRL_L = 0x172 */ 854#define DA9150_CHG_IBAT_TRED_SHIFT 0 855#define DA9150_CHG_IBAT_TRED_MASK (0xff << 0) 856 857/* DA9150_PPR_CHGCTRL_M = 0x173 */ 858#define DA9150_CHG_VFLOAT_SHIFT 0 859#define DA9150_CHG_VFLOAT_MASK (0x0f << 0) 860#define DA9150_CHG_LPM_SHIFT 5 861#define DA9150_CHG_LPM_MASK BIT(5) 862#define DA9150_CHG_NBLO_SHIFT 6 863#define DA9150_CHG_NBLO_MASK BIT(6) 864#define DA9150_EBS_EN_SHIFT 7 865#define DA9150_EBS_EN_MASK BIT(7) 866 867/* DA9150_PPR_THYST_A = 0x174 */ 868#define DA9150_TBAT_T1_SHIFT 0 869#define DA9150_TBAT_T1_MASK (0xff << 0) 870 871/* DA9150_PPR_THYST_B = 0x175 */ 872#define DA9150_TBAT_T2_SHIFT 0 873#define DA9150_TBAT_T2_MASK (0xff << 0) 874 875/* DA9150_PPR_THYST_C = 0x176 */ 876#define DA9150_TBAT_T3_SHIFT 0 877#define DA9150_TBAT_T3_MASK (0xff << 0) 878 879/* DA9150_PPR_THYST_D = 0x177 */ 880#define DA9150_TBAT_T4_SHIFT 0 881#define DA9150_TBAT_T4_MASK (0xff << 0) 882 883/* DA9150_PPR_THYST_E = 0x178 */ 884#define DA9150_TBAT_T5_SHIFT 0 885#define DA9150_TBAT_T5_MASK (0xff << 0) 886 887/* DA9150_PPR_THYST_F = 0x179 */ 888#define DA9150_TBAT_H1_SHIFT 0 889#define DA9150_TBAT_H1_MASK (0xff << 0) 890 891/* DA9150_PPR_THYST_G = 0x17A */ 892#define DA9150_TBAT_H5_SHIFT 0 893#define DA9150_TBAT_H5_MASK (0xff << 0) 894 895/* DA9150_PAGE_CON_3 = 0x180 */ 896#define DA9150_PAGE_SHIFT 0 897#define DA9150_PAGE_MASK (0x3f << 0) 898#define DA9150_WRITE_MODE_SHIFT 6 899#define DA9150_WRITE_MODE_MASK BIT(6) 900#define DA9150_REVERT_SHIFT 7 901#define DA9150_REVERT_MASK BIT(7) 902 903/* DA9150_PAGE_CON_4 = 0x200 */ 904#define DA9150_PAGE_SHIFT 0 905#define DA9150_PAGE_MASK (0x3f << 0) 906#define DA9150_WRITE_MODE_SHIFT 6 907#define DA9150_WRITE_MODE_MASK BIT(6) 908#define DA9150_REVERT_SHIFT 7 909#define DA9150_REVERT_MASK BIT(7) 910 911/* DA9150_PAGE_CON_5 = 0x280 */ 912#define DA9150_PAGE_SHIFT 0 913#define DA9150_PAGE_MASK (0x3f << 0) 914#define DA9150_WRITE_MODE_SHIFT 6 915#define DA9150_WRITE_MODE_MASK BIT(6) 916#define DA9150_REVERT_SHIFT 7 917#define DA9150_REVERT_MASK BIT(7) 918 919/* DA9150_PAGE_CON_6 = 0x300 */ 920#define DA9150_PAGE_SHIFT 0 921#define DA9150_PAGE_MASK (0x3f << 0) 922#define DA9150_WRITE_MODE_SHIFT 6 923#define DA9150_WRITE_MODE_MASK BIT(6) 924#define DA9150_REVERT_SHIFT 7 925#define DA9150_REVERT_MASK BIT(7) 926 927/* DA9150_COREBTLD_STAT_A = 0x302 */ 928#define DA9150_BOOTLD_STAT_SHIFT 0 929#define DA9150_BOOTLD_STAT_MASK (0x03 << 0) 930#define DA9150_CORE_LOCKUP_SHIFT 2 931#define DA9150_CORE_LOCKUP_MASK BIT(2) 932 933/* DA9150_COREBTLD_CTRL_A = 0x303 */ 934#define DA9150_CORE_RESET_SHIFT 0 935#define DA9150_CORE_RESET_MASK BIT(0) 936#define DA9150_CORE_STOP_SHIFT 1 937#define DA9150_CORE_STOP_MASK BIT(1) 938 939/* DA9150_CORE_CONFIG_A = 0x304 */ 940#define DA9150_CORE_MEMMUX_SHIFT 0 941#define DA9150_CORE_MEMMUX_MASK (0x03 << 0) 942#define DA9150_WDT_AUTO_START_SHIFT 2 943#define DA9150_WDT_AUTO_START_MASK BIT(2) 944#define DA9150_WDT_AUTO_LOCK_SHIFT 3 945#define DA9150_WDT_AUTO_LOCK_MASK BIT(3) 946#define DA9150_WDT_HLT_NO_CLK_SHIFT 4 947#define DA9150_WDT_HLT_NO_CLK_MASK BIT(4) 948 949/* DA9150_CORE_CONFIG_C = 0x305 */ 950#define DA9150_CORE_SW_SIZE_SHIFT 0 951#define DA9150_CORE_SW_SIZE_MASK (0xff << 0) 952 953/* DA9150_CORE_CONFIG_B = 0x306 */ 954#define DA9150_BOOTLD_EN_SHIFT 0 955#define DA9150_BOOTLD_EN_MASK BIT(0) 956#define DA9150_CORE_EN_SHIFT 2 957#define DA9150_CORE_EN_MASK BIT(2) 958#define DA9150_CORE_SW_SRC_SHIFT 3 959#define DA9150_CORE_SW_SRC_MASK (0x07 << 3) 960#define DA9150_DEEP_SLEEP_EN_SHIFT 7 961#define DA9150_DEEP_SLEEP_EN_MASK BIT(7) 962 963/* DA9150_CORE_CFG_DATA_A = 0x307 */ 964#define DA9150_CORE_CFG_DT_A_SHIFT 0 965#define DA9150_CORE_CFG_DT_A_MASK (0xff << 0) 966 967/* DA9150_CORE_CFG_DATA_B = 0x308 */ 968#define DA9150_CORE_CFG_DT_B_SHIFT 0 969#define DA9150_CORE_CFG_DT_B_MASK (0xff << 0) 970 971/* DA9150_CORE_CMD_A = 0x309 */ 972#define DA9150_CORE_CMD_SHIFT 0 973#define DA9150_CORE_CMD_MASK (0xff << 0) 974 975/* DA9150_CORE_DATA_A = 0x30A */ 976#define DA9150_CORE_DATA_0_SHIFT 0 977#define DA9150_CORE_DATA_0_MASK (0xff << 0) 978 979/* DA9150_CORE_DATA_B = 0x30B */ 980#define DA9150_CORE_DATA_1_SHIFT 0 981#define DA9150_CORE_DATA_1_MASK (0xff << 0) 982 983/* DA9150_CORE_DATA_C = 0x30C */ 984#define DA9150_CORE_DATA_2_SHIFT 0 985#define DA9150_CORE_DATA_2_MASK (0xff << 0) 986 987/* DA9150_CORE_DATA_D = 0x30D */ 988#define DA9150_CORE_DATA_3_SHIFT 0 989#define DA9150_CORE_DATA_3_MASK (0xff << 0) 990 991/* DA9150_CORE2WIRE_STAT_A = 0x310 */ 992#define DA9150_FW_FWDL_ERR_SHIFT 7 993#define DA9150_FW_FWDL_ERR_MASK BIT(7) 994 995/* DA9150_CORE2WIRE_CTRL_A = 0x311 */ 996#define DA9150_FW_FWDL_EN_SHIFT 0 997#define DA9150_FW_FWDL_EN_MASK BIT(0) 998#define DA9150_FG_QIF_EN_SHIFT 1 999#define DA9150_FG_QIF_EN_MASK BIT(1) 1000#define DA9150_CORE_BASE_ADDR_SHIFT 4 1001#define DA9150_CORE_BASE_ADDR_MASK (0x0f << 4) 1002 1003/* DA9150_FW_CTRL_A = 0x312 */ 1004#define DA9150_FW_SEAL_SHIFT 0 1005#define DA9150_FW_SEAL_MASK (0xff << 0) 1006 1007/* DA9150_FW_CTRL_C = 0x313 */ 1008#define DA9150_FW_FWDL_CRC_SHIFT 0 1009#define DA9150_FW_FWDL_CRC_MASK (0xff << 0) 1010 1011/* DA9150_FW_CTRL_D = 0x314 */ 1012#define DA9150_FW_FWDL_BASE_SHIFT 0 1013#define DA9150_FW_FWDL_BASE_MASK (0x0f << 0) 1014 1015/* DA9150_FG_CTRL_A = 0x315 */ 1016#define DA9150_FG_QIF_CODE_SHIFT 0 1017#define DA9150_FG_QIF_CODE_MASK (0xff << 0) 1018 1019/* DA9150_FG_CTRL_B = 0x316 */ 1020#define DA9150_FG_QIF_VALUE_SHIFT 0 1021#define DA9150_FG_QIF_VALUE_MASK (0xff << 0) 1022 1023/* DA9150_FW_CTRL_E = 0x317 */ 1024#define DA9150_FW_FWDL_SEG_SHIFT 0 1025#define DA9150_FW_FWDL_SEG_MASK (0xff << 0) 1026 1027/* DA9150_FW_CTRL_B = 0x318 */ 1028#define DA9150_FW_FWDL_VALUE_SHIFT 0 1029#define DA9150_FW_FWDL_VALUE_MASK (0xff << 0) 1030 1031/* DA9150_GPADC_CMAN = 0x320 */ 1032#define DA9150_GPADC_CEN_SHIFT 0 1033#define DA9150_GPADC_CEN_MASK BIT(0) 1034#define DA9150_GPADC_CMUX_SHIFT 1 1035#define DA9150_GPADC_CMUX_MASK (0x1f << 1) 1036 1037/* DA9150_GPADC_CRES_A = 0x322 */ 1038#define DA9150_GPADC_CRES_H_SHIFT 0 1039#define DA9150_GPADC_CRES_H_MASK (0xff << 0) 1040 1041/* DA9150_GPADC_CRES_B = 0x323 */ 1042#define DA9150_GPADC_CRUN_SHIFT 0 1043#define DA9150_GPADC_CRUN_MASK BIT(0) 1044#define DA9150_GPADC_CRES_L_SHIFT 6 1045#define DA9150_GPADC_CRES_L_MASK (0x03 << 6) 1046 1047/* DA9150_CC_CFG_A = 0x328 */ 1048#define DA9150_CC_EN_SHIFT 0 1049#define DA9150_CC_EN_MASK BIT(0) 1050#define DA9150_CC_TIMEBASE_SHIFT 1 1051#define DA9150_CC_TIMEBASE_MASK (0x03 << 1) 1052#define DA9150_CC_CFG_SHIFT 5 1053#define DA9150_CC_CFG_MASK (0x03 << 5) 1054#define DA9150_CC_ENDLESS_MODE_SHIFT 7 1055#define DA9150_CC_ENDLESS_MODE_MASK BIT(7) 1056 1057/* DA9150_CC_CFG_B = 0x329 */ 1058#define DA9150_CC_OPT_SHIFT 0 1059#define DA9150_CC_OPT_MASK (0x03 << 0) 1060#define DA9150_CC_PREAMP_SHIFT 2 1061#define DA9150_CC_PREAMP_MASK (0x03 << 2) 1062 1063/* DA9150_CC_ICHG_RES_A = 0x32A */ 1064#define DA9150_CC_ICHG_RES_H_SHIFT 0 1065#define DA9150_CC_ICHG_RES_H_MASK (0xff << 0) 1066 1067/* DA9150_CC_ICHG_RES_B = 0x32B */ 1068#define DA9150_CC_ICHG_RES_L_SHIFT 3 1069#define DA9150_CC_ICHG_RES_L_MASK (0x1f << 3) 1070 1071/* DA9150_CC_IAVG_RES_A = 0x32C */ 1072#define DA9150_CC_IAVG_RES_H_SHIFT 0 1073#define DA9150_CC_IAVG_RES_H_MASK (0xff << 0) 1074 1075/* DA9150_CC_IAVG_RES_B = 0x32D */ 1076#define DA9150_CC_IAVG_RES_L_SHIFT 0 1077#define DA9150_CC_IAVG_RES_L_MASK (0xff << 0) 1078 1079/* DA9150_TAUX_CTRL_A = 0x330 */ 1080#define DA9150_TAUX_EN_SHIFT 0 1081#define DA9150_TAUX_EN_MASK BIT(0) 1082#define DA9150_TAUX_MOD_SHIFT 1 1083#define DA9150_TAUX_MOD_MASK BIT(1) 1084#define DA9150_TAUX_UPDATE_SHIFT 2 1085#define DA9150_TAUX_UPDATE_MASK BIT(2) 1086 1087/* DA9150_TAUX_RELOAD_H = 0x332 */ 1088#define DA9150_TAUX_RLD_H_SHIFT 0 1089#define DA9150_TAUX_RLD_H_MASK (0xff << 0) 1090 1091/* DA9150_TAUX_RELOAD_L = 0x333 */ 1092#define DA9150_TAUX_RLD_L_SHIFT 3 1093#define DA9150_TAUX_RLD_L_MASK (0x1f << 3) 1094 1095/* DA9150_TAUX_VALUE_H = 0x334 */ 1096#define DA9150_TAUX_VAL_H_SHIFT 0 1097#define DA9150_TAUX_VAL_H_MASK (0xff << 0) 1098 1099/* DA9150_TAUX_VALUE_L = 0x335 */ 1100#define DA9150_TAUX_VAL_L_SHIFT 3 1101#define DA9150_TAUX_VAL_L_MASK (0x1f << 3) 1102 1103/* DA9150_AUX_DATA_0 = 0x338 */ 1104#define DA9150_AUX_DAT_0_SHIFT 0 1105#define DA9150_AUX_DAT_0_MASK (0xff << 0) 1106 1107/* DA9150_AUX_DATA_1 = 0x339 */ 1108#define DA9150_AUX_DAT_1_SHIFT 0 1109#define DA9150_AUX_DAT_1_MASK (0xff << 0) 1110 1111/* DA9150_AUX_DATA_2 = 0x33A */ 1112#define DA9150_AUX_DAT_2_SHIFT 0 1113#define DA9150_AUX_DAT_2_MASK (0xff << 0) 1114 1115/* DA9150_AUX_DATA_3 = 0x33B */ 1116#define DA9150_AUX_DAT_3_SHIFT 0 1117#define DA9150_AUX_DAT_3_MASK (0xff << 0) 1118 1119/* DA9150_BIF_CTRL = 0x340 */ 1120#define DA9150_BIF_ISRC_EN_SHIFT 0 1121#define DA9150_BIF_ISRC_EN_MASK BIT(0) 1122 1123/* DA9150_TBAT_CTRL_A = 0x342 */ 1124#define DA9150_TBAT_EN_SHIFT 0 1125#define DA9150_TBAT_EN_MASK BIT(0) 1126#define DA9150_TBAT_SW1_SHIFT 1 1127#define DA9150_TBAT_SW1_MASK BIT(1) 1128#define DA9150_TBAT_SW2_SHIFT 2 1129#define DA9150_TBAT_SW2_MASK BIT(2) 1130 1131/* DA9150_TBAT_CTRL_B = 0x343 */ 1132#define DA9150_TBAT_SW_FRC_SHIFT 0 1133#define DA9150_TBAT_SW_FRC_MASK BIT(0) 1134#define DA9150_TBAT_STAT_SW1_SHIFT 1 1135#define DA9150_TBAT_STAT_SW1_MASK BIT(1) 1136#define DA9150_TBAT_STAT_SW2_SHIFT 2 1137#define DA9150_TBAT_STAT_SW2_MASK BIT(2) 1138#define DA9150_TBAT_HIGH_CURR_SHIFT 3 1139#define DA9150_TBAT_HIGH_CURR_MASK BIT(3) 1140 1141/* DA9150_TBAT_RES_A = 0x344 */ 1142#define DA9150_TBAT_RES_H_SHIFT 0 1143#define DA9150_TBAT_RES_H_MASK (0xff << 0) 1144 1145/* DA9150_TBAT_RES_B = 0x345 */ 1146#define DA9150_TBAT_RES_DIS_SHIFT 0 1147#define DA9150_TBAT_RES_DIS_MASK BIT(0) 1148#define DA9150_TBAT_RES_L_SHIFT 6 1149#define DA9150_TBAT_RES_L_MASK (0x03 << 6) 1150 1151#endif /* __DA9150_REGISTERS_H */ 1152