Re: [PATCH v2 1/2] dt-bindings: hwmon: pmbus: add lt3074

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 26, 2025 at 11:17:48AM -0800, Guenter Roeck wrote:
> On 2/26/25 06:59, Rob Herring wrote:
> > On Wed, Feb 26, 2025 at 09:20:40AM +0100, Krzysztof Kozlowski wrote:
> > > On Tue, Feb 25, 2025 at 09:01:13PM +0800, Cedric Encarnacion wrote:
> > > > Add Analog Devices LT3074 Ultralow Noise, High PSRR Dropout Linear
> > > > Regulator.
> > > > 
> > > > Signed-off-by: Cedric Encarnacion <cedricjustine.encarnacion@xxxxxxxxxx>
> > > > ---
> > > >   .../bindings/hwmon/pmbus/adi,lt3074.yaml           | 64 ++++++++++++++++++++++
> > > >   MAINTAINERS                                        |  7 +++
> > > >   2 files changed, 71 insertions(+)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml b/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml
> > > > new file mode 100644
> > > > index 0000000000000000000000000000000000000000..714426fd655a8daa96e15e1f789743f36001ac7a
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml
> > > > @@ -0,0 +1,64 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id: http://devicetree.org/schemas/hwmon/pmbus/adi,lt3074.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: Analog Devices LT3074 voltage regulator
> > > > +
> > > > +maintainers:
> > > > +  - Cedric Encarnacion <cedricjustine.encarnacion@xxxxxxxxxx>
> > > > +
> > > > +description: |
> > > > +  The LT3074 is a low voltage, ultra-low noise and ultra-fast transient
> > > > +  response linear regulator. It allows telemetry for input/output voltage,
> > > > +  output current and temperature through the PMBus serial interface.
> > > > +
> > > > +  Datasheet:
> > > > +    https://www.analog.com/en/products/lt3074.html
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    enum:
> > > > +      - adi,lt3074
> > > > +
> > > > +  reg:
> > > > +    maxItems: 1
> > > > +
> > > > +  regulators:
> > > > +    type: object
> > > > +    description: |
> > > > +      list of regulators provided by this controller.
> > > 
> > > You have only one regulator, so drop the "regulators". vout could be
> > > here, but since you do not have any other resources, I doubt it stands
> > > on its own either. This is even visible in your DTS - you named the
> > > device as regulator, so logically this is the regulator. Regulator does
> > > not have regulators (otherwise they could also have regulators... so
> > > triple regulator).
> > > 
> > > hwmon code might need some changes, but that's not really relevant for
> > > proper hardware description.
> > 
> > Normally, I would agree, but it seems generic pmbus code expects this
> > structure. This just came up with changing another binding maintained by
> > 'Not Me' to follow this structure. We're stuck with the existing way, so
> > I don't know that it is worth supporting 2 ways forever. OTOH, is it
> > guaranteed that these devices will only ever be pmbus devices or that
> > other regulator devices which are not handled as pmbus devices currently
> > will be in the future. If so, more flexibility in the bindings will be
> > needed.
> > 
> 
> I would appreciate if someone would explain to me what the problems with
> the current PMBus code actually are. I have seen several comments claiming

Not exactly a problem but missing feature. pmbus code (at least one of
macros I looked at) expects regulator node and some sort of child of it
(vout), while such simple devices should be:

regulator {
	compatible = "adi,lt3074";
	regulator-name = "vout";
	regulator-min-microvolt = "100000";
	regulator-max-microvolt = "100000";
};

so without any of regulators and regulators/vout subnodes.

> that the code should be changed, but I have no idea what the expected changes
> actually are or, in other words, what the PMBus code should be doing
> differently.

I did not investigate much into pmbus code, but this might be as simple
as accepting arguments for .of_match and .regulators_node and then
accepting NULLs as them as well. Or a new macro which assigns NULLs
there.

Regulator core handles .regulators_node=NULL already.

Best regards,
Krzysztof





[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux