* [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format
@ 2026-05-12 22:45 Frank Li
2026-05-13 1:28 ` Mark Brown
2026-05-14 0:18 ` sashiko-bot
0 siblings, 2 replies; 3+ messages in thread
From: Frank Li @ 2026-05-12 22:45 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Frank Li,
open list:VOLTAGE AND CURRENT REGULATOR FRAMEWORK,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
Cc: imx
Convert the Linear Technology LTC3589/LTC3589-1/LTC3589-2 regulator
binding from text to yaml format.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
.../bindings/regulator/lltc,ltc3589.yaml | 147 ++++++++++++++++++
.../devicetree/bindings/regulator/ltc3589.txt | 99 ------------
2 files changed, 147 insertions(+), 99 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml
delete mode 100644 Documentation/devicetree/bindings/regulator/ltc3589.txt
diff --git a/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml b/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml
new file mode 100644
index 0000000000000..f406c2bd252d4
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml
@@ -0,0 +1,147 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/lltc,ltc3589.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators
+
+maintainers:
+ - Frank Li <Frank.Li@nxp.com>
+
+description:
+ Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
+ 0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
+ 0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
+ have a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
+ regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
+ regulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
+ and 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
+ be disabled and thus should have the regulator-always-on property set.
+
+properties:
+ compatible:
+ enum:
+ - lltc,ltc3589
+ - lltc,ltc3589-1
+ - lltc,ltc3589-2
+
+ reg:
+ maxItems: 1
+
+ regulators:
+ type: object
+ description:
+ Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
+ ldo1, ldo2, ldo3, and ldo4.
+
+ patternProperties:
+ "^(sw[1-3]|bb-out|ldo[1-2])$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ lltc,fb-voltage-divider:
+ description:
+ An array of two integers containing the resistor values R1 and R2
+ of the feedback voltage divider in ohms.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ items:
+ - description: R1 resistor value in ohms
+ - description: R2 resistor value in ohms
+
+ required:
+ - lltc,fb-voltage-divider
+
+ "^ldo[3-4]$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmic@34 {
+ compatible = "lltc,ltc3589-1";
+ reg = <0x34>;
+
+ regulators {
+ sw1 {
+ regulator-min-microvolt = <591930>;
+ regulator-max-microvolt = <1224671>;
+ lltc,fb-voltage-divider = <100000 158000>;
+ regulator-ramp-delay = <7000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ sw2 {
+ regulator-min-microvolt = <704123>;
+ regulator-max-microvolt = <1456803>;
+ lltc,fb-voltage-divider = <180000 191000>;
+ regulator-ramp-delay = <7000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ sw3 {
+ regulator-min-microvolt = <1341250>;
+ regulator-max-microvolt = <2775000>;
+ lltc,fb-voltage-divider = <270000 100000>;
+ regulator-ramp-delay = <7000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ bb-out {
+ regulator-min-microvolt = <3387341>;
+ regulator-max-microvolt = <3387341>;
+ lltc,fb-voltage-divider = <511000 158000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo1 {
+ regulator-min-microvolt = <1306329>;
+ regulator-max-microvolt = <1306329>;
+ lltc,fb-voltage-divider = <100000 158000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo2 {
+ regulator-min-microvolt = <704123>;
+ regulator-max-microvolt = <1456806>;
+ lltc,fb-voltage-divider = <180000 191000>;
+ regulator-ramp-delay = <7000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo3 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-boot-on;
+ };
+
+ ldo4 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3200000>;
+ };
+ };
+ };
+ };
+
diff --git a/Documentation/devicetree/bindings/regulator/ltc3589.txt b/Documentation/devicetree/bindings/regulator/ltc3589.txt
deleted file mode 100644
index 8010530361465..0000000000000
--- a/Documentation/devicetree/bindings/regulator/ltc3589.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators
-
-Required properties:
-- compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2"
-- reg: I2C slave address
-
-Required child node:
-- regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
- ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
- documented in Documentation/devicetree/bindings/regulator/regulator.txt.
-
-Each regulator is defined using the standard binding for regulators. The
-nodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify
-the resistor values of their external feedback voltage dividers:
-
-Required properties (not on ldo3, ldo4):
-- lltc,fb-voltage-divider: An array of two integers containing the resistor
- values R1 and R2 of the feedback voltage divider in ohms.
-
-Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
-0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
-0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
-have a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
-regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
-regulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
-and 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
-be disabled and thus should have the regulator-always-on property set.
-
-Example:
-
- ltc3589: pmic@34 {
- compatible = "lltc,ltc3589-1";
- reg = <0x34>;
-
- regulators {
- sw1_reg: sw1 {
- regulator-min-microvolt = <591930>;
- regulator-max-microvolt = <1224671>;
- lltc,fb-voltage-divider = <100000 158000>;
- regulator-ramp-delay = <7000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- sw2_reg: sw2 {
- regulator-min-microvolt = <704123>;
- regulator-max-microvolt = <1456803>;
- lltc,fb-voltage-divider = <180000 191000>;
- regulator-ramp-delay = <7000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- sw3_reg: sw3 {
- regulator-min-microvolt = <1341250>;
- regulator-max-microvolt = <2775000>;
- lltc,fb-voltage-divider = <270000 100000>;
- regulator-ramp-delay = <7000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- bb_out_reg: bb-out {
- regulator-min-microvolt = <3387341>;
- regulator-max-microvolt = <3387341>;
- lltc,fb-voltage-divider = <511000 158000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo1_reg: ldo1 {
- regulator-min-microvolt = <1306329>;
- regulator-max-microvolt = <1306329>;
- lltc,fb-voltage-divider = <100000 158000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo2_reg: ldo2 {
- regulator-min-microvolt = <704123>;
- regulator-max-microvolt = <1456806>;
- lltc,fb-voltage-divider = <180000 191000>;
- regulator-ramp-delay = <7000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo3_reg: ldo3 {
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
- regulator-boot-on;
- };
-
- ldo4_reg: ldo4 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <3200000>;
- };
- };
- };
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format
2026-05-12 22:45 [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format Frank Li
@ 2026-05-13 1:28 ` Mark Brown
2026-05-14 0:18 ` sashiko-bot
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2026-05-13 1:28 UTC (permalink / raw)
To: Frank Li
Cc: Liam Girdwood, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
open list:VOLTAGE AND CURRENT REGULATOR FRAMEWORK,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx
[-- Attachment #1: Type: text/plain, Size: 495 bytes --]
On Tue, May 12, 2026 at 06:45:42PM -0400, Frank Li wrote:
> Convert the Linear Technology LTC3589/LTC3589-1/LTC3589-2 regulator
> binding from text to yaml format.
Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format
2026-05-12 22:45 [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format Frank Li
2026-05-13 1:28 ` Mark Brown
@ 2026-05-14 0:18 ` sashiko-bot
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-05-14 0:18 UTC (permalink / raw)
To: Frank Li; +Cc: krzk+dt, devicetree, imx, Frank.Li, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The YAML binding schema omits the `interrupts` property, which breaks schema validation for valid hardware configurations that use the PMIC's interrupt line.
--
commit 6cc3d4149b88e8fe5fe483876ec1bdf0a91a59e7
Author: Frank Li <Frank.Li@nxp.com>
dt-bindings: regulator: convert ltc3589 to yaml format
Convert the Linear Technology LTC3589/LTC3589-1/LTC3589-2 regulator
binding from text to yaml format.
> diff --git a/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml b/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/lltc,ltc3589.yaml
[ ... ]
> +properties:
> + compatible:
> + enum:
> + - lltc,ltc3589
> + - lltc,ltc3589-1
> + - lltc,ltc3589-2
> +
> + reg:
> + maxItems: 1
> +
> + regulators:
[ ... ]
> +required:
> + - compatible
> + - reg
> + - regulators
> +
> +additionalProperties: false
Does this conversion accidentally drop support for the interrupts property?
The LTC3589 driver in drivers/regulator/ltc3589.c checks for and requests
an IRQ using client->irq to handle internal regulator events like thermal
warnings and under-voltage.
Since the schema enforces additionalProperties: false at the top level,
valid device tree configurations that define the physical interrupt
connection for this PMIC will be rejected by dtbs_check.
Should interrupts (e.g. with maxItems: 1) be explicitly permitted in the
properties list?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260512224544.1223283-1-Frank.Li@nxp.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-14 0:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 22:45 [PATCH 1/1] dt-bindings: regulator: convert ltc3589 to yaml format Frank Li
2026-05-13 1:28 ` Mark Brown
2026-05-14 0:18 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox