1*d7d8d7a2SKrzysztof Kozlowski /* SPDX-License-Identifier: GPL-2.0+ */ 283871c00SChanwoo Choi /* 383871c00SChanwoo Choi * max77693.h - Driver for the Maxim 77693 483871c00SChanwoo Choi * 583871c00SChanwoo Choi * Copyright (C) 2012 Samsung Electrnoics 683871c00SChanwoo Choi * SangYoung Son <[email protected]> 783871c00SChanwoo Choi * 883871c00SChanwoo Choi * This program is not provided / owned by Maxim Integrated Products. 983871c00SChanwoo Choi * 1083871c00SChanwoo Choi * This driver is based on max8997.h 1183871c00SChanwoo Choi * 1283871c00SChanwoo Choi * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices. 1383871c00SChanwoo Choi * The devices share the same I2C bus and included in 1483871c00SChanwoo Choi * this mfd driver. 1583871c00SChanwoo Choi */ 1683871c00SChanwoo Choi 1783871c00SChanwoo Choi #ifndef __LINUX_MFD_MAX77693_H 1883871c00SChanwoo Choi #define __LINUX_MFD_MAX77693_H 1983871c00SChanwoo Choi 20eb2d90c0SKrzysztof Kozlowski /* MAX77693 regulator IDs */ 2180b022e2SJonghwa Lee enum max77693_regulators { 2280b022e2SJonghwa Lee MAX77693_ESAFEOUT1 = 0, 2380b022e2SJonghwa Lee MAX77693_ESAFEOUT2, 2480b022e2SJonghwa Lee MAX77693_CHARGER, 2580b022e2SJonghwa Lee MAX77693_REG_MAX, 2680b022e2SJonghwa Lee }; 2780b022e2SJonghwa Lee 28f8457d57SChanwoo Choi struct max77693_reg_data { 29f8457d57SChanwoo Choi u8 addr; 30f8457d57SChanwoo Choi u8 data; 31f8457d57SChanwoo Choi }; 32f8457d57SChanwoo Choi 33f8457d57SChanwoo Choi struct max77693_muic_platform_data { 34f8457d57SChanwoo Choi struct max77693_reg_data *init_data; 35f8457d57SChanwoo Choi int num_init_data; 36297620fdSChanwoo Choi 37297620fdSChanwoo Choi int detcable_delay_ms; 382b75799fSChanwoo Choi 392b75799fSChanwoo Choi /* 402b75799fSChanwoo Choi * Default usb/uart path whether UART/USB or AUX_UART/AUX_USB 412b75799fSChanwoo Choi * h/w path of COMP2/COMN1 on CONTROL1 register. 422b75799fSChanwoo Choi */ 432b75799fSChanwoo Choi int path_usb; 442b75799fSChanwoo Choi int path_uart; 45f8457d57SChanwoo Choi }; 46f8457d57SChanwoo Choi 47a0bc6072SJacek Anaszewski /* MAX77693 led flash */ 48a0bc6072SJacek Anaszewski 49a0bc6072SJacek Anaszewski /* triggers */ 50a0bc6072SJacek Anaszewski enum max77693_led_trigger { 51a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_OFF, 52a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_FLASH, 53a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_TORCH, 54a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_EXT, 55a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_SOFT, 56a0bc6072SJacek Anaszewski }; 57a0bc6072SJacek Anaszewski 58a0bc6072SJacek Anaszewski /* trigger types */ 59a0bc6072SJacek Anaszewski enum max77693_led_trigger_type { 60a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_TYPE_EDGE, 61a0bc6072SJacek Anaszewski MAX77693_LED_TRIG_TYPE_LEVEL, 62a0bc6072SJacek Anaszewski }; 63a0bc6072SJacek Anaszewski 64a0bc6072SJacek Anaszewski /* boost modes */ 65a0bc6072SJacek Anaszewski enum max77693_led_boost_mode { 66a0bc6072SJacek Anaszewski MAX77693_LED_BOOST_NONE, 67a0bc6072SJacek Anaszewski MAX77693_LED_BOOST_ADAPTIVE, 68a0bc6072SJacek Anaszewski MAX77693_LED_BOOST_FIXED, 69a0bc6072SJacek Anaszewski }; 70a0bc6072SJacek Anaszewski 71a0bc6072SJacek Anaszewski /* MAX77693 */ 72a0bc6072SJacek Anaszewski 7383871c00SChanwoo Choi struct max77693_platform_data { 74f8457d57SChanwoo Choi /* muic data */ 75f8457d57SChanwoo Choi struct max77693_muic_platform_data *muic_data; 76a0bc6072SJacek Anaszewski struct max77693_led_platform_data *led_data; 7783871c00SChanwoo Choi }; 7883871c00SChanwoo Choi #endif /* __LINUX_MFD_MAX77693_H */ 79