Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * max77693.h - Driver for the Maxim 77693
0004  *
0005  *  Copyright (C) 2012 Samsung Electrnoics
0006  *  SangYoung Son <hello.son@samsung.com>
0007  *
0008  * This program is not provided / owned by Maxim Integrated Products.
0009  *
0010  * This driver is based on max8997.h
0011  *
0012  * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices.
0013  * The devices share the same I2C bus and included in
0014  * this mfd driver.
0015  */
0016 
0017 #ifndef __LINUX_MFD_MAX77693_H
0018 #define __LINUX_MFD_MAX77693_H
0019 
0020 /* MAX77693 regulator IDs */
0021 enum max77693_regulators {
0022     MAX77693_ESAFEOUT1 = 0,
0023     MAX77693_ESAFEOUT2,
0024     MAX77693_CHARGER,
0025     MAX77693_REG_MAX,
0026 };
0027 
0028 struct max77693_reg_data {
0029     u8 addr;
0030     u8 data;
0031 };
0032 
0033 struct max77693_muic_platform_data {
0034     struct max77693_reg_data *init_data;
0035     int num_init_data;
0036 
0037     int detcable_delay_ms;
0038 
0039     /*
0040      * Default usb/uart path whether UART/USB or AUX_UART/AUX_USB
0041      * h/w path of COMP2/COMN1 on CONTROL1 register.
0042      */
0043     int path_usb;
0044     int path_uart;
0045 };
0046 
0047 /* MAX77693 led flash */
0048 
0049 /* triggers */
0050 enum max77693_led_trigger {
0051     MAX77693_LED_TRIG_OFF,
0052     MAX77693_LED_TRIG_FLASH,
0053     MAX77693_LED_TRIG_TORCH,
0054     MAX77693_LED_TRIG_EXT,
0055     MAX77693_LED_TRIG_SOFT,
0056 };
0057 
0058 /* trigger types */
0059 enum max77693_led_trigger_type {
0060     MAX77693_LED_TRIG_TYPE_EDGE,
0061     MAX77693_LED_TRIG_TYPE_LEVEL,
0062 };
0063 
0064 /* boost modes */
0065 enum max77693_led_boost_mode {
0066     MAX77693_LED_BOOST_NONE,
0067     MAX77693_LED_BOOST_ADAPTIVE,
0068     MAX77693_LED_BOOST_FIXED,
0069 };
0070 
0071 /* MAX77693 */
0072 
0073 struct max77693_platform_data {
0074     /* muic data */
0075     struct max77693_muic_platform_data *muic_data;
0076     struct max77693_led_platform_data *led_data;
0077 };
0078 #endif  /* __LINUX_MFD_MAX77693_H */