Symbol: adp5055
drivers/regulator/adp5055-regulator.c
137
static int adp5055_parse_fw(struct device *dev, struct adp5055 *adp5055)
drivers/regulator/adp5055-regulator.c
140
struct regmap *regmap = adp5055->regmap;
drivers/regulator/adp5055-regulator.c
145
ret = device_property_read_u32(dev, "adi,tset-us", &adp5055->tset);
drivers/regulator/adp5055-regulator.c
148
ARRAY_SIZE(adp5055_tset_vals), adp5055->tset);
drivers/regulator/adp5055-regulator.c
152
adp5055->tset = adp5055_tset_vals[ret];
drivers/regulator/adp5055-regulator.c
162
DIV_ROUND_CLOSEST_ULL(192000 - adp5055->dvs_limit_upper[i], 12000));
drivers/regulator/adp5055-regulator.c
164
DIV_ROUND_CLOSEST_ULL(adp5055->dvs_limit_lower[i] + 190500, 12000));
drivers/regulator/adp5055-regulator.c
170
val = FIELD_PREP(ADP5055_MASK_EN_MODE, adp5055->en_mode_software);
drivers/regulator/adp5055-regulator.c
181
val = FIELD_PREP(ADP5055_MASK_FAST_TRANSIENT2, adp5055->fast_transient[2]);
drivers/regulator/adp5055-regulator.c
182
val |= FIELD_PREP(ADP5055_MASK_FAST_TRANSIENT1, adp5055->fast_transient[1]);
drivers/regulator/adp5055-regulator.c
183
val |= FIELD_PREP(ADP5055_MASK_FAST_TRANSIENT0, adp5055->fast_transient[0]);
drivers/regulator/adp5055-regulator.c
189
val |= FIELD_PREP(ADP5055_MASK_PWRGD2, adp5055->mask_power_good[2]);
drivers/regulator/adp5055-regulator.c
190
val |= FIELD_PREP(ADP5055_MASK_PWRGD1, adp5055->mask_power_good[1]);
drivers/regulator/adp5055-regulator.c
191
val |= FIELD_PREP(ADP5055_MASK_PWRGD0, adp5055->mask_power_good[0]);
drivers/regulator/adp5055-regulator.c
203
struct adp5055 *adp5055 = config->driver_data;
drivers/regulator/adp5055-regulator.c
209
adp5055->en_gpiod[id] = devm_fwnode_gpiod_get(config->dev,
drivers/regulator/adp5055-regulator.c
212
if (IS_ERR(adp5055->en_gpiod[id]))
drivers/regulator/adp5055-regulator.c
213
return dev_err_probe(config->dev, PTR_ERR(adp5055->en_gpiod[id]),
drivers/regulator/adp5055-regulator.c
216
config->ena_gpiod = adp5055->en_gpiod[id];
drivers/regulator/adp5055-regulator.c
218
adp5055->en_mode_software = true;
drivers/regulator/adp5055-regulator.c
223
adp5055->dvs_limit_upper[id] = 192000;
drivers/regulator/adp5055-regulator.c
225
adp5055->dvs_limit_upper[id] = pval;
drivers/regulator/adp5055-regulator.c
227
if (adp5055->dvs_limit_upper[id] > 192000 || adp5055->dvs_limit_upper[id] < 12000)
drivers/regulator/adp5055-regulator.c
228
return dev_err_probe(config->dev, adp5055->dvs_limit_upper[id],
drivers/regulator/adp5055-regulator.c
233
adp5055->dvs_limit_lower[id] = -190500;
drivers/regulator/adp5055-regulator.c
235
adp5055->dvs_limit_lower[id] = pval;
drivers/regulator/adp5055-regulator.c
237
if (adp5055->dvs_limit_lower[id] > -10500 || adp5055->dvs_limit_lower[id] < -190500)
drivers/regulator/adp5055-regulator.c
238
return dev_err_probe(config->dev, adp5055->dvs_limit_lower[id],
drivers/regulator/adp5055-regulator.c
249
adp5055->fast_transient[id] = 3;
drivers/regulator/adp5055-regulator.c
251
adp5055->fast_transient[id] = i;
drivers/regulator/adp5055-regulator.c
253
adp5055->mask_power_good[id] = of_property_read_bool(np, "adi,mask-power-good");
drivers/regulator/adp5055-regulator.c
260
struct adp5055 *adp5055 = rdev_get_drvdata(rdev);
drivers/regulator/adp5055-regulator.c
267
ret = regmap_update_bits(adp5055->regmap, ADP5055_CTRL_MODE2,
drivers/regulator/adp5055-regulator.c
271
ret = regmap_update_bits(adp5055->regmap, ADP5055_CTRL_MODE2,
drivers/regulator/adp5055-regulator.c
284
struct adp5055 *adp5055 = rdev_get_drvdata(rdev);
drivers/regulator/adp5055-regulator.c
289
ret = regmap_read(adp5055->regmap, ADP5055_CTRL_MODE2, &regval);
drivers/regulator/adp5055-regulator.c
350
struct adp5055 *adp5055;
drivers/regulator/adp5055-regulator.c
358
adp5055 = devm_kzalloc(dev, sizeof(struct adp5055), GFP_KERNEL);
drivers/regulator/adp5055-regulator.c
359
if (!adp5055)
drivers/regulator/adp5055-regulator.c
362
adp5055->tset = 2600;
drivers/regulator/adp5055-regulator.c
363
adp5055->en_mode_software = false;
drivers/regulator/adp5055-regulator.c
365
adp5055->regmap = devm_regmap_init_i2c(client, &adp5055_regmap_config);
drivers/regulator/adp5055-regulator.c
366
if (IS_ERR(adp5055->regmap))
drivers/regulator/adp5055-regulator.c
367
return dev_err_probe(dev, PTR_ERR(adp5055->regmap), "Failed to allocate reg map");
drivers/regulator/adp5055-regulator.c
374
if (adp5055->tset == 2600)
drivers/regulator/adp5055-regulator.c
382
config.driver_data = adp5055;
drivers/regulator/adp5055-regulator.c
383
config.regmap = adp5055->regmap;
drivers/regulator/adp5055-regulator.c
393
ret = adp5055_parse_fw(dev, adp5055);