From: Linus Walleij <linusw@kernel.org>
To: Stephan Gerhold <stephan@gerhold.net>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Axel Lin <axel.lin@ingics.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Lee Jones <lee@kernel.org>
Cc: devicetree@vger.kernel.org, mfd@lists.linux.dev,
Linus Walleij <linusw@kernel.org>,
Conor Dooley <conor.dooley@microchip.com>
Subject: [PATCH v2 00/13] Add AB8500 buck regulators to the Ux500 device tree
Date: Tue, 01 Sep 2026 22:02:05 +0200 [thread overview]
Message-ID: <20260901-ux500-dts-snowball-regulator-v2-0-fe88b01829bf@kernel.org> (raw)
While working on the Ux500 power domains it became apparent that the
device trees were using the DB8500 power-domain regulator for supplies
which actually come from buck converters in the AB8500 PMIC.
First: fix a bunch of bugs. All of these patches have Fixes: tags.
I do not consider any of them urgent or regressions, they can just
be queued in front of the new functionality.
Move some regulators over to using linear ranges before adding new
stuff since linear ranges are nice.
Add bindings and regulator driver support for the six SMPS1, SMPS2,
SMPS3, ARM, APE and MOD buck converters. Instantiate the regulators for
both AB8500 and AB8505, where the corresponding rails are named VSMPSA,
VSMPSB, VSAFE, VARM, VSMPSC and VSMPSM, and connect existing consumers
to the correct SMPS2/VSMPSB supply.
The driver follows the active hardware selector, including the
additional AB8505 selector banks, and uses the variant-specific VARM
voltage encoding. It provides enable and low-power mode control for the
three peripheral bucks while leaving the SoC-controlled rails
voltage-only.
Since peripheral buck enable state is programmed by OTP and can power
discrete components outside the device tree, preserve any rail which
the OTP leaves enabled when regulator constraints are completed.
The last two patches adding device tree changes I will queue myself
in the ux500 tree. The rest should go into the regulator tree.
Maybe Lee can ack the binding patch once the DT maintainers are happy
so Mark can merge that with the rest?
Assisted-by: LLM
Signed-off-by: Linus Walleij <linusw@kernel.org>
---
Changes in v2:
- Pick up Conor's ACK.
- Fix some terminology and clarify the DT bindings a bit.
- Link to v1: https://lore.kernel.org/r/20260831-ux500-dts-snowball-regulator-v1-0-fe279fff5e18@kernel.org
---
Linus Walleij (13):
regulator: ab8500: Fix AB8505 VANA voltage selectors
regulator: ab8500: Add AB8505 VAUX3 3.05 V setting
regulator: ab8500: Handle AB8505 VINTCORE selector 7
regulator: ab8500: Treat cut 1.0 VAUX3 as fixed
regulator: ab8500: Test dedicated enable bits only
regulator: ab8500: Propagate mode enable read errors
regulator: ab8500: Use linear ranges for LDO voltages
dt-bindings: mfd: ab8500: Add regulators
regulator: ab8500: Add buck converter support
regulator: ab8500: Preserve OTP-enabled buck regulators
regulator: ab8500: Use scoped guard for shared mode mutex
ARM: dts: ux500: Add new AB8500/AB8505 regulators
ARM: dts: ux500: Fix up regulator assignments
.../devicetree/bindings/mfd/stericsson,ab8500.yaml | 122 +++-
arch/arm/boot/dts/st/ste-ab8500.dtsi | 28 +-
arch/arm/boot/dts/st/ste-ab8505.dtsi | 28 +-
arch/arm/boot/dts/st/ste-href-stuib.dtsi | 8 +-
arch/arm/boot/dts/st/ste-href-tvk1281618-r2.dtsi | 14 +-
arch/arm/boot/dts/st/ste-href-tvk1281618-r3.dtsi | 10 +-
arch/arm/boot/dts/st/ste-href.dtsi | 2 +-
arch/arm/boot/dts/st/ste-snowball.dts | 10 +-
arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts | 4 +-
arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts | 2 +-
arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts | 4 +-
arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts | 4 +-
drivers/regulator/ab8500.c | 748 +++++++++++++++++++--
13 files changed, 882 insertions(+), 102 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260820-ux500-dts-snowball-regulator-b35d2252bd57
Best regards,
--
Linus Walleij <linusw@kernel.org>
next reply other threads:[~2026-09-01 20:02 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 20:02 Linus Walleij [this message]
2026-09-01 20:02 ` [PATCH v2 01/13] regulator: ab8500: Fix AB8505 VANA voltage selectors Linus Walleij
2026-09-01 20:09 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 02/13] regulator: ab8500: Add AB8505 VAUX3 3.05 V setting Linus Walleij
2026-09-01 20:08 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 03/13] regulator: ab8500: Handle AB8505 VINTCORE selector 7 Linus Walleij
2026-09-01 20:15 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 04/13] regulator: ab8500: Treat cut 1.0 VAUX3 as fixed Linus Walleij
2026-09-01 20:17 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 05/13] regulator: ab8500: Test dedicated enable bits only Linus Walleij
2026-09-01 20:21 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 06/13] regulator: ab8500: Propagate mode enable read errors Linus Walleij
2026-09-01 20:26 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 07/13] regulator: ab8500: Use linear ranges for LDO voltages Linus Walleij
2026-09-01 20:27 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 08/13] dt-bindings: mfd: ab8500: Add regulators Linus Walleij
2026-09-01 20:30 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 09/13] regulator: ab8500: Add buck converter support Linus Walleij
2026-09-01 20:31 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 10/13] regulator: ab8500: Preserve OTP-enabled buck regulators Linus Walleij
2026-09-01 20:38 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 11/13] regulator: ab8500: Use scoped guard for shared mode mutex Linus Walleij
2026-09-01 20:37 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 12/13] ARM: dts: ux500: Add new AB8500/AB8505 regulators Linus Walleij
2026-09-01 20:41 ` sashiko-bot
2026-09-01 20:02 ` [PATCH v2 13/13] ARM: dts: ux500: Fix up regulator assignments Linus Walleij
2026-09-01 20:45 ` sashiko-bot
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=20260901-ux500-dts-snowball-regulator-v2-0-fe88b01829bf@kernel.org \
--to=linusw@kernel.org \
--cc=axel.lin@ingics.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=mfd@lists.linux.dev \
--cc=robh@kernel.org \
--cc=stephan@gerhold.net \
/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