162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/thermal/generic-adc-thermal.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: General Purpose Analog To Digital Converter (ADC) based thermal sensor
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Laxman Dewangan <ldewangan@nvidia.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  On some of platforms, thermal sensor like thermistors are connected to
1462306a36Sopenharmony_ci  one of ADC channel and sensor resistance is read via voltage across the
1562306a36Sopenharmony_ci  sensor resistor. The voltage read across the sensor is mapped to
1662306a36Sopenharmony_ci  temperature using voltage-temperature lookup table.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciproperties:
1962306a36Sopenharmony_ci  compatible:
2062306a36Sopenharmony_ci    const: generic-adc-thermal
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  '#thermal-sensor-cells':
2362306a36Sopenharmony_ci    const: 0
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  io-channels:
2662306a36Sopenharmony_ci    maxItems: 1
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  io-channel-names:
2962306a36Sopenharmony_ci    const: sensor-channel
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  temperature-lookup-table:
3262306a36Sopenharmony_ci    description: |
3362306a36Sopenharmony_ci      Lookup table to map the relation between ADC value and temperature.
3462306a36Sopenharmony_ci      When ADC is read, the value is looked up on the table to get the
3562306a36Sopenharmony_ci      equivalent temperature.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci      If not specified, driver assumes the ADC channel gives milliCelsius
3862306a36Sopenharmony_ci      directly.
3962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/int32-matrix
4062306a36Sopenharmony_ci    items:
4162306a36Sopenharmony_ci      items:
4262306a36Sopenharmony_ci        - description: Temperature in milliCelsius
4362306a36Sopenharmony_ci        - description: ADC read value
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_cirequired:
4662306a36Sopenharmony_ci  - compatible
4762306a36Sopenharmony_ci  - '#thermal-sensor-cells'
4862306a36Sopenharmony_ci  - io-channels
4962306a36Sopenharmony_ci  - io-channel-names
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciadditionalProperties: false
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciexamples:
5462306a36Sopenharmony_ci  - |
5562306a36Sopenharmony_ci    #include <dt-bindings/thermal/thermal.h>
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci    thermal-sensor {
5862306a36Sopenharmony_ci        compatible = "generic-adc-thermal";
5962306a36Sopenharmony_ci        #thermal-sensor-cells = <0>;
6062306a36Sopenharmony_ci        io-channels = <&ads1015 1>;
6162306a36Sopenharmony_ci        io-channel-names = "sensor-channel";
6262306a36Sopenharmony_ci        temperature-lookup-table = <
6362306a36Sopenharmony_ci              (-40000) 2578
6462306a36Sopenharmony_ci              (-39000) 2577
6562306a36Sopenharmony_ci              (-38000) 2576
6662306a36Sopenharmony_ci              (-37000) 2575
6762306a36Sopenharmony_ci              (-36000) 2574
6862306a36Sopenharmony_ci              (-35000) 2573
6962306a36Sopenharmony_ci              (-34000) 2572
7062306a36Sopenharmony_ci              (-33000) 2571
7162306a36Sopenharmony_ci              (-32000) 2569
7262306a36Sopenharmony_ci              (-31000) 2568
7362306a36Sopenharmony_ci              (-30000) 2567
7462306a36Sopenharmony_ci              /* skip */
7562306a36Sopenharmony_ci              118000 254
7662306a36Sopenharmony_ci              119000 247
7762306a36Sopenharmony_ci              120000 240
7862306a36Sopenharmony_ci              121000 233
7962306a36Sopenharmony_ci              122000 226
8062306a36Sopenharmony_ci              123000 220
8162306a36Sopenharmony_ci              124000 214
8262306a36Sopenharmony_ci              125000 208>;
8362306a36Sopenharmony_ci    };
8462306a36Sopenharmony_ci...
85