| 1 | Kernel driver `xeontemp.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: Complete; tested for most devices except Xeon. |
|---|
| 5 | |
|---|
| 6 | Supported chips: |
|---|
| 7 | * Intel Xeon and other processors |
|---|
| 8 | Prefix: 'xeontemp' |
|---|
| 9 | Addresses scanned: I2C 0x18, 0x1a, 0x29, 0x2b, 0x4c, 0x4e |
|---|
| 10 | Datasheets: Publicly available at the Intel website |
|---|
| 11 | See the adm1021 document for additional references |
|---|
| 12 | |
|---|
| 13 | Authors: Frodo Looijaard <frodol@dds.nl>,Philip Edelbrock |
|---|
| 14 | <phil@netroedge.com>, and Mark D. Studebaker (mdsxyz123@yahoo.com) |
|---|
| 15 | |
|---|
| 16 | License: GPL |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | Module Parameters |
|---|
| 20 | ----------------- |
|---|
| 21 | |
|---|
| 22 | * force: short array (min = 1, max = 48) |
|---|
| 23 | List of adapter,address pairs to boldly assume to be present |
|---|
| 24 | * force_xeontemp: short array (min = 1, max = 48) |
|---|
| 25 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 26 | a `xeontemp' chip |
|---|
| 27 | * probe: short array (min = 1, max = 48) |
|---|
| 28 | List of adapter,address pairs to scan additionally |
|---|
| 29 | * probe_range: short array (min = 1, max = 48) |
|---|
| 30 | List of adapter,start-addr,end-addr triples to scan additionally |
|---|
| 31 | * ignore: short array (min = 1, max = 48) |
|---|
| 32 | List of adapter,address pairs not to scan |
|---|
| 33 | * ignore_range: short array (min = 1, max = 48) |
|---|
| 34 | List of adapter,start-addr,end-addr triples not to scan |
|---|
| 35 | * read_only: int |
|---|
| 36 | Don't set any values, read only mode |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | Description |
|---|
| 40 | ----------- |
|---|
| 41 | |
|---|
| 42 | Many Xeons and other Intel processors have an embedded i2c temperature |
|---|
| 43 | sensor that look very similar to an adm1021 or max1617. |
|---|
| 44 | |
|---|
| 45 | Some Xeons have honest to goodness, real live, actual MAX1617 chips on |
|---|
| 46 | them. Others Xeons made around the same time have other ADM1021 |
|---|
| 47 | compatible chips on them. They are mounted on the CPU substrate along |
|---|
| 48 | with the processor information EEPROM that is part of that generation of |
|---|
| 49 | Xeon CPU's. |
|---|
| 50 | |
|---|
| 51 | So it's basically impossible to tell a Xeon TEMP sensor from a MAX1617 |
|---|
| 52 | since they are in fact the same chip. The Xeon Temperature sensors spec |
|---|
| 53 | is just a stripped down register spec for the ADM1021 that says the |
|---|
| 54 | "on-board" or "built-in" sensor registers are "reserved". That way |
|---|
| 55 | Intel could substitute whatever ADM1021 compatible chip was cheapest at |
|---|
| 56 | the time when they built the CPU's. |
|---|
| 57 | |
|---|
| 58 | One reason to use the xeontemp driver is if, when Intel built your |
|---|
| 59 | particular Xeon's, they didn't use any of the ADM1021 compatible chips |
|---|
| 60 | that the ADM1021 driver recognizes. In that case, using the xeontemp |
|---|
| 61 | driver will get you the temperatures you want without potentially |
|---|
| 62 | messing up something in the sensor. |
|---|
| 63 | |
|---|
| 64 | Another reason is to avoid having 'sensors' report the second |
|---|
| 65 | temperature. |
|---|
| 66 | |
|---|
| 67 | Unfortunately, the 533MHz FSB Xeon's, dropped the on-board sensor chip. |
|---|
| 68 | So these new Xeons require a sensor on the motherboard to be connected |
|---|
| 69 | to the thermal diode to read the temperature. But these 533MHz capable |
|---|
| 70 | motherboards can also accept 400MHz CPU's with the on-board sensor so it |
|---|
| 71 | gets confusing in a hurry for motherboard vendors and users. |
|---|
| 72 | |
|---|
| 73 | If you have 400MHz FSB P4 Xeon CPU's, you should have an on-CPU ADM1021 |
|---|
| 74 | compatible sensor at 0x18 or 0x19. In that case, use the ADM1021 driver |
|---|
| 75 | if it detects a chip at that address. The CPU DIE temperature (Tj) will |
|---|
| 76 | be the "REMOTE" temperature from this sensor. The "Board" or "built-in" |
|---|
| 77 | temperature from the ADM1021 will be the temperature of the ADM1021 |
|---|
| 78 | compatible itself which is one of the chips you see on the side of the CPU. |
|---|
| 79 | |
|---|
| 80 | If you have sensors at 0x18 and 0x19 that are not detected by the |
|---|
| 81 | ADM1021, and you have 400MHz Xeons, then you may want to try the |
|---|
| 82 | xeontemp driver. |
|---|
| 83 | |
|---|
| 84 | If you have 533MHZ FSB Xeons, then you do *not* have an on-board thermal |
|---|
| 85 | sensor and you should look for CPU temperatures from the other sensors |
|---|
| 86 | on your motherboard. (Winbond chip for example). |
|---|
| 87 | |
|---|
| 88 | If you have an Intel Xeon processor, and sensors-detect recommended |
|---|
| 89 | the adm1021 driver, and the address is one of |
|---|
| 90 | 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e, and when using the |
|---|
| 91 | adm1021 driver, temp1 is invalid but temp2 looks correct, then |
|---|
| 92 | it is likely you should use the xeontemp driver instead. |
|---|
| 93 | |
|---|
| 94 | If you have dual Xeons you may have appear to have two separate |
|---|
| 95 | adm1021-compatible chips, or two single-temperature sensors, |
|---|
| 96 | at distinct addresses. |
|---|
| 97 | |
|---|
| 98 | In summary, the xeontemp module supports one temperature and the |
|---|
| 99 | adm1021 module supports two. Use the module that works best for you. |
|---|
| 100 | |
|---|
| 101 | See the adm1021 documentation for more information. |
|---|
| 102 | |
|---|
| 103 | |
|---|
| 104 | Author/Maintainer |
|---|
| 105 | ----------------- |
|---|
| 106 | Mark D. Studebaker (mdsxyz123@yahoo.com). |
|---|
| 107 | Derived from the adm1021 driver. |
|---|
| 108 | Thanks to Philip Pokorny for help with this document. |
|---|