Loading Documentation/feature-removal-schedule.txt +10 −0 Original line number Diff line number Diff line Loading @@ -83,3 +83,13 @@ Why: Deprecated in favour of the new ioctl-based rawiso interface, which is more efficient. You should really be using libraw1394 for raw1394 access anyway. Who: Jody McIntyre <scjody@steamballoon.com> --------------------------- What: i2c sysfs name change: in1_ref, vid deprecated in favour of cpu0_vid When: November 2005 Files: drivers/i2c/chips/adm1025.c, drivers/i2c/chips/adm1026.c Why: Match the other drivers' name for the same function, duplicate names will be available until removal of old names. Who: Grant Coady <gcoady@gmail.com> Documentation/i2c/busses/i2c-sis69x +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ I suspect that this driver could be made to work for the following SiS chipsets as well: 635, and 635T. If anyone owns a board with those chips AND is willing to risk crashing & burning an otherwise well-behaved kernel in the name of progress... please contact me at <mhoffman@lightlink.com> or via the project's mailing list: <sensors@stimpy.netroedge.com>. Please via the project's mailing list: <lm-sensors@lm-sensors.org>. Please send bug reports and/or success stories as well. Loading Documentation/i2c/chips/adm1021 0 → 100644 +111 −0 Original line number Diff line number Diff line Kernel driver adm1021 ===================== Supported chips: * Analog Devices ADM1021 Prefix: 'adm1021' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Analog Devices website * Analog Devices ADM1021A/ADM1023 Prefix: 'adm1023' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Analog Devices website * Genesys Logic GL523SM Prefix: 'gl523sm' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: * Intel Xeon Processor Prefix: - any other - may require 'force_adm1021' parameter Addresses scanned: none Datasheet: Publicly available at Intel website * Maxim MAX1617 Prefix: 'max1617' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Maxim website * Maxim MAX1617A Prefix: 'max1617a' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Maxim website * National Semiconductor LM84 Prefix: 'lm84' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the National Semiconductor website * Philips NE1617 Prefix: 'max1617' (probably detected as a max1617) Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Philips website * Philips NE1617A Prefix: 'max1617' (probably detected as a max1617) Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Philips website * TI THMC10 Prefix: 'thmc10' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the TI website * Onsemi MC1066 Prefix: 'mc1066' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Onsemi website Authors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com> Module Parameters ----------------- * read_only: int Don't set any values, read only mode Description ----------- The chips supported by this driver are very similar. The Maxim MAX1617 is the oldest; it has the problem that it is not very well detectable. The MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A. Ditto for the THMC10. From here on, we will refer to all these chips as ADM1021-clones. The ADM1021 and MAX1617A reports a die code, which is a sort of revision code. This can help us pinpoint problems; it is not very useful otherwise. ADM1021-clones implement two temperature sensors. One of them is internal, and measures the temperature of the chip itself; the other is external and is realised in the form of a transistor-like device. A special alarm indicates whether the remote sensor is connected. Each sensor has its own low and high limits. When they are crossed, the corresponding alarm is set and remains on as long as the temperature stays out of range. Temperatures are measured in degrees Celsius. Measurements are possible between -65 and +127 degrees, with a resolution of one degree. If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! This driver only updates its values each 1.5 seconds; reading it more often will do no harm, but will return 'old' values. It is possible to make ADM1021-clones do faster measurements, but there is really no good reason for that. Xeon support ------------ Some Xeon processors have real max1617, adm1021, or compatible chips within them, with two temperature sensors. Other Xeons have chips with only one sensor. If you have a Xeon, and the adm1021 module loads, and both temperatures appear valid, then things are good. If the adm1021 module doesn't load, you should try this: modprobe adm1021 force_adm1021=BUS,ADDRESS ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. If you have dual Xeons you may have appear to have two separate adm1021-compatible chips, or two single-temperature sensors, at distinct addresses. Documentation/i2c/chips/adm1025 0 → 100644 +51 −0 Original line number Diff line number Diff line Kernel driver adm1025 ===================== Supported chips: * Analog Devices ADM1025, ADM1025A Prefix: 'adm1025' Addresses scanned: I2C 0x2c - 0x2e Datasheet: Publicly available at the Analog Devices website * Philips NE1619 Prefix: 'ne1619' Addresses scanned: I2C 0x2c - 0x2d Datasheet: Publicly available at the Philips website The NE1619 presents some differences with the original ADM1025: * Only two possible addresses (0x2c - 0x2d). * No temperature offset register, but we don't use it anyway. * No INT mode for pin 16. We don't play with it anyway. Authors: Chen-Yuan Wu <gwu@esoft.com>, Jean Delvare <khali@linux-fr.org> Description ----------- (This is from Analog Devices.) The ADM1025 is a complete system hardware monitor for microprocessor-based systems, providing measurement and limit comparison of various system parameters. Five voltage measurement inputs are provided, for monitoring +2.5V, +3.3V, +5V and +12V power supplies and the processor core voltage. The ADM1025 can monitor a sixth power-supply voltage by measuring its own VCC. One input (two pins) is dedicated to a remote temperature-sensing diode and an on-chip temperature sensor allows ambient temperature to be monitored. One specificity of this chip is that the pin 11 can be hardwired in two different manners. It can act as the +12V power-supply voltage analog input, or as the a fifth digital entry for the VID reading (bit 4). It's kind of strange since both are useful, and the reason for designing the chip that way is obscure at least to me. The bit 5 of the configuration register can be used to define how the chip is hardwired. Please note that it is not a choice you have to make as the user. The choice was already made by your motherboard's maker. If the configuration bit isn't set properly, you'll have a wrong +12V reading or a wrong VID reading. The way the driver handles that is to preserve this bit through the initialization process, assuming that the BIOS set it up properly beforehand. If it turns out not to be true in some cases, we'll provide a module parameter to force modes. This driver also supports the ADM1025A, which differs from the ADM1025 only in that it has "open-drain VID inputs while the ADM1025 has on-chip 100k pull-ups on the VID inputs". It doesn't make any difference for us. Documentation/i2c/chips/adm1026 0 → 100644 +93 −0 Original line number Diff line number Diff line Kernel driver adm1026 ===================== Supported chips: * Analog Devices ADM1026 Prefix: 'adm1026' Addresses scanned: I2C 0x2c, 0x2d, 0x2e Datasheet: Publicly available at the Analog Devices website http://www.analog.com/en/prod/0,,766_825_ADM1026,00.html Authors: Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing Justin Thiessen <jthiessen@penguincomputing.com> Module Parameters ----------------- * gpio_input: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as inputs * gpio_output: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as outputs * gpio_inverted: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as inverted * gpio_normal: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as normal/non-inverted * gpio_fan: int array (min = 1, max = 8) List of GPIO pins (0-7) to program as fan tachs Description ----------- This driver implements support for the Analog Devices ADM1026. Analog Devices calls it a "complete thermal system management controller." The ADM1026 implements three (3) temperature sensors, 17 voltage sensors, 16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit), an analog output and a PWM output along with limit, alarm and mask bits for all of the above. There is even 8k bytes of EEPROM memory on chip. Temperatures are measured in degrees Celsius. There are two external sensor inputs and one internal sensor. Each sensor has a high and low limit. If the limit is exceeded, an interrupt (#SMBALERT) can be generated. The interrupts can be masked. In addition, there are over-temp limits for each sensor. If this limit is exceeded, the #THERM output will be asserted. The current temperature and limits have a resolution of 1 degree. Fan rotation speeds are reported in RPM (rotations per minute) but measured in counts of a 22.5kHz internal clock. Each fan has a high limit which corresponds to a minimum fan speed. If the limit is exceeded, an interrupt can be generated. Each fan can be programmed to divide the reference clock by 1, 2, 4 or 8. Not all RPM values can accurately be represented, so some rounding is done. With a divider of 8, the slowest measurable speed of a two pulse per revolution fan is 661 RPM. There are 17 voltage sensors. An alarm is triggered if the voltage has crossed a programmable minimum or maximum limit. Note that minimum in this case always means 'closest to zero'; this is important for negative voltage measurements. Several inputs have integrated attenuators so they can measure higher voltages directly. 3.3V, 5V, 12V, -12V and battery voltage all have dedicated inputs. There are several inputs scaled to 0-3V full-scale range for SCSI terminator power. The remaining inputs are not scaled and have a 0-2.5V full-scale range. A 2.5V or 1.82V reference voltage is provided for negative voltage measurements. If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! Note that in the current implementation, all hardware registers are read whenever any data is read (unless it is less than 2.0 seconds since the last update). This means that you can easily miss once-only alarms. The ADM1026 measures continuously. Analog inputs are measured about 4 times a second. Fan speed measurement time depends on fan speed and divisor. It can take as long as 1.5 seconds to measure all fan speeds. The ADM1026 has the ability to automatically control fan speed based on the temperature sensor inputs. Both the PWM output and the DAC output can be used to control fan speed. Usually only one of these two outputs will be used. Write the minimum PWM or DAC value to the appropriate control register. Then set the low temperature limit in the tmin values for each temperature sensor. The range of control is fixed at 20 °C, and the largest difference between current and tmin of the temperature sensors sets the control output. See the datasheet for several example circuits for controlling fan speed with the PWM and DAC outputs. The fan speed sensors do not have PWM compensation, so it is probably best to control the fan voltage from the power lead rather than on the ground lead. The datasheet shows an example application with VID signals attached to GPIO lines. Unfortunately, the chip may not be connected to the VID lines in this way. The driver assumes that the chips *is* connected this way to get a VID voltage. Loading
Documentation/feature-removal-schedule.txt +10 −0 Original line number Diff line number Diff line Loading @@ -83,3 +83,13 @@ Why: Deprecated in favour of the new ioctl-based rawiso interface, which is more efficient. You should really be using libraw1394 for raw1394 access anyway. Who: Jody McIntyre <scjody@steamballoon.com> --------------------------- What: i2c sysfs name change: in1_ref, vid deprecated in favour of cpu0_vid When: November 2005 Files: drivers/i2c/chips/adm1025.c, drivers/i2c/chips/adm1026.c Why: Match the other drivers' name for the same function, duplicate names will be available until removal of old names. Who: Grant Coady <gcoady@gmail.com>
Documentation/i2c/busses/i2c-sis69x +1 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ I suspect that this driver could be made to work for the following SiS chipsets as well: 635, and 635T. If anyone owns a board with those chips AND is willing to risk crashing & burning an otherwise well-behaved kernel in the name of progress... please contact me at <mhoffman@lightlink.com> or via the project's mailing list: <sensors@stimpy.netroedge.com>. Please via the project's mailing list: <lm-sensors@lm-sensors.org>. Please send bug reports and/or success stories as well. Loading
Documentation/i2c/chips/adm1021 0 → 100644 +111 −0 Original line number Diff line number Diff line Kernel driver adm1021 ===================== Supported chips: * Analog Devices ADM1021 Prefix: 'adm1021' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Analog Devices website * Analog Devices ADM1021A/ADM1023 Prefix: 'adm1023' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Analog Devices website * Genesys Logic GL523SM Prefix: 'gl523sm' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: * Intel Xeon Processor Prefix: - any other - may require 'force_adm1021' parameter Addresses scanned: none Datasheet: Publicly available at Intel website * Maxim MAX1617 Prefix: 'max1617' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Maxim website * Maxim MAX1617A Prefix: 'max1617a' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Maxim website * National Semiconductor LM84 Prefix: 'lm84' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the National Semiconductor website * Philips NE1617 Prefix: 'max1617' (probably detected as a max1617) Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Philips website * Philips NE1617A Prefix: 'max1617' (probably detected as a max1617) Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Philips website * TI THMC10 Prefix: 'thmc10' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the TI website * Onsemi MC1066 Prefix: 'mc1066' Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Datasheet: Publicly available at the Onsemi website Authors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com> Module Parameters ----------------- * read_only: int Don't set any values, read only mode Description ----------- The chips supported by this driver are very similar. The Maxim MAX1617 is the oldest; it has the problem that it is not very well detectable. The MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A. Ditto for the THMC10. From here on, we will refer to all these chips as ADM1021-clones. The ADM1021 and MAX1617A reports a die code, which is a sort of revision code. This can help us pinpoint problems; it is not very useful otherwise. ADM1021-clones implement two temperature sensors. One of them is internal, and measures the temperature of the chip itself; the other is external and is realised in the form of a transistor-like device. A special alarm indicates whether the remote sensor is connected. Each sensor has its own low and high limits. When they are crossed, the corresponding alarm is set and remains on as long as the temperature stays out of range. Temperatures are measured in degrees Celsius. Measurements are possible between -65 and +127 degrees, with a resolution of one degree. If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! This driver only updates its values each 1.5 seconds; reading it more often will do no harm, but will return 'old' values. It is possible to make ADM1021-clones do faster measurements, but there is really no good reason for that. Xeon support ------------ Some Xeon processors have real max1617, adm1021, or compatible chips within them, with two temperature sensors. Other Xeons have chips with only one sensor. If you have a Xeon, and the adm1021 module loads, and both temperatures appear valid, then things are good. If the adm1021 module doesn't load, you should try this: modprobe adm1021 force_adm1021=BUS,ADDRESS ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. If you have dual Xeons you may have appear to have two separate adm1021-compatible chips, or two single-temperature sensors, at distinct addresses.
Documentation/i2c/chips/adm1025 0 → 100644 +51 −0 Original line number Diff line number Diff line Kernel driver adm1025 ===================== Supported chips: * Analog Devices ADM1025, ADM1025A Prefix: 'adm1025' Addresses scanned: I2C 0x2c - 0x2e Datasheet: Publicly available at the Analog Devices website * Philips NE1619 Prefix: 'ne1619' Addresses scanned: I2C 0x2c - 0x2d Datasheet: Publicly available at the Philips website The NE1619 presents some differences with the original ADM1025: * Only two possible addresses (0x2c - 0x2d). * No temperature offset register, but we don't use it anyway. * No INT mode for pin 16. We don't play with it anyway. Authors: Chen-Yuan Wu <gwu@esoft.com>, Jean Delvare <khali@linux-fr.org> Description ----------- (This is from Analog Devices.) The ADM1025 is a complete system hardware monitor for microprocessor-based systems, providing measurement and limit comparison of various system parameters. Five voltage measurement inputs are provided, for monitoring +2.5V, +3.3V, +5V and +12V power supplies and the processor core voltage. The ADM1025 can monitor a sixth power-supply voltage by measuring its own VCC. One input (two pins) is dedicated to a remote temperature-sensing diode and an on-chip temperature sensor allows ambient temperature to be monitored. One specificity of this chip is that the pin 11 can be hardwired in two different manners. It can act as the +12V power-supply voltage analog input, or as the a fifth digital entry for the VID reading (bit 4). It's kind of strange since both are useful, and the reason for designing the chip that way is obscure at least to me. The bit 5 of the configuration register can be used to define how the chip is hardwired. Please note that it is not a choice you have to make as the user. The choice was already made by your motherboard's maker. If the configuration bit isn't set properly, you'll have a wrong +12V reading or a wrong VID reading. The way the driver handles that is to preserve this bit through the initialization process, assuming that the BIOS set it up properly beforehand. If it turns out not to be true in some cases, we'll provide a module parameter to force modes. This driver also supports the ADM1025A, which differs from the ADM1025 only in that it has "open-drain VID inputs while the ADM1025 has on-chip 100k pull-ups on the VID inputs". It doesn't make any difference for us.
Documentation/i2c/chips/adm1026 0 → 100644 +93 −0 Original line number Diff line number Diff line Kernel driver adm1026 ===================== Supported chips: * Analog Devices ADM1026 Prefix: 'adm1026' Addresses scanned: I2C 0x2c, 0x2d, 0x2e Datasheet: Publicly available at the Analog Devices website http://www.analog.com/en/prod/0,,766_825_ADM1026,00.html Authors: Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing Justin Thiessen <jthiessen@penguincomputing.com> Module Parameters ----------------- * gpio_input: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as inputs * gpio_output: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as outputs * gpio_inverted: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as inverted * gpio_normal: int array (min = 1, max = 17) List of GPIO pins (0-16) to program as normal/non-inverted * gpio_fan: int array (min = 1, max = 8) List of GPIO pins (0-7) to program as fan tachs Description ----------- This driver implements support for the Analog Devices ADM1026. Analog Devices calls it a "complete thermal system management controller." The ADM1026 implements three (3) temperature sensors, 17 voltage sensors, 16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit), an analog output and a PWM output along with limit, alarm and mask bits for all of the above. There is even 8k bytes of EEPROM memory on chip. Temperatures are measured in degrees Celsius. There are two external sensor inputs and one internal sensor. Each sensor has a high and low limit. If the limit is exceeded, an interrupt (#SMBALERT) can be generated. The interrupts can be masked. In addition, there are over-temp limits for each sensor. If this limit is exceeded, the #THERM output will be asserted. The current temperature and limits have a resolution of 1 degree. Fan rotation speeds are reported in RPM (rotations per minute) but measured in counts of a 22.5kHz internal clock. Each fan has a high limit which corresponds to a minimum fan speed. If the limit is exceeded, an interrupt can be generated. Each fan can be programmed to divide the reference clock by 1, 2, 4 or 8. Not all RPM values can accurately be represented, so some rounding is done. With a divider of 8, the slowest measurable speed of a two pulse per revolution fan is 661 RPM. There are 17 voltage sensors. An alarm is triggered if the voltage has crossed a programmable minimum or maximum limit. Note that minimum in this case always means 'closest to zero'; this is important for negative voltage measurements. Several inputs have integrated attenuators so they can measure higher voltages directly. 3.3V, 5V, 12V, -12V and battery voltage all have dedicated inputs. There are several inputs scaled to 0-3V full-scale range for SCSI terminator power. The remaining inputs are not scaled and have a 0-2.5V full-scale range. A 2.5V or 1.82V reference voltage is provided for negative voltage measurements. If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! Note that in the current implementation, all hardware registers are read whenever any data is read (unless it is less than 2.0 seconds since the last update). This means that you can easily miss once-only alarms. The ADM1026 measures continuously. Analog inputs are measured about 4 times a second. Fan speed measurement time depends on fan speed and divisor. It can take as long as 1.5 seconds to measure all fan speeds. The ADM1026 has the ability to automatically control fan speed based on the temperature sensor inputs. Both the PWM output and the DAC output can be used to control fan speed. Usually only one of these two outputs will be used. Write the minimum PWM or DAC value to the appropriate control register. Then set the low temperature limit in the tmin values for each temperature sensor. The range of control is fixed at 20 °C, and the largest difference between current and tmin of the temperature sensors sets the control output. See the datasheet for several example circuits for controlling fan speed with the PWM and DAC outputs. The fan speed sensors do not have PWM compensation, so it is probably best to control the fan voltage from the power lead rather than on the ground lead. The datasheet shows an example application with VID signals attached to GPIO lines. Unfortunately, the chip may not be connected to the VID lines in this way. The driver assumes that the chips *is* connected this way to get a VID voltage.