R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 1 | Kernel driver lm63 |
| 2 | ================== |
| 3 | |
| 4 | Supported chips: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 5 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 6 | * National Semiconductor LM63 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 7 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 8 | Prefix: 'lm63' |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 9 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 10 | Addresses scanned: I2C 0x4c |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 11 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 12 | Datasheet: Publicly available at the National Semiconductor website |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 13 | |
| 14 | http://www.national.com/pf/LM/LM63.html |
| 15 | |
Matthew Garrett | 10f2ed3 | 2010-05-27 19:58:38 +0200 | [diff] [blame] | 16 | * National Semiconductor LM64 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 17 | |
Matthew Garrett | 10f2ed3 | 2010-05-27 19:58:38 +0200 | [diff] [blame] | 18 | Prefix: 'lm64' |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 19 | |
Matthew Garrett | 10f2ed3 | 2010-05-27 19:58:38 +0200 | [diff] [blame] | 20 | Addresses scanned: I2C 0x18 and 0x4e |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 21 | |
Matthew Garrett | 10f2ed3 | 2010-05-27 19:58:38 +0200 | [diff] [blame] | 22 | Datasheet: Publicly available at the National Semiconductor website |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 23 | |
| 24 | http://www.national.com/pf/LM/LM64.html |
| 25 | |
Guenter Roeck | 210961c | 2012-01-16 22:51:45 +0100 | [diff] [blame] | 26 | * National Semiconductor LM96163 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 27 | |
Guenter Roeck | 210961c | 2012-01-16 22:51:45 +0100 | [diff] [blame] | 28 | Prefix: 'lm96163' |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 29 | |
Guenter Roeck | 210961c | 2012-01-16 22:51:45 +0100 | [diff] [blame] | 30 | Addresses scanned: I2C 0x4c |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 31 | |
Guenter Roeck | 210961c | 2012-01-16 22:51:45 +0100 | [diff] [blame] | 32 | Datasheet: Publicly available at the National Semiconductor website |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 33 | |
| 34 | http://www.national.com/pf/LM/LM96163.html |
| 35 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 36 | |
Jean Delvare | 7c81c60f | 2014-01-29 20:40:08 +0100 | [diff] [blame] | 37 | Author: Jean Delvare <jdelvare@suse.de> |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 38 | |
| 39 | Thanks go to Tyan and especially Alex Buckingham for setting up a remote |
| 40 | access to their S4882 test platform for this driver. |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 41 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 42 | http://www.tyan.com/ |
| 43 | |
| 44 | Description |
| 45 | ----------- |
| 46 | |
| 47 | The LM63 is a digital temperature sensor with integrated fan monitoring |
| 48 | and control. |
| 49 | |
| 50 | The LM63 is basically an LM86 with fan speed monitoring and control |
| 51 | capabilities added. It misses some of the LM86 features though: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 52 | |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 53 | - No low limit for local temperature. |
| 54 | - No critical limit for local temperature. |
| 55 | - Critical limit for remote temperature can be changed only once. We |
| 56 | will consider that the critical limit is read-only. |
| 57 | |
| 58 | The datasheet isn't very clear about what the tachometer reading is. |
| 59 | |
| 60 | An explanation from National Semiconductor: The two lower bits of the read |
| 61 | value have to be masked out. The value is still 16 bit in width. |
| 62 | |
| 63 | All temperature values are given in degrees Celsius. Resolution is 1.0 |
| 64 | degree for the local temperature, 0.125 degree for the remote temperature. |
| 65 | |
| 66 | The fan speed is measured using a tachometer. Contrary to most chips which |
| 67 | store the value in an 8-bit register and have a selectable clock divider |
| 68 | to make sure that the result will fit in the register, the LM63 uses 16-bit |
| 69 | value for measuring the speed of the fan. It can measure fan speeds down to |
| 70 | 83 RPM, at least in theory. |
| 71 | |
| 72 | Note that the pin used for fan monitoring is shared with an alert out |
| 73 | function. Depending on how the board designer wanted to use the chip, fan |
| 74 | speed monitoring will or will not be possible. The proper chip configuration |
Jean Delvare | 409c0b5 | 2012-01-16 22:51:46 +0100 | [diff] [blame] | 75 | is left to the BIOS, and the driver will blindly trust it. Only the original |
| 76 | LM63 suffers from this limitation, the LM64 and LM96163 have separate pins |
| 77 | for fan monitoring and alert out. On the LM64, monitoring is always enabled; |
| 78 | on the LM96163 it can be disabled. |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 79 | |
| 80 | A PWM output can be used to control the speed of the fan. The LM63 has two |
| 81 | PWM modes: manual and automatic. Automatic mode is not fully implemented yet |
| 82 | (you cannot define your custom PWM/temperature curve), and mode change isn't |
| 83 | supported either. |
| 84 | |
Guenter Roeck | 04738b2 | 2012-01-16 22:51:46 +0100 | [diff] [blame] | 85 | The lm63 driver will not update its values more frequently than configured with |
| 86 | the update_interval sysfs attribute; reading them more often will do no harm, |
Jean Delvare | d216f68 | 2012-01-16 22:51:47 +0100 | [diff] [blame] | 87 | but will return 'old' values. Values in the automatic fan control lookup table |
| 88 | (attributes pwm1_auto_*) have their own independent lifetime of 5 seconds. |
R.Marek@sh.cvut.cz | 7f15b66 | 2005-05-26 12:42:19 +0000 | [diff] [blame] | 89 | |
Matthew Garrett | 10f2ed3 | 2010-05-27 19:58:38 +0200 | [diff] [blame] | 90 | The LM64 is effectively an LM63 with GPIO lines. The driver does not |
| 91 | support these GPIO lines at present. |
Guenter Roeck | 210961c | 2012-01-16 22:51:45 +0100 | [diff] [blame] | 92 | |
| 93 | The LM96163 is an enhanced version of LM63 with improved temperature accuracy |
Guenter Roeck | f496b2d | 2012-01-16 22:51:46 +0100 | [diff] [blame] | 94 | and better PWM resolution. For LM96163, the external temperature sensor type is |
| 95 | configurable as CPU embedded diode(1) or 3904 transistor(2). |