[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1330532668-5673-1-git-send-email-arun.murthy@stericsson.com>
Date:	Wed, 29 Feb 2012 21:54:24 +0530
From:	Arun Murthy <arun.murthy@...ricsson.com>
To:	<cbou@...l.ru>, <dwmw2@...radead.org>,
	<linux-kernel@...r.kernel.org>
Cc:	<arun.murthy@...ricsson.com>, <karl.komierowski@...ricsson.com>,
	<johan.palsson@...ricsson.com>, <linus.walleij@...aro.org>
Subject: [PATCH 0/4] AB8500 Battery Management Driver
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists
 
