[RFC PATCH 0/3] Support ROHM BD99954 charger IC

From: Matti Vaittinen
Date: Mon Feb 10 2020 - 07:11:35 EST


Support ROHM BD99954 Battery Management IC

ROHM BD99954 is a Battery Management IC for 1-4 cell Lithium-Ion
secondary battery. BD99954 is intended to be used in space-constraint
equipment such as Low profile Notebook PC, Tablets and other
applications.

Series introduces "linear ranges" helper intended to help converting
real-world values to register values when conversion is linear. This
version just meld the helpers in power/supply but this is hardly the
correct place. Maybe they would fit regmap?

This version of series introduces ROHM specific DT binding entries
for few charger parameters. I think these parameters are pretty common
and maybe the "rohm,"-prefix should be dropped and we should try having
common properties for different chips?

If this seems reasonable I can try drafting parser functions in
power/supply framework and extract the corresponding DT yaml bindings
into generic power-supply.yaml doc.

Please let me know if you think these properties should not be common
- or that the power/supply framework should not contain helpers for
parsing these properties. Then I'll just drop the RFC from series and
submit the ROHM specific properties and do DT parsing in this driver.

Patch 1:
BD99954 charger DT binding docs
Patch 2:
Linear ranges helpers
Patch 3:
BD99954 driver

---

Matti Vaittinen (3):
dt_bindings: ROHM BD99954 Charger
power: Add linear_range helper
power: supply: Support ROHM bd99954 charger

.../bindings/power/supply/rohm,bd9995x.yaml | 118 ++
drivers/power/supply/Kconfig | 14 +
drivers/power/supply/Makefile | 2 +
drivers/power/supply/bd70528-charger.c | 65 +-
drivers/power/supply/bd99954-charger.c | 1056 ++++++++++++++++
drivers/power/supply/linear-ranges.h | 36 +
drivers/power/supply/linear_ranges.c | 89 ++
include/linux/power/bd99954-charger.h | 1075 +++++++++++++++++
8 files changed, 2398 insertions(+), 57 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/rohm,bd9995x.yaml
create mode 100644 drivers/power/supply/bd99954-charger.c
create mode 100644 drivers/power/supply/linear-ranges.h
create mode 100644 drivers/power/supply/linear_ranges.c
create mode 100644 include/linux/power/bd99954-charger.h

--
2.21.0


--
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =]