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 lm78
^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 LM78 / LM78-J
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)     Prefix: 'lm78'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)     Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
^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/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)   * National Semiconductor LM79
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)     Prefix: 'lm79'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)     Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)     Datasheet: Publicly available at the National Semiconductor website
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	       http://www.national.com/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	- Frodo Looijaard <frodol@dds.nl>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	- Jean Delvare <jdelvare@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) This driver implements support for the National Semiconductor LM78, LM78-J
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) and LM79. They are described as 'Microprocessor System Hardware Monitors'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) There is almost no difference between the three supported chips. Functionally,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) the LM78 and LM78-J are exactly identical. The LM79 has one more VID line,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) which is used to report the lower voltages newer Pentium processors use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) From here on, LM7* means either of these three types.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) The LM7* implements one temperature sensor, three fan rotation speed sensors,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) seven voltage sensors, VID lines, alarms, and some miscellaneous stuff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Temperatures are measured in degrees Celsius. An alarm is triggered once
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) when the Overtemperature Shutdown limit is crossed; it is triggered again
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) as soon as it drops below the Hysteresis value. A more useful behavior
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) can be found by setting the Hysteresis value to +127 degrees Celsius; in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) this case, alarms are issued during all the time when the actual temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) is above the Overtemperature Shutdown value. Measurements are guaranteed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) between -55 and +125 degrees, with a resolution of 1 degree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) triggered if the rotation speed has dropped below a programmable limit. Fan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) readings can be divided by a programmable divider (1, 2, 4 or 8) to give
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) the readings more range or accuracy. Not all RPM values can accurately be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) represented, so some rounding is done. With a divider of 2, the lowest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) representable value is around 2600 RPM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Voltage sensors (also known as IN sensors) report their values in volts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) An alarm is triggered if the voltage has crossed a programmable minimum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) or maximum limit. Note that minimum in this case always means 'closest to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) zero'; this is important for negative voltage measurements. All voltage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) inputs can measure voltages between 0 and 4.08 volts, with a resolution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) of 0.016 volt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) The VID lines encode the core voltage value: the voltage level your processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) should work with. This is hardcoded by the mainboard and/or processor itself.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) It is a value in volts. When it is unconnected, you will often find the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) value 3.50 V here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) If an alarm triggers, it will remain triggered until the hardware register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) is read at least once. This means that the cause for the alarm may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) already have disappeared! Note that in the current implementation, all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) hardware registers are read whenever any data is read (unless it is less
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) than 1.5 seconds since the last update). This means that you can easily
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) miss once-only alarms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) The LM7* only updates its values each 1.5 seconds; reading it more often
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) will do no harm, but will return 'old' values.