Lines Matching +full:open +full:- +full:circuit

1 // SPDX-License-Identifier: GPL-2.0-only
16 #include <linux/mfd/ti-lmu.h>
17 #include <linux/mfd/ti-lmu-register.h>
30 if (lmu->en_gpio) in ti_lmu_enable_hw()
31 gpiod_set_value(lmu->en_gpio, 1); in ti_lmu_enable_hw()
36 /* LM3631 has additional power up sequence - enable LCD_EN bit. */ in ti_lmu_enable_hw()
38 return regmap_update_bits(lmu->regmap, LM3631_REG_DEVCTRL, in ti_lmu_enable_hw()
49 if (lmu->en_gpio) in ti_lmu_disable_hw()
50 gpiod_set_value(lmu->en_gpio, 0); in ti_lmu_disable_hw()
55 .name = "lm363x-regulator", \
57 .of_compatible = "ti,lm363x-regulator", \
67 .name = "ti-lmu-backlight",
69 .of_compatible = "ti,lm3631-backlight",
78 .name = "ti-lmu-backlight",
80 .of_compatible = "ti,lm3632-backlight",
86 .name = "ti-lmu-backlight",
88 .of_compatible = "ti,lm3633-backlight",
91 .name = "lm3633-leds",
92 .of_compatible = "ti,lm3633-leds",
94 /* Monitoring driver for open/short circuit detection */
96 .name = "ti-lmu-fault-monitor",
98 .of_compatible = "ti,lm3633-fault-monitor",
104 .name = "ti-lmu-backlight",
106 .of_compatible = "ti,lm3695-backlight",
115 .name = "lm36274-leds",
117 .of_compatible = "ti,lm36274-backlight",
138 struct device *dev = &cl->dev; in ti_lmu_probe()
150 return -ENODEV; in ti_lmu_probe()
154 return -ENOMEM; in ti_lmu_probe()
156 lmu->dev = &cl->dev; in ti_lmu_probe()
162 regmap_cfg.name = id->name; in ti_lmu_probe()
163 regmap_cfg.max_register = data->max_register; in ti_lmu_probe()
165 lmu->regmap = devm_regmap_init_i2c(cl, &regmap_cfg); in ti_lmu_probe()
166 if (IS_ERR(lmu->regmap)) in ti_lmu_probe()
167 return PTR_ERR(lmu->regmap); in ti_lmu_probe()
170 lmu->en_gpio = devm_gpiod_get_optional(dev, "enable", GPIOD_OUT_HIGH); in ti_lmu_probe()
171 if (IS_ERR(lmu->en_gpio)) { in ti_lmu_probe()
172 ret = PTR_ERR(lmu->en_gpio); in ti_lmu_probe()
177 ret = ti_lmu_enable_hw(lmu, id->driver_data); in ti_lmu_probe()
186 * Fault circuit(open/short) can be detected by ti-lmu-fault-monitor. in ti_lmu_probe()
187 * After fault detection is done, some devices should re-initialize in ti_lmu_probe()
190 BLOCKING_INIT_NOTIFIER_HEAD(&lmu->notifier); in ti_lmu_probe()
194 return devm_mfd_add_devices(lmu->dev, 0, data->cells, in ti_lmu_probe()
195 data->num_cells, NULL, 0, NULL); in ti_lmu_probe()
221 .name = "ti-lmu",