Lines Matching defs:rdev

218 static int rk808_buck1_2_get_voltage_sel_regmap(struct regulator_dev *rdev)
220 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
221 int id = rdev_get_id(rdev);
227 return regulator_get_voltage_sel_regmap(rdev);
229 ret = regmap_read(rdev->regmap,
230 rdev->desc->vsel_reg + RK808_DVS_REG_OFFSET,
235 val &= rdev->desc->vsel_mask;
236 val >>= ffs(rdev->desc->vsel_mask) - 1;
241 static int rk808_buck1_2_i2c_set_voltage_sel(struct regulator_dev *rdev,
245 unsigned int old_sel, tmp, val, mask = rdev->desc->vsel_mask;
247 ret = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &val);
272 ret = regmap_write(rdev->regmap, rdev->desc->vsel_reg, val);
278 ret = regmap_write(rdev->regmap, rdev->desc->vsel_reg, val);
290 static int rk808_buck1_2_set_voltage_sel(struct regulator_dev *rdev,
293 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
294 int id = rdev_get_id(rdev);
296 unsigned int reg = rdev->desc->vsel_reg;
301 return rk808_buck1_2_i2c_set_voltage_sel(rdev, sel);
306 ret = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &old_sel);
308 ret = regmap_read(rdev->regmap,
316 sel <<= ffs(rdev->desc->vsel_mask) - 1;
317 sel |= old_sel & ~rdev->desc->vsel_mask;
319 ret = regmap_write(rdev->regmap, reg, sel);
328 static int rk808_buck1_2_set_voltage_time_sel(struct regulator_dev *rdev,
332 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
333 int id = rdev_get_id(rdev);
340 return regulator_set_voltage_time_sel(rdev, old_selector, new_selector);
343 static int rk808_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
346 unsigned int reg = rk808_buck_config_regs[rdev_get_id(rdev)];
362 rdev->desc->name, ramp_delay);
365 return regmap_update_bits(rdev->regmap, reg,
372 static int rk817_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
375 unsigned int reg = RK817_BUCK_CONFIG_REG(rdev_get_id(rdev));
390 dev_warn(&rdev->dev,
392 rdev->desc->name, ramp_delay);
395 return regmap_update_bits(rdev->regmap, reg,
399 static int rk808_set_suspend_voltage(struct regulator_dev *rdev, int uv)
402 int sel = regulator_map_voltage_linear(rdev, uv, uv);
407 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
409 return regmap_update_bits(rdev->regmap, reg,
410 rdev->desc->vsel_mask,
414 static int rk808_set_suspend_voltage_range(struct regulator_dev *rdev, int uv)
417 int sel = regulator_map_voltage_linear_range(rdev, uv, uv);
422 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
424 return regmap_update_bits(rdev->regmap, reg,
425 rdev->desc->vsel_mask,
429 static int rk805_set_suspend_enable(struct regulator_dev *rdev)
433 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
435 return regmap_update_bits(rdev->regmap, reg,
436 rdev->desc->enable_mask,
437 rdev->desc->enable_mask);
440 static int rk805_set_suspend_disable(struct regulator_dev *rdev)
444 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
446 return regmap_update_bits(rdev->regmap, reg,
447 rdev->desc->enable_mask,
451 static int rk808_set_suspend_enable(struct regulator_dev *rdev)
455 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
457 return regmap_update_bits(rdev->regmap, reg,
458 rdev->desc->enable_mask,
462 static int rk808_set_suspend_disable(struct regulator_dev *rdev)
466 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
468 return regmap_update_bits(rdev->regmap, reg,
469 rdev->desc->enable_mask,
470 rdev->desc->enable_mask);
473 static int rk817_set_suspend_enable_ctrl(struct regulator_dev *rdev,
477 int id = rdev_get_id(rdev);
497 return regmap_update_bits(rdev->regmap, reg, msk, val);
500 static int rk817_set_suspend_enable(struct regulator_dev *rdev)
502 return rk817_set_suspend_enable_ctrl(rdev, 1);
505 static int rk817_set_suspend_disable(struct regulator_dev *rdev)
507 return rk817_set_suspend_enable_ctrl(rdev, 0);
510 static int rk8xx_set_suspend_mode(struct regulator_dev *rdev, unsigned int mode)
514 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
518 return regmap_update_bits(rdev->regmap, reg,
521 return regmap_update_bits(rdev->regmap, reg,
524 dev_err(&rdev->dev, "do not support this mode\n");
531 static int rk8xx_set_mode(struct regulator_dev *rdev, unsigned int mode)
535 return regmap_update_bits(rdev->regmap, rdev->desc->vsel_reg,
538 return regmap_update_bits(rdev->regmap, rdev->desc->vsel_reg,
541 dev_err(&rdev->dev, "do not support this mode\n");
548 static unsigned int rk8xx_get_mode(struct regulator_dev *rdev)
553 err = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &val);
563 static int rk8xx_is_enabled_wmsk_regmap(struct regulator_dev *rdev)
568 ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val);
573 val |= (rdev->desc->enable_mask & 0xf0);
574 val &= rdev->desc->enable_mask;
576 if (rdev->desc->enable_is_inverted) {
577 if (rdev->desc->enable_val)
578 return val != rdev->desc->enable_val;
581 if (rdev->desc->enable_val)
582 return val == rdev->desc->enable_val;