cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

thermal-generic-adc.txt (2488B)


      1General Purpose Analog To Digital Converter (ADC) based thermal sensor.
      2
      3On some of platforms, thermal sensor like thermistors are connected to
      4one of ADC channel and sensor resistance is read via voltage across the
      5sensor resistor. The voltage read across the sensor is mapped to
      6temperature using voltage-temperature lookup table.
      7
      8Required 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.
     13Optional 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
     28Example :
     29#include <dt-bindings/thermal/thermal.h>
     30
     31i2c@7000c400 {
     32	ads1015: ads1015@4a {
     33		reg = <0x4a>;
     34		compatible = "ads1015";
     35		sampling-frequency = <3300>;
     36		#io-channel-cells = <1>;
     37	};
     38};
     39
     40tboard_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
     67dummy_cool_dev: dummy-cool-dev {
     68	compatible = "dummy-cooling-dev";
     69	#cooling-cells = <2>; /* min followed by max */
     70};
     71
     72thermal-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};