1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright (C) 2020 ROHM Semiconductors */
3 #ifndef BD99954_CHARGER_H
4 #define BD99954_CHARGER_H
6 #include <linux/regmap.h>
8 #define BD9995X_MANUFACTURER "Rohm Semiconductor"
9 #define BD9995X_IRQ_PIN "bd9995x_irq"
11 #define BD9995X_VSYS_PRECHARGE_OFFSET_MV 200
13 #define BD99954_ID 0x346
14 #define BD99955_ID 0x221
15 #define BD99956_ID 0x331
17 /* Battery Charger Commands */
18 #define CHARGING_CURRENT 0x14
19 #define CHARGING_VOLTAGE 0x15
20 #define PROTECT_SET 0x3E
23 /* Extended commands */
24 #define CHGSTM_STATUS 0x100
25 #define VBAT_VSYS_STATUS 0x101
26 #define VBUS_VCC_STATUS 0x102
27 #define CHGOP_STATUS 0x103
28 #define WDT_STATUS 0x104
29 #define CUR_ILIM_VAL 0x105
30 #define SEL_ILIM_VAL 0x106
31 #define IBUS_LIM_SET 0x107
32 #define ICC_LIM_SET 0x108
33 #define IOTG_LIM_SET 0x109
34 #define VIN_CTRL_SET 0x10A
35 #define CHGOP_SET1 0x10B
36 #define CHGOP_SET2 0x10C
37 #define VBUSCLPS_TH_SET 0x10D
38 #define VCCCLPS_TH_SET 0x10E
39 #define CHGWDT_SET 0x10F
40 #define BATTWDT_SET 0x110
41 #define VSYSREG_SET 0x111
42 #define VSYSVAL_THH_SET 0x112
43 #define VSYSVAL_THL_SET 0x113
44 #define ITRICH_SET 0x114
45 #define IPRECH_SET 0x115
46 #define ICHG_SET 0x116
47 #define ITERM_SET 0x117
48 #define VPRECHG_TH_SET 0x118
49 #define VRBOOST_SET 0x119
50 #define VFASTCHG_REG_SET1 0x11A
51 #define VFASTCHG_REG_SET2 0x11B
52 #define VFASTCHG_REG_SET3 0x11C
53 #define VRECHG_SET 0x11D
54 #define VBATOVP_SET 0x11E
55 #define IBATSHORT_SET 0x11F
56 #define PROCHOT_CTRL_SET 0x120
57 #define PROCHOT_ICRIT_SET 0x121
58 #define PROCHOT_INORM_SET 0x122
59 #define PROCHOT_IDCHG_SET 0x123
60 #define PROCHOT_VSYS_SET 0x124
61 #define PMON_IOUT_CTRL_SET 0x125
62 #define PMON_DACIN_VAL 0x126
63 #define IOUT_DACIN_VAL 0x127
64 #define VCC_UCD_SET 0x128
65 #define VCC_UCD_STATUS 0x129
66 #define VCC_IDD_STATUS 0x12A
67 #define VCC_UCD_FCTRL_SET 0x12B
68 #define VCC_UCD_FCTRL_EN 0x12C
69 #define VBUS_UCD_SET 0x130
70 #define VBUS_UCD_STATUS 0x131
71 #define VBUS_IDD_STATUS 0x132
72 #define VBUS_UCD_FCTRL_SET 0x133
73 #define VBUS_UCD_FCTRL_EN 0x134
75 #define CHIP_REV 0x139
78 #define SYSTEM_STATUS 0x13C
79 #define SYSTEM_CTRL_SET 0x13D
80 #define VM_CTRL_SET 0x140
81 #define THERM_WINDOW_SET1 0x141
82 #define THERM_WINDOW_SET2 0x142
83 #define THERM_WINDOW_SET3 0x143
84 #define THERM_WINDOW_SET4 0x144
85 #define THERM_WINDOW_SET5 0x145
86 #define IBATP_TH_SET 0x146
87 #define IBATM_TH_SET 0x147
88 #define VBAT_TH_SET 0x148
89 #define THERM_TH_SET 0x149
90 #define IACP_TH_SET 0x14A
91 #define VACP_TH_SET 0x14B
92 #define VBUS_TH_SET 0x14C
93 #define VCC_TH_SET 0x14D
94 #define VSYS_TH_SET 0x14E
95 #define EXTIADP_TH_SET 0x14F
96 #define IBATP_VAL 0x150
97 #define IBATP_AVE_VAL 0x151
98 #define IBATM_VAL 0x152
99 #define IBATM_AVE_VAL 0x153
100 #define VBAT_VAL 0x154
101 #define VBAT_AVE_VAL 0x155
102 #define THERM_VAL 0x156
103 #define VTH_VAL 0x157
104 #define IACP_VAL 0x158
105 #define IACP_AVE_VAL 0x159
106 #define VACP_VAL 0x15A
107 #define VACP_AVE_VAL 0x15B
108 #define VBUS_VAL 0x15C
109 #define VBUS_AVE_VAL 0x15D
110 #define VCC_VAL 0x15E
111 #define VCC_AVE_VAL 0x15F
112 #define VSYS_VAL 0x160
113 #define VSYS_AVE_VAL 0x161
114 #define EXTIADP_VAL 0x162
115 #define EXTIADP_AVE_VAL 0x163
116 #define VACPCLPS_TH_SET 0x164
117 #define INT0_SET 0x168
118 #define INT1_SET 0x169
119 #define INT2_SET 0x16A
120 #define INT3_SET 0x16B
121 #define INT4_SET 0x16C
122 #define INT5_SET 0x16D
123 #define INT6_SET 0x16E
124 #define INT7_SET 0x16F
125 #define INT0_STATUS 0x170
126 #define INT1_STATUS 0x171
127 #define INT2_STATUS 0x172
128 #define INT3_STATUS 0x173
129 #define INT4_STATUS 0x174
130 #define INT5_STATUS 0x175
131 #define INT6_STATUS 0x176
132 #define INT7_STATUS 0x177
133 #define OTPREG0 0x17A
134 #define OTPREG1 0x17B
136 #define DEBUG_MODE_SET 0x17F
137 #define DEBUG0x14 0x214
138 #define DEBUG0x1A 0x21A
140 enum bd9995x_fields
{
141 F_PREV_CHGSTM_STATE
, F_CHGSTM_STATE
,
144 F_BATTEMP
, F_VRECHG_DET
, F_RBOOST_UV
, F_RBOOSTS
,
145 F_THERMWDT_VAL
, F_CHGWDT_VAL
,
204 F_PROCHOT_ICRIT_DG_SET
,
205 F_PROCHOT_IDCHG_DG_SET
,
252 F_VCC_UCDSWEN_TSTENB
,
253 F_VCC_RREF_EN_TSTENB
,
254 F_VCC_DPPU_EN_TSTENB
,
255 F_VCC_DPREF_EN_TSTENB
,
256 F_VCC_DMREF_EN_TSTENB
,
257 F_VCC_DPDET_EN_TSTENB
,
258 F_VCC_DMDET_EN_TSTENB
,
259 F_VCC_DPSINK_EN_TSTENB
,
260 F_VCC_DMSINK_EN_TSTENB
,
261 F_VCC_DP_BUFF_EN_TSTENB
,
262 F_VCC_DM_BUFF_EN_TSTENB
,
295 F_VBUS_UCDSWEN_TSTENB
,
296 F_VBUS_RREF_EN_TSTENB
,
297 F_VBUS_DPPU_EN_TSTENB
,
298 F_VBUS_DPREF_EN_TSTENB
,
299 F_VBUS_DMREF_EN_TSTENB
,
300 F_VBUS_DPDET_EN_TSTENB
,
301 F_VBUS_DMDET_EN_TSTENB
,
302 F_VBUS_DPSINK_EN_TSTENB
,
303 F_VBUS_DMSINK_EN_TSTENB
,
304 F_VBUS_DP_BUFF_EN_TSTENB
,
305 F_VBUS_DM_BUFF_EN_TSTENB
,
481 static const struct reg_field bd9995x_reg_fields
[] = {
482 [F_PREV_CHGSTM_STATE
] = REG_FIELD(CHGSTM_STATUS
, 8, 14),
483 [F_CHGSTM_STATE
] = REG_FIELD(CHGSTM_STATUS
, 0, 6),
484 [F_VBAT_VSYS_STATUS
] = REG_FIELD(VBAT_VSYS_STATUS
, 0, 15),
485 [F_VBUS_VCC_STATUS
] = REG_FIELD(VBUS_VCC_STATUS
, 0, 12),
486 [F_BATTEMP
] = REG_FIELD(CHGOP_STATUS
, 8, 10),
487 [F_VRECHG_DET
] = REG_FIELD(CHGOP_STATUS
, 6, 6),
488 [F_RBOOST_UV
] = REG_FIELD(CHGOP_STATUS
, 1, 1),
489 [F_RBOOSTS
] = REG_FIELD(CHGOP_STATUS
, 0, 0),
490 [F_THERMWDT_VAL
] = REG_FIELD(WDT_STATUS
, 8, 15),
491 [F_CHGWDT_VAL
] = REG_FIELD(WDT_STATUS
, 0, 7),
492 [F_CUR_ILIM_VAL
] = REG_FIELD(CUR_ILIM_VAL
, 0, 13),
493 [F_SEL_ILIM_VAL
] = REG_FIELD(SEL_ILIM_VAL
, 0, 13),
494 [F_IBUS_LIM_SET
] = REG_FIELD(IBUS_LIM_SET
, 5, 13),
495 [F_ICC_LIM_SET
] = REG_FIELD(ICC_LIM_SET
, 5, 13),
496 [F_IOTG_LIM_SET
] = REG_FIELD(IOTG_LIM_SET
, 5, 13),
497 [F_OTG_BOTH_EN
] = REG_FIELD(VIN_CTRL_SET
, 15, 15),
498 [F_VRBOOST_TRIG
] = REG_FIELD(VIN_CTRL_SET
, 14, 14),
499 [F_VRBOOST_EN
] = REG_FIELD(VIN_CTRL_SET
, 12, 13),
500 [F_PP_BOTH_THRU
] = REG_FIELD(VIN_CTRL_SET
, 11, 11),
501 [F_VIN_ORD
] = REG_FIELD(VIN_CTRL_SET
, 7, 7),
502 [F_VBUS_EN
] = REG_FIELD(VIN_CTRL_SET
, 6, 6),
503 [F_VCC_EN
] = REG_FIELD(VIN_CTRL_SET
, 5, 5),
504 [F_VSYS_PRIORITY
] = REG_FIELD(VIN_CTRL_SET
, 4, 4),
505 [F_PPC_SUB_CAP
] = REG_FIELD(VIN_CTRL_SET
, 2, 3),
506 [F_PPC_CAP
] = REG_FIELD(VIN_CTRL_SET
, 0, 1),
507 [F_DCP_2500_SEL
] = REG_FIELD(CHGOP_SET1
, 15, 15),
508 [F_SDP_500_SEL
] = REG_FIELD(CHGOP_SET1
, 14, 14),
509 [F_ILIM_AUTO_DISEN
] = REG_FIELD(CHGOP_SET1
, 13, 13),
510 [F_VCC_BC_DISEN
] = REG_FIELD(CHGOP_SET1
, 11, 11),
511 [F_VBUS_BC_DISEN
] = REG_FIELD(CHGOP_SET1
, 10, 10),
512 [F_SDP_CHG_TRIG_EN
] = REG_FIELD(CHGOP_SET1
, 9, 9),
513 [F_SDP_CHG_TRIG
] = REG_FIELD(CHGOP_SET1
, 8, 8),
514 [F_AUTO_TOF
] = REG_FIELD(CHGOP_SET1
, 6, 6),
515 [F_AUTO_FST
] = REG_FIELD(CHGOP_SET1
, 5, 5),
516 [F_AUTO_RECH
] = REG_FIELD(CHGOP_SET1
, 3, 3),
517 [F_ILIM_RESET_EN
] = REG_FIELD(CHGOP_SET2
, 14, 14),
518 [F_DCDC_1MS_SEL
] = REG_FIELD(CHGOP_SET2
, 12, 13),
519 [F_SEL_ILIM_DIV
] = REG_FIELD(CHGOP_SET2
, 10, 10),
520 [F_BATT_LEARN
] = REG_FIELD(CHGOP_SET2
, 8, 8),
521 [F_CHG_EN
] = REG_FIELD(CHGOP_SET2
, 7, 7),
522 [F_USB_SUS
] = REG_FIELD(CHGOP_SET2
, 6, 6),
523 [F_CHOP_SS_INIT
] = REG_FIELD(CHGOP_SET2
, 5, 5),
524 [F_CHOP_ALL_INIT
] = REG_FIELD(CHGOP_SET2
, 4, 4),
525 [F_DCDC_CLK_SEL
] = REG_FIELD(CHGOP_SET2
, 2, 3),
526 [F_CHOP_SS
] = REG_FIELD(CHGOP_SET2
, 1, 1),
527 [F_CHOP_ALL
] = REG_FIELD(CHGOP_SET2
, 0, 0),
528 [F_VBUSCLPS_TH_SET
] = REG_FIELD(VBUSCLPS_TH_SET
, 7, 14),
529 [F_VCCCLPS_TH_SET
] = REG_FIELD(VCCCLPS_TH_SET
, 7, 14),
530 [F_WDT_FST
] = REG_FIELD(CHGWDT_SET
, 8, 15),
531 [F_WDT_PRE
] = REG_FIELD(CHGWDT_SET
, 0, 7),
532 [F_WDT_IBAT_SHORT
] = REG_FIELD(BATTWDT_SET
, 8, 15),
533 [F_WDT_THERM
] = REG_FIELD(BATTWDT_SET
, 0, 7),
534 [F_VSYSREG_SET
] = REG_FIELD(VSYSREG_SET
, 6, 14),
535 [F_VSYSVAL_THH_SET
] = REG_FIELD(VSYSVAL_THH_SET
, 6, 14),
536 [F_VSYSVAL_THL_SET
] = REG_FIELD(VSYSVAL_THL_SET
, 6, 14),
537 [F_ITRICH_SET
] = REG_FIELD(ITRICH_SET
, 6, 10),
538 [F_IPRECH_SET
] = REG_FIELD(IPRECH_SET
, 6, 10),
539 [F_ICHG_SET
] = REG_FIELD(ICHG_SET
, 6, 13),
540 [F_ITERM_SET
] = REG_FIELD(ITERM_SET
, 6, 10),
541 [F_VPRECHG_TH_SET
] = REG_FIELD(VPRECHG_TH_SET
, 6, 14),
542 [F_VRBOOST_SET
] = REG_FIELD(VRBOOST_SET
, 6, 14),
543 [F_VFASTCHG_REG_SET1
] = REG_FIELD(VFASTCHG_REG_SET1
, 4, 14),
544 [F_VFASTCHG_REG_SET2
] = REG_FIELD(VFASTCHG_REG_SET2
, 4, 14),
545 [F_VFASTCHG_REG_SET3
] = REG_FIELD(VFASTCHG_REG_SET3
, 4, 14),
546 [F_VRECHG_SET
] = REG_FIELD(VRECHG_SET
, 4, 14),
547 [F_VBATOVP_SET
] = REG_FIELD(VBATOVP_SET
, 4, 14),
548 [F_IBATM_SHORT_SET
] = REG_FIELD(IBATSHORT_SET
, 0, 14),
549 [F_PROCHOT_DG_SET
] = REG_FIELD(PROCHOT_CTRL_SET
, 14, 15),
550 [F_PROCHOT_ICRIT_DG_SET
] = REG_FIELD(PROCHOT_CTRL_SET
, 10, 11),
551 [F_PROCHOT_IDCHG_DG_SET
] = REG_FIELD(PROCHOT_CTRL_SET
, 8, 9),
552 [F_PROCHOT_EN
] = REG_FIELD(PROCHOT_CTRL_SET
, 0, 4),
553 [F_PROCHOT_ICRIT_SET
] = REG_FIELD(PROCHOT_ICRIT_SET
, 0, 14),
554 [F_PROCHOT_INORM_SET
] = REG_FIELD(PROCHOT_INORM_SET
, 0, 14),
555 [F_PROCHOT_IDCHG_SET
] = REG_FIELD(PROCHOT_IDCHG_SET
, 0, 14),
556 [F_PROCHOT_VSYS_SET
] = REG_FIELD(PROCHOT_VSYS_SET
, 0, 14),
557 [F_IMON_INSEL
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 9, 9),
558 [F_PMON_INSEL
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 8, 8),
559 [F_IOUT_OUT_EN
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 7, 7),
560 [F_IOUT_SOURCE_SEL
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 6, 6),
561 [F_IOUT_GAIN_SET
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 4, 5),
562 [F_PMON_OUT_EN
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 3, 3),
563 [F_PMON_GAIN_SET
] = REG_FIELD(PMON_IOUT_CTRL_SET
, 0, 2),
564 [F_PMON_DACIN_VAL
] = REG_FIELD(PMON_DACIN_VAL
, 0, 9),
565 [F_IOUT_DACIN_VAL
] = REG_FIELD(IOUT_DACIN_VAL
, 0, 11),
566 [F_VCC_BCSRETRY
] = REG_FIELD(VCC_UCD_SET
, 12, 12),
567 [F_VCC_ADCRTRY
] = REG_FIELD(VCC_UCD_SET
, 8, 8),
568 [F_VCC_USBDETEN
] = REG_FIELD(VCC_UCD_SET
, 7, 7),
569 [F_VCC_IDRDETEN
] = REG_FIELD(VCC_UCD_SET
, 6, 6),
570 [F_VCC_ENUMRDY
] = REG_FIELD(VCC_UCD_SET
, 5, 5),
571 [F_VCC_ADCPOLEN
] = REG_FIELD(VCC_UCD_SET
, 4, 4),
572 [F_VCC_DCDMODE
] = REG_FIELD(VCC_UCD_SET
, 3, 3),
573 [F_VCC_USB_SW_EN
] = REG_FIELD(VCC_UCD_SET
, 1, 1),
574 [F_VCC_USB_SW
] = REG_FIELD(VCC_UCD_SET
, 0, 0),
575 [F_VCC_DCDFAIL
] = REG_FIELD(VCC_UCD_STATUS
, 15, 15),
576 [F_VCC_CHGPORT
] = REG_FIELD(VCC_UCD_STATUS
, 12, 13),
577 [F_VCC_PUPDET
] = REG_FIELD(VCC_UCD_STATUS
, 11, 11),
578 [F_VCC_VBUS_VLD
] = REG_FIELD(VCC_UCD_STATUS
, 7, 7),
579 [F_VCC_CHGDET
] = REG_FIELD(VCC_UCD_STATUS
, 6, 6),
580 [F_VCC_OTGDET
] = REG_FIELD(VCC_UCD_STATUS
, 3, 3),
581 [F_VCC_VBINOP
] = REG_FIELD(VCC_IDD_STATUS
, 6, 6),
582 [F_VCC_EXTID
] = REG_FIELD(VCC_IDD_STATUS
, 5, 5),
583 [F_VCC_IDRDET
] = REG_FIELD(VCC_IDD_STATUS
, 4, 4),
584 [F_VCC_INDO
] = REG_FIELD(VCC_IDD_STATUS
, 0, 3),
585 [F_VCC_UCDSWEN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 10, 10),
586 [F_VCC_RREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 9, 9),
587 [F_VCC_DPPU_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 8, 8),
588 [F_VCC_DPREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 7, 7),
589 [F_VCC_DMREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 6, 6),
590 [F_VCC_DPDET_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 5, 5),
591 [F_VCC_DMDET_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 4, 4),
592 [F_VCC_DPSINK_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 3, 3),
593 [F_VCC_DMSINK_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 2, 2),
594 [F_VCC_DP_BUFF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 1, 1),
595 [F_VCC_DM_BUFF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 0, 0),
596 [F_VCC_EXTCLKENBL
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 15, 15),
597 [F_VCC_PLSTESTEN
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 14, 14),
598 [F_VCC_UCDSWEN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 10, 10),
599 [F_VCC_RREF_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 9, 9),
600 [F_VCC_DPPU_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 8, 8),
601 [F_VCC_DPREF_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 7, 7),
602 [F_VCC_DMREF_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 6, 6),
603 [F_VCC_DPDET_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 5, 5),
604 [F_VCC_DMDET_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 4, 4),
605 [F_VCC_DPSINK_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 3, 3),
606 [F_VCC_DMSINK_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 2, 2),
607 [F_VCC_DP_BUFF_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 1, 1),
608 [F_VCC_DM_BUFF_EN_TSTENB
] = REG_FIELD(VCC_UCD_FCTRL_EN
, 0, 0),
610 [F_VBUS_BCSRETRY
] = REG_FIELD(VBUS_UCD_SET
, 12, 12),
611 [F_VBUS_ADCRTRY
] = REG_FIELD(VBUS_UCD_SET
, 8, 8),
612 [F_VBUS_USBDETEN
] = REG_FIELD(VBUS_UCD_SET
, 7, 7),
613 [F_VBUS_IDRDETEN
] = REG_FIELD(VBUS_UCD_SET
, 6, 6),
614 [F_VBUS_ENUMRDY
] = REG_FIELD(VBUS_UCD_SET
, 5, 5),
615 [F_VBUS_ADCPOLEN
] = REG_FIELD(VBUS_UCD_SET
, 4, 4),
616 [F_VBUS_DCDMODE
] = REG_FIELD(VBUS_UCD_SET
, 3, 3),
617 [F_VBUS_USB_SW_EN
] = REG_FIELD(VBUS_UCD_SET
, 1, 1),
618 [F_VBUS_USB_SW
] = REG_FIELD(VBUS_UCD_SET
, 0, 0),
619 [F_VBUS_DCDFAIL
] = REG_FIELD(VBUS_UCD_STATUS
, 15, 15),
620 [F_VBUS_CHGPORT
] = REG_FIELD(VBUS_UCD_STATUS
, 12, 13),
621 [F_VBUS_PUPDET
] = REG_FIELD(VBUS_UCD_STATUS
, 11, 11),
622 [F_VBUS_VBUS_VLD
] = REG_FIELD(VBUS_UCD_STATUS
, 7, 7),
623 [F_VBUS_CHGDET
] = REG_FIELD(VBUS_UCD_STATUS
, 6, 6),
624 [F_VBUS_OTGDET
] = REG_FIELD(VBUS_UCD_STATUS
, 3, 3),
625 [F_VBUS_VBINOP
] = REG_FIELD(VBUS_IDD_STATUS
, 6, 6),
626 [F_VBUS_EXTID
] = REG_FIELD(VBUS_IDD_STATUS
, 5, 5),
627 [F_VBUS_IDRDET
] = REG_FIELD(VBUS_IDD_STATUS
, 4, 4),
628 [F_VBUS_INDO
] = REG_FIELD(VBUS_IDD_STATUS
, 0, 3),
629 [F_VBUS_UCDSWEN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 10, 10),
630 [F_VBUS_RREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 9, 9),
631 [F_VBUS_DPPU_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 8, 8),
632 [F_VBUS_DPREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 7, 7),
633 [F_VBUS_DMREF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 6, 6),
634 [F_VBUS_DPDET_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 5, 5),
635 [F_VBUS_DMDET_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 4, 4),
636 [F_VBUS_DPSINK_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 3, 3),
637 [F_VBUS_DMSINK_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 2, 2),
638 [F_VBUS_DP_BUFF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 1, 1),
639 [F_VBUS_DM_BUFF_EN
] = REG_FIELD(VCC_UCD_FCTRL_SET
, 0, 0),
641 [F_VBUS_EXTCLKENBL
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 15, 15),
642 [F_VBUS_PLSTESTEN
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 14, 14),
643 [F_VBUS_UCDSWEN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 10, 10),
644 [F_VBUS_RREF_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 9, 9),
645 [F_VBUS_DPPU_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 8, 8),
646 [F_VBUS_DPREF_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 7, 7),
647 [F_VBUS_DMREF_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 6, 6),
648 [F_VBUS_DPDET_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 5, 5),
649 [F_VBUS_DMDET_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 4, 4),
650 [F_VBUS_DPSINK_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 3, 3),
651 [F_VBUS_DMSINK_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 2, 2),
652 [F_VBUS_DP_BUFF_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 1, 1),
653 [F_VBUS_DM_BUFF_EN_TSTENB
] = REG_FIELD(VBUS_UCD_FCTRL_EN
, 0, 0),
655 [F_CHIP_ID
] = REG_FIELD(CHIP_ID
, 0, 15),
656 [F_CHIP_REV
] = REG_FIELD(CHIP_REV
, 0, 15),
657 [F_ONE_CELL_MODE
] = REG_FIELD(IC_SET1
, 11, 11),
658 [F_cell
] = REG_FIELD(IC_SET1
, 1, 1),
659 [F_VACP_AUTO_DISCHG
] = REG_FIELD(IC_SET1
, 9, 9),
660 [F_VACP_LOAD
] = REG_FIELD(IC_SET1
, 8, 8),
661 [F_ACOK_POL
] = REG_FIELD(IC_SET1
, 1, 1),
662 [F_ACOK_DISEN
] = REG_FIELD(IC_SET1
, 0, 0),
663 [F_DEBUG_SET1
] = REG_FIELD(IC_SET2
, 4, 8),
664 [F_DEBUG_SET0
] = REG_FIELD(IC_SET2
, 0, 0),
665 [F_MONRST_STATE
] = REG_FIELD(SYSTEM_STATUS
, 6, 6),
666 [F_ALMRST_STATE
] = REG_FIELD(SYSTEM_STATUS
, 5, 5),
667 [F_CHGRST_STATE
] = REG_FIELD(SYSTEM_STATUS
, 4, 4),
668 [F_OTPLD_STATE
] = REG_FIELD(SYSTEM_STATUS
, 1, 1),
669 [F_ALLRST_STATE
] = REG_FIELD(SYSTEM_STATUS
, 0, 0),
670 [F_PROTECT_SET
] = REG_FIELD(PROTECT_SET
, 0, 15),
671 [F_MAP_SET
] = REG_FIELD(MAP_SET
, 0, 15),
672 [F_ADCINTERVAL
] = REG_FIELD(VM_CTRL_SET
, 14, 15),
673 [F_ADCMOD
] = REG_FIELD(VM_CTRL_SET
, 12, 13),
674 [F_ADCTMOD
] = REG_FIELD(VM_CTRL_SET
, 10, 11),
675 [F_EXTIADPEN
] = REG_FIELD(VM_CTRL_SET
, 9, 9),
676 [F_VSYSENB
] = REG_FIELD(VM_CTRL_SET
, 8, 8),
677 [F_VCCENB
] = REG_FIELD(VM_CTRL_SET
, 7, 7),
678 [F_VBUSENB
] = REG_FIELD(VM_CTRL_SET
, 6, 6),
679 [F_VACPENB
] = REG_FIELD(VM_CTRL_SET
, 5, 5),
680 [F_IACPENB
] = REG_FIELD(VM_CTRL_SET
, 4, 4),
681 [F_THERMENB
] = REG_FIELD(VM_CTRL_SET
, 3, 3),
682 [F_VBATENB
] = REG_FIELD(VM_CTRL_SET
, 2, 2),
683 [F_IBATMENB
] = REG_FIELD(VM_CTRL_SET
, 1, 1),
684 [F_IBATPENB
] = REG_FIELD(VM_CTRL_SET
, 0, 0),
685 [F_TMPTHR1B
] = REG_FIELD(THERM_WINDOW_SET1
, 8, 15),
686 [F_TMPTHR1A
] = REG_FIELD(THERM_WINDOW_SET1
, 0, 7),
687 [F_TMPTHR2B
] = REG_FIELD(THERM_WINDOW_SET2
, 8, 15),
688 [F_TMPTHR2A
] = REG_FIELD(THERM_WINDOW_SET2
, 0, 7),
689 [F_TMPTHR3B
] = REG_FIELD(THERM_WINDOW_SET3
, 8, 15),
690 [F_TMPTHR3A
] = REG_FIELD(THERM_WINDOW_SET3
, 0, 7),
691 [F_TMPTHR4B
] = REG_FIELD(THERM_WINDOW_SET4
, 8, 15),
692 [F_TMPTHR4A
] = REG_FIELD(THERM_WINDOW_SET4
, 0, 7),
693 [F_TMPTHR5B
] = REG_FIELD(THERM_WINDOW_SET5
, 8, 15),
694 [F_TMPTHR5A
] = REG_FIELD(THERM_WINDOW_SET5
, 0, 7),
695 [F_IBATP_TH_SET
] = REG_FIELD(IBATP_TH_SET
, 0, 14),
696 [F_IBATM_TH_SET
] = REG_FIELD(IBATM_TH_SET
, 0, 14),
697 [F_VBAT_TH_SET
] = REG_FIELD(VBAT_TH_SET
, 0, 14),
698 [F_THERM_TH_SET
] = REG_FIELD(THERM_TH_SET
, 0, 7),
699 [F_IACP_TH_SET
] = REG_FIELD(IACP_TH_SET
, 0, 14),
700 [F_VACP_TH_SET
] = REG_FIELD(VACP_TH_SET
, 0, 14),
701 [F_VBUS_TH_SET
] = REG_FIELD(VBUS_TH_SET
, 0, 14),
702 [F_VCC_TH_SET
] = REG_FIELD(VCC_TH_SET
, 0, 14),
703 [F_VSYS_TH_SET
] = REG_FIELD(VSYS_TH_SET
, 0, 14),
704 [F_EXTIADP_TH_SET
] = REG_FIELD(EXTIADP_TH_SET
, 0, 11),
705 [F_IBATP_VAL
] = REG_FIELD(IBATP_VAL
, 0, 14),
706 [F_IBATP_AVE_VAL
] = REG_FIELD(IBATP_AVE_VAL
, 0, 14),
707 [F_IBATM_VAL
] = REG_FIELD(IBATM_VAL
, 0, 14),
708 [F_IBATM_AVE_VAL
] = REG_FIELD(IBATM_AVE_VAL
, 0, 14),
709 [F_VBAT_VAL
] = REG_FIELD(VBAT_VAL
, 0, 14),
710 [F_VBAT_AVE_VAL
] = REG_FIELD(VBAT_AVE_VAL
, 0, 14),
711 [F_THERM_VAL
] = REG_FIELD(THERM_VAL
, 0, 7),
712 [F_VTH_VAL
] = REG_FIELD(VTH_VAL
, 0, 11),
713 [F_IACP_VAL
] = REG_FIELD(IACP_VAL
, 0, 14),
714 [F_IACP_AVE_VAL
] = REG_FIELD(IACP_AVE_VAL
, 0, 14),
715 [F_VACP_VAL
] = REG_FIELD(VACP_VAL
, 0, 14),
716 [F_VACP_AVE_VAL
] = REG_FIELD(VACP_AVE_VAL
, 0, 14),
717 [F_VBUS_VAL
] = REG_FIELD(VBUS_VAL
, 0, 14),
718 [F_VBUS_AVE_VAL
] = REG_FIELD(VBUS_AVE_VAL
, 0, 14),
719 [F_VCC_VAL
] = REG_FIELD(VCC_VAL
, 0, 14),
720 [F_VCC_AVE_VAL
] = REG_FIELD(VCC_AVE_VAL
, 0, 14),
721 [F_VSYS_VAL
] = REG_FIELD(VSYS_VAL
, 0, 14),
722 [F_VSYS_AVE_VAL
] = REG_FIELD(VSYS_AVE_VAL
, 0, 14),
723 [F_EXTIADP_VAL
] = REG_FIELD(EXTIADP_VAL
, 0, 11),
724 [F_EXTIADP_AVE_VAL
] = REG_FIELD(EXTIADP_AVE_VAL
, 0, 11),
725 [F_VACPCLPS_TH_SET
] = REG_FIELD(VACPCLPS_TH_SET
, 7, 14),
726 [F_INT7_SET
] = REG_FIELD(INT7_SET
, 0, 15),
727 [F_INT6_SET
] = REG_FIELD(INT6_SET
, 0, 13),
728 [F_INT5_SET
] = REG_FIELD(INT5_SET
, 0, 13),
729 [F_INT4_SET
] = REG_FIELD(INT4_SET
, 0, 9),
730 [F_INT3_SET
] = REG_FIELD(INT3_SET
, 0, 15),
731 [F_INT2_SET
] = REG_FIELD(INT2_SET
, 0, 15),
732 [F_INT1_SET
] = REG_FIELD(INT1_SET
, 0, 15),
733 [F_INT0_SET
] = REG_FIELD(INT0_SET
, 0, 7),
734 [F_VBUS_RBUV_DET
] = REG_FIELD(INT1_SET
, 15, 15),
735 [F_VBUS_RBUV_RES
] = REG_FIELD(INT1_SET
, 14, 14),
736 [F_VBUS_TH_DET
] = REG_FIELD(INT1_SET
, 9, 9),
737 [F_VBUS_TH_RES
] = REG_FIELD(INT1_SET
, 8, 8),
738 [F_VBUS_IIN_MOD
] = REG_FIELD(INT1_SET
, 6, 6),
739 [F_VBUS_OV_DET
] = REG_FIELD(INT1_SET
, 5, 5),
740 [F_VBUS_OV_RES
] = REG_FIELD(INT1_SET
, 4, 4),
741 [F_VBUS_CLPS_DET
] = REG_FIELD(INT1_SET
, 3, 3),
742 [F_VBUS_CLPS
] = REG_FIELD(INT1_SET
, 2, 2),
743 [F_VBUS_DET
] = REG_FIELD(INT1_SET
, 1, 1),
744 [F_VBUS_RES
] = REG_FIELD(INT1_SET
, 0, 0),
745 [F_VCC_RBUV_DET
] = REG_FIELD(INT2_SET
, 15, 15),
746 [F_VCC_RBUV_RES
] = REG_FIELD(INT2_SET
, 14, 14),
747 [F_VCC_TH_DET
] = REG_FIELD(INT2_SET
, 9, 9),
748 [F_VCC_TH_RES
] = REG_FIELD(INT2_SET
, 8, 8),
749 [F_VCC_IIN_MOD
] = REG_FIELD(INT2_SET
, 6, 6),
750 [F_VCC_OVP_DET
] = REG_FIELD(INT2_SET
, 5, 5),
751 [F_VCC_OVP_RES
] = REG_FIELD(INT2_SET
, 4, 4),
752 [F_VCC_CLPS_DET
] = REG_FIELD(INT2_SET
, 3, 3),
753 [F_VCC_CLPS_RES
] = REG_FIELD(INT2_SET
, 2, 2),
754 [F_VCC_DET
] = REG_FIELD(INT2_SET
, 1, 1),
755 [F_VCC_RES
] = REG_FIELD(INT2_SET
, 0, 0),
756 [F_TH_DET
] = REG_FIELD(INT3_SET
, 15, 15),
757 [F_TH_RMV
] = REG_FIELD(INT3_SET
, 14, 14),
758 [F_TMP_OUT_DET
] = REG_FIELD(INT3_SET
, 11, 11),
759 [F_TMP_OUT_RES
] = REG_FIELD(INT3_SET
, 10, 10),
760 [F_VBAT_TH_DET
] = REG_FIELD(INT3_SET
, 9, 9),
761 [F_VBAT_TH_RES
] = REG_FIELD(INT3_SET
, 8, 8),
762 [F_IBAT_SHORT_DET
] = REG_FIELD(INT3_SET
, 7, 7),
763 [F_IBAT_SHORT_RES
] = REG_FIELD(INT3_SET
, 6, 6),
764 [F_VBAT_OV_DET
] = REG_FIELD(INT3_SET
, 5, 5),
765 [F_VBAT_OV_RES
] = REG_FIELD(INT3_SET
, 4, 4),
766 [F_BAT_ASSIST_DET
] = REG_FIELD(INT3_SET
, 3, 3),
767 [F_BAT_ASSIST_RES
] = REG_FIELD(INT3_SET
, 2, 2),
768 [F_VSYS_TH_DET
] = REG_FIELD(INT4_SET
, 9, 9),
769 [F_VSYS_TH_RES
] = REG_FIELD(INT4_SET
, 8, 8),
770 [F_VSYS_OV_DET
] = REG_FIELD(INT4_SET
, 5, 5),
771 [F_VSYS_OV_RES
] = REG_FIELD(INT4_SET
, 4, 4),
772 [F_VSYS_SHT_DET
] = REG_FIELD(INT4_SET
, 3, 3),
773 [F_VSYS_SHT_RES
] = REG_FIELD(INT4_SET
, 2, 2),
774 [F_VSYS_UV_DET
] = REG_FIELD(INT4_SET
, 1, 1),
775 [F_VSYS_UV_RES
] = REG_FIELD(INT4_SET
, 0, 0),
776 [F_OTP_LOAD_DONE
] = REG_FIELD(INT5_SET
, 13, 13),
777 [F_PWR_ON
] = REG_FIELD(INT5_SET
, 12, 12),
778 [F_EXTIADP_TRNS
] = REG_FIELD(INT5_SET
, 11, 11),
779 [F_EXTIADP_TH_DET
] = REG_FIELD(INT5_SET
, 9, 9),
780 [F_EXIADP_TH_RES
] = REG_FIELD(INT5_SET
, 8, 8),
781 [F_BAT_MNT_DET
] = REG_FIELD(INT5_SET
, 7, 7),
782 [F_BAT_MNT_RES
] = REG_FIELD(INT5_SET
, 6, 6),
783 [F_TSD_DET
] = REG_FIELD(INT5_SET
, 5, 5),
784 [F_TSD_RES
] = REG_FIELD(INT5_SET
, 4, 4),
785 [F_CHGWDT_EXP
] = REG_FIELD(INT5_SET
, 3, 3),
786 [F_THERMWDT_EXP
] = REG_FIELD(INT5_SET
, 2, 2),
787 [F_TMP_TRNS
] = REG_FIELD(INT5_SET
, 1, 1),
788 [F_CHG_TRNS
] = REG_FIELD(INT5_SET
, 0, 0),
789 [F_VBUS_UCD_PORT_DET
] = REG_FIELD(INT6_SET
, 13, 13),
790 [F_VBUS_UCD_UCHG_DET
] = REG_FIELD(INT6_SET
, 12, 12),
791 [F_VBUS_UCD_URID_RMV
] = REG_FIELD(INT6_SET
, 11, 11),
792 [F_VBUS_UCD_OTG_DET
] = REG_FIELD(INT6_SET
, 10, 10),
793 [F_VBUS_UCD_URID_MOD
] = REG_FIELD(INT6_SET
, 8, 8),
794 [F_VCC_UCD_PORT_DET
] = REG_FIELD(INT6_SET
, 5, 5),
795 [F_VCC_UCD_UCHG_DET
] = REG_FIELD(INT6_SET
, 4, 4),
796 [F_VCC_UCD_URID_RMV
] = REG_FIELD(INT6_SET
, 3, 3),
797 [F_VCC_UCD_OTG_DET
] = REG_FIELD(INT6_SET
, 2, 2),
798 [F_VCC_UCD_URID_MOD
] = REG_FIELD(INT6_SET
, 0, 0),
799 [F_PROCHOT_DET
] = REG_FIELD(INT7_SET
, 15, 15),
800 [F_PROCHOT_RES
] = REG_FIELD(INT7_SET
, 14, 14),
801 [F_VACP_DET
] = REG_FIELD(INT7_SET
, 11, 11),
802 [F_VACP_RES
] = REG_FIELD(INT7_SET
, 10, 10),
803 [F_VACP_TH_DET
] = REG_FIELD(INT7_SET
, 9, 9),
804 [F_VACP_TH_RES
] = REG_FIELD(INT7_SET
, 8, 8),
805 [F_IACP_TH_DET
] = REG_FIELD(INT7_SET
, 7, 7),
806 [F_IACP_THE_RES
] = REG_FIELD(INT7_SET
, 6, 6),
807 [F_THERM_TH_DET
] = REG_FIELD(INT7_SET
, 5, 5),
808 [F_THERM_TH_RES
] = REG_FIELD(INT7_SET
, 4, 4),
809 [F_IBATM_TH_DET
] = REG_FIELD(INT7_SET
, 3, 3),
810 [F_IBATM_TH_RES
] = REG_FIELD(INT7_SET
, 2, 2),
811 [F_IBATP_TH_DET
] = REG_FIELD(INT7_SET
, 1, 1),
812 [F_IBATP_TH_RES
] = REG_FIELD(INT7_SET
, 0, 0),
813 [F_INT7_STATUS
] = REG_FIELD(INT7_STATUS
, 0, 15),
814 [F_INT6_STATUS
] = REG_FIELD(INT6_STATUS
, 0, 13),
815 [F_INT5_STATUS
] = REG_FIELD(INT5_STATUS
, 0, 13),
816 [F_INT4_STATUS
] = REG_FIELD(INT4_STATUS
, 0, 9),
817 [F_INT3_STATUS
] = REG_FIELD(INT3_STATUS
, 0, 15),
818 [F_INT2_STATUS
] = REG_FIELD(INT2_STATUS
, 0, 15),
819 [F_INT1_STATUS
] = REG_FIELD(INT1_STATUS
, 0, 15),
820 [F_INT0_STATUS
] = REG_FIELD(INT0_STATUS
, 0, 7),
821 [F_ILIM_DECREASE
] = REG_FIELD(OTPREG0
, 0, 15),
822 [F_RESERVE_OTPREG1
] = REG_FIELD(OTPREG1
, 0, 15),
823 [F_POWER_SAVE_MODE
] = REG_FIELD(SMBREG
, 0, 15),
824 [F_DEBUG_MODE_SET
] = REG_FIELD(DEBUG_MODE_SET
, 0, 15),
825 [F_DEBUG0x14
] = REG_FIELD(DEBUG0x14
, 0, 15),
826 [F_DEBUG0x1A
] = REG_FIELD(DEBUG0x1A
, 0, 15),
830 #define CHGSTM_SUSPEND 0x00
831 #define CHGSTM_TRICKLE_CHARGE 0x01
832 #define CHGSTM_PRE_CHARGE 0x02
833 #define CHGSTM_FAST_CHARGE 0x03
834 #define CHGSTM_TOP_OFF 0x04
835 #define CHGSTM_DONE 0x05
836 #define CHGSTM_OTG 0x08
837 #define CHGSTM_OTG_DONE 0x09
838 #define CHGSTM_TEMPERATURE_ERROR_1 0x10
839 #define CHGSTM_TEMPERATURE_ERROR_2 0x11
840 #define CHGSTM_TEMPERATURE_ERROR_3 0x12
841 #define CHGSTM_TEMPERATURE_ERROR_4 0x13
842 #define CHGSTM_TEMPERATURE_ERROR_5 0x14
843 #define CHGSTM_TEMPERATURE_ERROR_6 0x15
844 #define CHGSTM_TEMPERATURE_ERROR_7 0x18
845 #define CHGSTM_THERMAL_SHUT_DOWN_1 0x20
846 #define CHGSTM_THERMAL_SHUT_DOWN_2 0x21
847 #define CHGSTM_THERMAL_SHUT_DOWN_3 0x22
848 #define CHGSTM_THERMAL_SHUT_DOWN_4 0x23
849 #define CHGSTM_THERMAL_SHUT_DOWN_5 0x24
850 #define CHGSTM_THERMAL_SHUT_DOWN_6 0x25
851 #define CHGSTM_THERMAL_SHUT_DOWN_7 0x28
852 #define CHGSTM_BATTERY_ERROR 0x40
854 /* VBAT_VSYS_STATUS */
855 #define STATUS_VSYS_OV BIT(15)
856 #define STATUS_VSYS_SSD BIT(14)
857 #define STATUS_VSYS_SCP BIT(13)
858 #define STATUS_VSYS_UVN BIT(12)
859 #define STATUS_IBAT_SHORT BIT(6)
860 #define STATUS_VBAT_OV BIT(3)
861 #define STATUS_DEAD_BAT BIT(0)
863 /* VBUS_VCC_STATUS */
864 #define STATUS_VACP_DET BIT(12)
865 #define STATUS_VCC_OVP BIT(11)
866 #define STATUS_ILIM_VCC_MOD BIT(10)
867 #define STATUS_VCC_CLPS BIT(9)
868 #define STATUS_VCC_DET BIT(8)
869 #define STATUS_VBUS_OVP BIT(3)
870 #define STATUS_ILIM_VBUS_MOD BIT(2)
871 #define STATUS_VBUS_CLPS BIT(1)
872 #define STATUS_VBUS_DET BIT(0)
874 /* Interrupt set/status definitions */
877 #define INT0_INT7_STATUS BIT(7)
878 #define INT0_INT6_STATUS BIT(6)
879 #define INT0_INT5_STATUS BIT(5)
880 #define INT0_INT4_STATUS BIT(4)
881 #define INT0_INT3_STATUS BIT(3)
882 #define INT0_INT2_STATUS BIT(2)
883 #define INT0_INT1_STATUS BIT(1)
884 #define INT0_INT0_STATUS BIT(0)
885 #define INT0_ALL 0xff
888 #define VBUS_RBUV_DET BIT(15)
889 #define VBUS_RBUV_RES BIT(14)
890 #define VBUS_TH_DET BIT(9)
891 #define VBUS_TH_RES BIT(8)
892 #define VBUS_IIN_MOD BIT(6)
893 #define VBUS_OV_DET BIT(5)
894 #define VBUS_OV_RES BIT(4)
895 #define VBUS_CLPS_DET BIT(3)
896 #define VBUS_CLPS BIT(2)
897 #define VBUS_DET BIT(1)
898 #define VBUS_RES BIT(0)
899 #define INT1_ALL (VBUS_RBUV_DET|\
912 #define VCC_RBUV_DET BIT(15)
913 #define VCC_RBUV_RES BIT(14)
914 #define VCC_TH_DET BIT(9)
915 #define VCC_TH_RES BIT(8)
916 #define VCC_IIN_MOD BIT(6)
917 #define VCC_OVP_DET BIT(5)
918 #define VCC_OVP_RES BIT(4)
919 #define VCC_CLPS_DET BIT(3)
920 #define VCC_CLPS_RES BIT(2)
921 #define VCC_DET BIT(1)
922 #define VCC_RES BIT(0)
923 #define INT2_ALL (VCC_RBUV_DET |\
935 #define TH_DET BIT(15)
936 #define TH_RMV BIT(14)
937 #define TMP_OUT_DET BIT(11)
938 #define TMP_OUT_RES BIT(10)
939 #define VBAT_TH_DET BIT(9)
940 #define VBAT_TH_RES BIT(8)
941 #define IBAT_SHORT_DET BIT(7)
942 #define IBAT_SHORT_RES BIT(6)
943 #define VBAT_OV_DET BIT(5)
944 #define VBAT_OV_RES BIT(4)
945 #define BAT_ASSIST_DET BIT(3)
946 #define BAT_ASSIST_RES BIT(2)
947 #define INT3_ALL (TH_DET |\
961 #define VSYS_TH_DET BIT(9)
962 #define VSYS_TH_RES BIT(8)
963 #define VSYS_OV_DET BIT(5)
964 #define VSYS_OV_RES BIT(4)
965 #define VSYS_SHT_DET BIT(3)
966 #define VSYS_SHT_RES BIT(2)
967 #define VSYS_UV_DET BIT(1)
968 #define VSYS_UV_RES BIT(0)
969 #define INT4_ALL (VSYS_TH_DET |\
979 #define OTP_LOAD_DONE BIT(13)
980 #define PWR_ON BIT(12)
981 #define EXTIADP_TRNS BIT(11)
982 #define EXTIADP_TH_DET BIT(9)
983 #define EXIADP_TH_RES BIT(8)
984 #define BAT_MNT_DET BIT(7)
985 #define BAT_MNT_RES BIT(6)
986 #define TSD_DET BIT(5)
987 #define TSD_RES BIT(4)
988 #define CHGWDT_EXP BIT(3)
989 #define THERMWDT_EXP BIT(2)
990 #define TMP_TRNS BIT(1)
991 #define CHG_TRNS BIT(0)
992 #define INT5_ALL (OTP_LOAD_DONE |\
1007 #define VBUS_UCD_PORT_DET BIT(13)
1008 #define VBUS_UCD_UCHG_DET BIT(12)
1009 #define VBUS_UCD_URID_RMV BIT(11)
1010 #define VBUS_UCD_OTG_DET BIT(10)
1011 #define VBUS_UCD_URID_MOD BIT(8)
1012 #define VCC_UCD_PORT_DET BIT(5)
1013 #define VCC_UCD_UCHG_DET BIT(4)
1014 #define VCC_UCD_URID_RMV BIT(3)
1015 #define VCC_UCD_OTG_DET BIT(2)
1016 #define VCC_UCD_URID_MOD BIT(0)
1017 #define INT6_ALL (VBUS_UCD_PORT_DET |\
1018 VBUS_UCD_UCHG_DET |\
1019 VBUS_UCD_URID_RMV |\
1021 VBUS_UCD_URID_MOD |\
1029 #define PROCHOT_DET BIT(15)
1030 #define PROCHOT_RES BIT(14)
1031 #define VACP_DET BIT(11)
1032 #define VACP_RES BIT(10)
1033 #define VACP_TH_DET BIT(9)
1034 #define VACP_TH_RES BIT(8)
1035 #define IACP_TH_DET BIT(7)
1036 #define IACP_THE_RES BIT(6)
1037 #define THERM_TH_DET BIT(5)
1038 #define THERM_TH_RES BIT(4)
1039 #define IBATM_TH_DET BIT(3)
1040 #define IBATM_TH_RES BIT(2)
1041 #define IBATP_TH_DET BIT(1)
1042 #define IBATP_TH_RES BIT(0)
1043 #define INT7_ALL (PROCHOT_DET |\
1058 /* SYSTEM_CTRL_SET*/
1059 #define MONRST BIT(6)
1060 #define ALMRST BIT(5)
1061 #define CHGRST BIT(4)
1062 #define OTPLD BIT(1)
1063 #define ALLRST BIT(0)
1072 #define TEMP_DIS 0x6
1073 #define BATT_OPEN 0x7