The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/thermal/thermal-generic-adc.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 General Purpose Analog To Digital Converter (ADC) based thermal sensor.
    2 
    3 On some of platforms, thermal sensor like thermistors are connected to
    4 one of ADC channel and sensor resistance is read via voltage across the
    5 sensor resistor. The voltage read across the sensor is mapped to
    6 temperature using voltage-temperature lookup table.
    7 
    8 Required properties:
    9 ===================
   10 - compatible:                Must be "generic-adc-thermal".
   11 - #thermal-sensor-cells:     Should be 1. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description
   12                              of this property.
   13 Optional properties:
   14 ===================
   15 - temperature-lookup-table:  Two dimensional array of Integer; lookup table
   16                              to map the relation between ADC value and
   17                              temperature. When ADC is read, the value is
   18                              looked up on the table to get the equivalent
   19                              temperature.
   20 
   21                              The first value of the each row of array is the
   22                              temperature in milliCelsius and second value of
   23                              the each row of array is the ADC read value.
   24 
   25                              If not specified, driver assumes the ADC channel
   26                              gives milliCelsius directly.
   27 
   28 Example :
   29 #include <dt-bindings/thermal/thermal.h>
   30 
   31 i2c@7000c400 {
   32         ads1015: ads1015@4a {
   33                 reg = <0x4a>;
   34                 compatible = "ads1015";
   35                 sampling-frequency = <3300>;
   36                 #io-channel-cells = <1>;
   37         };
   38 };
   39 
   40 tboard_thermistor: thermal-sensor {
   41         compatible = "generic-adc-thermal";
   42         #thermal-sensor-cells = <0>;
   43         io-channels = <&ads1015 1>;
   44         io-channel-names = "sensor-channel";
   45         temperature-lookup-table = <    (-40000) 2578
   46                                         (-39000) 2577
   47                                         (-38000) 2576
   48                                         (-37000) 2575
   49                                         (-36000) 2574
   50                                         (-35000) 2573
   51                                         (-34000) 2572
   52                                         (-33000) 2571
   53                                         (-32000) 2569
   54                                         (-31000) 2568
   55                                         (-30000) 2567
   56                                         ::::::::::
   57                                         118000 254
   58                                         119000 247
   59                                         120000 240
   60                                         121000 233
   61                                         122000 226
   62                                         123000 220
   63                                         124000 214
   64                                         125000 208>;
   65 };
   66 
   67 dummy_cool_dev: dummy-cool-dev {
   68         compatible = "dummy-cooling-dev";
   69         #cooling-cells = <2>; /* min followed by max */
   70 };
   71 
   72 thermal-zones {
   73         Tboard {
   74                 polling-delay = <15000>; /* milliseconds */
   75                 polling-delay-passive = <0>; /* milliseconds */
   76                 thermal-sensors = <&tboard_thermistor>;
   77 
   78                 trips {
   79                         therm_est_trip: therm_est_trip {
   80                                 temperature = <40000>;
   81                                 type = "active";
   82                                 hysteresis = <1000>;
   83                         };
   84                 };
   85 
   86                 cooling-maps {
   87                         map0 {
   88                                 trip = <&therm_est_trip>;
   89                                 cooling-device = <&dummy_cool_dev THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   90                                 contribution = <100>;
   91                         };
   92 
   93                 };
   94         };
   95 };

Cache object: c88eea4115eee9adb0443f60a4890119


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.