1 /* 2 * max77693.h - Driver for the Maxim 77693 3 * 4 * Copyright (C) 2012 Samsung Electrnoics 5 * SangYoung Son <hello.son@samsung.com> 6 * 7 * This program is not provided / owned by Maxim Integrated Products. 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 * 23 * This driver is based on max8997.h 24 * 25 * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices. 26 * The devices share the same I2C bus and included in 27 * this mfd driver. 28 */ 29 30 #ifndef __LINUX_MFD_MAX77693_H 31 #define __LINUX_MFD_MAX77693_H 32 33 /* MAX77693 regulator IDs */ 34 enum max77693_regulators { 35 MAX77693_ESAFEOUT1 = 0, 36 MAX77693_ESAFEOUT2, 37 MAX77693_CHARGER, 38 MAX77693_REG_MAX, 39 }; 40 41 struct max77693_reg_data { 42 u8 addr; 43 u8 data; 44 }; 45 46 struct max77693_muic_platform_data { 47 struct max77693_reg_data *init_data; 48 int num_init_data; 49 50 int detcable_delay_ms; 51 52 /* 53 * Default usb/uart path whether UART/USB or AUX_UART/AUX_USB 54 * h/w path of COMP2/COMN1 on CONTROL1 register. 55 */ 56 int path_usb; 57 int path_uart; 58 }; 59 60 /* MAX77693 led flash */ 61 62 /* triggers */ 63 enum max77693_led_trigger { 64 MAX77693_LED_TRIG_OFF, 65 MAX77693_LED_TRIG_FLASH, 66 MAX77693_LED_TRIG_TORCH, 67 MAX77693_LED_TRIG_EXT, 68 MAX77693_LED_TRIG_SOFT, 69 }; 70 71 /* trigger types */ 72 enum max77693_led_trigger_type { 73 MAX77693_LED_TRIG_TYPE_EDGE, 74 MAX77693_LED_TRIG_TYPE_LEVEL, 75 }; 76 77 /* boost modes */ 78 enum max77693_led_boost_mode { 79 MAX77693_LED_BOOST_NONE, 80 MAX77693_LED_BOOST_ADAPTIVE, 81 MAX77693_LED_BOOST_FIXED, 82 }; 83 84 /* MAX77693 */ 85 86 struct max77693_platform_data { 87 /* muic data */ 88 struct max77693_muic_platform_data *muic_data; 89 struct max77693_led_platform_data *led_data; 90 }; 91 #endif /* __LINUX_MFD_MAX77693_H */ 92