[PATCH v2 0/3] Add Richtek RT9467 5A Battery Charger support

From: ChiaEn Wu
Date: Wed Oct 05 2022 - 07:42:41 EST

From: ChiaEn Wu <chiaen_wu@xxxxxxxxxxx>

This patch set is to add Richtek RT9467 5A Battery Charger support.

RT9467 is a switch-mode single cell Li-Ion/Li-Polymer battery charger
for portable applications.

It integrates a synchronous PWM controller, power MOSFETs,
input current sensing and regulation, high-accuracy voltage regulation,
and charge termination. The charge current is regulated through
integrated sensing resistors.

The RT9467 also features USB On-The-Go (OTG) support. It also integrates
D+/D- pin for USB host/charging port detection.

This charger driver is based on a 'linear_ranger' queued patch which adds
'LINEAR_RANGE_IDX' macro for declaring the linear_range struct simply.

Thank you,
ChiaEn Wu
Change in v2:
- In Patch 1/3 (dt-bindings: RT9467 Charger DTS)
- Revise the definition of 'enable-gpios'
- Revise the node name to generic name in the example
('rt9467@5b' --> 'charger@5b')
- Revise the example usage of 'charge-enable-gpios' with GPIO flags

- In Patch 2/3 (power: supply: RT9467 Charger Driver)
- Add missing header file <linux/bitfied.h>
- Add new header files <linux/sysfs.h> and <linux/kstrtox.h> for adding
'sysoff' sysfs feature
- Add assign 'rt9467_sysfs_groups' to '.attr_grp' of psy config
- Remove unused varible 'rt9467_port_stat_names[]'

- In Patch 3/3 (ABI Documentation for RT9467 sysfs attribute)
- New file since v2 patchset

ChiaEn Wu (3):
dt-bindings: power: supply: Add Richtek RT9467 battery charger
power: supply: rt9467: Add Richtek RT9467 charger driver
Documentation: power: rt9467: Document exported sysfs entries

Documentation/ABI/testing/sysfs-class-power-rt9467 | 19 +
.../power/supply/richtek,rt9467-charger.yaml | 82 ++
drivers/power/supply/Kconfig | 19 +
drivers/power/supply/Makefile | 1 +
drivers/power/supply/rt9467-charger.c | 1282 ++++++++++++++++++++
5 files changed, 1403 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-class-power-rt9467
create mode 100644 Documentation/devicetree/bindings/power/supply/richtek,rt9467-charger.yaml
create mode 100644 drivers/power/supply/rt9467-charger.c