]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
854dfbf9 FB |
2 | /* |
3 | * Copyright (C) EETS GmbH, 2017, Felix Brack <[email protected]> | |
854dfbf9 FB |
4 | */ |
5 | ||
6 | #ifndef __TPS65910_PMIC_H_ | |
7 | #define __TPS65910_PMIC_H_ | |
8 | ||
9 | #define TPS65910_I2C_SEL_MASK (0x1 << 4) | |
10 | #define TPS65910_VDD_SR_MASK (0x1 << 7) | |
11 | #define TPS65910_GAIN_SEL_MASK (0x3 << 6) | |
12 | #define TPS65910_VDD_SEL_MASK 0x7f | |
13 | #define TPS65910_VDD_SEL_MIN 3 | |
14 | #define TPS65910_VDD_SEL_MAX 75 | |
15 | #define TPS65910_SEL_MASK (0x3 << 2) | |
16 | #define TPS65910_SUPPLY_STATE_MASK 0x3 | |
17 | #define TPS65910_SUPPLY_STATE_OFF 0x0 | |
18 | #define TPS65910_SUPPLY_STATE_ON 0x1 | |
19 | ||
20 | /* i2c registers */ | |
21 | enum { | |
22 | TPS65910_REG_RTC_SEC = 0x00, | |
23 | TPS65910_REG_RTC_MIN, | |
24 | TPS65910_REG_RTC_HOUR, | |
25 | TPS65910_REG_RTC_DAY, | |
26 | TPS65910_REG_RTC_MONTH, | |
27 | TPS65910_REG_RTC_YEAR, | |
28 | TPS65910_REG_RTC_WEEK, | |
29 | TPS65910_REG_RTC_ALARM_SEC = 0x08, | |
30 | TPS65910_REG_RTC_ALARM_MIN, | |
31 | TPS65910_REG_RTC_ALARM_HOUR, | |
32 | TPS65910_REG_RTC_ALARM_DAY, | |
33 | TPS65910_REG_RTC_ALARM_MONTH, | |
34 | TPS65910_REG_RTC_ALARM_YEAR, | |
35 | TPS65910_REG_RTC_CTRL = 0x10, | |
36 | TPS65910_REG_RTC_STAT, | |
37 | TPS65910_REG_RTC_INT, | |
38 | TPS65910_REG_RTC_COMP_LSB, | |
39 | TPS65910_REG_RTC_COMP_MSB, | |
40 | TPS65910_REG_RTC_RESISTOR_PRG, | |
41 | TPS65910_REG_RTC_RESET_STAT, | |
42 | TPS65910_REG_BACKUP1, | |
43 | TPS65910_REG_BACKUP2, | |
44 | TPS65910_REG_BACKUP3, | |
45 | TPS65910_REG_BACKUP4, | |
46 | TPS65910_REG_BACKUP5, | |
47 | TPS65910_REG_PUADEN, | |
48 | TPS65910_REG_REF, | |
49 | TPS65910_REG_VRTC, | |
50 | TPS65910_REG_VIO = 0x20, | |
51 | TPS65910_REG_VDD1, | |
52 | TPS65910_REG_VDD1_VAL, | |
53 | TPS65910_REG_VDD1_VAL_SR, | |
54 | TPS65910_REG_VDD2, | |
55 | TPS65910_REG_VDD2_VAL, | |
56 | TPS65910_REG_VDD2_VAL_SR, | |
57 | TPS65910_REG_VDD3, | |
58 | TPS65910_REG_VDIG1 = 0x30, | |
59 | TPS65910_REG_VDIG2, | |
60 | TPS65910_REG_VAUX1, | |
61 | TPS65910_REG_VAUX2, | |
62 | TPS65910_REG_VAUX33, | |
63 | TPS65910_REG_VMMC, | |
64 | TPS65910_REG_VPLL, | |
65 | TPS65910_REG_VDAC, | |
66 | TPS65910_REG_THERM, | |
67 | TPS65910_REG_BATTERY_BACKUP_CHARGE, | |
68 | TPS65910_REG_DCDC_CTRL = 0x3e, | |
69 | TPS65910_REG_DEVICE_CTRL, | |
70 | TPS65910_REG_DEVICE_CTRL2, | |
71 | TPS65910_REG_SLEEP_KEEP_LDO_ON, | |
72 | TPS65910_REG_SLEEP_KEEP_RES_ON, | |
73 | TPS65910_REG_SLEEP_SET_LDO_OFF, | |
74 | TPS65910_REG_SLEEP_SET_RES_OFF, | |
75 | TPS65910_REG_EN1_LDO_ASS, | |
76 | TPS65910_REG_EM1_SMPS_ASS, | |
77 | TPS65910_REG_EN2_LDO_ASS, | |
78 | TPS65910_REG_EM2_SMPS_ASS, | |
79 | TPS65910_REG_INT_STAT = 0x50, | |
80 | TPS65910_REG_INT_MASK, | |
81 | TPS65910_REG_INT_STAT2, | |
82 | TPS65910_REG_INT_MASK2, | |
83 | TPS65910_REG_GPIO = 0x60, | |
84 | TPS65910_REG_JTAGREVNUM = 0x80, | |
85 | TPS65910_NUM_REGS | |
86 | }; | |
87 | ||
88 | /* chip supplies */ | |
89 | enum { | |
90 | TPS65910_SUPPLY_VCCIO = 0x00, | |
91 | TPS65910_SUPPLY_VCC1, | |
92 | TPS65910_SUPPLY_VCC2, | |
93 | TPS65910_SUPPLY_VCC3, | |
94 | TPS65910_SUPPLY_VCC4, | |
95 | TPS65910_SUPPLY_VCC5, | |
96 | TPS65910_SUPPLY_VCC6, | |
97 | TPS65910_SUPPLY_VCC7, | |
98 | TPS65910_NUM_SUPPLIES | |
99 | }; | |
100 | ||
101 | /* regulator unit numbers */ | |
102 | enum { | |
103 | TPS65910_UNIT_VRTC = 0x00, | |
104 | TPS65910_UNIT_VIO, | |
105 | TPS65910_UNIT_VDD1, | |
106 | TPS65910_UNIT_VDD2, | |
107 | TPS65910_UNIT_VDD3, | |
108 | TPS65910_UNIT_VDIG1, | |
109 | TPS65910_UNIT_VDIG2, | |
110 | TPS65910_UNIT_VPLL, | |
111 | TPS65910_UNIT_VDAC, | |
112 | TPS65910_UNIT_VAUX1, | |
113 | TPS65910_UNIT_VAUX2, | |
114 | TPS65910_UNIT_VAUX33, | |
115 | TPS65910_UNIT_VMMC, | |
116 | }; | |
117 | ||
118 | /* platform data */ | |
119 | struct tps65910_regulator_pdata { | |
120 | u32 supply; /* regulator supply voltage in uV */ | |
121 | uint unit; /* unit-address according to DT */ | |
122 | }; | |
123 | ||
124 | /* driver names */ | |
125 | #define TPS65910_BUCK_DRIVER "tps65910_buck" | |
126 | #define TPS65910_BOOST_DRIVER "tps65910_boost" | |
127 | #define TPS65910_LDO_DRIVER "tps65910_ldo" | |
128 | ||
129 | #endif /* __TPS65910_PMIC_H_ */ |