Lines Matching refs:ip5xxx

77 struct ip5xxx {
90 static int ip5xxx_read(struct ip5xxx *ip5xxx, unsigned int reg,
95 ret = regmap_read(ip5xxx->regmap, reg, val);
97 ip5xxx->initialized = false;
102 static int ip5xxx_update_bits(struct ip5xxx *ip5xxx, unsigned int reg,
107 ret = regmap_update_bits(ip5xxx->regmap, reg, mask, val);
109 ip5xxx->initialized = false;
116 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy);
119 if (ip5xxx->initialized)
126 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL1,
136 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL3,
145 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL4,
155 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL5,
164 ip5xxx->initialized = true;
184 static int ip5xxx_battery_get_status(struct ip5xxx *ip5xxx, int *val)
189 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval);
216 static int ip5xxx_battery_get_charge_type(struct ip5xxx *ip5xxx, int *val)
221 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval);
246 static int ip5xxx_battery_get_health(struct ip5xxx *ip5xxx, int *val)
251 ret = ip5xxx_read(ip5xxx, IP5XXX_READ0, &rval);
263 static int ip5xxx_battery_get_voltage_max(struct ip5xxx *ip5xxx, int *val)
268 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL2, &rval);
293 static int ip5xxx_battery_read_adc(struct ip5xxx *ip5xxx,
299 ret = ip5xxx_read(ip5xxx, lo_reg, &lo);
303 ret = ip5xxx_read(ip5xxx, hi_reg, &hi);
316 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy);
326 return ip5xxx_battery_get_status(ip5xxx, &val->intval);
329 return ip5xxx_battery_get_charge_type(ip5xxx, &val->intval);
332 return ip5xxx_battery_get_health(ip5xxx, &val->intval);
335 return ip5xxx_battery_get_voltage_max(ip5xxx, &val->intval);
338 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATVADC_DAT0,
345 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATOCV_DAT0,
352 ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATIADC_DAT0,
359 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL4A, &rval);
372 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax);
376 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL2, &rval);
385 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax);
397 static int ip5xxx_battery_set_voltage_max(struct ip5xxx *ip5xxx, int val)
416 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL2,
421 ret = ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL4,
434 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy);
455 return ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL0,
459 return ip5xxx_battery_set_voltage_max(ip5xxx, val->intval);
463 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL4A,
467 ret = ip5xxx_battery_get_voltage_max(ip5xxx, &vmax);
472 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL2,
490 .name = "ip5xxx-battery",
508 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy);
518 ret = ip5xxx_read(ip5xxx, IP5XXX_SYS_CTL0, &rval);
526 ret = ip5xxx_read(ip5xxx, IP5XXX_CHG_CTL1, &rval);
543 struct ip5xxx *ip5xxx = power_supply_get_drvdata(psy);
554 return ip5xxx_update_bits(ip5xxx, IP5XXX_SYS_CTL0,
559 return ip5xxx_update_bits(ip5xxx, IP5XXX_CHG_CTL1,
574 .name = "ip5xxx-boost",
594 struct ip5xxx *ip5xxx;
596 ip5xxx = devm_kzalloc(dev, sizeof(*ip5xxx), GFP_KERNEL);
597 if (!ip5xxx)
600 ip5xxx->regmap = devm_regmap_init_i2c(client, &ip5xxx_regmap_config);
601 if (IS_ERR(ip5xxx->regmap))
602 return PTR_ERR(ip5xxx->regmap);
605 psy_cfg.drv_data = ip5xxx;
630 .name = "ip5xxx-power",