1/* 2 * Registers definition for DA9063 modules 3 * 4 * Copyright 2012 Dialog Semiconductor Ltd. 5 * 6 * Author: Michal Hajduk, Dialog Semiconductor 7 * Author: Krystian Garbaciak, Dialog Semiconductor 8 * 9 * This program is free software; you can redistribute it and/or modify it 10 * under the terms of the GNU General Public License as published by the 11 * Free Software Foundation; either version 2 of the License, or (at your 12 * option) any later version. 13 * 14 */ 15 16#ifndef _DA9063_REG_H 17#define _DA9063_REG_H 18 19#define DA9063_I2C_PAGE_SEL_SHIFT 1 20#define DA9063_EVENT_REG_NUM 4 21 22/* Page selection I2C or SPI always in the begining of any page. */ 23/* Page 0 : I2C access 0x000 - 0x0FF SPI access 0x000 - 0x07F */ 24/* Page 1 : SPI access 0x080 - 0x0FF */ 25/* Page 2 : I2C access 0x100 - 0x1FF SPI access 0x100 - 0x17F */ 26/* Page 3 : SPI access 0x180 - 0x1FF */ 27#define DA9063_REG_PAGE_CON 0x00 28 29/* System Control and Event Registers */ 30#define DA9063_REG_STATUS_A 0x01 31#define DA9063_REG_STATUS_B 0x02 32#define DA9063_REG_STATUS_C 0x03 33#define DA9063_REG_STATUS_D 0x04 34#define DA9063_REG_FAULT_LOG 0x05 35#define DA9063_REG_EVENT_A 0x06 36#define DA9063_REG_EVENT_B 0x07 37#define DA9063_REG_EVENT_C 0x08 38#define DA9063_REG_EVENT_D 0x09 39#define DA9063_REG_IRQ_MASK_A 0x0A 40#define DA9063_REG_IRQ_MASK_B 0x0B 41#define DA9063_REG_IRQ_MASK_C 0x0C 42#define DA9063_REG_IRQ_MASK_D 0x0D 43#define DA9063_REG_CONTROL_A 0x0E 44#define DA9063_REG_CONTROL_B 0x0F 45#define DA9063_REG_CONTROL_C 0x10 46#define DA9063_REG_CONTROL_D 0x11 47#define DA9063_REG_CONTROL_E 0x12 48#define DA9063_REG_CONTROL_F 0x13 49#define DA9063_REG_PD_DIS 0x14 50 51/* GPIO Control Registers */ 52#define DA9063_REG_GPIO_0_1 0x15 53#define DA9063_REG_GPIO_2_3 0x16 54#define DA9063_REG_GPIO_4_5 0x17 55#define DA9063_REG_GPIO_6_7 0x18 56#define DA9063_REG_GPIO_8_9 0x19 57#define DA9063_REG_GPIO_10_11 0x1A 58#define DA9063_REG_GPIO_12_13 0x1B 59#define DA9063_REG_GPIO_14_15 0x1C 60#define DA9063_REG_GPIO_MODE0_7 0x1D 61#define DA9063_REG_GPIO_MODE8_15 0x1E 62#define DA9063_REG_SWITCH_CONT 0x1F 63 64/* Regulator Control Registers */ 65#define DA9063_REG_BCORE2_CONT 0x20 66#define DA9063_REG_BCORE1_CONT 0x21 67#define DA9063_REG_BPRO_CONT 0x22 68#define DA9063_REG_BMEM_CONT 0x23 69#define DA9063_REG_BIO_CONT 0x24 70#define DA9063_REG_BPERI_CONT 0x25 71#define DA9063_REG_LDO1_CONT 0x26 72#define DA9063_REG_LDO2_CONT 0x27 73#define DA9063_REG_LDO3_CONT 0x28 74#define DA9063_REG_LDO4_CONT 0x29 75#define DA9063_REG_LDO5_CONT 0x2A 76#define DA9063_REG_LDO6_CONT 0x2B 77#define DA9063_REG_LDO7_CONT 0x2C 78#define DA9063_REG_LDO8_CONT 0x2D 79#define DA9063_REG_LDO9_CONT 0x2E 80#define DA9063_REG_LDO10_CONT 0x2F 81#define DA9063_REG_LDO11_CONT 0x30 82#define DA9063_REG_SUPPLIES 0x31 83#define DA9063_REG_DVC_1 0x32 84#define DA9063_REG_DVC_2 0x33 85 86/* GP-ADC Control Registers */ 87#define DA9063_REG_ADC_MAN 0x34 88#define DA9063_REG_ADC_CONT 0x35 89#define DA9063_REG_VSYS_MON 0x36 90#define DA9063_REG_ADC_RES_L 0x37 91#define DA9063_REG_ADC_RES_H 0x38 92#define DA9063_REG_VSYS_RES 0x39 93#define DA9063_REG_ADCIN1_RES 0x3A 94#define DA9063_REG_ADCIN2_RES 0x3B 95#define DA9063_REG_ADCIN3_RES 0x3C 96#define DA9063_REG_MON_A8_RES 0x3D 97#define DA9063_REG_MON_A9_RES 0x3E 98#define DA9063_REG_MON_A10_RES 0x3F 99 100/* RTC Calendar and Alarm Registers */ 101#define DA9063_REG_COUNT_S 0x40 102#define DA9063_REG_COUNT_MI 0x41 103#define DA9063_REG_COUNT_H 0x42 104#define DA9063_REG_COUNT_D 0x43 105#define DA9063_REG_COUNT_MO 0x44 106#define DA9063_REG_COUNT_Y 0x45 107 108#define DA9063_AD_REG_ALARM_MI 0x46 109#define DA9063_AD_REG_ALARM_H 0x47 110#define DA9063_AD_REG_ALARM_D 0x48 111#define DA9063_AD_REG_ALARM_MO 0x49 112#define DA9063_AD_REG_ALARM_Y 0x4A 113#define DA9063_AD_REG_SECOND_A 0x4B 114#define DA9063_AD_REG_SECOND_B 0x4C 115#define DA9063_AD_REG_SECOND_C 0x4D 116#define DA9063_AD_REG_SECOND_D 0x4E 117 118#define DA9063_BB_REG_ALARM_S 0x46 119#define DA9063_BB_REG_ALARM_MI 0x47 120#define DA9063_BB_REG_ALARM_H 0x48 121#define DA9063_BB_REG_ALARM_D 0x49 122#define DA9063_BB_REG_ALARM_MO 0x4A 123#define DA9063_BB_REG_ALARM_Y 0x4B 124#define DA9063_BB_REG_SECOND_A 0x4C 125#define DA9063_BB_REG_SECOND_B 0x4D 126#define DA9063_BB_REG_SECOND_C 0x4E 127#define DA9063_BB_REG_SECOND_D 0x4F 128 129/* Sequencer Control Registers */ 130#define DA9063_REG_SEQ 0x81 131#define DA9063_REG_SEQ_TIMER 0x82 132#define DA9063_REG_ID_2_1 0x83 133#define DA9063_REG_ID_4_3 0x84 134#define DA9063_REG_ID_6_5 0x85 135#define DA9063_REG_ID_8_7 0x86 136#define DA9063_REG_ID_10_9 0x87 137#define DA9063_REG_ID_12_11 0x88 138#define DA9063_REG_ID_14_13 0x89 139#define DA9063_REG_ID_16_15 0x8A 140#define DA9063_REG_ID_18_17 0x8B 141#define DA9063_REG_ID_20_19 0x8C 142#define DA9063_REG_ID_22_21 0x8D 143#define DA9063_REG_ID_24_23 0x8E 144#define DA9063_REG_ID_26_25 0x8F 145#define DA9063_REG_ID_28_27 0x90 146#define DA9063_REG_ID_30_29 0x91 147#define DA9063_REG_ID_32_31 0x92 148#define DA9063_REG_SEQ_A 0x95 149#define DA9063_REG_SEQ_B 0x96 150#define DA9063_REG_WAIT 0x97 151#define DA9063_REG_EN_32K 0x98 152#define DA9063_REG_RESET 0x99 153 154/* Regulator Setting Registers */ 155#define DA9063_REG_BUCK_ILIM_A 0x9A 156#define DA9063_REG_BUCK_ILIM_B 0x9B 157#define DA9063_REG_BUCK_ILIM_C 0x9C 158#define DA9063_REG_BCORE2_CFG 0x9D 159#define DA9063_REG_BCORE1_CFG 0x9E 160#define DA9063_REG_BPRO_CFG 0x9F 161#define DA9063_REG_BIO_CFG 0xA0 162#define DA9063_REG_BMEM_CFG 0xA1 163#define DA9063_REG_BPERI_CFG 0xA2 164#define DA9063_REG_VBCORE2_A 0xA3 165#define DA9063_REG_VBCORE1_A 0xA4 166#define DA9063_REG_VBPRO_A 0xA5 167#define DA9063_REG_VBMEM_A 0xA6 168#define DA9063_REG_VBIO_A 0xA7 169#define DA9063_REG_VBPERI_A 0xA8 170#define DA9063_REG_VLDO1_A 0xA9 171#define DA9063_REG_VLDO2_A 0xAA 172#define DA9063_REG_VLDO3_A 0xAB 173#define DA9063_REG_VLDO4_A 0xAC 174#define DA9063_REG_VLDO5_A 0xAD 175#define DA9063_REG_VLDO6_A 0xAE 176#define DA9063_REG_VLDO7_A 0xAF 177#define DA9063_REG_VLDO8_A 0xB0 178#define DA9063_REG_VLDO9_A 0xB1 179#define DA9063_REG_VLDO10_A 0xB2 180#define DA9063_REG_VLDO11_A 0xB3 181#define DA9063_REG_VBCORE2_B 0xB4 182#define DA9063_REG_VBCORE1_B 0xB5 183#define DA9063_REG_VBPRO_B 0xB6 184#define DA9063_REG_VBMEM_B 0xB7 185#define DA9063_REG_VBIO_B 0xB8 186#define DA9063_REG_VBPERI_B 0xB9 187#define DA9063_REG_VLDO1_B 0xBA 188#define DA9063_REG_VLDO2_B 0xBB 189#define DA9063_REG_VLDO3_B 0xBC 190#define DA9063_REG_VLDO4_B 0xBD 191#define DA9063_REG_VLDO5_B 0xBE 192#define DA9063_REG_VLDO6_B 0xBF 193#define DA9063_REG_VLDO7_B 0xC0 194#define DA9063_REG_VLDO8_B 0xC1 195#define DA9063_REG_VLDO9_B 0xC2 196#define DA9063_REG_VLDO10_B 0xC3 197#define DA9063_REG_VLDO11_B 0xC4 198 199/* Backup Battery Charger Control Register */ 200#define DA9063_REG_BBAT_CONT 0xC5 201 202/* GPIO PWM (LED) */ 203#define DA9063_REG_GPO11_LED 0xC6 204#define DA9063_REG_GPO14_LED 0xC7 205#define DA9063_REG_GPO15_LED 0xC8 206 207/* GP-ADC Threshold Registers */ 208#define DA9063_REG_ADC_CFG 0xC9 209#define DA9063_REG_AUTO1_HIGH 0xCA 210#define DA9063_REG_AUTO1_LOW 0xCB 211#define DA9063_REG_AUTO2_HIGH 0xCC 212#define DA9063_REG_AUTO2_LOW 0xCD 213#define DA9063_REG_AUTO3_HIGH 0xCE 214#define DA9063_REG_AUTO3_LOW 0xCF 215 216/* DA9063 Configuration registers */ 217/* OTP */ 218#define DA9063_REG_OPT_COUNT 0x101 219#define DA9063_REG_OPT_ADDR 0x102 220#define DA9063_REG_OPT_DATA 0x103 221 222/* Customer Trim and Configuration */ 223#define DA9063_REG_T_OFFSET 0x104 224#define DA9063_REG_INTERFACE 0x105 225#define DA9063_REG_CONFIG_A 0x106 226#define DA9063_REG_CONFIG_B 0x107 227#define DA9063_REG_CONFIG_C 0x108 228#define DA9063_REG_CONFIG_D 0x109 229#define DA9063_REG_CONFIG_E 0x10A 230#define DA9063_REG_CONFIG_F 0x10B 231#define DA9063_REG_CONFIG_G 0x10C 232#define DA9063_REG_CONFIG_H 0x10D 233#define DA9063_REG_CONFIG_I 0x10E 234#define DA9063_REG_CONFIG_J 0x10F 235#define DA9063_REG_CONFIG_K 0x110 236#define DA9063_REG_CONFIG_L 0x111 237 238#define DA9063_AD_REG_MON_REG_1 0x112 239#define DA9063_AD_REG_MON_REG_2 0x113 240#define DA9063_AD_REG_MON_REG_3 0x114 241#define DA9063_AD_REG_MON_REG_4 0x115 242#define DA9063_AD_REG_MON_REG_5 0x116 243#define DA9063_AD_REG_MON_REG_6 0x117 244#define DA9063_AD_REG_TRIM_CLDR 0x118 245 246#define DA9063_AD_REG_GP_ID_0 0x119 247#define DA9063_AD_REG_GP_ID_1 0x11A 248#define DA9063_AD_REG_GP_ID_2 0x11B 249#define DA9063_AD_REG_GP_ID_3 0x11C 250#define DA9063_AD_REG_GP_ID_4 0x11D 251#define DA9063_AD_REG_GP_ID_5 0x11E 252#define DA9063_AD_REG_GP_ID_6 0x11F 253#define DA9063_AD_REG_GP_ID_7 0x120 254#define DA9063_AD_REG_GP_ID_8 0x121 255#define DA9063_AD_REG_GP_ID_9 0x122 256#define DA9063_AD_REG_GP_ID_10 0x123 257#define DA9063_AD_REG_GP_ID_11 0x124 258#define DA9063_AD_REG_GP_ID_12 0x125 259#define DA9063_AD_REG_GP_ID_13 0x126 260#define DA9063_AD_REG_GP_ID_14 0x127 261#define DA9063_AD_REG_GP_ID_15 0x128 262#define DA9063_AD_REG_GP_ID_16 0x129 263#define DA9063_AD_REG_GP_ID_17 0x12A 264#define DA9063_AD_REG_GP_ID_18 0x12B 265#define DA9063_AD_REG_GP_ID_19 0x12C 266 267#define DA9063_BB_REG_CONFIG_M 0x112 268#define DA9063_BB_REG_CONFIG_N 0x113 269 270#define DA9063_BB_REG_MON_REG_1 0x114 271#define DA9063_BB_REG_MON_REG_2 0x115 272#define DA9063_BB_REG_MON_REG_3 0x116 273#define DA9063_BB_REG_MON_REG_4 0x117 274#define DA9063_BB_REG_MON_REG_5 0x11E 275#define DA9063_BB_REG_MON_REG_6 0x11F 276#define DA9063_BB_REG_TRIM_CLDR 0x120 277/* General Purpose Registers */ 278#define DA9063_BB_REG_GP_ID_0 0x121 279#define DA9063_BB_REG_GP_ID_1 0x122 280#define DA9063_BB_REG_GP_ID_2 0x123 281#define DA9063_BB_REG_GP_ID_3 0x124 282#define DA9063_BB_REG_GP_ID_4 0x125 283#define DA9063_BB_REG_GP_ID_5 0x126 284#define DA9063_BB_REG_GP_ID_6 0x127 285#define DA9063_BB_REG_GP_ID_7 0x128 286#define DA9063_BB_REG_GP_ID_8 0x129 287#define DA9063_BB_REG_GP_ID_9 0x12A 288#define DA9063_BB_REG_GP_ID_10 0x12B 289#define DA9063_BB_REG_GP_ID_11 0x12C 290#define DA9063_BB_REG_GP_ID_12 0x12D 291#define DA9063_BB_REG_GP_ID_13 0x12E 292#define DA9063_BB_REG_GP_ID_14 0x12F 293#define DA9063_BB_REG_GP_ID_15 0x130 294#define DA9063_BB_REG_GP_ID_16 0x131 295#define DA9063_BB_REG_GP_ID_17 0x132 296#define DA9063_BB_REG_GP_ID_18 0x133 297#define DA9063_BB_REG_GP_ID_19 0x134 298 299/* Chip ID and variant */ 300#define DA9063_REG_CHIP_ID 0x181 301#define DA9063_REG_CHIP_VARIANT 0x182 302 303/* 304 * PMIC registers bits 305 */ 306/* DA9063_REG_PAGE_CON (addr=0x00) */ 307#define DA9063_PEG_PAGE_SHIFT 0 308#define DA9063_REG_PAGE_MASK 0x07 309#define DA9063_REG_PAGE0 0x00 310#define DA9063_REG_PAGE2 0x02 311#define DA9063_PAGE_WRITE_MODE 0x00 312#define DA9063_REPEAT_WRITE_MODE 0x40 313#define DA9063_PAGE_REVERT 0x80 314 315/* DA9063_REG_STATUS_A (addr=0x01) */ 316#define DA9063_NONKEY 0x01 317#define DA9063_WAKE 0x02 318#define DA9063_DVC_BUSY 0x04 319#define DA9063_COMP_1V2 0x08 320 321/* DA9063_REG_STATUS_B (addr=0x02) */ 322#define DA9063_GPI0 0x01 323#define DA9063_GPI1 0x02 324#define DA9063_GPI2 0x04 325#define DA9063_GPI3 0x08 326#define DA9063_GPI4 0x10 327#define DA9063_GPI5 0x20 328#define DA9063_GPI6 0x40 329#define DA9063_GPI7 0x80 330 331/* DA9063_REG_STATUS_C (addr=0x03) */ 332#define DA9063_GPI8 0x01 333#define DA9063_GPI9 0x02 334#define DA9063_GPI10 0x04 335#define DA9063_GPI11 0x08 336#define DA9063_GPI12 0x10 337#define DA9063_GPI13 0x20 338#define DA9063_GPI14 0x40 339#define DA9063_GPI15 0x80 340 341/* DA9063_REG_STATUS_D (addr=0x04) */ 342#define DA9063_LDO3_LIM 0x08 343#define DA9063_LDO4_LIM 0x10 344#define DA9063_LDO7_LIM 0x20 345#define DA9063_LDO8_LIM 0x40 346#define DA9063_LDO11_LIM 0x80 347 348/* DA9063_REG_FAULT_LOG (addr=0x05) */ 349#define DA9063_TWD_ERROR 0x01 350#define DA9063_POR 0x02 351#define DA9063_VDD_FAULT 0x04 352#define DA9063_VDD_START 0x08 353#define DA9063_TEMP_CRIT 0x10 354#define DA9063_KEY_RESET 0x20 355#define DA9063_NSHUTDOWN 0x40 356#define DA9063_WAIT_SHUT 0x80 357 358/* DA9063_REG_EVENT_A (addr=0x06) */ 359#define DA9063_E_NONKEY 0x01 360#define DA9063_E_ALARM 0x02 361#define DA9063_E_TICK 0x04 362#define DA9063_E_ADC_RDY 0x08 363#define DA9063_E_SEQ_RDY 0x10 364#define DA9063_EVENTS_B 0x20 365#define DA9063_EVENTS_C 0x40 366#define DA9063_EVENTS_D 0x80 367 368/* DA9063_REG_EVENT_B (addr=0x07) */ 369#define DA9063_E_WAKE 0x01 370#define DA9063_E_TEMP 0x02 371#define DA9063_E_COMP_1V2 0x04 372#define DA9063_E_LDO_LIM 0x08 373#define DA9063_E_REG_UVOV 0x10 374#define DA9063_E_DVC_RDY 0x20 375#define DA9063_E_VDD_MON 0x40 376#define DA9063_E_VDD_WARN 0x80 377 378/* DA9063_REG_EVENT_C (addr=0x08) */ 379#define DA9063_E_GPI0 0x01 380#define DA9063_E_GPI1 0x02 381#define DA9063_E_GPI2 0x04 382#define DA9063_E_GPI3 0x08 383#define DA9063_E_GPI4 0x10 384#define DA9063_E_GPI5 0x20 385#define DA9063_E_GPI6 0x40 386#define DA9063_E_GPI7 0x80 387 388/* DA9063_REG_EVENT_D (addr=0x09) */ 389#define DA9063_E_GPI8 0x01 390#define DA9063_E_GPI9 0x02 391#define DA9063_E_GPI10 0x04 392#define DA9063_E_GPI11 0x08 393#define DA9063_E_GPI12 0x10 394#define DA9063_E_GPI13 0x20 395#define DA9063_E_GPI14 0x40 396#define DA9063_E_GPI15 0x80 397 398/* DA9063_REG_IRQ_MASK_A (addr=0x0A) */ 399#define DA9063_M_ONKEY 0x01 400#define DA9063_M_ALARM 0x02 401#define DA9063_M_TICK 0x04 402#define DA9063_M_ADC_RDY 0x08 403#define DA9063_M_SEQ_RDY 0x10 404 405/* DA9063_REG_IRQ_MASK_B (addr=0x0B) */ 406#define DA9063_M_WAKE 0x01 407#define DA9063_M_TEMP 0x02 408#define DA9063_M_COMP_1V2 0x04 409#define DA9063_M_LDO_LIM 0x08 410#define DA9063_M_UVOV 0x10 411#define DA9063_M_DVC_RDY 0x20 412#define DA9063_M_VDD_MON 0x40 413#define DA9063_M_VDD_WARN 0x80 414 415/* DA9063_REG_IRQ_MASK_C (addr=0x0C) */ 416#define DA9063_M_GPI0 0x01 417#define DA9063_M_GPI1 0x02 418#define DA9063_M_GPI2 0x04 419#define DA9063_M_GPI3 0x08 420#define DA9063_M_GPI4 0x10 421#define DA9063_M_GPI5 0x20 422#define DA9063_M_GPI6 0x40 423#define DA9063_M_GPI7 0x80 424 425/* DA9063_REG_IRQ_MASK_D (addr=0x0D) */ 426#define DA9063_M_GPI8 0x01 427#define DA9063_M_GPI9 0x02 428#define DA9063_M_GPI10 0x04 429#define DA9063_M_GPI11 0x08 430#define DA9063_M_GPI12 0x10 431#define DA9063_M_GPI13 0x20 432#define DA9063_M_GPI14 0x40 433#define DA9063_M_GPI15 0x80 434 435/* DA9063_REG_CONTROL_A (addr=0x0E) */ 436#define DA9063_SYSTEM_EN 0x01 437#define DA9063_POWER_EN 0x02 438#define DA9063_POWER1_EN 0x04 439#define DA9063_STANDBY 0x08 440#define DA9063_M_SYSTEM_EN 0x10 441#define DA9063_M_POWER_EN 0x20 442#define DA9063_M_POWER1_EN 0x40 443#define DA9063_CP_EN 0x80 444 445/* DA9063_REG_CONTROL_B (addr=0x0F) */ 446#define DA9063_CHG_SEL 0x01 447#define DA9063_WATCHDOG_PD 0x02 448#define DA9063_BB_RESET_BLINKING 0x04 449#define DA9063_NRES_MODE 0x08 450#define DA9063_NONKEY_LOCK 0x10 451#define DA9063_BB_BUCK_SLOWSTART 0x80 452 453/* DA9063_REG_CONTROL_C (addr=0x10) */ 454#define DA9063_DEBOUNCING_MASK 0x07 455#define DA9063_DEBOUNCING_OFF 0x0 456#define DA9063_DEBOUNCING_0MS1 0x1 457#define DA9063_DEBOUNCING_1MS 0x2 458#define DA9063_DEBOUNCING_10MS24 0x3 459#define DA9063_DEBOUNCING_51MS2 0x4 460#define DA9063_DEBOUNCING_256MS 0x5 461#define DA9063_DEBOUNCING_512MS 0x6 462#define DA9063_DEBOUNCING_1024MS 0x7 463 464#define DA9063_AUTO_BOOT 0x08 465#define DA9063_OTPREAD_EN 0x10 466#define DA9063_SLEW_RATE_MASK 0x60 467#define DA9063_SLEW_RATE_4US 0x00 468#define DA9063_SLEW_RATE_3US 0x20 469#define DA9063_SLEW_RATE_1US 0x40 470#define DA9063_SLEW_RATE_0US5 0x60 471#define DA9063_DEF_SUPPLY 0x80 472 473/* DA9063_REG_CONTROL_D (addr=0x11) */ 474#define DA9063_TWDSCALE_MASK 0x07 475#define DA9063_BLINK_FRQ_MASK 0x38 476#define DA9063_BLINK_FRQ_OFF 0x00 477#define DA9063_BLINK_FRQ_1S0 0x08 478#define DA9063_BLINK_FRQ_2S0 0x10 479#define DA9063_BLINK_FRQ_4S0 0x18 480#define DA9063_BLINK_FRQ_0S18 0x20 481#define DA9063_BLINK_FRQ_2S0_VDD 0x28 482#define DA9063_BLINK_FRQ_4S0_VDD 0x30 483#define DA9063_BLINK_FRQ_0S18_VDD 0x38 484 485#define DA9063_BLINK_DUR_MASK 0xC0 486#define DA9063_BLINK_DUR_10MS 0x00 487#define DA9063_BLINK_DUR_20MS 0x40 488#define DA9063_BLINK_DUR_40MS 0x80 489#define DA9063_BLINK_DUR_20MSDBL 0xC0 490 491/* DA9063_REG_CONTROL_E (addr=0x12) */ 492#define DA9063_RTC_MODE_PD 0x01 493#define DA9063_RTC_MODE_SD 0x02 494#define DA9063_RTC_EN 0x04 495#define DA9063_ECO_MODE 0x08 496#define DA9063_PM_FB1_PIN 0x10 497#define DA9063_PM_FB2_PIN 0x20 498#define DA9063_PM_FB3_PIN 0x40 499#define DA9063_V_LOCK 0x80 500 501/* DA9063_REG_CONTROL_F (addr=0x13) */ 502#define DA9063_WATCHDOG 0x01 503#define DA9063_SHUTDOWN 0x02 504#define DA9063_WAKE_UP 0x04 505 506/* DA9063_REG_PD_DIS (addr=0x14) */ 507#define DA9063_GPI_DIS 0x01 508#define DA9063_GPADC_PAUSE 0x02 509#define DA9063_PMIF_DIS 0x04 510#define DA9063_HS2WIRE_DIS 0x08 511#define DA9063_BB_CLDR_PAUSE 0x10 512#define DA9063_BBAT_DIS 0x20 513#define DA9063_OUT_32K_PAUSE 0x40 514#define DA9063_PMCONT_DIS 0x80 515 516/* DA9063_REG_GPIO_0_1 (addr=0x15) */ 517#define DA9063_GPIO0_PIN_MASK 0x03 518#define DA9063_GPIO0_PIN_ADCIN1 0x00 519#define DA9063_GPIO0_PIN_GPI 0x01 520#define DA9063_GPIO0_PIN_GPO_OD 0x02 521#define DA9063_GPIO0_PIN_GPO 0x03 522#define DA9063_GPIO0_TYPE 0x04 523#define DA9063_GPIO0_TYPE_GPI_ACT_LOW 0x00 524#define DA9063_GPIO0_TYPE_GPO_VDD_IO1 0x00 525#define DA9063_GPIO0_TYPE_GPI_ACT_HIGH 0x04 526#define DA9063_GPIO0_TYPE_GPO_VDD_IO2 0x04 527#define DA9063_GPIO0_NO_WAKEUP 0x08 528#define DA9063_GPIO1_PIN_MASK 0x30 529#define DA9063_GPIO1_PIN_ADCIN2_COMP 0x00 530#define DA9063_GPIO1_PIN_GPI 0x10 531#define DA9063_GPIO1_PIN_GPO_OD 0x20 532#define DA9063_GPIO1_PIN_GPO 0x30 533#define DA9063_GPIO1_TYPE 0x40 534#define DA9063_GPIO1_TYPE_GPI_ACT_LOW 0x00 535#define DA9063_GPIO1_TYPE_GPO_VDD_IO1 0x00 536#define DA9063_GPIO1_TYPE_GPI_ACT_HIGH 0x04 537#define DA9063_GPIO1_TYPE_GPO_VDD_IO2 0x04 538#define DA9063_GPIO1_NO_WAKEUP 0x80 539 540/* DA9063_REG_GPIO_2_3 (addr=0x16) */ 541#define DA9063_GPIO2_PIN_MASK 0x03 542#define DA9063_GPIO2_PIN_ADCIN3 0x00 543#define DA9063_GPIO2_PIN_GPI 0x01 544#define DA9063_GPIO2_PIN_GPO_PSS 0x02 545#define DA9063_GPIO2_PIN_GPO 0x03 546#define DA9063_GPIO2_TYPE 0x04 547#define DA9063_GPIO2_TYPE_GPI_ACT_LOW 0x00 548#define DA9063_GPIO2_TYPE_GPO_VDD_IO1 0x00 549#define DA9063_GPIO2_TYPE_GPI_ACT_HIGH 0x04 550#define DA9063_GPIO2_TYPE_GPO_VDD_IO2 0x04 551#define DA9063_GPIO2_NO_WAKEUP 0x08 552#define DA9063_GPIO3_PIN_MASK 0x30 553#define DA9063_GPIO3_PIN_CORE_SW_G 0x00 554#define DA9063_GPIO3_PIN_GPI 0x10 555#define DA9063_GPIO3_PIN_GPO_OD 0x20 556#define DA9063_GPIO3_PIN_GPO 0x30 557#define DA9063_GPIO3_TYPE 0x40 558#define DA9063_GPIO3_TYPE_GPI_ACT_LOW 0x00 559#define DA9063_GPIO3_TYPE_GPO_VDD_IO1 0x00 560#define DA9063_GPIO3_TYPE_GPI_ACT_HIGH 0x04 561#define DA9063_GPIO3_TYPE_GPO_VDD_IO2 0x04 562#define DA9063_GPIO3_NO_WAKEUP 0x80 563 564/* DA9063_REG_GPIO_4_5 (addr=0x17) */ 565#define DA9063_GPIO4_PIN_MASK 0x03 566#define DA9063_GPIO4_PIN_CORE_SW_S 0x00 567#define DA9063_GPIO4_PIN_GPI 0x01 568#define DA9063_GPIO4_PIN_GPO_OD 0x02 569#define DA9063_GPIO4_PIN_GPO 0x03 570#define DA9063_GPIO4_TYPE 0x04 571#define DA9063_GPIO4_TYPE_GPI_ACT_LOW 0x00 572#define DA9063_GPIO4_TYPE_GPO_VDD_IO1 0x00 573#define DA9063_GPIO4_TYPE_GPI_ACT_HIGH 0x04 574#define DA9063_GPIO4_TYPE_GPO_VDD_IO2 0x04 575#define DA9063_GPIO4_NO_WAKEUP 0x08 576#define DA9063_GPIO5_PIN_MASK 0x30 577#define DA9063_GPIO5_PIN_PERI_SW_G 0x00 578#define DA9063_GPIO5_PIN_GPI 0x10 579#define DA9063_GPIO5_PIN_GPO_OD 0x20 580#define DA9063_GPIO5_PIN_GPO 0x30 581#define DA9063_GPIO5_TYPE 0x40 582#define DA9063_GPIO5_TYPE_GPI_ACT_LOW 0x00 583#define DA9063_GPIO5_TYPE_GPO_VDD_IO1 0x00 584#define DA9063_GPIO5_TYPE_GPI_ACT_HIGH 0x04 585#define DA9063_GPIO5_TYPE_GPO_VDD_IO2 0x04 586#define DA9063_GPIO5_NO_WAKEUP 0x80 587 588/* DA9063_REG_GPIO_6_7 (addr=0x18) */ 589#define DA9063_GPIO6_PIN_MASK 0x03 590#define DA9063_GPIO6_PIN_PERI_SW_S 0x00 591#define DA9063_GPIO6_PIN_GPI 0x01 592#define DA9063_GPIO6_PIN_GPO_OD 0x02 593#define DA9063_GPIO6_PIN_GPO 0x03 594#define DA9063_GPIO6_TYPE 0x04 595#define DA9063_GPIO6_TYPE_GPI_ACT_LOW 0x00 596#define DA9063_GPIO6_TYPE_GPO_VDD_IO1 0x00 597#define DA9063_GPIO6_TYPE_GPI_ACT_HIGH 0x04 598#define DA9063_GPIO6_TYPE_GPO_VDD_IO2 0x04 599#define DA9063_GPIO6_NO_WAKEUP 0x08 600#define DA9063_GPIO7_PIN_MASK 0x30 601#define DA9063_GPIO7_PIN_GPI 0x10 602#define DA9063_GPIO7_PIN_GPO_PSS 0x20 603#define DA9063_GPIO7_PIN_GPO 0x30 604#define DA9063_GPIO7_TYPE 0x40 605#define DA9063_GPIO7_TYPE_GPI_ACT_LOW 0x00 606#define DA9063_GPIO7_TYPE_GPO_VDD_IO1 0x00 607#define DA9063_GPIO7_TYPE_GPI_ACT_HIGH 0x04 608#define DA9063_GPIO7_TYPE_GPO_VDD_IO2 0x04 609#define DA9063_GPIO7_NO_WAKEUP 0x80 610 611/* DA9063_REG_GPIO_8_9 (addr=0x19) */ 612#define DA9063_GPIO8_PIN_MASK 0x03 613#define DA9063_GPIO8_PIN_GPI_SYS_EN 0x00 614#define DA9063_GPIO8_PIN_GPI 0x01 615#define DA9063_GPIO8_PIN_GPO_PSS 0x02 616#define DA9063_GPIO8_PIN_GPO 0x03 617#define DA9063_GPIO8_TYPE 0x04 618#define DA9063_GPIO8_TYPE_GPI_ACT_LOW 0x00 619#define DA9063_GPIO8_TYPE_GPO_VDD_IO1 0x00 620#define DA9063_GPIO8_TYPE_GPI_ACT_HIGH 0x04 621#define DA9063_GPIO8_TYPE_GPO_VDD_IO2 0x04 622#define DA9063_GPIO8_NO_WAKEUP 0x08 623#define DA9063_GPIO9_PIN_MASK 0x30 624#define DA9063_GPIO9_PIN_GPI_PWR_EN 0x00 625#define DA9063_GPIO9_PIN_GPI 0x10 626#define DA9063_GPIO9_PIN_GPO_PSS 0x20 627#define DA9063_GPIO9_PIN_GPO 0x30 628#define DA9063_GPIO9_TYPE 0x40 629#define DA9063_GPIO9_TYPE_GPI_ACT_LOW 0x00 630#define DA9063_GPIO9_TYPE_GPO_VDD_IO1 0x00 631#define DA9063_GPIO9_TYPE_GPI_ACT_HIGH 0x04 632#define DA9063_GPIO9_TYPE_GPO_VDD_IO2 0x04 633#define DA9063_GPIO9_NO_WAKEUP 0x80 634 635/* DA9063_REG_GPIO_10_11 (addr=0x1A) */ 636#define DA9063_GPIO10_PIN_MASK 0x03 637#define DA9063_GPIO10_PIN_GPI_PWR1_EN 0x00 638#define DA9063_GPIO10_PIN_GPI 0x01 639#define DA9063_GPIO10_PIN_GPO_OD 0x02 640#define DA9063_GPIO10_PIN_GPO 0x03 641#define DA9063_GPIO10_TYPE 0x04 642#define DA9063_GPIO10_TYPE_GPI_ACT_LOW 0x00 643#define DA9063_GPIO10_TYPE_GPO_VDD_IO1 0x00 644#define DA9063_GPIO10_TYPE_GPI_ACT_HIGH 0x04 645#define DA9063_GPIO10_TYPE_GPO_VDD_IO2 0x04 646#define DA9063_GPIO10_NO_WAKEUP 0x08 647#define DA9063_GPIO11_PIN_MASK 0x30 648#define DA9063_GPIO11_PIN_GPO_OD 0x00 649#define DA9063_GPIO11_PIN_GPI 0x10 650#define DA9063_GPIO11_PIN_GPO_PSS 0x20 651#define DA9063_GPIO11_PIN_GPO 0x30 652#define DA9063_GPIO11_TYPE 0x40 653#define DA9063_GPIO11_TYPE_GPI_ACT_LOW 0x00 654#define DA9063_GPIO11_TYPE_GPO_VDD_IO1 0x00 655#define DA9063_GPIO11_TYPE_GPI_ACT_HIGH 0x04 656#define DA9063_GPIO11_TYPE_GPO_VDD_IO2 0x04 657#define DA9063_GPIO11_NO_WAKEUP 0x80 658 659/* DA9063_REG_GPIO_12_13 (addr=0x1B) */ 660#define DA9063_GPIO12_PIN_MASK 0x03 661#define DA9063_GPIO12_PIN_NVDDFLT_OUT 0x00 662#define DA9063_GPIO12_PIN_GPI 0x01 663#define DA9063_GPIO12_PIN_VSYSMON_OUT 0x02 664#define DA9063_GPIO12_PIN_GPO 0x03 665#define DA9063_GPIO12_TYPE 0x04 666#define DA9063_GPIO12_TYPE_GPI_ACT_LOW 0x00 667#define DA9063_GPIO12_TYPE_GPO_VDD_IO1 0x00 668#define DA9063_GPIO12_TYPE_GPI_ACT_HIGH 0x04 669#define DA9063_GPIO12_TYPE_GPO_VDD_IO2 0x04 670#define DA9063_GPIO12_NO_WAKEUP 0x08 671#define DA9063_GPIO13_PIN_MASK 0x30 672#define DA9063_GPIO13_PIN_GPFB1_OUT 0x00 673#define DA9063_GPIO13_PIN_GPI 0x10 674#define DA9063_GPIO13_PIN_GPFB1_OUTOD 0x20 675#define DA9063_GPIO13_PIN_GPO 0x30 676#define DA9063_GPIO13_TYPE 0x40 677#define DA9063_GPIO13_TYPE_GPFB1_OUT 0x00 678#define DA9063_GPIO13_TYPE_GPI 0x00 679#define DA9063_GPIO13_TYPE_GPFB1_OUTOD 0x04 680#define DA9063_GPIO13_TYPE_GPO 0x04 681#define DA9063_GPIO13_NO_WAKEUP 0x80 682 683/* DA9063_REG_GPIO_14_15 (addr=0x1C) */ 684#define DA9063_GPIO14_PIN_MASK 0x03 685#define DA9063_GPIO14_PIN_GPO_OD 0x00 686#define DA9063_GPIO14_PIN_GPI 0x01 687#define DA9063_GPIO14_PIN_HS2DATA 0x02 688#define DA9063_GPIO14_PIN_GPO 0x03 689#define DA9063_GPIO14_TYPE 0x04 690#define DA9063_GPIO14_TYPE_GPI_ACT_LOW 0x00 691#define DA9063_GPIO14_TYPE_GPO_VDD_IO1 0x00 692#define DA9063_GPIO14_TYPE_GPI_ACT_HIGH 0x04 693#define DA9063_GPIO14_TYPE_GPO_VDD_IO2 0x04 694#define DA9063_GPIO14_NO_WAKEUP 0x08 695#define DA9063_GPIO15_PIN_MASK 0x30 696#define DA9063_GPIO15_PIN_GPO_OD 0x00 697#define DA9063_GPIO15_PIN_GPI 0x10 698#define DA9063_GPIO15_PIN_GPO 0x30 699#define DA9063_GPIO15_TYPE 0x40 700#define DA9063_GPIO15_TYPE_GPFB1_OUT 0x00 701#define DA9063_GPIO15_TYPE_GPI 0x00 702#define DA9063_GPIO15_TYPE_GPFB1_OUTOD 0x04 703#define DA9063_GPIO15_TYPE_GPO 0x04 704#define DA9063_GPIO15_NO_WAKEUP 0x80 705 706/* DA9063_REG_GPIO_MODE0_7 (addr=0x1D) */ 707#define DA9063_GPIO0_MODE 0x01 708#define DA9063_GPIO1_MODE 0x02 709#define DA9063_GPIO2_MODE 0x04 710#define DA9063_GPIO3_MODE 0x08 711#define DA9063_GPIO4_MODE 0x10 712#define DA9063_GPIO5_MODE 0x20 713#define DA9063_GPIO6_MODE 0x40 714#define DA9063_GPIO7_MODE 0x80 715 716/* DA9063_REG_GPIO_MODE8_15 (addr=0x1E) */ 717#define DA9063_GPIO8_MODE 0x01 718#define DA9063_GPIO9_MODE 0x02 719#define DA9063_GPIO10_MODE 0x04 720#define DA9063_GPIO11_MODE 0x08 721#define DA9063_GPIO11_MODE_LED_ACT_HIGH 0x00 722#define DA9063_GPIO11_MODE_LED_ACT_LOW 0x08 723#define DA9063_GPIO12_MODE 0x10 724#define DA9063_GPIO13_MODE 0x20 725#define DA9063_GPIO14_MODE 0x40 726#define DA9063_GPIO14_MODE_LED_ACT_HIGH 0x00 727#define DA9063_GPIO14_MODE_LED_ACT_LOW 0x40 728#define DA9063_GPIO15_MODE 0x80 729#define DA9063_GPIO15_MODE_LED_ACT_HIGH 0x00 730#define DA9063_GPIO15_MODE_LED_ACT_LOW 0x80 731 732/* DA9063_REG_SWITCH_CONT (addr=0x1F) */ 733#define DA9063_CORE_SW_GPI_MASK 0x03 734#define DA9063_CORE_SW_GPI_OFF 0x00 735#define DA9063_CORE_SW_GPI_GPIO1 0x01 736#define DA9063_CORE_SW_GPI_GPIO2 0x02 737#define DA9063_CORE_SW_GPI_GPIO13 0x03 738#define DA9063_PERI_SW_GPI_MASK 0x0C 739#define DA9063_PERI_SW_GPI_OFF 0x00 740#define DA9063_PERI_SW_GPI_GPIO1 0x04 741#define DA9063_PERI_SW_GPI_GPIO2 0x08 742#define DA9063_PERI_SW_GPI_GPIO13 0x0C 743#define DA9063_SWITCH_SR_MASK 0x30 744#define DA9063_SWITCH_SR_1MV 0x00 745#define DA9063_SWITCH_SR_5MV 0x10 746#define DA9063_SWITCH_SR_10MV 0x20 747#define DA9063_SWITCH_SR_50MV 0x30 748#define DA9063_CORE_SW_INTERNAL 0x40 749#define DA9063_CP_EN_MODE 0x80 750 751/* DA9063_REGL_Bxxxx_CONT common bits (addr=0x20-0x25) */ 752#define DA9063_BUCK_EN 0x01 753#define DA9063_BUCK_GPI_MASK 0x06 754#define DA9063_BUCK_GPI_OFF 0x00 755#define DA9063_BUCK_GPI_GPIO1 0x02 756#define DA9063_BUCK_GPI_GPIO2 0x04 757#define DA9063_BUCK_GPI_GPIO13 0x06 758#define DA9063_BUCK_CONF 0x08 759#define DA9063_VBUCK_GPI_MASK 0x60 760#define DA9063_VBUCK_GPI_OFF 0x00 761#define DA9063_VBUCK_GPI_GPIO1 0x20 762#define DA9063_VBUCK_GPI_GPIO2 0x40 763#define DA9063_VBUCK_GPI_GPIO13 0x60 764 765/* DA9063_REG_BCORE1_CONT specific bits (addr=0x21) */ 766#define DA9063_CORE_SW_EN 0x10 767#define DA9063_CORE_SW_CONF 0x80 768 769/* DA9063_REG_BPERI_CONT specific bits (addr=0x25) */ 770#define DA9063_PERI_SW_EN 0x10 771#define DA9063_PERI_SW_CONF 0x80 772 773/* DA9063_REG_LDOx_CONT common bits (addr=0x26-0x30) */ 774#define DA9063_LDO_EN 0x01 775#define DA9063_LDO_GPI_MASK 0x06 776#define DA9063_LDO_GPI_OFF 0x00 777#define DA9063_LDO_GPI_GPIO1 0x02 778#define DA9063_LDO_GPI_GPIO2 0x04 779#define DA9063_LDO_GPI_GPIO13 0x06 780#define DA9063_LDO_PD_DIS 0x08 781#define DA9063_VLDO_GPI_MASK 0x60 782#define DA9063_VLDO_GPI_OFF 0x00 783#define DA9063_VLDO_GPI_GPIO1 0x20 784#define DA9063_VLDO_GPI_GPIO2 0x40 785#define DA9063_VLDO_GPI_GPIO13 0x60 786#define DA9063_LDO_CONF 0x80 787 788/* DA9063_REG_LDO5_CONT specific bits (addr=0x2A) */ 789#define DA9063_VLDO5_SEL 0x10 790 791/* DA9063_REG_LDO6_CONT specific bits (addr=0x2B) */ 792#define DA9063_VLDO6_SEL 0x10 793 794/* DA9063_REG_LDO7_CONT specific bits (addr=0x2C) */ 795#define DA9063_VLDO7_SEL 0x10 796 797/* DA9063_REG_LDO8_CONT specific bits (addr=0x2D) */ 798#define DA9063_VLDO8_SEL 0x10 799 800/* DA9063_REG_LDO9_CONT specific bits (addr=0x2E) */ 801#define DA9063_VLDO9_SEL 0x10 802 803/* DA9063_REG_LDO10_CONT specific bits (addr=0x2F) */ 804#define DA9063_VLDO10_SEL 0x10 805 806/* DA9063_REG_LDO11_CONT specific bits (addr=0x30) */ 807#define DA9063_VLDO11_SEL 0x10 808 809/* DA9063_REG_VIB (addr=0x31) */ 810#define DA9063_VIB_SET_MASK 0x3F 811#define DA9063_VIB_SET_OFF 0 812#define DA9063_VIB_SET_MAX 0x3F 813 814/* DA9063_REG_DVC_1 (addr=0x32) */ 815#define DA9063_VBCORE1_SEL 0x01 816#define DA9063_VBCORE2_SEL 0x02 817#define DA9063_VBPRO_SEL 0x04 818#define DA9063_VBMEM_SEL 0x08 819#define DA9063_VBPERI_SEL 0x10 820#define DA9063_VLDO1_SEL 0x20 821#define DA9063_VLDO2_SEL 0x40 822#define DA9063_VLDO3_SEL 0x80 823 824/* DA9063_REG_DVC_2 (addr=0x33) */ 825#define DA9063_VBIO_SEL 0x01 826#define DA9063_VLDO4_SEL 0x80 827 828/* DA9063_REG_ADC_MAN (addr=0x34) */ 829#define DA9063_ADC_MUX_MASK 0x0F 830#define DA9063_ADC_MUX_VSYS 0x00 831#define DA9063_ADC_MUX_ADCIN1 0x01 832#define DA9063_ADC_MUX_ADCIN2 0x02 833#define DA9063_ADC_MUX_ADCIN3 0x03 834#define DA9063_ADC_MUX_T_SENSE 0x04 835#define DA9063_ADC_MUX_VBBAT 0x05 836#define DA9063_ADC_MUX_LDO_G1 0x08 837#define DA9063_ADC_MUX_LDO_G2 0x09 838#define DA9063_ADC_MUX_LDO_G3 0x0A 839#define DA9063_ADC_MAN 0x10 840#define DA9063_ADC_MODE 0x20 841 842/* DA9063_REG_ADC_CONT (addr=0x35) */ 843#define DA9063_ADC_AUTO_VSYS_EN 0x01 844#define DA9063_ADC_AUTO_AD1_EN 0x02 845#define DA9063_ADC_AUTO_AD2_EN 0x04 846#define DA9063_ADC_AUTO_AD3_EN 0x08 847#define DA9063_ADC_AD1_ISRC_EN 0x10 848#define DA9063_ADC_AD2_ISRC_EN 0x20 849#define DA9063_ADC_AD3_ISRC_EN 0x40 850#define DA9063_COMP1V2_EN 0x80 851 852/* DA9063_REG_VSYS_MON (addr=0x36) */ 853#define DA9063_VSYS_VAL_MASK 0xFF 854#define DA9063_VSYS_VAL_BASE 0x00 855 856/* DA9063_REG_ADC_RES_L (addr=0x37) */ 857#define DA9063_ADC_RES_L_BITS 2 858#define DA9063_ADC_RES_L_MASK 0xC0 859 860/* DA9063_REG_ADC_RES_H (addr=0x38) */ 861#define DA9063_ADC_RES_M_BITS 8 862#define DA9063_ADC_RES_M_MASK 0xFF 863 864/* DA9063_REG_(xxx_RES/ADC_RES_H) (addr=0x39-0x3F) */ 865#define DA9063_ADC_VAL_MASK 0xFF 866 867/* DA9063_REG_COUNT_S (addr=0x40) */ 868#define DA9063_RTC_READ 0x80 869#define DA9063_COUNT_SEC_MASK 0x3F 870 871/* DA9063_REG_COUNT_MI (addr=0x41) */ 872#define DA9063_COUNT_MIN_MASK 0x3F 873 874/* DA9063_REG_COUNT_H (addr=0x42) */ 875#define DA9063_COUNT_HOUR_MASK 0x1F 876 877/* DA9063_REG_COUNT_D (addr=0x43) */ 878#define DA9063_COUNT_DAY_MASK 0x1F 879 880/* DA9063_REG_COUNT_MO (addr=0x44) */ 881#define DA9063_COUNT_MONTH_MASK 0x0F 882 883/* DA9063_REG_COUNT_Y (addr=0x45) */ 884#define DA9063_COUNT_YEAR_MASK 0x3F 885#define DA9063_MONITOR 0x40 886 887/* DA9063_REG_ALARM_S (addr=0x46) */ 888#define DA9063_BB_ALARM_S_MASK 0x3F 889#define DA9063_ALARM_STATUS_ALARM 0x80 890#define DA9063_ALARM_STATUS_TICK 0x40 891/* DA9063_REG_ALARM_MI (addr=0x47) */ 892#define DA9063_ALARM_MIN_MASK 0x3F 893 894/* DA9063_REG_ALARM_H (addr=0x48) */ 895#define DA9063_ALARM_HOUR_MASK 0x1F 896 897/* DA9063_REG_ALARM_D (addr=0x49) */ 898#define DA9063_ALARM_DAY_MASK 0x1F 899 900/* DA9063_REG_ALARM_MO (addr=0x4A) */ 901#define DA9063_TICK_WAKE 0x20 902#define DA9063_TICK_TYPE 0x10 903#define DA9063_TICK_TYPE_SEC 0x00 904#define DA9063_TICK_TYPE_MIN 0x10 905#define DA9063_ALARM_MONTH_MASK 0x0F 906 907/* DA9063_REG_ALARM_Y (addr=0x4B) */ 908#define DA9063_TICK_ON 0x80 909#define DA9063_ALARM_ON 0x40 910#define DA9063_ALARM_YEAR_MASK 0x3F 911 912/* DA9063_REG_WAIT (addr=0x97)*/ 913#define DA9063_REG_WAIT_TIME_MASK 0xF 914#define DA9063_WAIT_TIME_0_US 0x0 915#define DA9063_WAIT_TIME_512_US 0x1 916#define DA9063_WAIT_TIME_1_MS 0x2 917#define DA9063_WAIT_TIME_2_MS 0x3 918#define DA9063_WAIT_TIME_4_1_MS 0x4 919#define DA9063_WAIT_TIME_8_2_MS 0x5 920#define DA9063_WAIT_TIME_16_4_MS 0x6 921#define DA9063_WAIT_TIME_32_8_MS 0x7 922#define DA9063_WAIT_TIME_65_5_MS 0x8 923#define DA9063_WAIT_TIME_128_MS 0x9 924#define DA9063_WAIT_TIME_256_MS 0xA 925#define DA9063_WAIT_TIME_512_MS 0xB 926#define DA9063_WAIT_TIME_1_S 0xC 927#define DA9063_WAIT_TIME_2_1_S 0xD 928 929/* DA9063_REG_EN_32K (addr=0x98)*/ 930#define DA9063_STABILIZ_TIME_MASK 0x7 931#define DA9063_CRYSTAL 0x08 932#define DA9063_DELAY_MODE 0x10 933#define DA9063_OUT_CLOCK 0x20 934#define DA9063_RTC_CLOCK 0x40 935#define DA9063_OUT_32K_EN 0x80 936 937/* DA9063_REG_CHIP_VARIANT */ 938#define DA9063_CHIP_VARIANT_SHIFT 4 939 940/* DA9063_REG_BUCK_ILIM_A (addr=0x9A) */ 941#define DA9063_BIO_ILIM_MASK 0x0F 942#define DA9063_BMEM_ILIM_MASK 0xF0 943 944/* DA9063_REG_BUCK_ILIM_B (addr=0x9B) */ 945#define DA9063_BPRO_ILIM_MASK 0x0F 946#define DA9063_BPERI_ILIM_MASK 0xF0 947 948/* DA9063_REG_BUCK_ILIM_C (addr=0x9C) */ 949#define DA9063_BCORE1_ILIM_MASK 0x0F 950#define DA9063_BCORE2_ILIM_MASK 0xF0 951 952/* DA9063_REG_Bxxxx_CFG common bits (addr=0x9D-0xA2) */ 953#define DA9063_BUCK_FB_MASK 0x07 954#define DA9063_BUCK_PD_DIS_MASK 0x20 955#define DA9063_BUCK_MODE_MASK 0xC0 956#define DA9063_BUCK_MODE_MANUAL 0x00 957#define DA9063_BUCK_MODE_SLEEP 0x40 958#define DA9063_BUCK_MODE_SYNC 0x80 959#define DA9063_BUCK_MODE_AUTO 0xC0 960 961/* DA9063_REG_BPRO_CFG (addr=0x9F) */ 962#define DA9063_BPRO_VTTR_EN 0x08 963#define DA9063_BPRO_VTT_EN 0x10 964 965/* DA9063_REG_VBxxxx_A/B (addr=0xA3-0xA8, 0xB4-0xB9) */ 966#define DA9063_VBUCK_MASK 0x7F 967#define DA9063_VBUCK_BIAS 0 968#define DA9063_BUCK_SL 0x80 969 970/* DA9063_REG_VLDOx_A/B (addr=0xA9-0x3, 0xBA-0xC4) */ 971#define DA9063_LDO_SL 0x80 972 973/* DA9063_REG_VLDO1_A/B (addr=0xA9, 0xBA) */ 974#define DA9063_VLDO1_MASK 0x3F 975#define DA9063_VLDO1_BIAS 0 976 977/* DA9063_REG_VLDO2_A/B (addr=0xAA, 0xBB) */ 978#define DA9063_VLDO2_MASK 0x3F 979#define DA9063_VLDO2_BIAS 0 980 981/* DA9063_REG_VLDO3_A/B (addr=0xAB, 0xBC) */ 982#define DA9063_VLDO3_MASK 0x7F 983#define DA9063_VLDO3_BIAS 0 984 985/* DA9063_REG_VLDO4_A/B (addr=0xAC, 0xBD) */ 986#define DA9063_VLDO4_MASK 0x7F 987#define DA9063_VLDO4_BIAS 0 988 989/* DA9063_REG_VLDO5_A/B (addr=0xAD, 0xBE) */ 990#define DA9063_VLDO5_MASK 0x3F 991#define DA9063_VLDO5_BIAS 2 992 993/* DA9063_REG_VLDO6_A/B (addr=0xAE, 0xBF) */ 994#define DA9063_VLDO6_MASK 0x3F 995#define DA9063_VLDO6_BIAS 2 996 997/* DA9063_REG_VLDO7_A/B (addr=0xAF, 0xC0) */ 998#define DA9063_VLDO7_MASK 0x3F 999#define DA9063_VLDO7_BIAS 2 1000
1001/* DA9063_REG_VLDO8_A/B (addr=0xB0, 0xC1) */ 1002#define DA9063_VLDO8_MASK 0x3F 1003#define DA9063_VLDO8_BIAS 2 1004 1005/* DA9063_REG_VLDO9_A/B (addr=0xB1, 0xC2) */ 1006#define DA9063_VLDO9_MASK 0x3F 1007#define DA9063_VLDO9_BIAS 3 1008 1009/* DA9063_REG_VLDO10_A/B (addr=0xB2, 0xC3) */ 1010#define DA9063_VLDO10_MASK 0x3F 1011#define DA9063_VLDO10_BIAS 2 1012 1013/* DA9063_REG_VLDO11_A/B (addr=0xB3, 0xC4) */ 1014#define DA9063_VLDO11_MASK 0x3F 1015#define DA9063_VLDO11_BIAS 2 1016 1017/* DA9063_REG_GPO11_LED (addr=0xC6) */ 1018/* DA9063_REG_GPO14_LED (addr=0xC7) */ 1019/* DA9063_REG_GPO15_LED (addr=0xC8) */ 1020#define DA9063_GPIO_DIM 0x80 1021#define DA9063_GPIO_PWM_MASK 0x7F 1022 1023/* DA9063_REG_CONFIG_H (addr=0x10D) */ 1024#define DA9063_PWM_CLK_MASK 0x01 1025#define DA9063_PWM_CLK_PWM2MHZ 0x00 1026#define DA9063_PWM_CLK_PWM1MHZ 0x01 1027#define DA9063_LDO8_MODE_MASK 0x02 1028#define DA9063_LDO8_MODE_LDO 0 1029#define DA9063_LDO8_MODE_VIBR 0x02 1030#define DA9063_MERGE_SENSE_MASK 0x04 1031#define DA9063_MERGE_SENSE_GP_FB2 0x00 1032#define DA9063_MERGE_SENSE_GPIO4 0x04 1033#define DA9063_BCORE_MERGE 0x08 1034#define DA9063_BPRO_OD 0x10 1035#define DA9063_BCORE2_OD 0x20 1036#define DA9063_BCORE1_OD 0x40 1037#define DA9063_BUCK_MERGE 0x80 1038 1039/* DA9063_REG_CONFIG_I (addr=0x10E) */ 1040#define DA9063_NONKEY_PIN_MASK 0x03 1041#define DA9063_NONKEY_PIN_PORT 0x00 1042#define DA9063_NONKEY_PIN_SWDOWN 0x01 1043#define DA9063_NONKEY_PIN_AUTODOWN 0x02 1044#define DA9063_NONKEY_PIN_AUTOFLPRT 0x03 1045 1046/* DA9063_REG_MON_REG_5 (addr=0x116) */ 1047#define DA9063_MON_A8_IDX_MASK 0x07 1048#define DA9063_MON_A8_IDX_NONE 0x00 1049#define DA9063_MON_A8_IDX_BCORE1 0x01 1050#define DA9063_MON_A8_IDX_BCORE2 0x02 1051#define DA9063_MON_A8_IDX_BPRO 0x03 1052#define DA9063_MON_A8_IDX_LDO3 0x04 1053#define DA9063_MON_A8_IDX_LDO4 0x05 1054#define DA9063_MON_A8_IDX_LDO11 0x06 1055#define DA9063_MON_A9_IDX_MASK 0x70 1056#define DA9063_MON_A9_IDX_NONE 0x00 1057#define DA9063_MON_A9_IDX_BIO 0x01 1058#define DA9063_MON_A9_IDX_BMEM 0x02 1059#define DA9063_MON_A9_IDX_BPERI 0x03 1060#define DA9063_MON_A9_IDX_LDO1 0x04 1061#define DA9063_MON_A9_IDX_LDO2 0x05 1062#define DA9063_MON_A9_IDX_LDO5 0x06 1063 1064/* DA9063_REG_MON_REG_6 (addr=0x117) */ 1065#define DA9063_MON_A10_IDX_MASK 0x07 1066#define DA9063_MON_A10_IDX_NONE 0x00 1067#define DA9063_MON_A10_IDX_LDO6 0x01 1068#define DA9063_MON_A10_IDX_LDO7 0x02 1069#define DA9063_MON_A10_IDX_LDO8 0x03 1070#define DA9063_MON_A10_IDX_LDO9 0x04 1071#define DA9063_MON_A10_IDX_LDO10 0x05 1072 1073#endif /* _DA9063_REG_H */ 1074