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