Linux Power Management development
 help / color / mirror / Atom feed
* [PATCH 00/15] power: supply: Fix AB8500 and AB8505 charging
@ 2026-09-16  6:49 Linus Walleij
  2026-09-16  6:49 ` [PATCH 01/15] power: supply: ab8500_fg: Accept status from supplied power Linus Walleij
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Linus Walleij @ 2026-09-16  6:49 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, Linus Walleij, stable

This series first fix two serious bugs in the AB8500/AB8505 charging
code making the charging report bad figures. (It only affects the
human-visible status, the charging itself is safe.) These two patches
are tagged for stable.

The series then audits the AB8500 and AB8505 battery-charging stack
against the revision 3 hardware manuals.

The audit found incorrect register constants and several independent
logic bugs in the common code. It also found that AB8505 needs dedicated
handling for its five-bit USB link-status table, OTP-programmed VBUS
overvoltage limit, longer VBUS debounce, reserved autopower field, and
lack of an integrated main charger. The final binding and DTS patches
remove the five nonexistent main-charger interrupts from AB8505.

Some further fixes come from auditing the Samsung product trees.

After these long due fixes the AB8500/AB8505 charging is smooth sailing.

Assisted-by: LLM
Signed-off-by: Linus Walleij <linusw@kernel.org>
---
Linus Walleij (15):
      power: supply: ab8500_fg: Accept status from supplied power
      power: supply: ab8500_fg: Report sub-percent charge changes
      power: supply: ab8500: Correct register definitions
      power: supply: ab8500_fg: Drop nonexistent AB8505 controls
      power: supply: ab8500_btemp: Fix event temperature reporting
      power: supply: ab8500: Preserve battery termination current
      power: supply: ab8500_charger: Fix AC charger re-enable
      power: supply: ab8500_charger: Decode AB8505 USB status
      power: supply: ab8500_charger: Respect AB8505 register layout
      power: supply: ab8500_charger: Handle detection errors
      power: supply: ab8500_charger: Skip absent AB8505 main charger
      power: supply: ab8500_charger: Retry AB8505 USB detection
      power: supply: ab8500_charger: Recover inactive AB8505 charger
      power: supply: ab8500_fg: Finalize current measurements
      power: supply: ab8500_fg: Avoid reserved AB8505 CCConf bit

 drivers/power/supply/ab8500-bm.h       |   8 +-
 drivers/power/supply/ab8500_bmdata.c   |   3 +-
 drivers/power/supply/ab8500_btemp.c    |  30 +--
 drivers/power/supply/ab8500_chargalg.c |   9 +-
 drivers/power/supply/ab8500_charger.c  | 404 ++++++++++++++++++++++++++++-----
 drivers/power/supply/ab8500_fg.c       | 179 +++++----------
 6 files changed, 421 insertions(+), 212 deletions(-)
---
base-commit: 803733e3585d6fd2d43c452c502173fa153b683d
change-id: 20260915-ab8500-charging-c02f3519a3ab

Best regards,
-- 
Linus Walleij <linusw@kernel.org>


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-10-04 19:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16  6:49 [PATCH 00/15] power: supply: Fix AB8500 and AB8505 charging Linus Walleij
2026-09-16  6:49 ` [PATCH 01/15] power: supply: ab8500_fg: Accept status from supplied power Linus Walleij
2026-09-16  6:49 ` [PATCH 02/15] power: supply: ab8500_fg: Report sub-percent charge changes Linus Walleij
2026-09-16  6:49 ` [PATCH 03/15] power: supply: ab8500: Correct register definitions Linus Walleij
2026-09-16  6:49 ` [PATCH 04/15] power: supply: ab8500_fg: Drop nonexistent AB8505 controls Linus Walleij
2026-09-16  6:49 ` [PATCH 05/15] power: supply: ab8500_btemp: Fix event temperature reporting Linus Walleij
2026-09-16  6:49 ` [PATCH 06/15] power: supply: ab8500: Preserve battery termination current Linus Walleij
2026-09-16  6:49 ` [PATCH 07/15] power: supply: ab8500_charger: Fix AC charger re-enable Linus Walleij
2026-09-16  6:49 ` [PATCH 08/15] power: supply: ab8500_charger: Decode AB8505 USB status Linus Walleij
2026-09-16  6:49 ` [PATCH 09/15] power: supply: ab8500_charger: Respect AB8505 register layout Linus Walleij
2026-09-16  6:49 ` [PATCH 10/15] power: supply: ab8500_charger: Handle detection errors Linus Walleij
2026-09-16  6:49 ` [PATCH 11/15] power: supply: ab8500_charger: Skip absent AB8505 main charger Linus Walleij
2026-09-16  6:49 ` [PATCH 12/15] power: supply: ab8500_charger: Retry AB8505 USB detection Linus Walleij
2026-09-16  6:49 ` [PATCH 13/15] power: supply: ab8500_charger: Recover inactive AB8505 charger Linus Walleij
2026-09-16  6:49 ` [PATCH 14/15] power: supply: ab8500_fg: Finalize current measurements Linus Walleij
2026-09-16  6:49 ` [PATCH 15/15] power: supply: ab8500_fg: Avoid reserved AB8505 CCConf bit Linus Walleij
2026-10-02 22:07 ` [PATCH 00/15] power: supply: Fix AB8500 and AB8505 charging Linus Walleij
2026-10-04 19:33 ` Sebastian Reichel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox