diff mbox series

power: supply: max1720x: add charge full property

Message ID 20241203-max1720x-charge-full-prop-v1-1-b02776b43f17@liebherr.com (mailing list archive)
State Handled Elsewhere, archived
Headers show
Series power: supply: max1720x: add charge full property | expand

Commit Message

Dimitri Fedrau via B4 Relay Dec. 3, 2024, 8:04 a.m. UTC
From: Dimitri Fedrau <dimitri.fedrau@liebherr.com>

Charge full holds the calculated full capacity of the cell based on all
inputs from the ModelGauge m5 algorithm including empty compensation. A
new full-capacity value is calculated continuously as application
conditions change.

Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
---
 drivers/power/supply/max1720x_battery.c | 6 ++++++
 1 file changed, 6 insertions(+)


---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20241202-max1720x-charge-full-prop-e51099a131c1

Best regards,

Comments

Sebastian Reichel Dec. 5, 2024, 1:36 a.m. UTC | #1
On Tue, 03 Dec 2024 09:04:36 +0100, Dimitri Fedrau wrote:
> Charge full holds the calculated full capacity of the cell based on all
> inputs from the ModelGauge m5 algorithm including empty compensation. A
> new full-capacity value is calculated continuously as application
> conditions change.
> 
> 

Applied, thanks!

[1/1] power: supply: max1720x: add charge full property
      commit: dc90aa3a72e624a3eb30e61d47c4c501006dfb8b

Best regards,
diff mbox series

Patch

diff --git a/drivers/power/supply/max1720x_battery.c b/drivers/power/supply/max1720x_battery.c
index 33105419e2427bb37963bda9948b647c239f8faa..9c7e14d2c7b87b8194511f36ade16e774281333e 100644
--- a/drivers/power/supply/max1720x_battery.c
+++ b/drivers/power/supply/max1720x_battery.c
@@ -29,6 +29,7 @@ 
 #define MAX172XX_TEMP			0x08	/* Temperature */
 #define MAX172XX_CURRENT		0x0A	/* Actual current */
 #define MAX172XX_AVG_CURRENT		0x0B	/* Average current */
+#define MAX172XX_FULL_CAP		0x10	/* Calculated full capacity */
 #define MAX172XX_TTE			0x11	/* Time to empty */
 #define MAX172XX_AVG_TA			0x16	/* Average temperature */
 #define MAX172XX_CYCLES			0x17
@@ -250,6 +251,7 @@  static const enum power_supply_property max1720x_battery_props[] = {
 	POWER_SUPPLY_PROP_TEMP,
 	POWER_SUPPLY_PROP_CURRENT_NOW,
 	POWER_SUPPLY_PROP_CURRENT_AVG,
+	POWER_SUPPLY_PROP_CHARGE_FULL,
 	POWER_SUPPLY_PROP_MODEL_NAME,
 	POWER_SUPPLY_PROP_MANUFACTURER,
 };
@@ -362,6 +364,10 @@  static int max1720x_battery_get_property(struct power_supply *psy,
 		ret = regmap_read(info->regmap, MAX172XX_AVG_CURRENT, &reg_val);
 		val->intval = max172xx_current_to_voltage(reg_val) / info->rsense;
 		break;
+	case POWER_SUPPLY_PROP_CHARGE_FULL:
+		ret = regmap_read(info->regmap, MAX172XX_FULL_CAP, &reg_val);
+		val->intval = max172xx_capacity_to_ps(reg_val);
+		break;
 	case POWER_SUPPLY_PROP_MODEL_NAME:
 		ret = regmap_read(info->regmap, MAX172XX_DEV_NAME, &reg_val);
 		reg_val = FIELD_GET(MAX172XX_DEV_NAME_TYPE_MASK, reg_val);