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

Romain Gantois posted 5 patches 6 days, 12 hours ago
[PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Romain Gantois 6 days, 12 hours ago
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>
---
 .../devicetree/bindings/regulator/adi,ltm8054.yaml | 73 ++++++++++++++++++++++
 MAINTAINERS                                        |  5 ++
 2 files changed, 78 insertions(+)

diff --git a/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml b/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8ca8fc4e80b5722f58b4cbe9de22c16d4fd91670
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/adi,ltm8054.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices 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: adi,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
+
+  adi,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 = "adi,ltm8054";
+
+        enable-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+
+        lltc,fb-voltage-divider = <1000000 68000>;
+
+        adi,iout-rsense-micro-ohms = <20000>;
+
+        io-channels = <&dac 1>;
+        io-channel-names = "ctl";
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 3763f9fc9e4ed62bc8b273756a25f9c921570bee..69bcba82808bb815af436232fab50f70713fd533 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14534,6 +14534,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/adi,ltm8054.yaml
+
 LTP (Linux Test Project)
 M:	Andrea Cervesato <andrea.cervesato@suse.com>
 M:	Cyril Hrubis <chrubis@suse.cz>

-- 
2.51.0
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Conor Dooley 6 days, 5 hours ago
On Thu, Sep 25, 2025 at 02:37:33PM +0200, Romain Gantois wrote:
> 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>
> ---
>  .../devicetree/bindings/regulator/adi,ltm8054.yaml | 73 ++++++++++++++++++++++
>  MAINTAINERS                                        |  5 ++
>  2 files changed, 78 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml b/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..8ca8fc4e80b5722f58b4cbe9de22c16d4fd91670
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/adi,ltm8054.yaml
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/adi,ltm8054.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices 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: adi,ltm8054
> +
> +  enable-gpios:
> +    description: GPIO connected to the RUN pin.
> +    maxItems: 1
> +
> +  lltc,fb-voltage-divider:

Why does this property have a ?linear? vendor prefix?
Shouldn't it be adi to match the other property and compatible?

> +    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
> +
> +  adi,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 = "adi,ltm8054";
> +
> +        enable-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> +
> +        lltc,fb-voltage-divider = <1000000 68000>;
> +
> +        adi,iout-rsense-micro-ohms = <20000>;
> +
> +        io-channels = <&dac 1>;
> +        io-channel-names = "ctl";
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 3763f9fc9e4ed62bc8b273756a25f9c921570bee..69bcba82808bb815af436232fab50f70713fd533 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -14534,6 +14534,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/adi,ltm8054.yaml
> +
>  LTP (Linux Test Project)
>  M:	Andrea Cervesato <andrea.cervesato@suse.com>
>  M:	Cyril Hrubis <chrubis@suse.cz>
> 
> -- 
> 2.51.0
> 
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Romain Gantois 5 days, 8 hours ago
Hello Conor,

On Thursday, 25 September 2025 21:27:06 CEST Conor Dooley wrote:
> On Thu, Sep 25, 2025 at 02:37:33PM +0200, Romain Gantois wrote:
...
> > +properties:
> > +  compatible:
> > +    const: adi,ltm8054
> > +
> > +  enable-gpios:
> > +    description: GPIO connected to the RUN pin.
> > +    maxItems: 1
> > +
> 
> > +  lltc,fb-voltage-divider:
> Why does this property have a ?linear? vendor prefix?
> Shouldn't it be adi to match the other property and compatible?

This component was originally from Linear Technology, before it was acquired 
by Analog Devices. The new properties and compatibles have the Analog Devices 
prefix, but the "fb-voltage-divider" property is already used by the LTC3676 
and LTC3589 regulators, so I left the Linear Technology prefix for this one to 
avoid introducing a new property just to specify a vendor prefix change.

I don't have a strong opinion about this though.

Thanks,

-- 
Romain Gantois, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Conor Dooley 4 days, 2 hours ago
On Fri, Sep 26, 2025 at 05:59:48PM +0200, Romain Gantois wrote:
> Hello Conor,
> 
> On Thursday, 25 September 2025 21:27:06 CEST Conor Dooley wrote:
> > On Thu, Sep 25, 2025 at 02:37:33PM +0200, Romain Gantois wrote:
> ...
> > > +properties:
> > > +  compatible:
> > > +    const: adi,ltm8054
> > > +
> > > +  enable-gpios:
> > > +    description: GPIO connected to the RUN pin.
> > > +    maxItems: 1
> > > +
> > 
> > > +  lltc,fb-voltage-divider:
> > Why does this property have a ?linear? vendor prefix?
> > Shouldn't it be adi to match the other property and compatible?
> 
> This component was originally from Linear Technology, before it was acquired 
> by Analog Devices. The new properties and compatibles have the Analog Devices 
> prefix, but the "fb-voltage-divider" property is already used by the LTC3676 
> and LTC3589 regulators, so I left the Linear Technology prefix for this one to 
> avoid introducing a new property just to specify a vendor prefix change.
> 
> I don't have a strong opinion about this though.

Do they share the same driver?
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Romain Gantois 17 hours ago
On Sunday, 28 September 2025 00:31:05 CEST Conor Dooley wrote:
...
> > > 
> > > > +  lltc,fb-voltage-divider:
> > > Why does this property have a ?linear? vendor prefix?
> > > Shouldn't it be adi to match the other property and compatible?
> > 
> > This component was originally from Linear Technology, before it was
> > acquired by Analog Devices. The new properties and compatibles have the
> > Analog Devices prefix, but the "fb-voltage-divider" property is already
> > used by the LTC3676 and LTC3589 regulators, so I left the Linear
> > Technology prefix for this one to avoid introducing a new property just
> > to specify a vendor prefix change.
> > 
> > I don't have a strong opinion about this though.
> 
> Do they share the same driver?

They do not. However, they use it in the exact same way, and I would've
liked to factor out the handling of this property in a future patch. This
would also make it easier to handle other types of feedback pin circuits
and have a generic binding for "regulators using a feedback pin connected
to some kind of analog circuit".

For example:

Vout----+      
        |      
        |      
       +++     
       | |     
       | | Rtop
       | |     
       +++     
        |      
        |      
 FB ----+      
        |      
     +--+--+   
     |  |  |   
     |  |  |CCS
     +--v--+   
        |      
        |      
       -+-     
        -      
 
This is all speculation at this point though, so I don't mind changing the
property to "adi,fb-voltage-divider" and handling the different compatibles
when it comes to it.

Thanks,

-- 
Romain Gantois, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by David Lechner 13 hours ago
On Wed, Oct 1, 2025 at 9:12 AM Romain Gantois
<romain.gantois@bootlin.com> wrote:
>
> On Sunday, 28 September 2025 00:31:05 CEST Conor Dooley wrote:
> ...
> > > >
> > > > > +  lltc,fb-voltage-divider:
> > > > Why does this property have a ?linear? vendor prefix?
> > > > Shouldn't it be adi to match the other property and compatible?
> > >
> > > This component was originally from Linear Technology, before it was
> > > acquired by Analog Devices. The new properties and compatibles have the
> > > Analog Devices prefix, but the "fb-voltage-divider" property is already
> > > used by the LTC3676 and LTC3589 regulators, so I left the Linear
> > > Technology prefix for this one to avoid introducing a new property just
> > > to specify a vendor prefix change.
> > >
> > > I don't have a strong opinion about this though.
> >
> > Do they share the same driver?
>
> They do not. However, they use it in the exact same way, and I would've
> liked to factor out the handling of this property in a future patch. This
> would also make it easier to handle other types of feedback pin circuits
> and have a generic binding for "regulators using a feedback pin connected
> to some kind of analog circuit".
>
> For example:
>
> Vout----+
>         |
>         |
>        +++
>        | |
>        | | Rtop
>        | |
>        +++
>         |
>         |
>  FB ----+
>         |
>      +--+--+
>      |  |  |
>      |  |  |CCS
>      +--v--+
>         |
>         |
>        -+-
>         -
>
> This is all speculation at this point though, so I don't mind changing the
> property to "adi,fb-voltage-divider" and handling the different compatibles
> when it comes to it.
>

Could we just make it `fb-voltage-divider-ohms`? The -ohms suffix
makes it match the standard property-units suffix which already has
the uint32-array type. There are a couple of bindings that have
`vout-voltage-divider` without a vendor prefix, so it sounds like this
pattern is considered somewhat of a standard property already. But I
think it would be better with the -ohms suffix. For example, there is
already `gw,voltage-divider-ohms` as well. But there are so many
similar properties without the suffix, it is kind of the defacto
standard already, so might be better to stick with that rather than
making it even more different variants than there already are.
Re: [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator
Posted by Conor Dooley 6 hours ago
On Wed, Oct 01, 2025 at 01:18:51PM +0200, David Lechner wrote:
> On Wed, Oct 1, 2025 at 9:12 AM Romain Gantois
> <romain.gantois@bootlin.com> wrote:
> >
> > On Sunday, 28 September 2025 00:31:05 CEST Conor Dooley wrote:
> > ...
> > > > >
> > > > > > +  lltc,fb-voltage-divider:
> > > > > Why does this property have a ?linear? vendor prefix?
> > > > > Shouldn't it be adi to match the other property and compatible?
> > > >
> > > > This component was originally from Linear Technology, before it was
> > > > acquired by Analog Devices. The new properties and compatibles have the
> > > > Analog Devices prefix, but the "fb-voltage-divider" property is already
> > > > used by the LTC3676 and LTC3589 regulators, so I left the Linear
> > > > Technology prefix for this one to avoid introducing a new property just
> > > > to specify a vendor prefix change.
> > > >
> > > > I don't have a strong opinion about this though.
> > >
> > > Do they share the same driver?
> >
> > They do not. However, they use it in the exact same way, and I would've
> > liked to factor out the handling of this property in a future patch. This
> > would also make it easier to handle other types of feedback pin circuits
> > and have a generic binding for "regulators using a feedback pin connected
> > to some kind of analog circuit".
> >
> > For example:
> >
> > Vout----+
> >         |
> >         |
> >        +++
> >        | |
> >        | | Rtop
> >        | |
> >        +++
> >         |
> >         |
> >  FB ----+
> >         |
> >      +--+--+
> >      |  |  |
> >      |  |  |CCS
> >      +--v--+
> >         |
> >         |
> >        -+-
> >         -
> >
> > This is all speculation at this point though, so I don't mind changing the
> > property to "adi,fb-voltage-divider" and handling the different compatibles
> > when it comes to it.
> >
> 
> Could we just make it `fb-voltage-divider-ohms`? The -ohms suffix
> makes it match the standard property-units suffix which already has
> the uint32-array type. There are a couple of bindings that have
> `vout-voltage-divider` without a vendor prefix, so it sounds like this
> pattern is considered somewhat of a standard property already. But I
> think it would be better with the -ohms suffix. For example, there is
> already `gw,voltage-divider-ohms` as well. But there are so many
> similar properties without the suffix, it is kind of the defacto
> standard already, so might be better to stick with that rather than
> making it even more different variants than there already are.

Ye, by all means standardise it. I suppose that means insertion into
regulator.yaml, which usually also means a regulator- prefix - unless
you're eyeing something wider than that?