xref: /openbmc/u-boot/include/power/tps65218.h (revision 8465d6a7)
186db550bSTom Rini /*
286db550bSTom Rini  * (C) Copyright 2014
386db550bSTom Rini  * Texas Instruments, <www.ti.com>
486db550bSTom Rini  *
586db550bSTom Rini  * SPDX-License-Identifier:	GPL-2.0+
686db550bSTom Rini  */
786db550bSTom Rini 
886db550bSTom Rini #ifndef __POWER_TPS65218_H__
986db550bSTom Rini #define __POWER_TPS65218_H__
1086db550bSTom Rini 
1186db550bSTom Rini /* I2C chip address */
1286db550bSTom Rini #define TPS65218_CHIP_PM			0x24
1386db550bSTom Rini 
1486db550bSTom Rini /* Registers */
1586db550bSTom Rini enum {
1686db550bSTom Rini 	TPS65218_CHIPID				= 0x00,
1786db550bSTom Rini 	TPS65218_INT1,
1886db550bSTom Rini 	TPS65218_INT2,
1986db550bSTom Rini 	TPS65218_INT_MASK1,
2086db550bSTom Rini 	TPS65218_INT_MASK2,
2186db550bSTom Rini 	TPS65218_STATUS,
2286db550bSTom Rini 	TPS65218_CONTROL,
2386db550bSTom Rini 	TPS65218_FLAG,
2486db550bSTom Rini 	TPS65218_PASSWORD			= 0x10,
2586db550bSTom Rini 	TPS65218_ENABLE1,
2686db550bSTom Rini 	TPS65218_ENABLE2,
2786db550bSTom Rini 	TPS65218_CONFIG1,
2886db550bSTom Rini 	TPS65218_CONFIG2,
2986db550bSTom Rini 	TPS65218_CONFIG3,
3086db550bSTom Rini 	TPS65218_DCDC1,
3186db550bSTom Rini 	TPS65218_DCDC2,
3286db550bSTom Rini 	TPS65218_DCDC3,
3386db550bSTom Rini 	TPS65218_DCDC4,
3486db550bSTom Rini 	TPS65218_SLEW,
3586db550bSTom Rini 	TPS65218_LDO1,
3686db550bSTom Rini 	TPS65218_SEQ1				= 0x20,
3786db550bSTom Rini 	TPS65218_SEQ2,
3886db550bSTom Rini 	TPS65218_SEQ3,
3986db550bSTom Rini 	TPS65218_SEQ4,
4086db550bSTom Rini 	TPS65218_SEQ5,
4186db550bSTom Rini 	TPS65218_SEQ6,
4286db550bSTom Rini 	TPS65218_SEQ7,
4386db550bSTom Rini 	TPS65218_PMIC_NUM_OF_REGS,
4486db550bSTom Rini };
4586db550bSTom Rini 
4686db550bSTom Rini #define TPS65218_PROT_LEVEL_NONE		0x00
4786db550bSTom Rini #define TPS65218_PROT_LEVEL_1			0x01
4886db550bSTom Rini #define TPS65218_PROT_LEVEL_2			0x02
4986db550bSTom Rini 
5086db550bSTom Rini #define TPS65218_PASSWORD_LOCK_FOR_WRITE	0x00
5186db550bSTom Rini #define TPS65218_PASSWORD_UNLOCK		0x7D
5286db550bSTom Rini 
5386db550bSTom Rini #define TPS65218_DCDC_GO			0x80
5486db550bSTom Rini 
5586db550bSTom Rini #define TPS65218_MASK_ALL_BITS			0xFF
5686db550bSTom Rini 
57*8465d6a7SFelipe Balbi #define TPS65218_DCDC_VOLT_SEL_0950MV		0x0a
5886db550bSTom Rini #define TPS65218_DCDC_VOLT_SEL_1100MV		0x19
59*8465d6a7SFelipe Balbi #define TPS65218_DCDC_VOLT_SEL_1200MV		0x23
60*8465d6a7SFelipe Balbi #define TPS65218_DCDC_VOLT_SEL_1260MV		0x29
6186db550bSTom Rini #define TPS65218_DCDC_VOLT_SEL_1330MV		0x30
6286db550bSTom Rini 
6386db550bSTom Rini int tps65218_reg_write(uchar prot_level, uchar dest_reg, uchar dest_val,
6486db550bSTom Rini 		       uchar mask);
6586db550bSTom Rini int tps65218_voltage_update(uchar dc_cntrl_reg, uchar volt_sel);
667aa5598aSTom Rini int power_tps65218_init(unsigned char bus);
6786db550bSTom Rini #endif	/* __POWER_TPS65218_H__ */
68