1 /* SPDX-License-Identifier: GPL-2.0+ */ << 2 /* 1 /* 3 * max77693.h - Driver for the Maxim 77693 2 * max77693.h - Driver for the Maxim 77693 4 * 3 * 5 * Copyright (C) 2012 Samsung Electrnoics 4 * Copyright (C) 2012 Samsung Electrnoics 6 * SangYoung Son <hello.son@samsung.com> 5 * SangYoung Son <hello.son@samsung.com> 7 * 6 * 8 * This program is not provided / owned by Max 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 9 * 22 * 10 * This driver is based on max8997.h 23 * This driver is based on max8997.h 11 * 24 * 12 * MAX77693 has PMIC, Charger, Flash LED, Hapt 25 * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices. 13 * The devices share the same I2C bus and incl 26 * The devices share the same I2C bus and included in 14 * this mfd driver. 27 * this mfd driver. 15 */ 28 */ 16 29 17 #ifndef __LINUX_MFD_MAX77693_H 30 #ifndef __LINUX_MFD_MAX77693_H 18 #define __LINUX_MFD_MAX77693_H 31 #define __LINUX_MFD_MAX77693_H 19 32 20 /* MAX77693 regulator IDs */ 33 /* MAX77693 regulator IDs */ 21 enum max77693_regulators { 34 enum max77693_regulators { 22 MAX77693_ESAFEOUT1 = 0, 35 MAX77693_ESAFEOUT1 = 0, 23 MAX77693_ESAFEOUT2, 36 MAX77693_ESAFEOUT2, 24 MAX77693_CHARGER, 37 MAX77693_CHARGER, 25 MAX77693_REG_MAX, 38 MAX77693_REG_MAX, 26 }; 39 }; 27 40 28 struct max77693_reg_data { 41 struct max77693_reg_data { 29 u8 addr; 42 u8 addr; 30 u8 data; 43 u8 data; 31 }; 44 }; 32 45 33 struct max77693_muic_platform_data { 46 struct max77693_muic_platform_data { 34 struct max77693_reg_data *init_data; 47 struct max77693_reg_data *init_data; 35 int num_init_data; 48 int num_init_data; 36 49 37 int detcable_delay_ms; 50 int detcable_delay_ms; 38 51 39 /* 52 /* 40 * Default usb/uart path whether UART/ 53 * Default usb/uart path whether UART/USB or AUX_UART/AUX_USB 41 * h/w path of COMP2/COMN1 on CONTROL1 54 * h/w path of COMP2/COMN1 on CONTROL1 register. 42 */ 55 */ 43 int path_usb; 56 int path_usb; 44 int path_uart; 57 int path_uart; 45 }; 58 }; 46 59 47 /* MAX77693 led flash */ 60 /* MAX77693 led flash */ 48 61 49 /* triggers */ 62 /* triggers */ 50 enum max77693_led_trigger { 63 enum max77693_led_trigger { 51 MAX77693_LED_TRIG_OFF, 64 MAX77693_LED_TRIG_OFF, 52 MAX77693_LED_TRIG_FLASH, 65 MAX77693_LED_TRIG_FLASH, 53 MAX77693_LED_TRIG_TORCH, 66 MAX77693_LED_TRIG_TORCH, 54 MAX77693_LED_TRIG_EXT, 67 MAX77693_LED_TRIG_EXT, 55 MAX77693_LED_TRIG_SOFT, 68 MAX77693_LED_TRIG_SOFT, 56 }; 69 }; 57 70 58 /* trigger types */ 71 /* trigger types */ 59 enum max77693_led_trigger_type { 72 enum max77693_led_trigger_type { 60 MAX77693_LED_TRIG_TYPE_EDGE, 73 MAX77693_LED_TRIG_TYPE_EDGE, 61 MAX77693_LED_TRIG_TYPE_LEVEL, 74 MAX77693_LED_TRIG_TYPE_LEVEL, 62 }; 75 }; 63 76 64 /* boost modes */ 77 /* boost modes */ 65 enum max77693_led_boost_mode { 78 enum max77693_led_boost_mode { 66 MAX77693_LED_BOOST_NONE, 79 MAX77693_LED_BOOST_NONE, 67 MAX77693_LED_BOOST_ADAPTIVE, 80 MAX77693_LED_BOOST_ADAPTIVE, 68 MAX77693_LED_BOOST_FIXED, 81 MAX77693_LED_BOOST_FIXED, 69 }; 82 }; 70 83 71 /* MAX77693 */ 84 /* MAX77693 */ 72 85 73 struct max77693_platform_data { 86 struct max77693_platform_data { 74 /* muic data */ 87 /* muic data */ 75 struct max77693_muic_platform_data *mu 88 struct max77693_muic_platform_data *muic_data; 76 struct max77693_led_platform_data *led 89 struct max77693_led_platform_data *led_data; 77 }; 90 }; 78 #endif /* __LINUX_MFD_MAX77693_H */ 91 #endif /* __LINUX_MFD_MAX77693_H */ 79 92
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.