Lines Matching refs:charger
107 static int bq25890_read(struct bq25890 *charger, uint reg) in bq25890_read() argument
112 ret = dm_i2c_read(charger->dev, reg, (u8 *)&val, 1); in bq25890_read()
121 static int bq25890_write(struct bq25890 *charger, uint reg, u16 val) in bq25890_write() argument
125 ret = dm_i2c_write(charger->dev, reg, (u8 *)&val, 1); in bq25890_write()
159 static bool bq25890_charger_status(struct bq25890 *charger) in bq25890_charger_status() argument
166 value = bq25890_read(charger, BQ25890_CHARGERSTAUS_REG); in bq25890_charger_status()
168 if (!state_of_charger && charger->pd_online) { in bq25890_charger_status()
181 struct bq25890 *charger = dev_get_priv(dev); in bq257xx_charger_status() local
183 return bq25890_charger_status(charger); in bq257xx_charger_status()
200 static int bq25890_get_pd_output_val(struct bq25890 *charger, in bq25890_get_pd_output_val() argument
206 if (!charger->pd) in bq25890_get_pd_output_val()
210 ret = power_delivery_get_data(charger->pd, &pd_data); in bq25890_get_pd_output_val()
218 charger->pd_online = pd_data.online; in bq25890_get_pd_output_val()
223 static void bq25890_set_auto_dpdm_detect(struct bq25890 *charger, bool enable) in bq25890_set_auto_dpdm_detect() argument
227 value = bq25890_read(charger, BQ25890_AUTO_DPDM_REG); in bq25890_set_auto_dpdm_detect()
230 bq25890_write(charger, BQ25890_AUTO_DPDM_REG, value); in bq25890_set_auto_dpdm_detect()
233 static void bq25890_charger_current_init(struct bq25890 *charger) in bq25890_charger_current_init() argument
242 temp = bq25890_read(charger, BQ25890_CHARGEOPTION0_REG); in bq25890_charger_current_init()
244 bq25890_write(charger, BQ25890_CHARGEOPTION0_REG, temp); in bq25890_charger_current_init()
246 if (!bq25890_get_pd_output_val(charger, &pd_inputvol, in bq25890_charger_current_init()
258 bq25890_set_auto_dpdm_detect(charger, false); in bq25890_charger_current_init()
259 bq25890_write(charger, BQ25890_INPUTCURREN_REG, in bq25890_charger_current_init()
262 bq25890_write(charger, BQ25890_INPUTVOLTAGE_REG, in bq25890_charger_current_init()
264 charge_current = bq25890_find_idx(charger->ichg, in bq25890_charger_current_init()
269 bq25890_write(charger, BQ25890_INPUTCURREN_REG, in bq25890_charger_current_init()
272 bq25890_write(charger, BQ25890_INPUTCURREN_REG, in bq25890_charger_current_init()
276 if (bq25890_charger_status(charger)) in bq25890_charger_current_init()
277 bq25890_write(charger, BQ25890_CHARGECURREN_REG, in bq25890_charger_current_init()
283 struct bq25890 *charger = dev_get_priv(dev); in bq25890_ofdata_to_platdata() local
285 charger->dev = dev; in bq25890_ofdata_to_platdata()
286 charger->ichg = dev_read_u32_default(dev, "ti,charge-current", 0); in bq25890_ofdata_to_platdata()
293 struct bq25890 *charger = dev_get_priv(dev); in bq25890_probe() local
296 ret = uclass_get_device(UCLASS_PD, 0, &charger->pd); in bq25890_probe()
303 charger->pd = NULL; in bq25890_probe()
306 bq25890_charger_current_init(charger); in bq25890_probe()