On Thu, Sep 10, 2026 at 02:18:55PM +0800, Colin Huang wrote: > From: Colin Huang > > Add devicetree bindings for the Infineon TDA38740 and TDA38725 > single-voltage synchronous buck regulators with PMBus interface. > > Signed-off-by: Colin Huang > --- > .../bindings/hwmon/pmbus/infineon,tda38740.yaml | 87 ++++++++++++++++++++++ > 1 file changed, 87 insertions(+) > > diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/infineon,tda38740.yaml b/Documentation/devicetree/bindings/hwmon/pmbus/infineon,tda38740.yaml > new file mode 100644 > index 000000000000..28e6ff9d9d9c > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/pmbus/infineon,tda38740.yaml > @@ -0,0 +1,87 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > + > +$id: http://devicetree.org/schemas/hwmon/pmbus/infineon,tda38740.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Infineon TDA38740 and TDA38725 PMBus Synchronous Buck Regulator > + > +maintainers: > + - Colin Huang > + > +description: | > + The Infineon TDA38740/TDA38725 is a 40A/25A single-voltage synchronous > + buck regulator with a PMBus interface designed for industrial use. > + > + Datasheet: > + https://www.infineon.com/row/public/documents/24/49/infineon-tda38740-tda38725-datasheet-en.pdf > + > +properties: > + compatible: > + oneOf: > + - const: infineon,tda38740 > + - const: infineon,tda38725 > + description: | > + The Infineon TDA38740 and TDA38725 share the same PMBus programming > + model. Use infineon,tda38740 as the preferred compatible string; > + infineon,tda38725 is kept as a compatibility alias. This is not how this should be done. Instead, tda38725 should list tda38740 as a fallback compatible. Take a look at the example schema for how this can be done. Otherwise, this looks okay to me. pw-bot: changes-requested Thanks, Conor. > + > + reg: > + maxItems: 1 > + > + infineon,vout-scale-micro: > + description: | > + Scaling factor applied to READ_VOUT telemetry. > + > + TDA38740/25 pin strap parts are available in two flavors of > + VOUT_SCALE_LOOP: 1:1 and 1:2. > + > + For the 1:1 VOUT_SCALE_LOOP version, output voltage sense pins are > + directly connected to the output, and no resistor divider is used. > + > + For the 1:2 version, a resistor divider is typically used (for example, > + 499 ohms for both top and bottom resistors). > + > + In some designs, users intentionally modify the feedback divider ratio > + to obtain an output voltage different from the internally configured > + VBOOT or VOUT value. > + > + In such cases, the device telemetry (READ_VOUT) continues to report > + the internally programmed voltage and does not reflect the actual > + externally adjusted output voltage. > + > + This property provides a multiplier to scale the reported telemetry > + value so that the monitoring system reflects the actual output voltage. > + > + The value shall be expressed in micro units where 1,000,000 represents > + a scaling factor of 1.0. > + > + Example: > + If actual Vout = 0.75V and READ_VOUT reports 0.7V: > + scaling factor = 0.75 / 0.7 = 1.071 > + value = 1071000 > + $ref: /schemas/types.yaml#/definitions/uint32 > + default: 1000000 > + minimum: 100000 > + maximum: 2000000 > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + sensor@40 { > + compatible = "infineon,tda38740"; > + reg = <0x40>; > + infineon,vout-scale-micro = <1071000>; > + }; > + }; > + > > -- > 2.34.1 >