Re: [PATCH 1/2] dt-bindings: hwmon: Add TI TPS389004/TPS389006/TPS389008
From: Krzysztof Kozlowski
Date: Thu Oct 01 2026 - 04:18:44 EST
On Tue, Sep 29, 2026 at 04:04:04PM -0700, Luna Hart wrote:
> Add a binding for the TI TPS389004, TPS389006, and TPS389008 I2C
> voltage supervisors and monitors, which provide 4, 6, and 8 voltage
> inputs respectively. Each input may be described by an optional child
> node, containing additional properties including the label and ADC
> scaling factor.
>
> Based on an earlier binding by Flaviu Nistor.
>
> Signed-off-by: Luna Hart <lhart.opensource@xxxxxxxxxxx>
> ---
> .../devicetree/bindings/hwmon/ti,tps38900x.yaml | 137 +++++++++++++++++++++
Preference is to name after compatible, so ti,tps389004
> 1 file changed, 137 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/hwmon/ti,tps38900x.yaml b/Documentation/devicetree/bindings/hwmon/ti,tps38900x.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..cdd74ddd03e748f271628f1cd2f2551b9c983785
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/ti,tps38900x.yaml
> @@ -0,0 +1,137 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/hwmon/ti,tps38900x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TPS38900x voltage monitor
> +
> +maintainers:
> + - Luna Hart <lhart.opensource@xxxxxxxxxxx>
> +
> +description: |
> + Voltage monitor from TI (TPS389008, TPS389006, TPS389004) on I2C bus.
> +
> + Datasheets:
> + https://www.ti.com/lit/ds/symlink/tps389006.pdf
> + https://www.ti.com/lit/ds/symlink/tps389006-q1.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - ti,tps389004
> + - ti,tps389006
> + - ti,tps389008
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Required only if a child node is present.
Drop description, obvious. Schema and DT spec tells that.
> + const: 1
> +
> + "#size-cells":
> + description: Required only if a child node is present.
Ditto
> + const: 0
> +
> +patternProperties:
> + "^vmon@[0-7]$":
How is this called for other devices? "channel"?
> + description: |
Do not need '|' unless you need to preserve formatting.
> + The node may have optional child nodes for each voltage channel.
> + There are either 4, 6, or 8 available depending on the specific part
> + being used.
Drop sentence, schema will tell that.
> + If no child nodes are present, all channels will be exposed for
> + monitoring. Otherwise, only the provided nodes will be created.
That's a bit odd behavior. Is it expected for hwmon?
> + type: object
> + additionalProperties: false
Blank line
> + properties:
> + reg:
> + description: |
Do not need '|' unless you need to preserve formatting.
> + Must be 0 to 7, corresponding to respective
> + ports of the TPS38900x.
> + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
> +
> + label:
> + description: Name of the input source.
> +
> + ti,4x-scaling:
> + description: |
Same, drop |
> + Enables the high range ADC voltage monitoring range. Default ADC
> + settings will read from 0.2V to 1.475V using 5mV steps. In the 4x
> + mode, the valid range is 0.8V to 5.9V using 20mV steps.
> + type: boolean
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
Best regards,
Krzysztof