Lines Matching +full:vsel +full:- +full:active +full:- +full:high
1 // SPDX-License-Identifier: GPL-2.0-only
55 const struct regulator_desc *desc = rdev->desc; in rt5739_set_mode()
59 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_mode()
72 return -EINVAL; in rt5739_set_mode()
80 const struct regulator_desc *desc = rdev->desc; in rt5739_get_mode()
85 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_get_mode()
102 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_voltage()
104 unsigned int reg, vsel; in rt5739_set_suspend_voltage() local
107 max_uV = desc->min_uV + desc->uV_step * (desc->n_voltages - 1); in rt5739_set_suspend_voltage()
109 if (uV < desc->min_uV || uV > max_uV) in rt5739_set_suspend_voltage()
110 return -EINVAL; in rt5739_set_suspend_voltage()
112 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_suspend_voltage()
117 vsel = (uV - desc->min_uV) / desc->uV_step; in rt5739_set_suspend_voltage()
118 return regmap_write(regmap, reg, vsel); in rt5739_set_suspend_voltage()
123 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_enable()
127 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_suspend_enable()
132 return regmap_update_bits(regmap, desc->enable_reg, mask, mask); in rt5739_set_suspend_enable()
137 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_disable()
141 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_suspend_disable()
146 return regmap_update_bits(regmap, desc->enable_reg, mask, 0); in rt5739_set_suspend_disable()
152 const struct regulator_desc *desc = rdev->desc; in rt5739_set_suspend_mode()
156 if (desc->vsel_reg == RT5739_REG_NSEL0) in rt5739_set_suspend_mode()
169 return -EINVAL; in rt5739_set_suspend_mode()
207 desc->name = "rt5739-regulator"; in rt5739_init_regulator_desc()
208 desc->owner = THIS_MODULE; in rt5739_init_regulator_desc()
209 desc->ops = &rt5739_regulator_ops; in rt5739_init_regulator_desc()
210 desc->vsel_mask = RT5739_VSEL_MASK; in rt5739_init_regulator_desc()
211 desc->enable_reg = RT5739_REG_CNTL2; in rt5739_init_regulator_desc()
212 desc->active_discharge_reg = RT5739_REG_CNTL1; in rt5739_init_regulator_desc()
213 desc->active_discharge_mask = RT5739_ACTD_MASK; in rt5739_init_regulator_desc()
214 desc->active_discharge_on = RT5739_ACTD_MASK; in rt5739_init_regulator_desc()
215 desc->of_map_mode = rt5739_of_map_mode; in rt5739_init_regulator_desc()
217 /* Assigned by vsel level */ in rt5739_init_regulator_desc()
219 desc->vsel_reg = RT5739_REG_NSEL1; in rt5739_init_regulator_desc()
220 desc->enable_mask = RT5739_ENVSEL1_MASK; in rt5739_init_regulator_desc()
222 desc->vsel_reg = RT5739_REG_NSEL0; in rt5739_init_regulator_desc()
223 desc->enable_mask = RT5739_ENVSEL0_MASK; in rt5739_init_regulator_desc()
229 desc->n_voltages = RT5733_N_VOLTS; in rt5739_init_regulator_desc()
230 desc->min_uV = RT5733_VOLT_MINUV; in rt5739_init_regulator_desc()
231 desc->uV_step = RT5733_VOLT_STPUV; in rt5739_init_regulator_desc()
234 desc->n_voltages = RT5739_N_VOLTS; in rt5739_init_regulator_desc()
235 desc->min_uV = RT5739_VOLT_MINUV; in rt5739_init_regulator_desc()
236 desc->uV_step = RT5739_VOLT_STPUV; in rt5739_init_regulator_desc()
257 struct device *dev = &i2c->dev; in rt5739_probe()
269 return -ENOMEM; in rt5739_probe()
287 return dev_err_probe(dev, -ENODEV, "Incorrect VID (0x%02x)\n", vid); in rt5739_probe()
289 vsel_acth = device_property_read_bool(dev, "richtek,vsel-active-high"); in rt5739_probe()