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