1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef __MFD_88PM886_H
3 #define __MFD_88PM886_H
6 #include <linux/regmap.h>
8 #define PM886_A1_CHIP_ID 0xa1
10 #define PM886_IRQ_ONKEY 0
12 #define PM886_PAGE_OFFSET_REGULATORS 1
14 #define PM886_REG_ID 0x00
16 #define PM886_REG_STATUS1 0x01
17 #define PM886_ONKEY_STS1 BIT(0)
19 #define PM886_REG_INT_STATUS1 0x05
21 #define PM886_REG_INT_ENA_1 0x0a
22 #define PM886_INT_ENA1_ONKEY BIT(0)
24 #define PM886_REG_MISC_CONFIG1 0x14
25 #define PM886_SW_PDOWN BIT(5)
27 #define PM886_REG_MISC_CONFIG2 0x15
28 #define PM886_INT_INV BIT(0)
29 #define PM886_INT_CLEAR BIT(1)
30 #define PM886_INT_RC 0x00
31 #define PM886_INT_WC BIT(1)
32 #define PM886_INT_MASK_MODE BIT(2)
34 #define PM886_REG_RTC_CNT1 0xd1
35 #define PM886_REG_RTC_CNT2 0xd2
36 #define PM886_REG_RTC_CNT3 0xd3
37 #define PM886_REG_RTC_CNT4 0xd4
38 #define PM886_REG_RTC_SPARE1 0xea
39 #define PM886_REG_RTC_SPARE2 0xeb
40 #define PM886_REG_RTC_SPARE3 0xec
41 #define PM886_REG_RTC_SPARE4 0xed
42 #define PM886_REG_RTC_SPARE5 0xee
43 #define PM886_REG_RTC_SPARE6 0xef
45 #define PM886_REG_BUCK_EN 0x08
46 #define PM886_REG_LDO_EN1 0x09
47 #define PM886_REG_LDO_EN2 0x0a
48 #define PM886_REG_LDO1_VOUT 0x20
49 #define PM886_REG_LDO2_VOUT 0x26
50 #define PM886_REG_LDO3_VOUT 0x2c
51 #define PM886_REG_LDO4_VOUT 0x32
52 #define PM886_REG_LDO5_VOUT 0x38
53 #define PM886_REG_LDO6_VOUT 0x3e
54 #define PM886_REG_LDO7_VOUT 0x44
55 #define PM886_REG_LDO8_VOUT 0x4a
56 #define PM886_REG_LDO9_VOUT 0x50
57 #define PM886_REG_LDO10_VOUT 0x56
58 #define PM886_REG_LDO11_VOUT 0x5c
59 #define PM886_REG_LDO12_VOUT 0x62
60 #define PM886_REG_LDO13_VOUT 0x68
61 #define PM886_REG_LDO14_VOUT 0x6e
62 #define PM886_REG_LDO15_VOUT 0x74
63 #define PM886_REG_LDO16_VOUT 0x7a
64 #define PM886_REG_BUCK1_VOUT 0xa5
65 #define PM886_REG_BUCK2_VOUT 0xb3
66 #define PM886_REG_BUCK3_VOUT 0xc1
67 #define PM886_REG_BUCK4_VOUT 0xcf
68 #define PM886_REG_BUCK5_VOUT 0xdd
70 #define PM886_LDO_VSEL_MASK 0x0f
71 #define PM886_BUCK_VSEL_MASK 0x7f
74 struct i2c_client *client;
76 struct regmap *regmap;
78 #endif /* __MFD_88PM886_H */