Re: [PATCH v2 1/6] dt-bindings: hwmon: add binding for adi,adt7470

Krzysztof Kozlowski <[email protected]> Mon, 20 Jul 2026 08:47:37 +0200
Newsgroups org.kernel.vger.linux-pwm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel
Message-ID <20260720-placid-fanatic-shrimp-d2bcd2@quoll>
On Fri, Jul 17, 2026 at 05:59:14PM -0300, Luiz Angelo Daros de Luca wrote:
> The Analog Devices ADT7470 is a temperature monitor and PWM fan
> controller. It supports up to 10 external temperature sensors and
> up to 4 PWM fan outputs.

A nit, subject: drop second/last, redundant "binding for". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v7.1-rc7/source/Documentation/devicetree/bindings/submitting-patches.rst#L23

> 
> Add the YAML device tree binding documentation for it. This includes

s/YAML//
There is no YAML in Devicetree.

> support for the thermal framework by defining the "#thermal-sensor-cells"
> property, and support for the PWM subsystem by defining the "#pwm-cells"
> property.
> 
> Signed-off-by: Luiz Angelo Daros de Luca <[email protected]>
> ---
>  .../devicetree/bindings/hwmon/adi,adt7470.yaml     | 62 ++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml
> new file mode 100644
> index 000000000000..14bb6359c91f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/adi,adt7470.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/hwmon/adi,adt7470.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices ADT7470 hwmon sensor
> +
> +maintainers:
> +  - Luiz Angelo Daros de Luca <[email protected]>
> +
> +description: |

Do not need '|' unless you need to preserve formatting.

> +  The ADT7470 is a temperature monitor and multiple PWM outputs.
> +  It supports monitoring up to 10 external temperature sensors and controlling
> +  up to four fans.

"controling fans" is confusing and suggests this is a fan controller, so
you would need to reference proper schema for that. It is just PWM
output, no? PWM output could also go to LEDs or motors (well, fan is a
motor).

> +
> +properties:
> +  compatible:
> +    const: adi,adt7470
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#pwm-cells":
> +    const: 2
> +    description: |
> +      Number of cells in a PWM specifier.
> +      - The first cell is the PWM channel (0 to 3).
> +      - The second cell is the PWM period in nanoseconds.
> +
> +  "#thermal-sensor-cells":
> +    const: 1
> +    description: |

Do not need '|' unless you need to preserve formatting.

> +      Number of cells required to uniquely identify the temperature sensors.
> +      Valid index values are 0 to 9, corresponding to temp1 through temp10.
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        adt7470: hwmon@2f {
> +            compatible = "adi,adt7470";
> +            reg = <0x2f>;
> +            #pwm-cells = <2>;
> +            #thermal-sensor-cells = <1>;
> +        };
> +    };
> +
> +    fan0 {

Drio the node, not relevant. And then drop adt7470 label from hwmon
node.

> +        compatible = "pwm-fan";
> +        /* Connects to PWM channel 0 with a 50000 ns (20 kHz) period */
> +        pwms = <&adt7470 0 50000>;
> +        cooling-levels = <0 100 150 255>;
> +    };
> 
> -- 
> 2.55.0
>