[PATCH 1/4] regulator: dt-bindings: Add Linear Technology LTM8054 regulator

Romain Gantois
2025-09-16T10:24:18Z

The Linear Technology LTM8054 is a Buck-Boost voltage regulator with an
input range of 5V to 36V and an output range of 1.2V to 36V.

The LTM8054's output voltage level is typically set using a voltage divider
between the Vout and FB pins, the FB pin being constantly regulated to
1.2V.

The output current limit of the LTM8054 may be statically set by placing a
sense resistor on a dedicated pin. This limit can then be lowered by
controlling the voltage level on the CTL pin.

Describe the LTM8054 voltage regulator.

Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
---
.../bindings/regulator/lltc,ltm8054.yaml | 77 ++++++++++++++++++++++
MAINTAINERS | 5 ++
2 files changed, 82 insertions(+)

diff --git a/Documentation/devicetree/bindings/regulator/lltc,ltm8054.yaml b/Documentation/devicetree/bindings/regulator/lltc,ltm8054.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4db11be178b0e662ec51f3d3d73202f8c32625d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/lltc,ltm8054.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/lltc,ltm8054.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Linear Technology LTM8054 buck-boost regulator
+
+maintainers:
+ - Romain Gantois <romain.gantois@bootlin.com>
+
+description:
+ This regulator operates over an input voltage range of 5V to 36V, and can
+ output from 1.2V to 36V. The output voltage level is typically set with a
+ voltage divider between the Vout pin and the FB pin which is internally
+ regulated to 1.2V.
+
+ The output current of the LTM8054 can be limited by tying the Iout pin to a
+ current sense resistor. This limit can be further lowered by applying a
+ voltage below 1.2V to the CTL pin.
+
+allOf:
+ - $ref: /schemas/regulator/regulator.yaml#
+
+properties:
+ compatible:
+ const: lltc,ltm8054
+
+ enable-gpios:
+ description: GPIO connected to the RUN pin.
+ maxItems: 1
+
+ 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
+ minItems: 2
+ maxItems: 2
+
+ lltc,iout-rsense-micro-ohms:
+ description:
+ Value of the output current sense resistor, in micro Ohms.
+
+ io-channels:
+ items:
+ - description: DAC controlling the voltage level of the CTL pin.
+
+ io-channel-names:
+ items:
+ - const: ctl
+
+required:
+ - compatible
+ - lltc,fb-voltage-divider
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ / {
+
+ regulator {
+ compatible = "lltc,ltm8054";
+
+ enable-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+
+ lltc,fb-voltage-divider = <1000000 68000>;
+
+ lltc,iout-rsense-micro-ohms = <20000>;
+
+ io-channels = <&dac 1>;
+ io-channel-names = "ctl";
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index fe168477caa45799dfe07de2f54de6d6a1ce0615..7160179e6bf9d45a241582c1b6df8c0ebf6c3641 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14517,6 +14517,11 @@ W: https://ez.analog.com/linux-software-drivers
F: Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt
F: drivers/i2c/muxes/i2c-mux-ltc4306.c

+LTM8054 REGULATOR DRIVER
+M: Romain Gantois <romain.gantois@bootlin.com>
+S: Maintained
+F: Documentation/devicetree/bindings/regulator/lltc,ltm8054.yaml
+
LTP (Linux Test Project)
M: Andrea Cervesato <andrea.cervesato@suse.com>
M: Cyril Hrubis <chrubis@suse.cz>

--
2.51.0