Hi,
On Mon, Feb 26, 2024 at 09:44:32PM +0200, Sicelo A. Mhlongo wrote:
> Provide the Online property. This chip does not have specific flags to
> indicate the presence of an input voltage, but this can be inferred from
> the reported charging status.
The datasheet suggests, that you can get the status from the fault
bits:
011 - Poor input source or VBUS < UVLO
Greetings,
-- Sebastian
>
> Signed-off-by: Sicelo A. Mhlongo <absicsz@???>
> ---
> drivers/power/supply/bq2415x_charger.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/power/supply/bq2415x_charger.c b/drivers/power/supply/bq2415x_charger.c
> index 6a4798a62588..5b47a1d0a51a 100644
> --- a/drivers/power/supply/bq2415x_charger.c
> +++ b/drivers/power/supply/bq2415x_charger.c
> @@ -991,6 +991,7 @@ static enum power_supply_property bq2415x_power_supply_props[] = {
> /* TODO: maybe add more power supply properties */
> POWER_SUPPLY_PROP_STATUS,
> POWER_SUPPLY_PROP_MODEL_NAME,
> + POWER_SUPPLY_PROP_ONLINE,
> };
>
> static int bq2415x_power_supply_get_property(struct power_supply *psy,
> @@ -1017,6 +1018,14 @@ static int bq2415x_power_supply_get_property(struct power_supply *psy,
> case POWER_SUPPLY_PROP_MODEL_NAME:
> val->strval = bq->model;
> break;
> + case POWER_SUPPLY_PROP_ONLINE:
> + ret = bq2415x_exec_command(bq, BQ2415X_CHARGE_STATUS);
> + /* Charger is Online when Charging or Full are reported. It is
> + * also likely online for the Unknown/Fault state too, but
> + * there is no way to be absolutely sure.
> + */
> + val->intval = (ret == 1 || ret == 2);
> + break;
> default:
> return -EINVAL;
> }
> --
> 2.43.0
>