# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/thermal/qcom-spmi-adc-tm-hc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm's SPMI PMIC ADC HC Thermal Monitoring
maintainers:
  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

properties:
  compatible:
    const: qcom,spmi-adc-tm-hc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  "#thermal-sensor-cells":
    const: 1
    description:
      Number of cells required to uniquely identify the thermal sensors. Since
      we have multiple sensors this is set to 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  qcom,avg-samples:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of samples to be used for measurement.
    enum:
      - 1
      - 2
      - 4
      - 8
      - 16
    default: 1

  qcom,decimation:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: This parameter is used to decrease ADC sampling rate.
            Quicker measurements can be made by reducing decimation ratio.
    enum:
      - 256
      - 512
      - 1024
    default: 1024

patternProperties:
  "^([-a-z0-9]*)@[0-7]$":
    type: object
    description:
      Represent one thermal sensor.

    properties:
      reg:
        description: Specify the sensor channel. There are 8 channels in PMIC5's ADC TM
        minimum: 0
        maximum: 7

      io-channels:
        description:
          From common IIO binding. Used to pipe PMIC ADC channel to thermal monitor

      qcom,ratiometric:
        $ref: /schemas/types.yaml#/definitions/flag
        description:
          Channel calibration type.
          If this property is specified VADC will use the VDD reference
          (1.875V) and GND for channel calibration. If property is not found,
          channel will be calibrated with 0V and 1.25V reference channels,
          also known as absolute calibration.

      qcom,hw-settle-time-us:
        description: Time between AMUX getting configured and the ADC starting conversion.
        enum: [0, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000, 6000, 8000, 10000]

      qcom,pre-scaling:
        $ref: /schemas/types.yaml#/definitions/uint32-array
        description: Used for scaling the channel input signal before the
          signal is fed to VADC. The configuration for this node is to know the
          pre-determined ratio and use it for post scaling. It is a pair of
          integers, denoting the numerator and denominator of the fraction by
          which input signal is multiplied. For example, <1 3> indicates the
          signal is scaled down to 1/3 of its value before ADC measurement.  If
          property is not found default value depending on chip will be used.
        items:
          - const: 1
          - enum: [ 1, 3, 4, 6, 20, 8, 10 ]

    required:
      - reg
      - io-channels

    additionalProperties:
      false

required:
  - compatible
  - reg
  - interrupts
  - "#address-cells"
  - "#size-cells"
  - "#thermal-sensor-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/iio/qcom,spmi-vadc.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    spmi_bus {
        #address-cells = <1>;
        #size-cells = <0>;
        pm8998_adc: adc@3100 {
            reg = <0x3100>;
            compatible = "qcom,spmi-adc-rev2";
            #address-cells = <1>;
            #size-cells = <0>;
            #io-channel-cells = <1>;

            /* Other propreties are omitted */
            adc-chan@4c {
                reg = <ADC5_XO_THERM_100K_PU>;
            };
        };

        pm8998_adc_tm: adc-tm@3400 {
            compatible = "qcom,spmi-adc-tm-hc";
            reg = <0x3400>;
            interrupts = <0x2 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
            #thermal-sensor-cells = <1>;
            #address-cells = <1>;
            #size-cells = <0>;

            thermistor@1 {
                reg = <1>;
                io-channels = <&pm8998_adc ADC5_XO_THERM_100K_PU>;
                qcom,ratiometric;
                qcom,hw-settle-time-us = <200>;
            };
        };
    };
...
