xref: /openbmc/u-boot/include/power/tps65910_pmic.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2854dfbf9SFelix Brack /*
3854dfbf9SFelix Brack  * Copyright (C) EETS GmbH, 2017, Felix Brack <f.brack@eets.ch>
4854dfbf9SFelix Brack  */
5854dfbf9SFelix Brack 
6854dfbf9SFelix Brack #ifndef __TPS65910_PMIC_H_
7854dfbf9SFelix Brack #define __TPS65910_PMIC_H_
8854dfbf9SFelix Brack 
9854dfbf9SFelix Brack #define TPS65910_I2C_SEL_MASK		(0x1 << 4)
10854dfbf9SFelix Brack #define TPS65910_VDD_SR_MASK		(0x1 << 7)
11854dfbf9SFelix Brack #define TPS65910_GAIN_SEL_MASK		(0x3 << 6)
12854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MASK		0x7f
13854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MIN		3
14854dfbf9SFelix Brack #define TPS65910_VDD_SEL_MAX		75
15854dfbf9SFelix Brack #define TPS65910_SEL_MASK		(0x3 << 2)
16854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_MASK	0x3
17854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_OFF	0x0
18854dfbf9SFelix Brack #define TPS65910_SUPPLY_STATE_ON	0x1
19854dfbf9SFelix Brack 
20854dfbf9SFelix Brack /* i2c registers */
21854dfbf9SFelix Brack enum {
22854dfbf9SFelix Brack 	TPS65910_REG_RTC_SEC			= 0x00,
23854dfbf9SFelix Brack 	TPS65910_REG_RTC_MIN,
24854dfbf9SFelix Brack 	TPS65910_REG_RTC_HOUR,
25854dfbf9SFelix Brack 	TPS65910_REG_RTC_DAY,
26854dfbf9SFelix Brack 	TPS65910_REG_RTC_MONTH,
27854dfbf9SFelix Brack 	TPS65910_REG_RTC_YEAR,
28854dfbf9SFelix Brack 	TPS65910_REG_RTC_WEEK,
29854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_SEC		= 0x08,
30854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_MIN,
31854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_HOUR,
32854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_DAY,
33854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_MONTH,
34854dfbf9SFelix Brack 	TPS65910_REG_RTC_ALARM_YEAR,
35854dfbf9SFelix Brack 	TPS65910_REG_RTC_CTRL			= 0x10,
36854dfbf9SFelix Brack 	TPS65910_REG_RTC_STAT,
37854dfbf9SFelix Brack 	TPS65910_REG_RTC_INT,
38854dfbf9SFelix Brack 	TPS65910_REG_RTC_COMP_LSB,
39854dfbf9SFelix Brack 	TPS65910_REG_RTC_COMP_MSB,
40854dfbf9SFelix Brack 	TPS65910_REG_RTC_RESISTOR_PRG,
41854dfbf9SFelix Brack 	TPS65910_REG_RTC_RESET_STAT,
42854dfbf9SFelix Brack 	TPS65910_REG_BACKUP1,
43854dfbf9SFelix Brack 	TPS65910_REG_BACKUP2,
44854dfbf9SFelix Brack 	TPS65910_REG_BACKUP3,
45854dfbf9SFelix Brack 	TPS65910_REG_BACKUP4,
46854dfbf9SFelix Brack 	TPS65910_REG_BACKUP5,
47854dfbf9SFelix Brack 	TPS65910_REG_PUADEN,
48854dfbf9SFelix Brack 	TPS65910_REG_REF,
49854dfbf9SFelix Brack 	TPS65910_REG_VRTC,
50854dfbf9SFelix Brack 	TPS65910_REG_VIO			= 0x20,
51854dfbf9SFelix Brack 	TPS65910_REG_VDD1,
52854dfbf9SFelix Brack 	TPS65910_REG_VDD1_VAL,
53854dfbf9SFelix Brack 	TPS65910_REG_VDD1_VAL_SR,
54854dfbf9SFelix Brack 	TPS65910_REG_VDD2,
55854dfbf9SFelix Brack 	TPS65910_REG_VDD2_VAL,
56854dfbf9SFelix Brack 	TPS65910_REG_VDD2_VAL_SR,
57854dfbf9SFelix Brack 	TPS65910_REG_VDD3,
58854dfbf9SFelix Brack 	TPS65910_REG_VDIG1			= 0x30,
59854dfbf9SFelix Brack 	TPS65910_REG_VDIG2,
60854dfbf9SFelix Brack 	TPS65910_REG_VAUX1,
61854dfbf9SFelix Brack 	TPS65910_REG_VAUX2,
62854dfbf9SFelix Brack 	TPS65910_REG_VAUX33,
63854dfbf9SFelix Brack 	TPS65910_REG_VMMC,
64854dfbf9SFelix Brack 	TPS65910_REG_VPLL,
65854dfbf9SFelix Brack 	TPS65910_REG_VDAC,
66854dfbf9SFelix Brack 	TPS65910_REG_THERM,
67854dfbf9SFelix Brack 	TPS65910_REG_BATTERY_BACKUP_CHARGE,
68854dfbf9SFelix Brack 	TPS65910_REG_DCDC_CTRL			= 0x3e,
69854dfbf9SFelix Brack 	TPS65910_REG_DEVICE_CTRL,
70854dfbf9SFelix Brack 	TPS65910_REG_DEVICE_CTRL2,
71854dfbf9SFelix Brack 	TPS65910_REG_SLEEP_KEEP_LDO_ON,
72854dfbf9SFelix Brack 	TPS65910_REG_SLEEP_KEEP_RES_ON,
73854dfbf9SFelix Brack 	TPS65910_REG_SLEEP_SET_LDO_OFF,
74854dfbf9SFelix Brack 	TPS65910_REG_SLEEP_SET_RES_OFF,
75854dfbf9SFelix Brack 	TPS65910_REG_EN1_LDO_ASS,
76854dfbf9SFelix Brack 	TPS65910_REG_EM1_SMPS_ASS,
77854dfbf9SFelix Brack 	TPS65910_REG_EN2_LDO_ASS,
78854dfbf9SFelix Brack 	TPS65910_REG_EM2_SMPS_ASS,
79854dfbf9SFelix Brack 	TPS65910_REG_INT_STAT			= 0x50,
80854dfbf9SFelix Brack 	TPS65910_REG_INT_MASK,
81854dfbf9SFelix Brack 	TPS65910_REG_INT_STAT2,
82854dfbf9SFelix Brack 	TPS65910_REG_INT_MASK2,
83854dfbf9SFelix Brack 	TPS65910_REG_GPIO			= 0x60,
84854dfbf9SFelix Brack 	TPS65910_REG_JTAGREVNUM			= 0x80,
85854dfbf9SFelix Brack 	TPS65910_NUM_REGS
86854dfbf9SFelix Brack };
87854dfbf9SFelix Brack 
88854dfbf9SFelix Brack /* chip supplies */
89854dfbf9SFelix Brack enum {
90854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCCIO	= 0x00,
91854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC1,
92854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC2,
93854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC3,
94854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC4,
95854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC5,
96854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC6,
97854dfbf9SFelix Brack 	TPS65910_SUPPLY_VCC7,
98854dfbf9SFelix Brack 	TPS65910_NUM_SUPPLIES
99854dfbf9SFelix Brack };
100854dfbf9SFelix Brack 
101854dfbf9SFelix Brack /* regulator unit numbers */
102854dfbf9SFelix Brack enum {
103854dfbf9SFelix Brack 	TPS65910_UNIT_VRTC = 0x00,
104854dfbf9SFelix Brack 	TPS65910_UNIT_VIO,
105854dfbf9SFelix Brack 	TPS65910_UNIT_VDD1,
106854dfbf9SFelix Brack 	TPS65910_UNIT_VDD2,
107854dfbf9SFelix Brack 	TPS65910_UNIT_VDD3,
108854dfbf9SFelix Brack 	TPS65910_UNIT_VDIG1,
109854dfbf9SFelix Brack 	TPS65910_UNIT_VDIG2,
110854dfbf9SFelix Brack 	TPS65910_UNIT_VPLL,
111854dfbf9SFelix Brack 	TPS65910_UNIT_VDAC,
112854dfbf9SFelix Brack 	TPS65910_UNIT_VAUX1,
113854dfbf9SFelix Brack 	TPS65910_UNIT_VAUX2,
114854dfbf9SFelix Brack 	TPS65910_UNIT_VAUX33,
115854dfbf9SFelix Brack 	TPS65910_UNIT_VMMC,
116854dfbf9SFelix Brack };
117854dfbf9SFelix Brack 
118854dfbf9SFelix Brack /* platform data */
119854dfbf9SFelix Brack struct tps65910_regulator_pdata {
120854dfbf9SFelix Brack 	u32 supply;	/* regulator supply voltage in uV */
121854dfbf9SFelix Brack 	uint unit;	/* unit-address according to DT */
122854dfbf9SFelix Brack };
123854dfbf9SFelix Brack 
124854dfbf9SFelix Brack /* driver names */
125854dfbf9SFelix Brack #define TPS65910_BUCK_DRIVER	"tps65910_buck"
126854dfbf9SFelix Brack #define TPS65910_BOOST_DRIVER	"tps65910_boost"
127854dfbf9SFelix Brack #define TPS65910_LDO_DRIVER	"tps65910_ldo"
128854dfbf9SFelix Brack 
129854dfbf9SFelix Brack #endif /* __TPS65910_PMIC_H_ */
130