Lines Matching full:charger

70 static int bq25700_read(struct bq25700 *charger, uint reg)  in bq25700_read()  argument
75 ret = dm_i2c_read(charger->dev, reg, (u8 *)&val, 2); in bq25700_read()
78 charger->dev, reg); in bq25700_read()
85 static int bq25700_write(struct bq25700 *charger, uint reg, u16 val) in bq25700_write() argument
89 ret = dm_i2c_write(charger->dev, reg, (u8 *)&val, 2); in bq25700_write()
92 charger->dev, reg); in bq25700_write()
134 static bool bq25700_charger_status(struct bq25700 *charger) in bq25700_charger_status() argument
139 value = bq25700_read(charger, BQ25700_CHARGERSTAUS_REG); in bq25700_charger_status()
145 static bool bq25703_charger_status(struct bq25700 *charger) in bq25703_charger_status() argument
150 value = bq25700_read(charger, BQ25703_CHARGERSTAUS_REG); in bq25703_charger_status()
158 struct bq25700 *charger = dev_get_priv(dev); in bq257xx_charger_status() local
160 if (charger->chip_id == BQ25700_ID) in bq257xx_charger_status()
161 return bq25700_charger_status(charger); in bq257xx_charger_status()
163 return bq25703_charger_status(charger); in bq257xx_charger_status()
180 static int bq25700_get_pd_output_val(struct bq25700 *charger, in bq25700_get_pd_output_val() argument
186 if (!charger->pd) in bq25700_get_pd_output_val()
190 ret = power_delivery_get_data(charger->pd, &pd_data); in bq25700_get_pd_output_val()
202 static void bq25700_charger_current_init(struct bq25700 *charger) in bq25700_charger_current_init() argument
211 temp = bq25700_read(charger, BQ25700_CHARGEOPTION0_REG); in bq25700_charger_current_init()
213 bq25700_write(charger, BQ25700_CHARGEOPTION0_REG, temp); in bq25700_charger_current_init()
215 if (!bq25700_get_pd_output_val(charger, &pd_inputvol, in bq25700_charger_current_init()
228 bq25700_write(charger, BQ25700_INPUTCURREN_REG, in bq25700_charger_current_init()
231 bq25700_write(charger, BQ25700_INPUTVOLTAGE_REG, in bq25700_charger_current_init()
233 charge_current = bq25700_find_idx(charger->ichg, in bq25700_charger_current_init()
239 bq25700_write(charger, BQ25700_INPUTCURREN_REG, in bq25700_charger_current_init()
242 bq25700_write(charger, BQ25700_INPUTCURREN_REG, in bq25700_charger_current_init()
246 if (bq25700_charger_status(charger)) in bq25700_charger_current_init()
247 bq25700_write(charger, BQ25700_CHARGECURREN_REG, in bq25700_charger_current_init()
251 static void bq25703_charger_current_init(struct bq25700 *charger) in bq25703_charger_current_init() argument
260 temp = bq25700_read(charger, BQ25703_CHARGEOPTION0_REG); in bq25703_charger_current_init()
262 bq25700_write(charger, BQ25703_CHARGEOPTION0_REG, temp); in bq25703_charger_current_init()
264 if (!bq25700_get_pd_output_val(charger, &pd_inputvol, in bq25703_charger_current_init()
277 bq25700_write(charger, BQ25703_INPUTCURREN_REG, in bq25703_charger_current_init()
280 bq25700_write(charger, BQ25703_INPUTVOLTAGE_REG, in bq25703_charger_current_init()
282 charge_current = bq25700_find_idx(charger->ichg, in bq25703_charger_current_init()
288 bq25700_write(charger, BQ25703_INPUTCURREN_REG, in bq25703_charger_current_init()
291 bq25700_write(charger, BQ25703_INPUTCURREN_REG, in bq25703_charger_current_init()
295 if (bq25703_charger_status(charger)) in bq25703_charger_current_init()
296 bq25700_write(charger, BQ25703_CHARGECURREN_REG, in bq25703_charger_current_init()
302 struct bq25700 *charger = dev_get_priv(dev); in bq25700_ofdata_to_platdata() local
306 charger->dev = dev; in bq25700_ofdata_to_platdata()
311 printf("Can't find dts node for charger bq25700\n"); in bq25700_ofdata_to_platdata()
317 charger->chip_id = BQ25703_ID; in bq25700_ofdata_to_platdata()
319 charger->chip_id = BQ25700_ID; in bq25700_ofdata_to_platdata()
322 charger->ichg = fdtdec_get_int(blob, node, "ti,charge-current", 0); in bq25700_ofdata_to_platdata()
329 struct bq25700 *charger = dev_get_priv(dev); in bq25700_probe() local
332 ret = uclass_get_device(UCLASS_PD, 0, &charger->pd); in bq25700_probe()
339 charger->pd = NULL; in bq25700_probe()
342 if (charger->chip_id == BQ25700_ID) in bq25700_probe()
343 bq25700_charger_current_init(charger); in bq25700_probe()
345 bq25703_charger_current_init(charger); in bq25700_probe()