File Index
Files and directories
Sign in
FILE

registers.h

File preview with syntax highlighting.

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