Lines Matching defs:rdev

268 static int rk806_set_mode_dcdc(struct regulator_dev *rdev, unsigned int mode)
270 int rid = rdev_get_id(rdev);
278 return regmap_update_bits(rdev->regmap, reg,
282 return regmap_update_bits(rdev->regmap, reg,
286 dev_err(rdev_get_dev(rdev), "mode unsupported: %u\n", mode);
293 static unsigned int rk806_get_mode_dcdc(struct regulator_dev *rdev)
295 int rid = rdev_get_id(rdev);
303 err = regmap_read(rdev->regmap, reg, &val);
330 static int rk806_set_ramp_delay_dcdc(struct regulator_dev *rdev, int ramp_delay)
332 int rid = rdev_get_id(rdev);
335 ret = regulator_find_closest_bigger(ramp_delay, rdev->desc->ramp_delay_table,
336 rdev->desc->n_ramp_values, &ramp_value);
338 dev_warn(rdev_get_dev(rdev),
340 rdev->desc->ramp_delay_table[ramp_value]);
343 regval = ramp_value << (ffs(rdev->desc->ramp_mask) - 1);
345 ret = regmap_update_bits(rdev->regmap, rdev->desc->ramp_reg,
346 rdev->desc->ramp_mask, regval);
358 return regmap_update_bits(rdev->regmap, rk806_dcdc_rate2[rid].reg,
367 static int rk806_set_suspend_voltage_range(struct regulator_dev *rdev, int reg_offset, int uv)
369 int sel = regulator_map_voltage_linear_range(rdev, uv, uv);
375 reg = rdev->desc->vsel_reg + reg_offset;
377 return regmap_update_bits(rdev->regmap, reg, rdev->desc->vsel_mask, sel);
380 static int rk806_set_suspend_voltage_range_dcdc(struct regulator_dev *rdev, int uv)
382 return rk806_set_suspend_voltage_range(rdev, RK806_DCDC_SLP_REG_OFFSET, uv);
385 static int rk806_set_suspend_voltage_range_nldo(struct regulator_dev *rdev, int uv)
387 return rk806_set_suspend_voltage_range(rdev, RK806_NLDO_SLP_REG_OFFSET, uv);
390 static int rk806_set_suspend_voltage_range_pldo(struct regulator_dev *rdev, int uv)
392 return rk806_set_suspend_voltage_range(rdev, RK806_PLDO_SLP_REG_OFFSET, uv);
395 static int rk808_buck1_2_get_voltage_sel_regmap(struct regulator_dev *rdev)
397 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
398 int id = rdev_get_id(rdev);
404 return regulator_get_voltage_sel_regmap(rdev);
406 ret = regmap_read(rdev->regmap,
407 rdev->desc->vsel_reg + RK808_DVS_REG_OFFSET,
412 val &= rdev->desc->vsel_mask;
413 val >>= ffs(rdev->desc->vsel_mask) - 1;
418 static int rk808_buck1_2_i2c_set_voltage_sel(struct regulator_dev *rdev,
422 unsigned int old_sel, tmp, val, mask = rdev->desc->vsel_mask;
424 ret = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &val);
449 ret = regmap_write(rdev->regmap, rdev->desc->vsel_reg, val);
455 ret = regmap_write(rdev->regmap, rdev->desc->vsel_reg, val);
467 static int rk808_buck1_2_set_voltage_sel(struct regulator_dev *rdev,
470 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
471 int id = rdev_get_id(rdev);
473 unsigned int reg = rdev->desc->vsel_reg;
478 return rk808_buck1_2_i2c_set_voltage_sel(rdev, sel);
483 ret = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &old_sel);
485 ret = regmap_read(rdev->regmap,
493 sel <<= ffs(rdev->desc->vsel_mask) - 1;
494 sel |= old_sel & ~rdev->desc->vsel_mask;
496 ret = regmap_write(rdev->regmap, reg, sel);
505 static int rk808_buck1_2_set_voltage_time_sel(struct regulator_dev *rdev,
509 struct rk808_regulator_data *pdata = rdev_get_drvdata(rdev);
510 int id = rdev_get_id(rdev);
517 return regulator_set_voltage_time_sel(rdev, old_selector, new_selector);
520 static int rk808_set_suspend_voltage(struct regulator_dev *rdev, int uv)
523 int sel = regulator_map_voltage_linear(rdev, uv, uv);
528 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
530 return regmap_update_bits(rdev->regmap, reg,
531 rdev->desc->vsel_mask,
535 static int rk808_set_suspend_voltage_range(struct regulator_dev *rdev, int uv)
538 int sel = regulator_map_voltage_linear_range(rdev, uv, uv);
543 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
545 return regmap_update_bits(rdev->regmap, reg,
546 rdev->desc->vsel_mask,
550 static int rk805_set_suspend_enable(struct regulator_dev *rdev)
554 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
556 return regmap_update_bits(rdev->regmap, reg,
557 rdev->desc->enable_mask,
558 rdev->desc->enable_mask);
561 static int rk805_set_suspend_disable(struct regulator_dev *rdev)
565 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
567 return regmap_update_bits(rdev->regmap, reg,
568 rdev->desc->enable_mask,
596 static int rk806_set_suspend_enable(struct regulator_dev *rdev)
598 int rid = rdev_get_id(rdev);
600 return regmap_update_bits(rdev->regmap, rk806_suspend_bits[rid].reg,
605 static int rk806_set_suspend_disable(struct regulator_dev *rdev)
607 int rid = rdev_get_id(rdev);
609 return regmap_update_bits(rdev->regmap, rk806_suspend_bits[rid].reg,
613 static int rk808_set_suspend_enable(struct regulator_dev *rdev)
617 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
619 return regmap_update_bits(rdev->regmap, reg,
620 rdev->desc->enable_mask,
624 static int rk808_set_suspend_disable(struct regulator_dev *rdev)
628 reg = rdev->desc->enable_reg + RK808_SLP_SET_OFF_REG_OFFSET;
630 return regmap_update_bits(rdev->regmap, reg,
631 rdev->desc->enable_mask,
632 rdev->desc->enable_mask);
635 static int rk817_set_suspend_enable_ctrl(struct regulator_dev *rdev,
639 int id = rdev_get_id(rdev);
659 return regmap_update_bits(rdev->regmap, reg, msk, val);
662 static int rk817_set_suspend_enable(struct regulator_dev *rdev)
664 return rk817_set_suspend_enable_ctrl(rdev, 1);
667 static int rk817_set_suspend_disable(struct regulator_dev *rdev)
669 return rk817_set_suspend_enable_ctrl(rdev, 0);
672 static int rk8xx_set_suspend_mode(struct regulator_dev *rdev, unsigned int mode)
676 reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
680 return regmap_update_bits(rdev->regmap, reg,
683 return regmap_update_bits(rdev->regmap, reg,
686 dev_err(&rdev->dev, "do not support this mode\n");
693 static int rk8xx_set_mode(struct regulator_dev *rdev, unsigned int mode)
697 return regmap_update_bits(rdev->regmap, rdev->desc->vsel_reg,
700 return regmap_update_bits(rdev->regmap, rdev->desc->vsel_reg,
703 dev_err(&rdev->dev, "do not support this mode\n");
710 static unsigned int rk8xx_get_mode(struct regulator_dev *rdev)
715 err = regmap_read(rdev->regmap, rdev->desc->vsel_reg, &val);
725 static int rk8xx_is_enabled_wmsk_regmap(struct regulator_dev *rdev)
730 ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val);
735 val |= (rdev->desc->enable_mask & 0xf0);
736 val &= rdev->desc->enable_mask;
738 if (rdev->desc->enable_is_inverted) {
739 if (rdev->desc->enable_val)
740 return val != rdev->desc->enable_val;
743 if (rdev->desc->enable_val)
744 return val == rdev->desc->enable_val;