xref: /openbmc/u-boot/include/power/max77693_muic.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
204750447SPiotr Wilczek /*
304750447SPiotr Wilczek  * Copyright (C) 2013 Samsung Electronics
404750447SPiotr Wilczek  * Piotr Wilczek <p.wilczek@samsung.com>
504750447SPiotr Wilczek  */
604750447SPiotr Wilczek 
704750447SPiotr Wilczek #ifndef __MAX77693_MUIC_H_
804750447SPiotr Wilczek #define __MAX77693_MUIC_H_
904750447SPiotr Wilczek 
1004750447SPiotr Wilczek #include <power/power_chrg.h>
1104750447SPiotr Wilczek 
1204750447SPiotr Wilczek /*
1304750447SPiotr Wilczek  * MUIC REGISTER
1404750447SPiotr Wilczek  */
1504750447SPiotr Wilczek 
1604750447SPiotr Wilczek #define MAX77693_MUIC_PREFIX	"max77693-muic:"
1704750447SPiotr Wilczek 
1804750447SPiotr Wilczek /* MAX77693_MUIC_STATUS1 */
1904750447SPiotr Wilczek #define MAX77693_MUIC_ADC_MASK	0x1F
2004750447SPiotr Wilczek 
2104750447SPiotr Wilczek /* MAX77693_MUIC_STATUS2 */
2204750447SPiotr Wilczek #define MAX77693_MUIC_CHG_NO		0x00
2304750447SPiotr Wilczek #define MAX77693_MUIC_CHG_USB		0x01
2404750447SPiotr Wilczek #define MAX77693_MUIC_CHG_USB_D		0x02
2504750447SPiotr Wilczek #define MAX77693_MUIC_CHG_TA		0x03
2604750447SPiotr Wilczek #define MAX77693_MUIC_CHG_TA_500	0x04
2704750447SPiotr Wilczek #define MAX77693_MUIC_CHG_TA_1A		0x05
2804750447SPiotr Wilczek #define MAX77693_MUIC_CHG_MASK		0x07
2904750447SPiotr Wilczek 
3004750447SPiotr Wilczek /* MAX77693_MUIC_CONTROL1 */
3104750447SPiotr Wilczek #define MAX77693_MUIC_CTRL1_DN1DP2	((0x1 << 3) | 0x1)
3204750447SPiotr Wilczek #define MAX77693_MUIC_CTRL1_UT1UR2	((0x3 << 3) | 0x3)
3304750447SPiotr Wilczek #define MAX77693_MUIC_CTRL1_ADN1ADP2	((0x4 << 3) | 0x4)
3404750447SPiotr Wilczek #define MAX77693_MUIC_CTRL1_AUT1AUR2	((0x5 << 3) | 0x5)
3504750447SPiotr Wilczek #define MAX77693_MUIC_CTRL1_MASK	0xC0
3604750447SPiotr Wilczek 
3704750447SPiotr Wilczek #define MUIC_PATH_USB	0
3804750447SPiotr Wilczek #define MUIC_PATH_UART	1
3904750447SPiotr Wilczek 
4004750447SPiotr Wilczek #define MUIC_PATH_CP	0
4104750447SPiotr Wilczek #define MUIC_PATH_AP	1
4204750447SPiotr Wilczek 
4304750447SPiotr Wilczek enum muic_path {
4404750447SPiotr Wilczek 	MUIC_PATH_USB_CP,
4504750447SPiotr Wilczek 	MUIC_PATH_USB_AP,
4604750447SPiotr Wilczek 	MUIC_PATH_UART_CP,
4704750447SPiotr Wilczek 	MUIC_PATH_UART_AP,
4804750447SPiotr Wilczek };
4904750447SPiotr Wilczek 
5004750447SPiotr Wilczek /* MAX 777693 MUIC registers */
5104750447SPiotr Wilczek enum {
5204750447SPiotr Wilczek 	MAX77693_MUIC_ID	= 0x00,
5304750447SPiotr Wilczek 	MAX77693_MUIC_INT1	= 0x01,
5404750447SPiotr Wilczek 	MAX77693_MUIC_INT2	= 0x02,
5504750447SPiotr Wilczek 	MAX77693_MUIC_INT3	= 0x03,
5604750447SPiotr Wilczek 	MAX77693_MUIC_STATUS1	= 0x04,
5704750447SPiotr Wilczek 	MAX77693_MUIC_STATUS2	= 0x05,
5804750447SPiotr Wilczek 	MAX77693_MUIC_STATUS3	= 0x06,
5904750447SPiotr Wilczek 	MAX77693_MUIC_INTMASK1	= 0x07,
6004750447SPiotr Wilczek 	MAX77693_MUIC_INTMASK2	= 0x08,
6104750447SPiotr Wilczek 	MAX77693_MUIC_INTMASK3	= 0x09,
6204750447SPiotr Wilczek 	MAX77693_MUIC_CDETCTRL	= 0x0A,
6304750447SPiotr Wilczek 	MAX77693_MUIC_CONTROL1	= 0x0C,
6404750447SPiotr Wilczek 	MAX77693_MUIC_CONTROL2	= 0x0D,
6504750447SPiotr Wilczek 	MAX77693_MUIC_CONTROL3	= 0x0E,
6604750447SPiotr Wilczek 
6704750447SPiotr Wilczek 	MUIC_NUM_OF_REGS	= 0x0F,
6804750447SPiotr Wilczek };
6904750447SPiotr Wilczek 
7004750447SPiotr Wilczek #define MAX77693_MUIC_I2C_ADDR	(0x4A >> 1)
7104750447SPiotr Wilczek 
7204750447SPiotr Wilczek int power_muic_init(unsigned int bus);
7304750447SPiotr Wilczek #endif /* __MAX77693_MUIC_H_ */
74