# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/adt7475.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ADT7475 hwmon sensor

maintainers:
  - Jean Delvare <jdelvare@suse.com>

description: |
  The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple
  PWN fan controllers.

  They support monitoring and controlling up to four fans (the ADT7490 can only
  control up to three). They support reading a single on chip temperature
  sensor and two off chip temperature sensors (the ADT7490 additionally
  supports measuring up to three current external temperature sensors with
  series resistance cancellation (SRC)).

  Datasheets:
  https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF
  https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF
  https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF
  https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF

  Description taken from onsemiconductors specification sheets, with minor
  rephrasing.

properties:
  compatible:
    enum:
      - adi,adt7473
      - adi,adt7475
      - adi,adt7476
      - adi,adt7490

  reg:
    maxItems: 1

  adi,pwm-active-state:
    description: |
      Integer array, represents the active state of the pwm outputs If set to 0
      the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm
      uses a logic high output for 100% duty cycle.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    deprecated: true
    minItems: 3
    maxItems: 3
    items:
      enum: [0, 1]
      default: 1

  "#pwm-cells":
    const: 4
    description: |
      Number of cells in a PWM specifier.
      - 0: The PWM channel
      - 1: The PWM period in nanoseconds
           - 90909091 (11 Hz)
           - 71428571 (14 Hz)
           - 45454545 (22 Hz)
           - 34482759 (29 Hz)
           - 28571429 (35 Hz)
           - 22727273 (44 Hz)
           - 17241379 (58 Hz)
           - 11363636 (88 Hz)
           - 44444 (22 kHz)
      - 2: PWM flags 0 or PWM_POLARITY_INVERTED
      - 3: The default PWM duty cycle in nanoseconds

patternProperties:
  "^adi,bypass-attenuator-in[0-4]$":
    description: |
      Configures bypassing the individual voltage input attenuator. If
      set to 1 the attenuator is bypassed if set to 0 the attenuator is
      not bypassed. If the property is absent then the attenuator
      retains its configuration from the bios/bootloader.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  "^adi,pin(5|10)-function$":
    description: |
      Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or
      pin 10 on the adi,adt7476 and adi,adt7490.
    $ref: /schemas/types.yaml#/definitions/string
    enum:
      - pwm2
      - smbalert#

  "^adi,pin(9|14)-function$":
    description: |
      Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or
      pin 14 on the adi,adt7476 and adi,adt7490
    $ref: /schemas/types.yaml#/definitions/string
    enum:
      - tach4
      - therm#
      - smbalert#
      - gpio

  "^fan-[0-9]+$":
    $ref: fan-common.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/pwm/pwm.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      pwm: hwmon@2e {
        compatible = "adi,adt7476";
        reg = <0x2e>;
        adi,bypass-attenuator-in0 = <1>;
        adi,bypass-attenuator-in1 = <0>;
        adi,pin10-function = "smbalert#";
        adi,pin14-function = "tach4";
        #pwm-cells = <4>;

        /* PWMs at 22.5 kHz frequency, 50% duty*/
        fan-0 {
          pwms = <&pwm 0 44444 0 22222>;
        };

        fan-1 {
          pwms = <&pwm 2 44444 0 22222>;
        };
      };
    };
