| /* SPDX-License-Identifier: GPL-2.0-only */ | 
 | /* | 
 |  * TI LMU (Lighting Management Unit) Devices | 
 |  * | 
 |  * Copyright 2017 Texas Instruments | 
 |  * | 
 |  * Author: Milo Kim <milo.kim@ti.com> | 
 |  */ | 
 |  | 
 | #ifndef __MFD_TI_LMU_H__ | 
 | #define __MFD_TI_LMU_H__ | 
 |  | 
 | #include <linux/gpio.h> | 
 | #include <linux/notifier.h> | 
 | #include <linux/regmap.h> | 
 | #include <linux/gpio/consumer.h> | 
 |  | 
 | /* Notifier event */ | 
 | #define LMU_EVENT_MONITOR_DONE		0x01 | 
 |  | 
 | enum ti_lmu_id { | 
 | 	LM3631, | 
 | 	LM3632, | 
 | 	LM3633, | 
 | 	LM3695, | 
 | 	LM36274, | 
 | 	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 */ | 
 | 	LM36274_BOOST,		/* Boost output */ | 
 | 	LM36274_LDO_POS,	/* Positive display bias output */ | 
 | 	LM36274_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; | 
 | 	struct gpio_desc *en_gpio; | 
 | 	struct blocking_notifier_head notifier; | 
 | }; | 
 | #endif |