public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] AB8500 Battery Management Driver
@ 2012-02-29 16:24 Arun Murthy
  2012-02-29 16:24 ` [PATCH 1/4] power: abx500-chargalg: Add abx500 charging algorithm Arun Murthy
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Arun Murthy @ 2012-02-29 16:24 UTC (permalink / raw)
  To: cbou, dwmw2, linux-kernel
  Cc: arun.murthy, karl.komierowski, johan.palsson, linus.walleij

Technical reference manual is available at
http://www.stericsson.com/developers/CD00291561_UM1031_AB8500_user_manual-rev5_CTDS_public.pdf

AB8500 battery driver consists of
	Generic charging algorithm(abx500-chargalg.c)
	Charger driver(ab8500-charger.c)
	Fuel Gauge driver(ab8500-fg.c)
	Battery temperature driver(ab8500-btemp.c)
The power supply class driver can act as a supply as well as supplicant. Any
state change in one power supply class driver can be notified to its
supplicants using notification mechanism provided by Power Supply Class frame
work. Each Power supply class driver lists its supplicant names in "supplied_to"
struct member, and each power_supply_changed() call issued by power supply class
driver will notify supplicants via external_power_changed callback.

Charging Algorithm:
	Hardware independent driver
	Enables/Disables charger and kicks charger watchdog
	Supports both AC/Mains and USB charging.
		Main charger takes precedense over USB charging
	Supports CCCV charging
	End Of Charge(EOC) detection
	Maintenance charging
	Safety checks and measurements taken
		charging safety timer expired
		charger & battery  temperature high/low
		charging watchdog expired
		charger & battery over voltage
		battery removal

Fuel Gauge:
	Voltage mode
		When current consumption is low, battery voltage is used to
		derive the battery capacity and also during start-up this
		mode is used.
	Fuel Gauge mode
		When current consumption is high or while charging fuel gauge
		is used to obtain accumulated charge. Using this and the known
		battery full charge, capacity is calculated.

Arun Murthy (4):
  power: abx500-chargalg: Add abx500 charging algorithm
  power: ab8500-charger: AB8500 charger driver
  power: ab8500-fg: A8500 fuel gauge driver
  power: ab8500-btemp: AB8500 battery temperature driver

 drivers/power/Kconfig                     |   12 +
 drivers/power/Makefile                    |    1 +
 drivers/power/ab8500_btemp.c              | 1123 ++++++++++++
 drivers/power/ab8500_charger.c            | 2789 +++++++++++++++++++++++++++++
 drivers/power/ab8500_fg.c                 | 2636 +++++++++++++++++++++++++++
 drivers/power/abx500_chargalg.c           | 1921 ++++++++++++++++++++
 include/linux/mfd/abx500.h                |  273 +++
 include/linux/mfd/abx500/ab8500-bm.h      |  554 ++++++
 include/linux/mfd/abx500/ux500_chargalg.h |   38 +
 9 files changed, 9347 insertions(+), 0 deletions(-)
 create mode 100644 drivers/power/ab8500_btemp.c
 create mode 100644 drivers/power/ab8500_charger.c
 create mode 100644 drivers/power/ab8500_fg.c
 create mode 100644 drivers/power/abx500_chargalg.c
 create mode 100644 include/linux/mfd/abx500/ab8500-bm.h
 create mode 100644 include/linux/mfd/abx500/ux500_chargalg.h

-- 
1.7.4.3


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

end of thread, other threads:[~2012-03-14  5:45 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-29 16:24 [PATCH 0/4] AB8500 Battery Management Driver Arun Murthy
2012-02-29 16:24 ` [PATCH 1/4] power: abx500-chargalg: Add abx500 charging algorithm Arun Murthy
2012-02-29 16:24 ` [PATCH 2/4] power: ab8500-charger: AB8500 charger driver Arun Murthy
2012-02-29 17:50   ` Andi
2012-02-29 18:21     ` Arun Murthy
2012-02-29 16:24 ` [PATCH 3/4] power: ab8500-fg: A8500 fuel gauge driver Arun Murthy
2012-02-29 16:24 ` [PATCH 4/4] power: ab8500-btemp: AB8500 battery temperature driver Arun Murthy
2012-03-14  0:59 ` [PATCH 0/4] AB8500 Battery Management Driver Anton Vorontsov
2012-03-14  1:04   ` [PATCH 1/6] ab8500_charger: Convert to the new USB OTG calls Anton Vorontsov
2012-03-14  4:03     ` Arun MURTHY
2012-03-14  1:05   ` [PATCH 2/6] ab8500_btemp: Get rid of 'enum adc_therm' Anton Vorontsov
2012-03-14  4:25     ` Arun MURTHY
2012-03-14  1:05   ` [PATCH 3/6] ab8500_fg: Get rid of 'struct v_to_cap' Anton Vorontsov
2012-03-14  4:36     ` Arun MURTHY
2012-03-14  1:05   ` [PATCH 4/6] ab8500_fg: Get rid of 'struct battery_type' Anton Vorontsov
2012-03-14  4:36     ` Arun MURTHY
2012-03-14  1:05   ` [PATCH 5/6] ab8500_fg: Fix copy-paste error Anton Vorontsov
2012-03-14  4:36     ` Arun MURTHY
2012-03-14  5:45     ` Arun MURTHY
2012-03-14  1:05   ` [PATCH 6/6] ab8500: Turn unneeded global symbols into local ones Anton Vorontsov
2012-03-14  4:37     ` Arun MURTHY

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