| /* |
| * 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 |