1Kernel driver lm73 2================== 3 4Supported chips: 5 6 * Texas Instruments LM73 7 8 Prefix: 'lm73' 9 10 Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e 11 12 Datasheet: Publicly available at the Texas Instruments website 13 14 https://www.ti.com/product/lm73 15 16 17Author: Guillaume Ligneul <guillaume.ligneul@gmail.com> 18 19Documentation: Chris Verges <kg4ysn@gmail.com> 20 21 22Description 23----------- 24 25The LM73 is a digital temperature sensor. All temperature values are 26given in degrees Celsius. 27 28Measurement Resolution Support 29------------------------------ 30 31The LM73 supports four resolutions, defined in terms of degrees C per 32LSB: 0.25, 0.125, 0.0625, and 0.3125. Changing the resolution mode 33affects the conversion time of the LM73's analog-to-digital converter. 34From userspace, the desired resolution can be specified as a function of 35conversion time via the 'update_interval' sysfs attribute for the 36device. This attribute will normalize ranges of input values to the 37maximum times defined for the resolution in the datasheet. 38 39 ============= ============= ============ 40 Resolution Conv. Time Input Range 41 (C/LSB) (msec) (msec) 42 ============= ============= ============ 43 0.25 14 0..14 44 0.125 28 15..28 45 0.0625 56 29..56 46 0.03125 112 57..infinity 47 ============= ============= ============ 48 49The following examples show how the 'update_interval' attribute can be 50used to change the conversion time:: 51 52 $ echo 0 > update_interval 53 $ cat update_interval 54 14 55 $ cat temp1_input 56 24250 57 58 $ echo 22 > update_interval 59 $ cat update_interval 60 28 61 $ cat temp1_input 62 24125 63 64 $ echo 56 > update_interval 65 $ cat update_interval 66 56 67 $ cat temp1_input 68 24062 69 70 $ echo 85 > update_interval 71 $ cat update_interval 72 112 73 $ cat temp1_input 74 24031 75 76As shown here, the lm73 driver automatically adjusts any user input for 77'update_interval' via a step function. Reading back the 78'update_interval' value after a write operation will confirm the 79conversion time actively in use. 80 81Mathematically, the resolution can be derived from the conversion time 82via the following function: 83 84 g(x) = 0.250 * [log(x/14) / log(2)] 85 86where 'x' is the output from 'update_interval' and 'g(x)' is the 87resolution in degrees C per LSB. 88 89Alarm Support 90------------- 91 92The LM73 features a simple over-temperature alarm mechanism. This 93feature is exposed via the sysfs attributes. 94 95The attributes 'temp1_max_alarm' and 'temp1_min_alarm' are flags 96provided by the LM73 that indicate whether the measured temperature has 97passed the 'temp1_max' and 'temp1_min' thresholds, respectively. These 98values _must_ be read to clear the registers on the LM73. 99