| /* | |
| * TI LMU (Lighting Management Unit) Devices | |
| * | |
| * Copyright 2017 Texas Instruments | |
| * | |
| * Author: Milo Kim <milo.kim@ti.com> | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| #ifndef __MFD_TI_LMU_H__ | |
| #define __MFD_TI_LMU_H__ | |
| #include <linux/gpio.h> | |
| #include <linux/notifier.h> | |
| #include <linux/regmap.h> | |
| /* Notifier event */ | |
| #define LMU_EVENT_MONITOR_DONE 0x01 | |
| enum ti_lmu_id { | |
| LM3532, | |
| LM3631, | |
| LM3632, | |
| LM3633, | |
| LM3695, | |
| LM3697, | |
| LMU_MAX_ID, | |
| }; | |
| enum ti_lmu_max_current { | |
| LMU_IMAX_5mA, | |
| LMU_IMAX_6mA, | |
| LMU_IMAX_7mA = 0x03, | |
| LMU_IMAX_8mA, | |
| LMU_IMAX_9mA, | |
| LMU_IMAX_10mA = 0x07, | |
| LMU_IMAX_11mA, | |
| LMU_IMAX_12mA, | |
| LMU_IMAX_13mA, | |
| LMU_IMAX_14mA, | |
| LMU_IMAX_15mA = 0x0D, | |
| LMU_IMAX_16mA, | |
| LMU_IMAX_17mA, | |
| LMU_IMAX_18mA, | |
| LMU_IMAX_19mA, | |
| LMU_IMAX_20mA = 0x13, | |
| LMU_IMAX_21mA, | |
| LMU_IMAX_22mA, | |
| LMU_IMAX_23mA = 0x17, | |
| LMU_IMAX_24mA, | |
| LMU_IMAX_25mA, | |
| LMU_IMAX_26mA, | |
| LMU_IMAX_27mA = 0x1C, | |
| LMU_IMAX_28mA, | |
| LMU_IMAX_29mA, | |
| LMU_IMAX_30mA, | |
| }; | |
| enum lm363x_regulator_id { | |
| LM3631_BOOST, /* Boost output */ | |
| LM3631_LDO_CONT, /* Display panel controller */ | |
| LM3631_LDO_OREF, /* Gamma reference */ | |
| LM3631_LDO_POS, /* Positive display bias output */ | |
| LM3631_LDO_NEG, /* Negative display bias output */ | |
| LM3632_BOOST, /* Boost output */ | |
| LM3632_LDO_POS, /* Positive display bias output */ | |
| LM3632_LDO_NEG, /* Negative display bias output */ | |
| }; | |
| /** | |
| * struct ti_lmu | |
| * | |
| * @dev: Parent device pointer | |
| * @regmap: Used for i2c communcation on accessing registers | |
| * @en_gpio: GPIO for HWEN pin [Optional] | |
| * @notifier: Notifier for reporting hwmon event | |
| */ | |
| struct ti_lmu { | |
| struct device *dev; | |
| struct regmap *regmap; | |
| int en_gpio; | |
| struct blocking_notifier_head notifier; | |
| }; | |
| #endif |