From: Alexey Charkov <alchark@flipper.net>
To: Lee Jones <lee@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Chris Morgan <macromorgan@hotmail.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Sebastian Reichel <sre@kernel.org>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Sebastian Reichel <sebastian.reichel@collabora.com>,
linux-pm@vger.kernel.org, Alexey Charkov <alchark@flipper.net>,
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>,
stable@vger.kernel.org
Subject: [PATCH v6 00/11] Add support for the TI BQ25792 battery charger
Date: Tue, 31 Mar 2026 19:43:37 +0400 [thread overview]
Message-ID: <20260331-bq25792-v6-0-0278fba33eb9@flipper.net> (raw)
This adds support for the TI BQ25792 battery charger, which is similar in
overall logic to the BQ25703A, but has a different register layout and
slightly different lower-level programming logic.
The series is organized as follows:
- Patch 1 adds the new variant to the existing DT binding, including the
changes in electrical characteristics
- Patches 2-4 are minor cleanups to the existing BQ25703A OTG regulator
driver, slimming down the code and making it more reusable for the new
BQ25792 variant
- Patch 5 is a logical fix to the BQ25703A clamping logic for VSYSMIN
(this is a standalone fix which can be applied independently and may be
backported to stable)
- Patches 6-8 are slight refactoring of the existing BQ25703A charger
driver to make it more reusable for the new BQ25792 variant
- Patch 9 adds platform data to distinguish between the two variants in
the parent MFD driver, and binds it to the new compatible string
- Patches 10-11 add variant-specific code to support the new BQ25792
variant in the regulator part and the charger part respectively,
selected by the platform data added in patch 9
Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
Changes in v6:
- Changed -EINVAL to -ENODEV for non-match cases in the MFD driver, to stay
in line with what other drivers do in similar situations (Lee Jones)
- Link to v5: https://lore.kernel.org/r/20260324-bq25792-v5-0-0a2eb58cf11d@flipper.net
Changes in v5:
- Added non-OF match data and switched to i2c_get_match_data() to support
non-OF platforms (Lee Jones)
- Shifted the types in the enum to start at 1 to avoid confusion with
zero-initialized data and non-match cases (Lee Jones)
- Reinstated the const qualifier on the MFD cell array (Lee Jones)
- Link to v4: https://lore.kernel.org/r/20260311-bq25792-v4-0-7213415d9eec@flipper.net
Changes in v4:
- Avoid additional data structures and pass 'type' within the existing
struct bq257xx_device instead (Lee Jones)
- Move comments for new struct fields to the patches where those fields
are added (Sebastian Reichel)
- Collect tags from Sebastian Reichel (thanks!)
- Link to v3: https://lore.kernel.org/r/20260310-bq25792-v3-0-02f8e232d63b@flipper.net
Changes in v3:
- Move MFD cell definitions back out of the probe function (Lee Jones)
- Collect tags from Mark Brown, Krzysztof Kozlowski and Chris Morgan (thanks!)
- Enable ship FET functionality at init for BQ25792
- Link to v2: https://lore.kernel.org/r/20260306-bq25792-v2-0-6595249d6e6f@flipper.net
Changes in v2:
- Fix an error in DT schema (thanks Rob's bot)
- Ensure the broadest constraints for all variants remain in the common
part of the schema, per writing-schema doc (thanks Krzysztof)
- Link to v1: https://lore.kernel.org/r/20260303-bq25792-v1-0-e6e5e0033458@flipper.net
---
Alexey Charkov (11):
dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
regulator: bq257xx: Remove reference to the parent MFD's dev
regulator: bq257xx: Drop the regulator_dev from the driver data
regulator: bq257xx: Make OTG enable GPIO really optional
power: supply: bq257xx: Fix VSYSMIN clamping logic
power: supply: bq257xx: Make the default current limit a per-chip attribute
power: supply: bq257xx: Consistently use indirect get/set helpers
power: supply: bq257xx: Add fields for 'charging' and 'overvoltage' states
mfd: bq257xx: Add BQ25792 support
regulator: bq257xx: Add support for BQ25792
power: supply: bq257xx: Add support for BQ25792
.../devicetree/bindings/mfd/ti,bq25703a.yaml | 73 ++-
drivers/mfd/bq257xx.c | 54 ++-
drivers/power/supply/bq257xx_charger.c | 534 ++++++++++++++++++++-
drivers/regulator/bq257xx-regulator.c | 121 ++++-
include/linux/mfd/bq257xx.h | 412 ++++++++++++++++
5 files changed, 1156 insertions(+), 38 deletions(-)
---
base-commit: 36ece9697e89016181e5ae87510e40fb31d86f2b
change-id: 20260303-bq25792-0132ac86846d
Best regards,
--
Alexey Charkov <alchark@flipper.net>
next reply other threads:[~2026-03-31 15:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-31 15:43 Alexey Charkov [this message]
2026-03-31 15:43 ` [PATCH v6 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792 Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 02/11] regulator: bq257xx: Remove reference to the parent MFD's dev Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 03/11] regulator: bq257xx: Drop the regulator_dev from the driver data Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 04/11] regulator: bq257xx: Make OTG enable GPIO really optional Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 05/11] power: supply: bq257xx: Fix VSYSMIN clamping logic Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 06/11] power: supply: bq257xx: Make the default current limit a per-chip attribute Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 07/11] power: supply: bq257xx: Consistently use indirect get/set helpers Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 08/11] power: supply: bq257xx: Add fields for 'charging' and 'overvoltage' states Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 09/11] mfd: bq257xx: Add BQ25792 support Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 10/11] regulator: bq257xx: Add support for BQ25792 Alexey Charkov
2026-03-31 15:43 ` [PATCH v6 11/11] power: supply: " Alexey Charkov
2026-04-10 10:52 ` (subset) [PATCH v6 00/11] Add support for the TI BQ25792 battery charger Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260331-bq25792-v6-0-0278fba33eb9@flipper.net \
--to=alchark@flipper.net \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=macromorgan@hotmail.com \
--cc=robh@kernel.org \
--cc=sebastian.reichel@collabora.com \
--cc=sre@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox