187f9fe8cSRob Herring# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
287f9fe8cSRob Herring%YAML 1.2
387f9fe8cSRob Herring---
487f9fe8cSRob Herring$id: http://devicetree.org/schemas/thermal/generic-adc-thermal.yaml#
587f9fe8cSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
687f9fe8cSRob Herring
787f9fe8cSRob Herringtitle: General Purpose Analog To Digital Converter (ADC) based thermal sensor
887f9fe8cSRob Herring
987f9fe8cSRob Herringmaintainers:
1087f9fe8cSRob Herring  - Laxman Dewangan <ldewangan@nvidia.com>
1187f9fe8cSRob Herring
1287f9fe8cSRob Herringdescription:
1387f9fe8cSRob Herring  On some of platforms, thermal sensor like thermistors are connected to
1487f9fe8cSRob Herring  one of ADC channel and sensor resistance is read via voltage across the
1587f9fe8cSRob Herring  sensor resistor. The voltage read across the sensor is mapped to
1687f9fe8cSRob Herring  temperature using voltage-temperature lookup table.
1787f9fe8cSRob Herring
18*2410427cSKrzysztof Kozlowski$ref: thermal-sensor.yaml#
19*2410427cSKrzysztof Kozlowski
2087f9fe8cSRob Herringproperties:
2187f9fe8cSRob Herring  compatible:
2287f9fe8cSRob Herring    const: generic-adc-thermal
2387f9fe8cSRob Herring
2487f9fe8cSRob Herring  '#thermal-sensor-cells':
2587f9fe8cSRob Herring    const: 0
2687f9fe8cSRob Herring
2787f9fe8cSRob Herring  io-channels:
2887f9fe8cSRob Herring    maxItems: 1
2987f9fe8cSRob Herring
3087f9fe8cSRob Herring  io-channel-names:
3187f9fe8cSRob Herring    const: sensor-channel
3287f9fe8cSRob Herring
3387f9fe8cSRob Herring  temperature-lookup-table:
3487f9fe8cSRob Herring    description: |
3587f9fe8cSRob Herring      Lookup table to map the relation between ADC value and temperature.
3687f9fe8cSRob Herring      When ADC is read, the value is looked up on the table to get the
3787f9fe8cSRob Herring      equivalent temperature.
3887f9fe8cSRob Herring
3987f9fe8cSRob Herring      If not specified, driver assumes the ADC channel gives milliCelsius
4087f9fe8cSRob Herring      directly.
4187f9fe8cSRob Herring    $ref: /schemas/types.yaml#/definitions/int32-matrix
4287f9fe8cSRob Herring    items:
4387f9fe8cSRob Herring      items:
4487f9fe8cSRob Herring        - description: Temperature in milliCelsius
4587f9fe8cSRob Herring        - description: ADC read value
4687f9fe8cSRob Herring
4787f9fe8cSRob Herringrequired:
4887f9fe8cSRob Herring  - compatible
4987f9fe8cSRob Herring  - io-channels
5087f9fe8cSRob Herring  - io-channel-names
5187f9fe8cSRob Herring
52*2410427cSKrzysztof KozlowskiunevaluatedProperties: false
5387f9fe8cSRob Herring
5487f9fe8cSRob Herringexamples:
5587f9fe8cSRob Herring  - |
5687f9fe8cSRob Herring    #include <dt-bindings/thermal/thermal.h>
5787f9fe8cSRob Herring
5887f9fe8cSRob Herring    thermal-sensor {
5987f9fe8cSRob Herring        compatible = "generic-adc-thermal";
6087f9fe8cSRob Herring        #thermal-sensor-cells = <0>;
6187f9fe8cSRob Herring        io-channels = <&ads1015 1>;
6287f9fe8cSRob Herring        io-channel-names = "sensor-channel";
6387f9fe8cSRob Herring        temperature-lookup-table = <
6487f9fe8cSRob Herring              (-40000) 2578
6587f9fe8cSRob Herring              (-39000) 2577
6687f9fe8cSRob Herring              (-38000) 2576
6787f9fe8cSRob Herring              (-37000) 2575
6887f9fe8cSRob Herring              (-36000) 2574
6987f9fe8cSRob Herring              (-35000) 2573
7087f9fe8cSRob Herring              (-34000) 2572
7187f9fe8cSRob Herring              (-33000) 2571
7287f9fe8cSRob Herring              (-32000) 2569
7387f9fe8cSRob Herring              (-31000) 2568
7487f9fe8cSRob Herring              (-30000) 2567
7587f9fe8cSRob Herring              /* skip */
7687f9fe8cSRob Herring              118000 254
7787f9fe8cSRob Herring              119000 247
7887f9fe8cSRob Herring              120000 240
7987f9fe8cSRob Herring              121000 233
8087f9fe8cSRob Herring              122000 226
8187f9fe8cSRob Herring              123000 220
8287f9fe8cSRob Herring              124000 214
8387f9fe8cSRob Herring              125000 208>;
8487f9fe8cSRob Herring    };
8587f9fe8cSRob Herring...
86