Lines Matching refs:axp20x_batt

80 static int axp20x_battery_get_max_voltage(struct axp20x_batt_ps *axp20x_batt,  in axp20x_battery_get_max_voltage()  argument
85 ret = regmap_read(axp20x_batt->regmap, AXP20X_CHRG_CTRL1, &reg); in axp20x_battery_get_max_voltage()
109 static int axp22x_battery_get_max_voltage(struct axp20x_batt_ps *axp20x_batt, in axp22x_battery_get_max_voltage() argument
114 ret = regmap_read(axp20x_batt->regmap, AXP20X_CHRG_CTRL1, &reg); in axp22x_battery_get_max_voltage()
138 static int axp813_battery_get_max_voltage(struct axp20x_batt_ps *axp20x_batt, in axp813_battery_get_max_voltage() argument
143 ret = regmap_read(axp20x_batt->regmap, AXP20X_CHRG_CTRL1, &reg); in axp813_battery_get_max_voltage()
187 struct axp20x_batt_ps *axp20x_batt = power_supply_get_drvdata(psy); in axp20x_battery_get_prop() local
193 ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_OP_MODE, in axp20x_battery_get_prop()
202 ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_INPUT_STATUS, in axp20x_battery_get_prop()
212 ret = iio_read_channel_processed(axp20x_batt->batt_dischrg_i, in axp20x_battery_get_prop()
222 ret = regmap_read(axp20x_batt->regmap, AXP20X_FG_RES, &val1); in axp20x_battery_get_prop()
237 ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_OP_MODE, in axp20x_battery_get_prop()
251 ret = axp20x_get_constant_charge_current(axp20x_batt, in axp20x_battery_get_prop()
258 val->intval = axp20x_batt->max_ccc; in axp20x_battery_get_prop()
262 ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_INPUT_STATUS, in axp20x_battery_get_prop()
268 ret = iio_read_channel_processed(axp20x_batt->batt_chrg_i, &val->intval); in axp20x_battery_get_prop()
270 ret = iio_read_channel_processed(axp20x_batt->batt_dischrg_i, &val1); in axp20x_battery_get_prop()
282 ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_OP_MODE, in axp20x_battery_get_prop()
292 ret = regmap_read(axp20x_batt->regmap, AXP20X_FG_RES, &reg); in axp20x_battery_get_prop()
296 if (axp20x_batt->data->has_fg_valid && !(reg & AXP22X_FG_VALID)) in axp20x_battery_get_prop()
307 return axp20x_batt->data->get_max_voltage(axp20x_batt, in axp20x_battery_get_prop()
311 ret = regmap_read(axp20x_batt->regmap, AXP20X_V_OFF, &reg); in axp20x_battery_get_prop()
319 ret = iio_read_channel_processed(axp20x_batt->batt_v, in axp20x_battery_get_prop()
335 static int axp22x_battery_set_max_voltage(struct axp20x_batt_ps *axp20x_batt, in axp22x_battery_set_max_voltage() argument
357 return regmap_update_bits(axp20x_batt->regmap, AXP20X_CHRG_CTRL1, in axp22x_battery_set_max_voltage()
361 static int axp20x_battery_set_max_voltage(struct axp20x_batt_ps *axp20x_batt, in axp20x_battery_set_max_voltage() argument
387 return regmap_update_bits(axp20x_batt->regmap, AXP20X_CHRG_CTRL1, in axp20x_battery_set_max_voltage()
455 struct axp20x_batt_ps *axp20x_batt = power_supply_get_drvdata(psy); in axp20x_battery_set_prop() local
459 return axp20x_set_voltage_min_design(axp20x_batt, val->intval); in axp20x_battery_set_prop()
462 return axp20x_batt->data->set_max_voltage(axp20x_batt, val->intval); in axp20x_battery_set_prop()
465 return axp20x_set_constant_charge_current(axp20x_batt, in axp20x_battery_set_prop()
468 return axp20x_set_max_constant_charge_current(axp20x_batt, in axp20x_battery_set_prop()
548 struct axp20x_batt_ps *axp20x_batt; in axp20x_power_probe() local
556 axp20x_batt = devm_kzalloc(&pdev->dev, sizeof(*axp20x_batt), in axp20x_power_probe()
558 if (!axp20x_batt) in axp20x_power_probe()
561 axp20x_batt->dev = &pdev->dev; in axp20x_power_probe()
563 axp20x_batt->batt_v = devm_iio_channel_get(&pdev->dev, "batt_v"); in axp20x_power_probe()
564 if (IS_ERR(axp20x_batt->batt_v)) { in axp20x_power_probe()
565 if (PTR_ERR(axp20x_batt->batt_v) == -ENODEV) in axp20x_power_probe()
567 return PTR_ERR(axp20x_batt->batt_v); in axp20x_power_probe()
570 axp20x_batt->batt_chrg_i = devm_iio_channel_get(&pdev->dev, in axp20x_power_probe()
572 if (IS_ERR(axp20x_batt->batt_chrg_i)) { in axp20x_power_probe()
573 if (PTR_ERR(axp20x_batt->batt_chrg_i) == -ENODEV) in axp20x_power_probe()
575 return PTR_ERR(axp20x_batt->batt_chrg_i); in axp20x_power_probe()
578 axp20x_batt->batt_dischrg_i = devm_iio_channel_get(&pdev->dev, in axp20x_power_probe()
580 if (IS_ERR(axp20x_batt->batt_dischrg_i)) { in axp20x_power_probe()
581 if (PTR_ERR(axp20x_batt->batt_dischrg_i) == -ENODEV) in axp20x_power_probe()
583 return PTR_ERR(axp20x_batt->batt_dischrg_i); in axp20x_power_probe()
586 axp20x_batt->regmap = dev_get_regmap(pdev->dev.parent, NULL); in axp20x_power_probe()
587 platform_set_drvdata(pdev, axp20x_batt); in axp20x_power_probe()
589 psy_cfg.drv_data = axp20x_batt; in axp20x_power_probe()
592 axp20x_batt->data = (struct axp_data *)of_device_get_match_data(dev); in axp20x_power_probe()
594 axp20x_batt->batt = devm_power_supply_register(&pdev->dev, in axp20x_power_probe()
597 if (IS_ERR(axp20x_batt->batt)) { in axp20x_power_probe()
599 PTR_ERR(axp20x_batt->batt)); in axp20x_power_probe()
600 return PTR_ERR(axp20x_batt->batt); in axp20x_power_probe()
603 if (!power_supply_get_battery_info(axp20x_batt->batt, &info)) { in axp20x_power_probe()
607 if (vmin > 0 && axp20x_set_voltage_min_design(axp20x_batt, in axp20x_power_probe()
613 axp20x_batt->max_ccc = ccc; in axp20x_power_probe()
615 if (ccc <= 0 || axp20x_set_constant_charge_current(axp20x_batt, in axp20x_power_probe()
620 axp20x_batt->max_ccc = ccc; in axp20x_power_probe()
621 axp20x_set_constant_charge_current(axp20x_batt, ccc); in axp20x_power_probe()
629 axp20x_get_constant_charge_current(axp20x_batt, in axp20x_power_probe()
630 &axp20x_batt->max_ccc); in axp20x_power_probe()