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