Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) Kernel driver lm83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)   * National Semiconductor LM83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)     Prefix: 'lm83'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)     Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)     Datasheet: Publicly available at the National Semiconductor website
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	       http://www.national.com/pf/LM/LM83.html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)   * National Semiconductor LM82
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)     Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)     Datasheet: Publicly available at the National Semiconductor website
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	       http://www.national.com/pf/LM/LM82.html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Author: Jean Delvare <jdelvare@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) The LM83 is a digital temperature sensor. It senses its own temperature as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) well as the temperature of up to three external diodes. The LM82 is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) a stripped down version of the LM83 that only supports one external diode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Both are compatible with many other devices such as the LM84 and all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) other ADM1021 clones. The main difference between the LM83 and the LM84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) in that the later can only sense the temperature of one external diode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Using the adm1021 driver for a LM83 should work, but only two temperatures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) will be reported instead of four.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) The LM83 is only found on a handful of motherboards. Both a confirmed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) list and an unconfirmed list follow. If you can confirm or infirm the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) fact that any of these motherboards do actually have an LM83, please
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) contact us. Note that the LM90 can easily be misdetected as a LM83.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Confirmed motherboards:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)     ===		=====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)     SBS         P014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)     SBS         PSL09
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)     ===		=====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Unconfirmed motherboards:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)     =========== ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)     Gigabyte    GA-8IK1100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)     Iwill       MPX2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)     Soltek      SL-75DRV5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)     =========== ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) The LM82 is confirmed to have been found on most AMD Geode reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) designs and test platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) The driver has been successfully tested by Magnus Forsström, who I'd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) like to thank here. More testers will be of course welcome.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) The fact that the LM83 is only scarcely used can be easily explained.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Most motherboards come with more than just temperature sensors for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) health monitoring. They also have voltage and fan rotation speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) sensors. This means that temperature-only chips are usually used as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) secondary chips coupled with another chip such as an IT8705F or similar
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) chip, which provides more features. Since systems usually need three
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) temperature sensors (motherboard, processor, power supply) and primary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) chips provide some temperature sensors, the secondary chip, if needed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) won't have to handle more than two temperatures. Thus, ADM1021 clones
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) are sufficient, and there is no need for a four temperatures sensor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) chip such as the LM83. The only case where using an LM83 would make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) sense is on SMP systems, such as the above-mentioned Iwill MPX2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) because you want an additional temperature sensor for each additional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) CPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) On the SBS P014, this is different, since the LM83 is the only hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) monitoring chipset. One temperature sensor is used for the motherboard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) (actually measuring the LM83's own temperature), one is used for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) CPU. The two other sensors must be used to measure the temperature of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) two other points of the motherboard. We suspect these points to be the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) north and south bridges, but this couldn't be confirmed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) All temperature values are given in degrees Celsius. Local temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) is given within a range of 0 to +85 degrees. Remote temperatures are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) given within a range of 0 to +125 degrees. Resolution is 1.0 degree,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) accuracy is guaranteed to 3.0 degrees (see the datasheet for more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) details).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) Each sensor has its own high limit, but the critical limit is common to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) all four sensors. There is no hysteresis mechanism as found on most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) recent temperature sensors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) The lm83 driver will not update its values more frequently than every
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) other second; reading them more often will do no harm, but will return
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) 'old' values.