Commit 7aefd944 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon updates from Guenter Roeck:

 - Add driver for Intersil ISL68137 PWM Controller

 - Add driver for Lochnagar 2

 - Add driver for Infineon IR38064 Voltage Regulator

 - Add support for TMP75B to lm75 driver

 - Convert documentation to ReST format

 - Use request_muxed_region for Super-IO accesses in several drivers

 - Add 'samples' attribute to ABI, and start using it

 - Add support for custom sysfs attributes to pmbus drivers (used in
   ISL68137 driver)

 - Introduce HWMON_CHANNEL_INFO macro

 - Automated changes:
      - Use permission specific [SENSOR_][DEVICE_]ATTR variants
      - Fix build warnings due to unused of_device_id structures
      - Use HWMON_CHANNEL_INFO macro

 - Various minor improvements and fixes

* tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (125 commits)
  hwmon: (lm75) Add support for TMP75B
  dt-bindings: hwmon: Add tmp75b to lm75.txt
  hwmon: (s3c) Use dev_get_drvdata()
  hwmon: (max6650) Drop call to thermal_cdev_update
  docs: hwmon: remove the extension from .rst files
  docs: hwmon: convert three docs to ReST format
  hwmon: (max6650) add thermal cooling device capability
  hwmon: (ina3221) Add voltage conversion time settings
  hwmon: (ina3221) Do not read-back to cache reg_config
  docs: hwmon: Add an index file and rename docs to *.rst
  docs: hwmon: convert remaining files to ReST format
  docs: hwmon: misc files: convert to ReST format
  docs: hwmon: pmbus files: convert to ReST format
  docs: hwmon: k8temp, w83793: convert to ReST format
  docs: hwmon: da9052, da9055: convert to ReST format
  docs: hwmon: wm831x, wm8350: convert to ReST format
  docs: hwmon: dme1737, vt1211: convert to ReST format
  docs: hwmon: ads1015: convert to ReST format
  docs: hwmon: asc7621: convert to ReST format
  docs: hwmon: ibmpowernv: convert to ReST format
  ...
parents ffa6f55e 39abe9d8
Cirrus Logic Lochnagar Audio Development Board
Lochnagar is an evaluation and development board for Cirrus Logic
Smart CODEC and Amp devices. It allows the connection of most Cirrus
Logic devices on mini-cards, as well as allowing connection of
various application processor systems to provide a full evaluation
platform. Audio system topology, clocking and power can all be
controlled through the Lochnagar, allowing the device under test
to be used in a variety of possible use cases.
This binding document describes the binding for the hardware monitor
portion of the driver.
This binding must be part of the Lochnagar MFD binding:
[4] ../mfd/cirrus,lochnagar.txt
Required properties:
- compatible : One of the following strings:
"cirrus,lochnagar2-hwmon"
Example:
lochnagar-hwmon {
compatible = "cirrus,lochnagar2-hwmon";
};
...@@ -21,7 +21,7 @@ If an optional property is not set in .dts file, then current value is kept ...@@ -21,7 +21,7 @@ If an optional property is not set in .dts file, then current value is kept
unmodified (e.g. u-boot installed value). unmodified (e.g. u-boot installed value).
Additional information on operational parameters for the device is available Additional information on operational parameters for the device is available
in Documentation/hwmon/g762. A detailed datasheet for the device is available in Documentation/hwmon/g762.rst. A detailed datasheet for the device is available
at http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf. at http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf.
Example g762 node: Example g762 node:
......
...@@ -25,6 +25,7 @@ Required properties: ...@@ -25,6 +25,7 @@ Required properties:
"ti,tmp175", "ti,tmp175",
"ti,tmp275", "ti,tmp275",
"ti,tmp75", "ti,tmp75",
"ti,tmp75b",
"ti,tmp75c", "ti,tmp75c",
- reg: I2C bus address of the device - reg: I2C bus address of the device
......
...@@ -7,7 +7,16 @@ Required properties: ...@@ -7,7 +7,16 @@ Required properties:
which correspond to thermal cooling states which correspond to thermal cooling states
Optional properties: Optional properties:
- fan-supply : phandle to the regulator that provides power to the fan - fan-supply : phandle to the regulator that provides power to the fan
- interrupts : This contains a single interrupt specifier which
describes the tachometer output of the fan as an
interrupt source. The output signal must generate a
defined number of interrupts per fan revolution, which
require that it must be self resetting edge interrupts.
See interrupt-controller/interrupts.txt for the format.
- pulses-per-revolution : define the tachometer pulses per fan revolution as
an integer (default is 2 interrupts per revolution).
The value must be greater than zero.
Example: Example:
fan0: pwm-fan { fan0: pwm-fan {
...@@ -38,3 +47,13 @@ Example: ...@@ -38,3 +47,13 @@ Example:
}; };
}; };
}; };
Example 2:
fan0: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm 0 40000 0>;
fan-supply = <&reg_fan>;
interrupt-parent = <&gpio5>;
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
pulses-per-revolution = <2>;
};
...@@ -2,19 +2,23 @@ Kernel driver ab8500 ...@@ -2,19 +2,23 @@ Kernel driver ab8500
==================== ====================
Supported chips: Supported chips:
* ST-Ericsson AB8500 * ST-Ericsson AB8500
Prefix: 'ab8500' Prefix: 'ab8500'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.stericsson.com/developers/documentation.jsp Datasheet: http://www.stericsson.com/developers/documentation.jsp
Authors: Authors:
Martin Persson <martin.persson@stericsson.com> - Martin Persson <martin.persson@stericsson.com>
Hongbo Zhang <hongbo.zhang@linaro.org> - Hongbo Zhang <hongbo.zhang@linaro.org>
Description Description
----------- -----------
See also Documentation/hwmon/abx500. This is the ST-Ericsson AB8500 specific See also Documentation/hwmon/abx500.rst. This is the ST-Ericsson AB8500 specific
driver. driver.
Currently only the AB8500 internal sensor and one external sensor for battery Currently only the AB8500 internal sensor and one external sensor for battery
......
===============
uGuru datasheet uGuru datasheet
=============== ===============
...@@ -168,34 +169,35 @@ This bank contains 0 sensors, iow the sensor address is ignored (but must be ...@@ -168,34 +169,35 @@ This bank contains 0 sensors, iow the sensor address is ignored (but must be
written) just use 0. Bank 0x20 contains 3 bytes: written) just use 0. Bank 0x20 contains 3 bytes:
Byte 0: Byte 0:
This byte holds the alarm flags for sensor 0-7 of Sensor Bank1, with bit 0 This byte holds the alarm flags for sensor 0-7 of Sensor Bank1, with bit 0
corresponding to sensor 0, 1 to 1, etc. corresponding to sensor 0, 1 to 1, etc.
Byte 1: Byte 1:
This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0 This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0
corresponding to sensor 8, 1 to 9, etc. corresponding to sensor 8, 1 to 9, etc.
Byte 2: Byte 2:
This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0 This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0
corresponding to sensor 0, 1 to 1, etc. corresponding to sensor 0, 1 to 1, etc.
Bank 0x21 Sensor Bank1 Values / Readings (R) Bank 0x21 Sensor Bank1 Values / Readings (R)
-------------------------------------------- --------------------------------------------
This bank contains 16 sensors, for each sensor it contains 1 byte. This bank contains 16 sensors, for each sensor it contains 1 byte.
So far the following sensors are known to be available on all motherboards: So far the following sensors are known to be available on all motherboards:
Sensor 0 CPU temp
Sensor 1 SYS temp - Sensor 0 CPU temp
Sensor 3 CPU core volt - Sensor 1 SYS temp
Sensor 4 DDR volt - Sensor 3 CPU core volt
Sensor 10 DDR Vtt volt - Sensor 4 DDR volt
Sensor 15 PWM temp - Sensor 10 DDR Vtt volt
- Sensor 15 PWM temp
Byte 0: Byte 0:
This byte holds the reading from the sensor. Sensors in Bank1 can be both This byte holds the reading from the sensor. Sensors in Bank1 can be both
volt and temp sensors, this is motherboard specific. The uGuru however does volt and temp sensors, this is motherboard specific. The uGuru however does
seem to know (be programmed with) what kindoff sensor is attached see Sensor seem to know (be programmed with) what kindoff sensor is attached see Sensor
Bank1 Settings description. Bank1 Settings description.
Volt sensors use a linear scale, a reading 0 corresponds with 0 volt and a Volt sensors use a linear scale, a reading 0 corresponds with 0 volt and a
reading of 255 with 3494 mV. The sensors for higher voltages however are reading of 255 with 3494 mV. The sensors for higher voltages however are
...@@ -207,96 +209,118 @@ Temp sensors also use a linear scale, a reading of 0 corresponds with 0 degree ...@@ -207,96 +209,118 @@ Temp sensors also use a linear scale, a reading of 0 corresponds with 0 degree
Celsius and a reading of 255 with a reading of 255 degrees Celsius. Celsius and a reading of 255 with a reading of 255 degrees Celsius.
Bank 0x22 Sensor Bank1 Settings (R) Bank 0x22 Sensor Bank1 Settings (R) and Bank 0x23 Sensor Bank1 Settings (W)
Bank 0x23 Sensor Bank1 Settings (W) ---------------------------------------------------------------------------
-----------------------------------
This bank contains 16 sensors, for each sensor it contains 3 bytes. Each Those banks contain 16 sensors, for each sensor it contains 3 bytes. Each
set of 3 bytes contains the settings for the sensor with the same sensor set of 3 bytes contains the settings for the sensor with the same sensor
address in Bank 0x21 . address in Bank 0x21 .
Byte 0: Byte 0:
Alarm behaviour for the selected sensor. A 1 enables the described behaviour. Alarm behaviour for the selected sensor. A 1 enables the described
Bit 0: Give an alarm if measured temp is over the warning threshold (RW) * behaviour.
Bit 1: Give an alarm if measured volt is over the max threshold (RW) **
Bit 2: Give an alarm if measured volt is under the min threshold (RW) ** Bit 0:
Bit 3: Beep if alarm (RW) Give an alarm if measured temp is over the warning threshold (RW) [1]_
Bit 4: 1 if alarm cause measured temp is over the warning threshold (R)
Bit 5: 1 if alarm cause measured volt is over the max threshold (R) Bit 1:
Bit 6: 1 if alarm cause measured volt is under the min threshold (R) Give an alarm if measured volt is over the max threshold (RW) [2]_
Bit 7: Volt sensor: Shutdown if alarm persist for more than 4 seconds (RW)
Temp sensor: Shutdown if temp is over the shutdown threshold (RW) Bit 2:
Give an alarm if measured volt is under the min threshold (RW) [2]_
* This bit is only honored/used by the uGuru if a temp sensor is connected
** This bit is only honored/used by the uGuru if a volt sensor is connected Bit 3:
Note with some trickery this can be used to find out what kinda sensor is Beep if alarm (RW)
detected see the Linux kernel driver for an example with many comments on
how todo this. Bit 4:
1 if alarm cause measured temp is over the warning threshold (R)
Bit 5:
1 if alarm cause measured volt is over the max threshold (R)
Bit 6:
1 if alarm cause measured volt is under the min threshold (R)
Bit 7:
- Volt sensor: Shutdown if alarm persist for more than 4 seconds (RW)
- Temp sensor: Shutdown if temp is over the shutdown threshold (RW)
.. [1] This bit is only honored/used by the uGuru if a temp sensor is connected
.. [2] This bit is only honored/used by the uGuru if a volt sensor is connected
Note with some trickery this can be used to find out what kinda sensor
is detected see the Linux kernel driver for an example with many
comments on how todo this.
Byte 1: Byte 1:
Temp sensor: warning threshold (scale as bank 0x21) - Temp sensor: warning threshold (scale as bank 0x21)
Volt sensor: min threshold (scale as bank 0x21) - Volt sensor: min threshold (scale as bank 0x21)
Byte 2: Byte 2:
Temp sensor: shutdown threshold (scale as bank 0x21) - Temp sensor: shutdown threshold (scale as bank 0x21)
Volt sensor: max threshold (scale as bank 0x21) - Volt sensor: max threshold (scale as bank 0x21)
Bank 0x24 PWM outputs for FAN's (R) Bank 0x24 PWM outputs for FAN's (R) and Bank 0x25 PWM outputs for FAN's (W)
Bank 0x25 PWM outputs for FAN's (W) ---------------------------------------------------------------------------
-----------------------------------
This bank contains 3 "sensors", for each sensor it contains 5 bytes. Those banks contain 3 "sensors", for each sensor it contains 5 bytes.
Sensor 0 usually controls the CPU fan - Sensor 0 usually controls the CPU fan
Sensor 1 usually controls the NB (or chipset for single chip) fan - Sensor 1 usually controls the NB (or chipset for single chip) fan
Sensor 2 usually controls the System fan - Sensor 2 usually controls the System fan
Byte 0: Byte 0:
Flag 0x80 to enable control, Fan runs at 100% when disabled. Flag 0x80 to enable control, Fan runs at 100% when disabled.
low nibble (temp)sensor address at bank 0x21 used for control. low nibble (temp)sensor address at bank 0x21 used for control.
Byte 1: Byte 1:
0-255 = 0-12v (linear), specify voltage at which fan will rotate when under 0-255 = 0-12v (linear), specify voltage at which fan will rotate when under
low threshold temp (specified in byte 3) low threshold temp (specified in byte 3)
Byte 2: Byte 2:
0-255 = 0-12v (linear), specify voltage at which fan will rotate when above 0-255 = 0-12v (linear), specify voltage at which fan will rotate when above
high threshold temp (specified in byte 4) high threshold temp (specified in byte 4)
Byte 3: Byte 3:
Low threshold temp (scale as bank 0x21) Low threshold temp (scale as bank 0x21)
byte 4: byte 4:
High threshold temp (scale as bank 0x21) High threshold temp (scale as bank 0x21)
Bank 0x26 Sensors Bank2 Values / Readings (R) Bank 0x26 Sensors Bank2 Values / Readings (R)
--------------------------------------------- ---------------------------------------------
This bank contains 6 sensors (AFAIK), for each sensor it contains 1 byte. This bank contains 6 sensors (AFAIK), for each sensor it contains 1 byte.
So far the following sensors are known to be available on all motherboards: So far the following sensors are known to be available on all motherboards:
Sensor 0: CPU fan speed - Sensor 0: CPU fan speed
Sensor 1: NB (or chipset for single chip) fan speed - Sensor 1: NB (or chipset for single chip) fan speed
Sensor 2: SYS fan speed - Sensor 2: SYS fan speed
Byte 0: Byte 0:
This byte holds the reading from the sensor. 0-255 = 0-15300 (linear) This byte holds the reading from the sensor. 0-255 = 0-15300 (linear)
Bank 0x27 Sensors Bank2 Settings (R) Bank 0x27 Sensors Bank2 Settings (R) and Bank 0x28 Sensors Bank2 Settings (W)
Bank 0x28 Sensors Bank2 Settings (W) -----------------------------------------------------------------------------
------------------------------------
This bank contains 6 sensors (AFAIK), for each sensor it contains 2 bytes. Those banks contain 6 sensors (AFAIK), for each sensor it contains 2 bytes.
Byte 0: Byte 0:
Alarm behaviour for the selected sensor. A 1 enables the described behaviour. Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
Bit 0: Give an alarm if measured rpm is under the min threshold (RW)
Bit 3: Beep if alarm (RW) Bit 0:
Bit 7: Shutdown if alarm persist for more than 4 seconds (RW) Give an alarm if measured rpm is under the min threshold (RW)
Bit 3:
Beep if alarm (RW)
Bit 7:
Shutdown if alarm persist for more than 4 seconds (RW)
Byte 1: Byte 1:
min threshold (scale as bank 0x26) min threshold (scale as bank 0x26)
Warning for the adventurous Warning for the adventurous
......
...@@ -2,69 +2,85 @@ Kernel driver abituguru ...@@ -2,69 +2,85 @@ Kernel driver abituguru
======================= =======================
Supported chips: Supported chips:
* Abit uGuru revision 1 & 2 (Hardware Monitor part only) * Abit uGuru revision 1 & 2 (Hardware Monitor part only)
Prefix: 'abituguru' Prefix: 'abituguru'
Addresses scanned: ISA 0x0E0 Addresses scanned: ISA 0x0E0
Datasheet: Not available, this driver is based on reverse engineering. Datasheet: Not available, this driver is based on reverse engineering.
A "Datasheet" has been written based on the reverse engineering it A "Datasheet" has been written based on the reverse engineering it
should be available in the same dir as this file under the name should be available in the same dir as this file under the name
abituguru-datasheet. abituguru-datasheet.
Note: Note:
The uGuru is a microcontroller with onboard firmware which programs The uGuru is a microcontroller with onboard firmware which programs
it to behave as a hwmon IC. There are many different revisions of the it to behave as a hwmon IC. There are many different revisions of the
firmware and thus effectivly many different revisions of the uGuru. firmware and thus effectivly many different revisions of the uGuru.
Below is an incomplete list with which revisions are used for which Below is an incomplete list with which revisions are used for which
Motherboards: Motherboards:
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1)
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) [1]_
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty) - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) - uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
AW9D-MAX) (2) - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
1) For revisions 2 and 3 uGuru's the driver can autodetect the AW9D-MAX) [2]_
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
this does not always work. For these uGuru's the autodetection can .. [1] For revisions 2 and 3 uGuru's the driver can autodetect the
be overridden with the bank1_types module param. For all 3 known sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
revison 1 motherboards the correct use of this param is: this does not always work. For these uGuru's the autodetection can
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 be overridden with the bank1_types module param. For all 3 known
You may also need to specify the fan_sensors option for these boards revison 1 motherboards the correct use of this param is:
fan_sensors=5 bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
2) There is a separate abituguru3 driver for these motherboards, You may also need to specify the fan_sensors option for these boards
the abituguru (without the 3 !) driver will not work on these fan_sensors=5
motherboards (and visa versa)!
.. [2] There is a separate abituguru3 driver for these motherboards,
the abituguru (without the 3 !) driver will not work on these
motherboards (and visa versa)!
Authors: Authors:
Hans de Goede <j.w.r.degoede@hhs.nl>, - Hans de Goede <j.w.r.degoede@hhs.nl>,
(Initial reverse engineering done by Olle Sandberg - (Initial reverse engineering done by Olle Sandberg
<ollebull@gmail.com>) <ollebull@gmail.com>)
Module Parameters Module Parameters
----------------- -----------------
* force: bool Force detection. Note this parameter only causes the * force: bool
Force detection. Note this parameter only causes the
detection to be skipped, and thus the insmod to detection to be skipped, and thus the insmod to
succeed. If the uGuru can't be read the actual hwmon succeed. If the uGuru can't be read the actual hwmon
driver will not load and thus no hwmon device will get driver will not load and thus no hwmon device will get
registered. registered.
* bank1_types: int[] Bank1 sensortype autodetection override: * bank1_types: int[]
-1 autodetect (default) Bank1 sensortype autodetection override:
0 volt sensor
1 temp sensor * -1 autodetect (default)
2 not connected * 0 volt sensor
* fan_sensors: int Tell the driver how many fan speed sensors there are * 1 temp sensor
* 2 not connected
* fan_sensors: int
Tell the driver how many fan speed sensors there are
on your motherboard. Default: 0 (autodetect). on your motherboard. Default: 0 (autodetect).
* pwms: int Tell the driver how many fan speed controls (fan * pwms: int
Tell the driver how many fan speed controls (fan
pwms) your motherboard has. Default: 0 (autodetect). pwms) your motherboard has. Default: 0 (autodetect).
* verbose: int How verbose should the driver be? (0-3): * verbose: int
0 normal output How verbose should the driver be? (0-3):
1 + verbose error reporting
2 + sensors type probing info (default) * 0 normal output
3 + retryable error reporting * 1 + verbose error reporting
* 2 + sensors type probing info (default)
* 3 + retryable error reporting
Default: 2 (the driver is still in the testing phase) Default: 2 (the driver is still in the testing phase)
Notice if you need any of the first three options above please insmod the Notice: if you need any of the first three options above please insmod the
driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of: driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
dmesg | grep abituguru dmesg | grep abituguru
...@@ -90,3 +106,8 @@ Known Issues ...@@ -90,3 +106,8 @@ Known Issues
------------ ------------
The voltage and frequency control parts of the Abit uGuru are not supported. The voltage and frequency control parts of the Abit uGuru are not supported.
.. toctree::
:maxdepth: 1
abituguru-datasheet.rst
...@@ -3,41 +3,51 @@ Kernel driver abituguru3 ...@@ -3,41 +3,51 @@ Kernel driver abituguru3
Supported chips: Supported chips:
* Abit uGuru revision 3 (Hardware Monitor part, reading only) * Abit uGuru revision 3 (Hardware Monitor part, reading only)
Prefix: 'abituguru3' Prefix: 'abituguru3'
Addresses scanned: ISA 0x0E0 Addresses scanned: ISA 0x0E0
Datasheet: Not available, this driver is based on reverse engineering. Datasheet: Not available, this driver is based on reverse engineering.
Note: Note:
The uGuru is a microcontroller with onboard firmware which programs The uGuru is a microcontroller with onboard firmware which programs
it to behave as a hwmon IC. There are many different revisions of the it to behave as a hwmon IC. There are many different revisions of the
firmware and thus effectivly many different revisions of the uGuru. firmware and thus effectivly many different revisions of the uGuru.
Below is an incomplete list with which revisions are used for which Below is an incomplete list with which revisions are used for which
Motherboards: Motherboards:
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) - uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) - uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) - uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X, - uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
AW9D-MAX) - uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
AW9D-MAX)
The abituguru3 driver is only for revison 3.0.x.x motherboards, The abituguru3 driver is only for revison 3.0.x.x motherboards,
this driver will not work on older motherboards. For older this driver will not work on older motherboards. For older
motherboards use the abituguru (without the 3 !) driver. motherboards use the abituguru (without the 3 !) driver.
Authors: Authors:
Hans de Goede <j.w.r.degoede@hhs.nl>, - Hans de Goede <j.w.r.degoede@hhs.nl>,
(Initial reverse engineering done by Louis Kruger) - (Initial reverse engineering done by Louis Kruger)
Module Parameters Module Parameters
----------------- -----------------
* force: bool Force detection. Note this parameter only causes the * force: bool
Force detection. Note this parameter only causes the
detection to be skipped, and thus the insmod to detection to be skipped, and thus the insmod to
succeed. If the uGuru can't be read the actual hwmon succeed. If the uGuru can't be read the actual hwmon
driver will not load and thus no hwmon device will get driver will not load and thus no hwmon device will get
registered. registered.
* verbose: bool Should the driver be verbose? * verbose: bool
0/off/false normal output Should the driver be verbose?
1/on/true + verbose error reporting (default)
* 0/off/false normal output
* 1/on/true + verbose error reporting (default)
Default: 1 (the driver is still in the testing phase) Default: 1 (the driver is still in the testing phase)
Description Description
...@@ -62,4 +72,4 @@ neither is writing any of the sensor settings and writing / reading the ...@@ -62,4 +72,4 @@ neither is writing any of the sensor settings and writing / reading the
fanspeed control registers (FanEQ) fanspeed control registers (FanEQ)
If you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and If you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and
include the output of: "dmesg | grep abituguru" include the output of: `dmesg | grep abituguru`
...@@ -2,14 +2,18 @@ Kernel driver abx500 ...@@ -2,14 +2,18 @@ Kernel driver abx500
==================== ====================
Supported chips: Supported chips:
* ST-Ericsson ABx500 series * ST-Ericsson ABx500 series
Prefix: 'abx500' Prefix: 'abx500'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.stericsson.com/developers/documentation.jsp Datasheet: http://www.stericsson.com/developers/documentation.jsp
Authors: Authors:
Martin Persson <martin.persson@stericsson.com> Martin Persson <martin.persson@stericsson.com>
Hongbo Zhang <hongbo.zhang@linaro.org> Hongbo Zhang <hongbo.zhang@linaro.org>
Description Description
----------- -----------
......
...@@ -4,8 +4,11 @@ Kernel driver power_meter ...@@ -4,8 +4,11 @@ Kernel driver power_meter
This driver talks to ACPI 4.0 power meters. This driver talks to ACPI 4.0 power meters.
Supported systems: Supported systems:
* Any recent system with ACPI 4.0. * Any recent system with ACPI 4.0.
Prefix: 'power_meter' Prefix: 'power_meter'
Datasheet: http://acpi.info/, section 10.4. Datasheet: http://acpi.info/, section 10.4.
Author: Darrick J. Wong Author: Darrick J. Wong
...@@ -18,26 +21,26 @@ the ACPI 4.0 spec (Chapter 10.4). These devices have a simple set of ...@@ -18,26 +21,26 @@ the ACPI 4.0 spec (Chapter 10.4). These devices have a simple set of
features--a power meter that returns average power use over a configurable features--a power meter that returns average power use over a configurable
interval, an optional capping mechanism, and a couple of trip points. The interval, an optional capping mechanism, and a couple of trip points. The
sysfs interface conforms with the specification outlined in the "Power" section sysfs interface conforms with the specification outlined in the "Power" section
of Documentation/hwmon/sysfs-interface. of Documentation/hwmon/sysfs-interface.rst.
Special Features Special Features
---------------- ----------------
The power[1-*]_is_battery knob indicates if the power supply is a battery. The `power[1-*]_is_battery` knob indicates if the power supply is a battery.
Both power[1-*]_average_{min,max} must be set before the trip points will work. Both `power[1-*]_average_{min,max}` must be set before the trip points will work.
When both of them are set, an ACPI event will be broadcast on the ACPI netlink When both of them are set, an ACPI event will be broadcast on the ACPI netlink
socket and a poll notification will be sent to the appropriate socket and a poll notification will be sent to the appropriate
power[1-*]_average sysfs file. `power[1-*]_average` sysfs file.
The power[1-*]_{model_number, serial_number, oem_info} fields display arbitrary The `power[1-*]_{model_number, serial_number, oem_info}` fields display
strings that ACPI provides with the meter. The measures/ directory contains arbitrary strings that ACPI provides with the meter. The measures/ directory
symlinks to the devices that this meter measures. contains symlinks to the devices that this meter measures.
Some computers have the ability to enforce a power cap in hardware. If this is Some computers have the ability to enforce a power cap in hardware. If this is
the case, the power[1-*]_cap and related sysfs files will appear. When the the case, the `power[1-*]_cap` and related sysfs files will appear. When the
average power consumption exceeds the cap, an ACPI event will be broadcast on average power consumption exceeds the cap, an ACPI event will be broadcast on
the netlink event socket and a poll notification will be sent to the the netlink event socket and a poll notification will be sent to the
appropriate power[1-*]_alarm file to indicate that capping has begun, and the appropriate `power[1-*]_alarm` file to indicate that capping has begun, and the
hardware has taken action to reduce power consumption. Most likely this will hardware has taken action to reduce power consumption. Most likely this will
result in reduced performance. result in reduced performance.
...@@ -46,6 +49,6 @@ all cases the ACPI event will be broadcast on the ACPI netlink event socket as ...@@ -46,6 +49,6 @@ all cases the ACPI event will be broadcast on the ACPI netlink event socket as
well as sent as a poll notification to a sysfs file. The events are as well as sent as a poll notification to a sysfs file. The events are as
follows: follows:
power[1-*]_cap will be notified if the firmware changes the power cap. `power[1-*]_cap` will be notified if the firmware changes the power cap.
power[1-*]_interval will be notified if the firmware changes the averaging `power[1-*]_interval` will be notified if the firmware changes the averaging
interval. interval.
...@@ -2,14 +2,23 @@ Kernel driver ad7314 ...@@ -2,14 +2,23 @@ Kernel driver ad7314
==================== ====================
Supported chips: Supported chips:
* Analog Devices AD7314 * Analog Devices AD7314
Prefix: 'ad7314' Prefix: 'ad7314'
Datasheet: Publicly available at Analog Devices website. Datasheet: Publicly available at Analog Devices website.
* Analog Devices ADT7301 * Analog Devices ADT7301
Prefix: 'adt7301' Prefix: 'adt7301'
Datasheet: Publicly available at Analog Devices website. Datasheet: Publicly available at Analog Devices website.
* Analog Devices ADT7302 * Analog Devices ADT7302
Prefix: 'adt7302' Prefix: 'adt7302'
Datasheet: Publicly available at Analog Devices website. Datasheet: Publicly available at Analog Devices website.
Description Description
......
...@@ -2,11 +2,14 @@ Kernel driver adc128d818 ...@@ -2,11 +2,14 @@ Kernel driver adc128d818
======================== ========================
Supported chips: Supported chips:
* Texas Instruments ADC818D818 * Texas Instruments ADC818D818
Prefix: 'adc818d818' Prefix: 'adc818d818'
Addresses scanned: I2C 0x1d, 0x1e, 0x1f, 0x2d, 0x2e, 0x2f Addresses scanned: I2C 0x1d, 0x1e, 0x1f, 0x2d, 0x2e, 0x2f
Datasheet: Publicly available at the TI website
http://www.ti.com/ Datasheet: Publicly available at the TI website http://www.ti.com/
Author: Guenter Roeck Author: Guenter Roeck
......
...@@ -2,51 +2,91 @@ Kernel driver adm1021 ...@@ -2,51 +2,91 @@ Kernel driver adm1021
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADM1021 * Analog Devices ADM1021
Prefix: 'adm1021' Prefix: 'adm1021'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
* Analog Devices ADM1021A/ADM1023 * Analog Devices ADM1021A/ADM1023
Prefix: 'adm1023' Prefix: 'adm1023'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
* Genesys Logic GL523SM * Genesys Logic GL523SM
Prefix: 'gl523sm' Prefix: 'gl523sm'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Datasheet:
* Maxim MAX1617 * Maxim MAX1617
Prefix: 'max1617' Prefix: 'max1617'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Maxim website Datasheet: Publicly available at the Maxim website
* Maxim MAX1617A * Maxim MAX1617A
Prefix: 'max1617a' Prefix: 'max1617a'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Maxim website Datasheet: Publicly available at the Maxim website
* National Semiconductor LM84 * National Semiconductor LM84
Prefix: 'lm84' Prefix: 'lm84'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
* Philips NE1617 * Philips NE1617
Prefix: 'max1617' (probably detected as a max1617) Prefix: 'max1617' (probably detected as a max1617)
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Philips website Datasheet: Publicly available at the Philips website
* Philips NE1617A * Philips NE1617A
Prefix: 'max1617' (probably detected as a max1617) Prefix: 'max1617' (probably detected as a max1617)
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Philips website Datasheet: Publicly available at the Philips website
* TI THMC10 * TI THMC10
Prefix: 'thmc10' Prefix: 'thmc10'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the TI website Datasheet: Publicly available at the TI website
* Onsemi MC1066 * Onsemi MC1066
Prefix: 'mc1066' Prefix: 'mc1066'
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Datasheet: Publicly available at the Onsemi website Datasheet: Publicly available at the Onsemi website
Authors: Authors:
Frodo Looijaard <frodol@dds.nl>, - Frodo Looijaard <frodol@dds.nl>,
Philip Edelbrock <phil@netroedge.com> - Philip Edelbrock <phil@netroedge.com>
Module Parameters Module Parameters
----------------- -----------------
......
...@@ -2,23 +2,32 @@ Kernel driver adm1025 ...@@ -2,23 +2,32 @@ Kernel driver adm1025
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADM1025, ADM1025A * Analog Devices ADM1025, ADM1025A
Prefix: 'adm1025' Prefix: 'adm1025'
Addresses scanned: I2C 0x2c - 0x2e Addresses scanned: I2C 0x2c - 0x2e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
* Philips NE1619 * Philips NE1619
Prefix: 'ne1619' Prefix: 'ne1619'
Addresses scanned: I2C 0x2c - 0x2d Addresses scanned: I2C 0x2c - 0x2d
Datasheet: Publicly available at the Philips website Datasheet: Publicly available at the Philips website
The NE1619 presents some differences with the original ADM1025: The NE1619 presents some differences with the original ADM1025:
* Only two possible addresses (0x2c - 0x2d). * Only two possible addresses (0x2c - 0x2d).
* No temperature offset register, but we don't use it anyway. * No temperature offset register, but we don't use it anyway.
* No INT mode for pin 16. We don't play with it anyway. * No INT mode for pin 16. We don't play with it anyway.
Authors: Authors:
Chen-Yuan Wu <gwu@esoft.com>, - Chen-Yuan Wu <gwu@esoft.com>,
Jean Delvare <jdelvare@suse.de> - Jean Delvare <jdelvare@suse.de>
Description Description
----------- -----------
......
...@@ -3,28 +3,36 @@ Kernel driver adm1026 ...@@ -3,28 +3,36 @@ Kernel driver adm1026
Supported chips: Supported chips:
* Analog Devices ADM1026 * Analog Devices ADM1026
Prefix: 'adm1026' Prefix: 'adm1026'
Addresses scanned: I2C 0x2c, 0x2d, 0x2e Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
Authors: Authors:
Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing - Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
Justin Thiessen <jthiessen@penguincomputing.com> - Justin Thiessen <jthiessen@penguincomputing.com>
Module Parameters Module Parameters
----------------- -----------------
* gpio_input: int array (min = 1, max = 17) * gpio_input: int array (min = 1, max = 17)
List of GPIO pins (0-16) to program as inputs List of GPIO pins (0-16) to program as inputs
* gpio_output: int array (min = 1, max = 17) * gpio_output: int array (min = 1, max = 17)
List of GPIO pins (0-16) to program as outputs List of GPIO pins (0-16) to program as outputs
* gpio_inverted: int array (min = 1, max = 17) * gpio_inverted: int array (min = 1, max = 17)
List of GPIO pins (0-16) to program as inverted List of GPIO pins (0-16) to program as inverted
* gpio_normal: int array (min = 1, max = 17) * gpio_normal: int array (min = 1, max = 17)
List of GPIO pins (0-16) to program as normal/non-inverted List of GPIO pins (0-16) to program as normal/non-inverted
* gpio_fan: int array (min = 1, max = 8) * gpio_fan: int array (min = 1, max = 8)
List of GPIO pins (0-7) to program as fan tachs List of GPIO pins (0-7) to program as fan tachs
Description Description
......
...@@ -3,20 +3,28 @@ Kernel driver adm1031 ...@@ -3,20 +3,28 @@ Kernel driver adm1031
Supported chips: Supported chips:
* Analog Devices ADM1030 * Analog Devices ADM1030
Prefix: 'adm1030' Prefix: 'adm1030'
Addresses scanned: I2C 0x2c to 0x2e Addresses scanned: I2C 0x2c to 0x2e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html
http://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html
* Analog Devices ADM1031 * Analog Devices ADM1031
Prefix: 'adm1031' Prefix: 'adm1031'
Addresses scanned: I2C 0x2c to 0x2e Addresses scanned: I2C 0x2c to 0x2e
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html
http://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html
Authors: Authors:
Alexandre d'Alton <alex@alexdalton.org> - Alexandre d'Alton <alex@alexdalton.org>
Jean Delvare <jdelvare@suse.de> - Jean Delvare <jdelvare@suse.de>
Description Description
----------- -----------
......
...@@ -2,29 +2,53 @@ Kernel driver adm1275 ...@@ -2,29 +2,53 @@ Kernel driver adm1275
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADM1075 * Analog Devices ADM1075
Prefix: 'adm1075' Prefix: 'adm1075'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1075.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1075.pdf
* Analog Devices ADM1272 * Analog Devices ADM1272
Prefix: 'adm1272' Prefix: 'adm1272'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf
* Analog Devices ADM1275 * Analog Devices ADM1275
Prefix: 'adm1275' Prefix: 'adm1275'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
* Analog Devices ADM1276 * Analog Devices ADM1276
Prefix: 'adm1276' Prefix: 'adm1276'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
* Analog Devices ADM1278 * Analog Devices ADM1278
Prefix: 'adm1278' Prefix: 'adm1278'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1278.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1278.pdf
* Analog Devices ADM1293/ADM1294 * Analog Devices ADM1293/ADM1294
Prefix: 'adm1293', 'adm1294' Prefix: 'adm1293', 'adm1294'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.analog.com/media/en/technical-documentation/data-sheets/ADM1293_1294.pdf Datasheet: http://www.analog.com/media/en/technical-documentation/data-sheets/ADM1293_1294.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -44,7 +68,7 @@ integrated 12 bit analog-to-digital converter (ADC), accessed using a ...@@ -44,7 +68,7 @@ integrated 12 bit analog-to-digital converter (ADC), accessed using a
PMBus interface. PMBus interface.
The driver is a client driver to the core PMBus driver. Please see The driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/pmbus for details on PMBus client drivers. Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
Usage Notes Usage Notes
...@@ -66,7 +90,7 @@ Platform data support ...@@ -66,7 +90,7 @@ Platform data support
--------------------- ---------------------
The driver supports standard PMBus driver platform data. Please see The driver supports standard PMBus driver platform data. Please see
Documentation/hwmon/pmbus for details. Documentation/hwmon/pmbus.rst for details.
Sysfs entries Sysfs entries
...@@ -75,6 +99,7 @@ Sysfs entries ...@@ -75,6 +99,7 @@ Sysfs entries
The following attributes are supported. Limits are read-write, history reset The following attributes are supported. Limits are read-write, history reset
attributes are write-only, all other attributes are read-only. attributes are write-only, all other attributes are read-only.
======================= =======================================================
inX_label "vin1" or "vout1" depending on chip variant and inX_label "vin1" or "vout1" depending on chip variant and
configuration. On ADM1075, ADM1293, and ADM1294, configuration. On ADM1075, ADM1293, and ADM1294,
vout1 reports the voltage on the VAUX pin. vout1 reports the voltage on the VAUX pin.
...@@ -120,3 +145,4 @@ temp1_reset_history Write any value to reset history. ...@@ -120,3 +145,4 @@ temp1_reset_history Write any value to reset history.
Temperature attributes are supported on ADM1272 and Temperature attributes are supported on ADM1272 and
ADM1278. ADM1278.
======================= =======================================================
...@@ -2,30 +2,43 @@ Kernel driver adm9240 ...@@ -2,30 +2,43 @@ Kernel driver adm9240
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADM9240 * Analog Devices ADM9240
Prefix: 'adm9240' Prefix: 'adm9240'
Addresses scanned: I2C 0x2c - 0x2f Addresses scanned: I2C 0x2c - 0x2f
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/UploadedFiles/Data_Sheets/79857778ADM9240_0.pdf
http://www.analog.com/UploadedFiles/Data_Sheets/79857778ADM9240_0.pdf
* Dallas Semiconductor DS1780 * Dallas Semiconductor DS1780
Prefix: 'ds1780' Prefix: 'ds1780'
Addresses scanned: I2C 0x2c - 0x2f Addresses scanned: I2C 0x2c - 0x2f
Datasheet: Publicly available at the Dallas Semiconductor (Maxim) website Datasheet: Publicly available at the Dallas Semiconductor (Maxim) website
http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf
http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf
* National Semiconductor LM81 * National Semiconductor LM81
Prefix: 'lm81' Prefix: 'lm81'
Addresses scanned: I2C 0x2c - 0x2f Addresses scanned: I2C 0x2c - 0x2f
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/ds.cgi/LM/LM81.pdf
http://www.national.com/ds.cgi/LM/LM81.pdf
Authors: Authors:
Frodo Looijaard <frodol@dds.nl>, - Frodo Looijaard <frodol@dds.nl>,
Philip Edelbrock <phil@netroedge.com>, - Philip Edelbrock <phil@netroedge.com>,
Michiel Rook <michiel@grendelproject.nl>, - Michiel Rook <michiel@grendelproject.nl>,
Grant Coady <gcoady.lk@gmail.com> with guidance - Grant Coady <gcoady.lk@gmail.com> with guidance
from Jean Delvare <jdelvare@suse.de> from Jean Delvare <jdelvare@suse.de>
Interface Interface
--------- ---------
...@@ -87,11 +100,13 @@ rpm = (22500 * 60) / (count * divider) ...@@ -87,11 +100,13 @@ rpm = (22500 * 60) / (count * divider)
Automatic fan clock divider Automatic fan clock divider
* User sets 0 to fan_min limit * User sets 0 to fan_min limit
- low speed alarm is disabled - low speed alarm is disabled
- fan clock divider not changed - fan clock divider not changed
- auto fan clock adjuster enabled for valid fan speed reading - auto fan clock adjuster enabled for valid fan speed reading
* User sets fan_min limit too low * User sets fan_min limit too low
- low speed alarm is enabled - low speed alarm is enabled
- fan clock divider set to max - fan clock divider set to max
- fan_min set to register value 254 which corresponds - fan_min set to register value 254 which corresponds
...@@ -101,18 +116,20 @@ Automatic fan clock divider ...@@ -101,18 +116,20 @@ Automatic fan clock divider
- auto fan clock adjuster disabled - auto fan clock adjuster disabled
* User sets reasonable fan speed * User sets reasonable fan speed
- low speed alarm is enabled - low speed alarm is enabled
- fan clock divider set to suit fan_min - fan clock divider set to suit fan_min
- auto fan clock adjuster enabled: adjusts fan_min - auto fan clock adjuster enabled: adjusts fan_min
* User sets unreasonably high low fan speed limit * User sets unreasonably high low fan speed limit
- resolution of the low speed limit may be reduced - resolution of the low speed limit may be reduced
- alarm will be asserted - alarm will be asserted
- auto fan clock adjuster enabled: adjusts fan_min - auto fan clock adjuster enabled: adjusts fan_min
* fan speed may be displayed as zero until the auto fan clock divider * fan speed may be displayed as zero until the auto fan clock divider
adjuster brings fan speed clock divider back into chip measurement adjuster brings fan speed clock divider back into chip measurement
range, this will occur within a few measurement cycles. range, this will occur within a few measurement cycles.
Analog Output Analog Output
------------- -------------
...@@ -122,16 +139,21 @@ power up or reset. This doesn't do much on the test Intel SE440BX-2. ...@@ -122,16 +139,21 @@ power up or reset. This doesn't do much on the test Intel SE440BX-2.
Voltage Monitor Voltage Monitor
^^^^^^^^^^^^^^^
Voltage (IN) measurement is internally scaled: Voltage (IN) measurement is internally scaled:
=== =========== =========== ========= ==========
nr label nominal maximum resolution nr label nominal maximum resolution
mV mV mV mV mV mV
=== =========== =========== ========= ==========
0 +2.5V 2500 3320 13.0 0 +2.5V 2500 3320 13.0
1 Vccp1 2700 3600 14.1 1 Vccp1 2700 3600 14.1
2 +3.3V 3300 4380 17.2 2 +3.3V 3300 4380 17.2
3 +5V 5000 6640 26.0 3 +5V 5000 6640 26.0
4 +12V 12000 15940 62.5 4 +12V 12000 15940 62.5
5 Vccp2 2700 3600 14.1 5 Vccp2 2700 3600 14.1
=== =========== =========== ========= ==========
The reading is an unsigned 8-bit value, nominal voltage measurement is The reading is an unsigned 8-bit value, nominal voltage measurement is
represented by a reading of 192, being 3/4 of the measurement range. represented by a reading of 192, being 3/4 of the measurement range.
...@@ -159,8 +181,9 @@ Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file. ...@@ -159,8 +181,9 @@ Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file.
Alarm flags reported as 16-bit word Alarm flags reported as 16-bit word
=== ============= ==========================
bit label comment bit label comment
--- ------------- -------------------------- === ============= ==========================
0 +2.5 V_Error high or low limit exceeded 0 +2.5 V_Error high or low limit exceeded
1 VCCP_Error high or low limit exceeded 1 VCCP_Error high or low limit exceeded
2 +3.3 V_Error high or low limit exceeded 2 +3.3 V_Error high or low limit exceeded
...@@ -171,6 +194,7 @@ Alarm flags reported as 16-bit word ...@@ -171,6 +194,7 @@ Alarm flags reported as 16-bit word
8 +12 V_Error high or low limit exceeded 8 +12 V_Error high or low limit exceeded
9 VCCP2_Error high or low limit exceeded 9 VCCP2_Error high or low limit exceeded
12 Chassis_Error CI pin went high 12 Chassis_Error CI pin went high
=== ============= ==========================
Remaining bits are reserved and thus undefined. It is important to note Remaining bits are reserved and thus undefined. It is important to note
that alarm bits may be cleared on read, user-space may latch alarms and that alarm bits may be cleared on read, user-space may latch alarms and
......
...@@ -2,17 +2,25 @@ Kernel driver ads1015 ...@@ -2,17 +2,25 @@ Kernel driver ads1015
===================== =====================
Supported chips: Supported chips:
* Texas Instruments ADS1015 * Texas Instruments ADS1015
Prefix: 'ads1015' Prefix: 'ads1015'
Datasheet: Publicly available at the Texas Instruments website :
http://focus.ti.com/lit/ds/symlink/ads1015.pdf Datasheet: Publicly available at the Texas Instruments website:
http://focus.ti.com/lit/ds/symlink/ads1015.pdf
* Texas Instruments ADS1115 * Texas Instruments ADS1115
Prefix: 'ads1115' Prefix: 'ads1115'
Datasheet: Publicly available at the Texas Instruments website :
http://focus.ti.com/lit/ds/symlink/ads1115.pdf Datasheet: Publicly available at the Texas Instruments website:
http://focus.ti.com/lit/ds/symlink/ads1115.pdf
Authors: Authors:
Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de> Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>
Description Description
----------- -----------
...@@ -24,14 +32,15 @@ This device is a 12/16-bit A-D converter with 4 inputs. ...@@ -24,14 +32,15 @@ This device is a 12/16-bit A-D converter with 4 inputs.
The inputs can be used single ended or in certain differential combinations. The inputs can be used single ended or in certain differential combinations.
The inputs can be made available by 8 sysfs input files in0_input - in7_input: The inputs can be made available by 8 sysfs input files in0_input - in7_input:
in0: Voltage over AIN0 and AIN1.
in1: Voltage over AIN0 and AIN3. - in0: Voltage over AIN0 and AIN1.
in2: Voltage over AIN1 and AIN3. - in1: Voltage over AIN0 and AIN3.
in3: Voltage over AIN2 and AIN3. - in2: Voltage over AIN1 and AIN3.
in4: Voltage over AIN0 and GND. - in3: Voltage over AIN2 and AIN3.
in5: Voltage over AIN1 and GND. - in4: Voltage over AIN0 and GND.
in6: Voltage over AIN2 and GND. - in5: Voltage over AIN1 and GND.
in7: Voltage over AIN3 and GND. - in6: Voltage over AIN2 and GND.
- in7: Voltage over AIN3 and GND.
Which inputs are available can be configured using platform data or devicetree. Which inputs are available can be configured using platform data or devicetree.
...@@ -42,29 +51,34 @@ Platform Data ...@@ -42,29 +51,34 @@ Platform Data
In linux/platform_data/ads1015.h platform data is defined, channel_data contains In linux/platform_data/ads1015.h platform data is defined, channel_data contains
configuration data for the used input combinations: configuration data for the used input combinations:
- pga is the programmable gain amplifier (values are full scale) - pga is the programmable gain amplifier (values are full scale)
0: +/- 6.144 V
1: +/- 4.096 V - 0: +/- 6.144 V
2: +/- 2.048 V - 1: +/- 4.096 V
3: +/- 1.024 V - 2: +/- 2.048 V
4: +/- 0.512 V - 3: +/- 1.024 V
5: +/- 0.256 V - 4: +/- 0.512 V
- 5: +/- 0.256 V
- data_rate in samples per second - data_rate in samples per second
0: 128
1: 250 - 0: 128
2: 490 - 1: 250
3: 920 - 2: 490
4: 1600 - 3: 920
5: 2400 - 4: 1600
6: 3300 - 5: 2400
- 6: 3300
Example:
struct ads1015_platform_data data = { Example::
struct ads1015_platform_data data = {
.channel_data = { .channel_data = {
[2] = { .enabled = true, .pga = 1, .data_rate = 0 }, [2] = { .enabled = true, .pga = 1, .data_rate = 0 },
[4] = { .enabled = true, .pga = 4, .data_rate = 5 }, [4] = { .enabled = true, .pga = 4, .data_rate = 5 },
} }
}; };
In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input
(FS +/- 0.512 V, 2400 SPS) would be created. (FS +/- 0.512 V, 2400 SPS) would be created.
......
...@@ -2,20 +2,27 @@ Kernel driver ads7828 ...@@ -2,20 +2,27 @@ Kernel driver ads7828
===================== =====================
Supported chips: Supported chips:
* Texas Instruments/Burr-Brown ADS7828 * Texas Instruments/Burr-Brown ADS7828
Prefix: 'ads7828' Prefix: 'ads7828'
Datasheet: Publicly available at the Texas Instruments website: Datasheet: Publicly available at the Texas Instruments website:
http://focus.ti.com/lit/ds/symlink/ads7828.pdf
http://focus.ti.com/lit/ds/symlink/ads7828.pdf
* Texas Instruments ADS7830 * Texas Instruments ADS7830
Prefix: 'ads7830' Prefix: 'ads7830'
Datasheet: Publicly available at the Texas Instruments website: Datasheet: Publicly available at the Texas Instruments website:
http://focus.ti.com/lit/ds/symlink/ads7830.pdf
http://focus.ti.com/lit/ds/symlink/ads7830.pdf
Authors: Authors:
Steve Hardy <shardy@redhat.com> - Steve Hardy <shardy@redhat.com>
Vivien Didelot <vivien.didelot@savoirfairelinux.com> - Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> - Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Platform data Platform data
------------- -------------
...@@ -24,16 +31,16 @@ The ads7828 driver accepts an optional ads7828_platform_data structure (defined ...@@ -24,16 +31,16 @@ The ads7828 driver accepts an optional ads7828_platform_data structure (defined
in include/linux/platform_data/ads7828.h). The structure fields are: in include/linux/platform_data/ads7828.h). The structure fields are:
* diff_input: (bool) Differential operation * diff_input: (bool) Differential operation
set to true for differential mode, false for default single ended mode. set to true for differential mode, false for default single ended mode.
* ext_vref: (bool) External reference * ext_vref: (bool) External reference
set to true if it operates with an external reference, false for default set to true if it operates with an external reference, false for default
internal reference. internal reference.
* vref_mv: (unsigned int) Voltage reference * vref_mv: (unsigned int) Voltage reference
if using an external reference, set this to the reference voltage in mV, if using an external reference, set this to the reference voltage in mV,
otherwise it will default to the internal value (2500mV). This value will be otherwise it will default to the internal value (2500mV). This value will be
bounded with limits accepted by the chip, described in the datasheet. bounded with limits accepted by the chip, described in the datasheet.
If no structure is provided, the configuration defaults to single ended If no structure is provided, the configuration defaults to single ended
operation and internal voltage reference (2.5V). operation and internal voltage reference (2.5V).
......
...@@ -2,26 +2,45 @@ Kernel driver adt7410 ...@@ -2,26 +2,45 @@ Kernel driver adt7410
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADT7410 * Analog Devices ADT7410
Prefix: 'adt7410' Prefix: 'adt7410'
Addresses scanned: None Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
* Analog Devices ADT7420 * Analog Devices ADT7420
Prefix: 'adt7420' Prefix: 'adt7420'
Addresses scanned: None Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
* Analog Devices ADT7310 * Analog Devices ADT7310
Prefix: 'adt7310' Prefix: 'adt7310'
Addresses scanned: None Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7310.pdf
http://www.analog.com/static/imported-files/data_sheets/ADT7310.pdf
* Analog Devices ADT7320 * Analog Devices ADT7320
Prefix: 'adt7320' Prefix: 'adt7320'
Addresses scanned: None Addresses scanned: None
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
http://www.analog.com/static/imported-files/data_sheets/ADT7320.pdf
http://www.analog.com/static/imported-files/data_sheets/ADT7320.pdf
Author: Hartmut Knaack <knaack.h@gmx.de> Author: Hartmut Knaack <knaack.h@gmx.de>
...@@ -61,13 +80,15 @@ The device is set to 16 bit resolution and comparator mode. ...@@ -61,13 +80,15 @@ The device is set to 16 bit resolution and comparator mode.
sysfs-Interface sysfs-Interface
--------------- ---------------
temp#_input - temperature input ======================== ====================================================
temp#_min - temperature minimum setpoint temp#_input temperature input
temp#_max - temperature maximum setpoint temp#_min temperature minimum setpoint
temp#_crit - critical temperature setpoint temp#_max temperature maximum setpoint
temp#_min_hyst - hysteresis for temperature minimum (read-only) temp#_crit critical temperature setpoint
temp#_max_hyst - hysteresis for temperature maximum (read/write) temp#_min_hyst hysteresis for temperature minimum (read-only)
temp#_crit_hyst - hysteresis for critical temperature (read-only) temp#_max_hyst hysteresis for temperature maximum (read/write)
temp#_min_alarm - temperature minimum alarm flag temp#_crit_hyst hysteresis for critical temperature (read-only)
temp#_max_alarm - temperature maximum alarm flag temp#_min_alarm temperature minimum alarm flag
temp#_crit_alarm - critical temperature alarm flag temp#_max_alarm temperature maximum alarm flag
temp#_crit_alarm critical temperature alarm flag
======================== ====================================================
...@@ -2,9 +2,13 @@ Kernel driver adt7411 ...@@ -2,9 +2,13 @@ Kernel driver adt7411
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADT7411 * Analog Devices ADT7411
Prefix: 'adt7411' Prefix: 'adt7411'
Addresses scanned: 0x48, 0x4a, 0x4b Addresses scanned: 0x48, 0x4a, 0x4b
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
Author: Wolfram Sang (based on adt7470 by Darrick J. Wong) Author: Wolfram Sang (based on adt7470 by Darrick J. Wong)
...@@ -26,15 +30,19 @@ Check the datasheet for details. ...@@ -26,15 +30,19 @@ Check the datasheet for details.
sysfs-Interface sysfs-Interface
--------------- ---------------
in0_input - vdd voltage input ================ =================
in[1-8]_input - analog 1-8 input in0_input vdd voltage input
temp1_input - temperature input in[1-8]_input analog 1-8 input
temp1_input temperature input
================ =================
Besides standard interfaces, this driver adds (0 = off, 1 = on): Besides standard interfaces, this driver adds (0 = off, 1 = on):
adc_ref_vdd - Use vdd as reference instead of 2.25 V ============== =======================================================
fast_sampling - Sample at 22.5 kHz instead of 1.4 kHz, but drop filters adc_ref_vdd Use vdd as reference instead of 2.25 V
no_average - Turn off averaging over 16 samples fast_sampling Sample at 22.5 kHz instead of 1.4 kHz, but drop filters
no_average Turn off averaging over 16 samples
============== =======================================================
Notes Notes
----- -----
......
Kernel driver adt7462 Kernel driver adt7462
====================== =====================
Supported chips: Supported chips:
* Analog Devices ADT7462 * Analog Devices ADT7462
Prefix: 'adt7462' Prefix: 'adt7462'
Addresses scanned: I2C 0x58, 0x5C Addresses scanned: I2C 0x58, 0x5C
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
Author: Darrick J. Wong Author: Darrick J. Wong
...@@ -57,11 +61,10 @@ Besides standard interfaces driver adds the following: ...@@ -57,11 +61,10 @@ Besides standard interfaces driver adds the following:
* pwm#_auto_point1_pwm and temp#_auto_point1_temp and * pwm#_auto_point1_pwm and temp#_auto_point1_temp and
* pwm#_auto_point2_pwm and temp#_auto_point2_temp - * pwm#_auto_point2_pwm and temp#_auto_point2_temp -
point1: Set the pwm speed at a lower temperature bound. - point1: Set the pwm speed at a lower temperature bound.
point2: Set the pwm speed at a higher temperature bound. - point2: Set the pwm speed at a higher temperature bound.
The ADT7462 will scale the pwm between the lower and higher pwm speed when The ADT7462 will scale the pwm between the lower and higher pwm speed when
the temperature is between the two temperature boundaries. PWM values range the temperature is between the two temperature boundaries. PWM values range
from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the
temperature sensor associated with the PWM control exceeds temp#_max. temperature sensor associated with the PWM control exceeds temp#_max.
...@@ -2,9 +2,13 @@ Kernel driver adt7470 ...@@ -2,9 +2,13 @@ Kernel driver adt7470
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADT7470 * Analog Devices ADT7470
Prefix: 'adt7470' Prefix: 'adt7470'
Addresses scanned: I2C 0x2C, 0x2E, 0x2F Addresses scanned: I2C 0x2C, 0x2E, 0x2F
Datasheet: Publicly available at the Analog Devices website Datasheet: Publicly available at the Analog Devices website
Author: Darrick J. Wong Author: Darrick J. Wong
...@@ -56,8 +60,8 @@ Besides standard interfaces driver adds the following: ...@@ -56,8 +60,8 @@ Besides standard interfaces driver adds the following:
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and * pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp - * pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
point1: Set the pwm speed at a lower temperature bound. - point1: Set the pwm speed at a lower temperature bound.
point2: Set the pwm speed at a higher temperature bound. - point2: Set the pwm speed at a higher temperature bound.
The ADT7470 will scale the pwm between the lower and higher pwm speed when The ADT7470 will scale the pwm between the lower and higher pwm speed when
the temperature is between the two temperature boundaries. PWM values range the temperature is between the two temperature boundaries. PWM values range
......
...@@ -2,28 +2,44 @@ Kernel driver adt7475 ...@@ -2,28 +2,44 @@ Kernel driver adt7475
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADT7473 * Analog Devices ADT7473
Prefix: 'adt7473' Prefix: 'adt7473'
Addresses scanned: I2C 0x2C, 0x2D, 0x2E Addresses scanned: I2C 0x2C, 0x2D, 0x2E
Datasheet: Publicly available at the On Semiconductors website Datasheet: Publicly available at the On Semiconductors website
* Analog Devices ADT7475 * Analog Devices ADT7475
Prefix: 'adt7475' Prefix: 'adt7475'
Addresses scanned: I2C 0x2E Addresses scanned: I2C 0x2E
Datasheet: Publicly available at the On Semiconductors website Datasheet: Publicly available at the On Semiconductors website
* Analog Devices ADT7476 * Analog Devices ADT7476
Prefix: 'adt7476' Prefix: 'adt7476'
Addresses scanned: I2C 0x2C, 0x2D, 0x2E Addresses scanned: I2C 0x2C, 0x2D, 0x2E
Datasheet: Publicly available at the On Semiconductors website Datasheet: Publicly available at the On Semiconductors website
* Analog Devices ADT7490 * Analog Devices ADT7490
Prefix: 'adt7490' Prefix: 'adt7490'
Addresses scanned: I2C 0x2C, 0x2D, 0x2E Addresses scanned: I2C 0x2C, 0x2D, 0x2E
Datasheet: Publicly available at the On Semiconductors website Datasheet: Publicly available at the On Semiconductors website
Authors: Authors:
Jordan Crouse - Jordan Crouse
Hans de Goede - Hans de Goede
Darrick J. Wong (documentation) - Darrick J. Wong (documentation)
Jean Delvare - Jean Delvare
Description Description
...@@ -82,14 +98,16 @@ ADT7490: ...@@ -82,14 +98,16 @@ ADT7490:
Sysfs Mapping Sysfs Mapping
------------- -------------
ADT7490 ADT7476 ADT7475 ADT7473 ==== =========== =========== ========= ==========
------- ------- ------- ------- in ADT7490 ADT7476 ADT7475 ADT7473
==== =========== =========== ========= ==========
in0 2.5VIN (22) 2.5VIN (22) - - in0 2.5VIN (22) 2.5VIN (22) - -
in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14) in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14)
in2 VCC (4) VCC (4) VCC (4) VCC (3) in2 VCC (4) VCC (4) VCC (4) VCC (3)
in3 5VIN (20) 5VIN (20) in3 5VIN (20) 5VIN (20)
in4 12VIN (21) 12VIN (21) in4 12VIN (21) 12VIN (21)
in5 VTT (8) in5 VTT (8)
==== =========== =========== ========= ==========
Special Features Special Features
---------------- ----------------
...@@ -107,8 +125,8 @@ Fan Speed Control ...@@ -107,8 +125,8 @@ Fan Speed Control
The driver exposes two trip points per PWM channel. The driver exposes two trip points per PWM channel.
point1: Set the PWM speed at the lower temperature bound - point1: Set the PWM speed at the lower temperature bound
point2: Set the PWM speed at the higher temperature bound - point2: Set the PWM speed at the higher temperature bound
The ADT747x will scale the PWM linearly between the lower and higher PWM The ADT747x will scale the PWM linearly between the lower and higher PWM
speed when the temperature is between the two temperature boundaries. speed when the temperature is between the two temperature boundaries.
...@@ -123,12 +141,12 @@ the PWM control exceeds temp#_max. ...@@ -123,12 +141,12 @@ the PWM control exceeds temp#_max.
At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the
minimum (i.e. auto_point1_pwm). This behaviour can be configured using the minimum (i.e. auto_point1_pwm). This behaviour can be configured using the
pwm[1-*]_stall_disable sysfs attribute. A value of 0 means the fans will shut `pwm[1-*]_stall_disable sysfs attribute`. A value of 0 means the fans will shut
off. A value of 1 means the fans will run at auto_point1_pwm. off. A value of 1 means the fans will run at auto_point1_pwm.
The responsiveness of the ADT747x to temperature changes can be configured. The responsiveness of the ADT747x to temperature changes can be configured.
This allows smoothing of the fan speed transition. To set the transition time This allows smoothing of the fan speed transition. To set the transition time
set the value in ms in the temp[1-*]_smoothing sysfs attribute. set the value in ms in the `temp[1-*]_smoothing` sysfs attribute.
Notes Notes
----- -----
......
...@@ -2,9 +2,13 @@ Kernel driver amc6821 ...@@ -2,9 +2,13 @@ Kernel driver amc6821
===================== =====================
Supported chips: Supported chips:
Texas Instruments AMC6821 Texas Instruments AMC6821
Prefix: 'amc6821' Prefix: 'amc6821'
Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
Authors: Authors:
...@@ -21,10 +25,11 @@ The pwm can be controlled either from software or automatically. ...@@ -21,10 +25,11 @@ The pwm can be controlled either from software or automatically.
The driver provides the following sensor accesses in sysfs: The driver provides the following sensor accesses in sysfs:
======================= == ===============================================
temp1_input ro on-chip temperature temp1_input ro on-chip temperature
temp1_min rw " temp1_min rw "
temp1_max rw " temp1_max rw "
temp1_crit rw " temp1_crit rw "
temp1_min_alarm ro " temp1_min_alarm ro "
temp1_max_alarm ro " temp1_max_alarm ro "
temp1_crit_alarm ro " temp1_crit_alarm ro "
...@@ -32,16 +37,16 @@ temp1_crit_alarm ro " ...@@ -32,16 +37,16 @@ temp1_crit_alarm ro "
temp2_input ro remote temperature temp2_input ro remote temperature
temp2_min rw " temp2_min rw "
temp2_max rw " temp2_max rw "
temp2_crit rw " temp2_crit rw "
temp2_min_alarm ro " temp2_min_alarm ro "
temp2_max_alarm ro " temp2_max_alarm ro "
temp2_crit_alarm ro " temp2_crit_alarm ro "
temp2_fault ro " temp2_fault ro "
fan1_input ro tachometer speed fan1_input ro tachometer speed
fan1_min rw " fan1_min rw "
fan1_max rw " fan1_max rw "
fan1_fault ro " fan1_fault ro "
fan1_div rw Fan divisor can be either 2 or 4. fan1_div rw Fan divisor can be either 2 or 4.
pwm1 rw pwm1 pwm1 rw pwm1
...@@ -87,6 +92,7 @@ temp2_auto_point3_temp rw Above this temperature fan runs at maximum ...@@ -87,6 +92,7 @@ temp2_auto_point3_temp rw Above this temperature fan runs at maximum
values which depend on temp2_auto_point2_temp values which depend on temp2_auto_point2_temp
and pwm1_auto_point2_pwm. Read it out after and pwm1_auto_point2_pwm. Read it out after
writing to get actual value. writing to get actual value.
======================= == ===============================================
Module parameters Module parameters
...@@ -97,6 +103,6 @@ load the module with: init=0. ...@@ -97,6 +103,6 @@ load the module with: init=0.
If your board BIOS doesn't initialize the chip, or you want If your board BIOS doesn't initialize the chip, or you want
different settings, you can set the following parameters: different settings, you can set the following parameters:
init=1,
pwminv: 0 default pwm output, 1 inverts pwm output.
- init=1,
- pwminv: 0 default pwm output, 1 inverts pwm output.
...@@ -2,9 +2,13 @@ Kernel driver asb100 ...@@ -2,9 +2,13 @@ Kernel driver asb100
==================== ====================
Supported Chips: Supported Chips:
* Asus ASB100 and ASB100-A "Bach" * Asus ASB100 and ASB100-A "Bach"
Prefix: 'asb100' Prefix: 'asb100'
Addresses scanned: I2C 0x2d Addresses scanned: I2C 0x2d
Datasheet: none released Datasheet: none released
Author: Mark M. Hoffman <mhoffman@lightlink.com> Author: Mark M. Hoffman <mhoffman@lightlink.com>
...@@ -41,32 +45,29 @@ processor itself. It is a value in volts. ...@@ -41,32 +45,29 @@ processor itself. It is a value in volts.
Alarms: (TODO question marks indicate may or may not work) Alarms: (TODO question marks indicate may or may not work)
0x0001 => in0 (?) - 0x0001 => in0 (?)
0x0002 => in1 (?) - 0x0002 => in1 (?)
0x0004 => in2 - 0x0004 => in2
0x0008 => in3 - 0x0008 => in3
0x0010 => temp1 (1) - 0x0010 => temp1 [1]_
0x0020 => temp2 - 0x0020 => temp2
0x0040 => fan1 - 0x0040 => fan1
0x0080 => fan2 - 0x0080 => fan2
0x0100 => in4 - 0x0100 => in4
0x0200 => in5 (?) (2) - 0x0200 => in5 (?) [2]_
0x0400 => in6 (?) (2) - 0x0400 => in6 (?) [2]_
0x0800 => fan3 - 0x0800 => fan3
0x1000 => chassis switch - 0x1000 => chassis switch
0x2000 => temp3 - 0x2000 => temp3
Alarm Notes: .. [1] This alarm will only trigger if the hysteresis value is 127C.
I.e. it behaves the same as w83781d.
(1) This alarm will only trigger if the hysteresis value is 127C.
I.e. it behaves the same as w83781d. .. [2] The min and max registers for these values appear to
be read-only or otherwise stuck at 0x00.
(2) The min and max registers for these values appear to
be read-only or otherwise stuck at 0x00.
TODO: TODO:
* Experiment with fan divisors > 8. * Experiment with fan divisors > 8.
* Experiment with temp. sensor types. * Experiment with temp. sensor types.
* Are there really 13 voltage inputs? Probably not... * Are there really 13 voltage inputs? Probably not...
* Cleanups, no doubt... * Cleanups, no doubt...
=====================
Kernel driver asc7621 Kernel driver asc7621
================== =====================
Supported chips: Supported chips:
Andigilog aSC7621 and aSC7621a Andigilog aSC7621 and aSC7621a
Prefix: 'asc7621' Prefix: 'asc7621'
Addresses scanned: I2C 0x2c, 0x2d, 0x2e Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf
Author: Author:
...@@ -73,8 +78,10 @@ Finally, we have added a tach disable function that turns off the tach ...@@ -73,8 +78,10 @@ Finally, we have added a tach disable function that turns off the tach
measurement system for individual tachs in order to save power. That is measurement system for individual tachs in order to save power. That is
in register 75h. in register 75h.
-- --------------------------------------------------------------------------
aSC7621 Product Description aSC7621 Product Description
===========================
The aSC7621 has a two wire digital interface compatible with SMBus 2.0. The aSC7621 has a two wire digital interface compatible with SMBus 2.0.
Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode
...@@ -102,6 +109,8 @@ System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are ...@@ -102,6 +109,8 @@ System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are
monitored efficiently with internal scaling resistors. monitored efficiently with internal scaling resistors.
Features Features
--------
- Supports PECI interface and monitors internal and remote thermal diodes - Supports PECI interface and monitors internal and remote thermal diodes
- 2-wire, SMBus 2.0 compliant, serial interface - 2-wire, SMBus 2.0 compliant, serial interface
- 10-bit ADC - 10-bit ADC
...@@ -110,7 +119,7 @@ Features ...@@ -110,7 +119,7 @@ Features
- Noise filtering of temperature reading for fan speed control - Noise filtering of temperature reading for fan speed control
- 0.25C digital temperature sensor resolution - 0.25C digital temperature sensor resolution
- 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan - 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan
tachometer inputs tachometer inputs
- Enhanced measured temperature to Temperature Zone assignment. - Enhanced measured temperature to Temperature Zone assignment.
- Provides high and low PWM frequency ranges - Provides high and low PWM frequency ranges
- 3 GPIO pins for custom use - 3 GPIO pins for custom use
...@@ -123,17 +132,20 @@ Except where noted below, the sysfs entries created by this driver follow ...@@ -123,17 +132,20 @@ Except where noted below, the sysfs entries created by this driver follow
the standards defined in "sysfs-interface". the standards defined in "sysfs-interface".
temp1_source temp1_source
= ===============================================
0 (default) peci_legacy = 0, Remote 1 Temperature 0 (default) peci_legacy = 0, Remote 1 Temperature
peci_legacy = 1, PECI Processor Temperature 0 peci_legacy = 1, PECI Processor Temperature 0
1 Remote 1 Temperature 1 Remote 1 Temperature
2 Remote 2 Temperature 2 Remote 2 Temperature
3 Internal Temperature 3 Internal Temperature
4 PECI Processor Temperature 0 4 PECI Processor Temperature 0
5 PECI Processor Temperature 1 5 PECI Processor Temperature 1
6 PECI Processor Temperature 2 6 PECI Processor Temperature 2
7 PECI Processor Temperature 3 7 PECI Processor Temperature 3
= ===============================================
temp2_source temp2_source
= ===============================================
0 (default) Internal Temperature 0 (default) Internal Temperature
1 Remote 1 Temperature 1 Remote 1 Temperature
2 Remote 2 Temperature 2 Remote 2 Temperature
...@@ -142,8 +154,10 @@ temp2_source ...@@ -142,8 +154,10 @@ temp2_source
5 PECI Processor Temperature 1 5 PECI Processor Temperature 1
6 PECI Processor Temperature 2 6 PECI Processor Temperature 2
7 PECI Processor Temperature 3 7 PECI Processor Temperature 3
= ===============================================
temp3_source temp3_source
= ===============================================
0 (default) Remote 2 Temperature 0 (default) Remote 2 Temperature
1 Remote 1 Temperature 1 Remote 1 Temperature
2 Remote 2 Temperature 2 Remote 2 Temperature
...@@ -152,10 +166,12 @@ temp3_source ...@@ -152,10 +166,12 @@ temp3_source
5 PECI Processor Temperature 1 5 PECI Processor Temperature 1
6 PECI Processor Temperature 2 6 PECI Processor Temperature 2
7 PECI Processor Temperature 3 7 PECI Processor Temperature 3
= ===============================================
temp4_source temp4_source
= ===============================================
0 (default) peci_legacy = 0, PECI Processor Temperature 0 0 (default) peci_legacy = 0, PECI Processor Temperature 0
peci_legacy = 1, Remote 1 Temperature peci_legacy = 1, Remote 1 Temperature
1 Remote 1 Temperature 1 Remote 1 Temperature
2 Remote 2 Temperature 2 Remote 2 Temperature
3 Internal Temperature 3 Internal Temperature
...@@ -163,58 +179,65 @@ temp4_source ...@@ -163,58 +179,65 @@ temp4_source
5 PECI Processor Temperature 1 5 PECI Processor Temperature 1
6 PECI Processor Temperature 2 6 PECI Processor Temperature 2
7 PECI Processor Temperature 3 7 PECI Processor Temperature 3
= ===============================================
temp[1-4]_smoothing_enable temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
temp[1-4]_smoothing_time
Smooths spikes in temp readings caused by noise. Smooths spikes in temp readings caused by noise.
Valid values in milliseconds are: Valid values in milliseconds are:
35000
17600 * 35000
11800 * 17600
7000 * 11800
4400 * 7000
3000 * 4400
1600 * 3000
800 * 1600
* 800
temp[1-4]_crit temp[1-4]_crit
When the corresponding zone temperature reaches this value, When the corresponding zone temperature reaches this value,
ALL pwm outputs will got to 100%. ALL pwm outputs will got to 100%.
temp[5-8]_input temp[5-8]_input / temp[5-8]_enable
temp[5-8]_enable
The aSC7621 can also read temperatures provided by the processor The aSC7621 can also read temperatures provided by the processor
via the PECI bus. Usually these are "core" temps and are relative via the PECI bus. Usually these are "core" temps and are relative
to the point where the automatic thermal control circuit starts to the point where the automatic thermal control circuit starts
throttling. This means that these are usually negative numbers. throttling. This means that these are usually negative numbers.
pwm[1-3]_enable pwm[1-3]_enable
=============== ========================================================
0 Fan off. 0 Fan off.
1 Fan on manual control. 1 Fan on manual control.
2 Fan on automatic control and will run at the minimum pwm 2 Fan on automatic control and will run at the minimum pwm
if the temperature for the zone is below the minimum. if the temperature for the zone is below the minimum.
3 Fan on automatic control but will be off if the temperature 3 Fan on automatic control but will be off if the
for the zone is below the minimum. temperature for the zone is below the minimum.
4-254 Ignored. 4-254 Ignored.
255 Fan on full. 255 Fan on full.
=============== ========================================================
pwm[1-3]_auto_channels pwm[1-3]_auto_channels
Bitmap as described in sysctl-interface with the following Bitmap as described in sysctl-interface with the following
exceptions... exceptions...
Only the following combination of zones (and their corresponding masks) Only the following combination of zones (and their corresponding masks)
are valid: are valid:
1
2
3
2,3
1,2,3
4
1,2,3,4
Special values: * 1
0 Disabled. * 2
16 Fan on manual control. * 3
31 Fan on full. * 2,3
* 1,2,3
* 4
* 1,2,3,4
* Special values:
== ======================
0 Disabled.
16 Fan on manual control.
31 Fan on full.
== ======================
pwm[1-3]_invert pwm[1-3]_invert
...@@ -226,22 +249,22 @@ pwm[1-3]_freq ...@@ -226,22 +249,22 @@ pwm[1-3]_freq
PWM frequency in Hz PWM frequency in Hz
Valid values in Hz are: Valid values in Hz are:
10 * 10
15 * 15
23 * 23
30 (default) * 30 (default)
38 * 38
47 * 47
62 * 62
94 * 94
23000 * 23000
24000 * 24000
25000 * 25000
26000 * 26000
27000 * 27000
28000 * 28000
29000 * 29000
30000 * 30000
Setting any other value will be ignored. Setting any other value will be ignored.
...@@ -251,17 +274,17 @@ peci_enable ...@@ -251,17 +274,17 @@ peci_enable
peci_avg peci_avg
Input filter average time. Input filter average time.
0 0 Sec. (no Smoothing) (default) * 0 0 Sec. (no Smoothing) (default)
1 0.25 Sec. * 1 0.25 Sec.
2 0.5 Sec. * 2 0.5 Sec.
3 1.0 Sec. * 3 1.0 Sec.
4 2.0 Sec. * 4 2.0 Sec.
5 4.0 Sec. * 5 4.0 Sec.
6 8.0 Sec. * 6 8.0 Sec.
7 0.0 Sec. * 7 0.0 Sec.
peci_legacy peci_legacy
= ============================================
0 Standard Mode (default) 0 Standard Mode (default)
Remote Diode 1 reading is associated with Remote Diode 1 reading is associated with
Temperature Zone 1, PECI is associated with Temperature Zone 1, PECI is associated with
...@@ -270,10 +293,12 @@ peci_legacy ...@@ -270,10 +293,12 @@ peci_legacy
1 Legacy Mode 1 Legacy Mode
PECI is associated with Temperature Zone 1, PECI is associated with Temperature Zone 1,
Remote Diode 1 is associated with Zone 4 Remote Diode 1 is associated with Zone 4
= ============================================
peci_diode peci_diode
Diode filter Diode filter
= ====================
0 0.25 Sec. 0 0.25 Sec.
1 1.1 Sec. 1 1.1 Sec.
2 2.4 Sec. (default) 2 2.4 Sec. (default)
...@@ -282,15 +307,20 @@ peci_diode ...@@ -282,15 +307,20 @@ peci_diode
5 6.8 Sec. 5 6.8 Sec.
6 10.2 Sec. 6 10.2 Sec.
7 16.4 Sec. 7 16.4 Sec.
= ====================
peci_4domain peci_4domain
Four domain enable Four domain enable
= ===============================================
0 1 or 2 Domains for enabled processors (default) 0 1 or 2 Domains for enabled processors (default)
1 3 or 4 Domains for enabled processors 1 3 or 4 Domains for enabled processors
= ===============================================
peci_domain peci_domain
Domain Domain
= ==================================================
0 Processor contains a single domain (0) (default) 0 Processor contains a single domain (0) (default)
1 Processor contains two domains (0,1) 1 Processor contains two domains (0,1)
= ==================================================
...@@ -15,8 +15,10 @@ controller supports up to 16 tachometer inputs. ...@@ -15,8 +15,10 @@ controller supports up to 16 tachometer inputs.
The driver provides the following sensor accesses in sysfs: The driver provides the following sensor accesses in sysfs:
=============== ======= =====================================================
fanX_input ro provide current fan rotation value in RPM as reported fanX_input ro provide current fan rotation value in RPM as reported
by the fan to the device. by the fan to the device.
pwmX rw get or set PWM fan control value. This is an integer pwmX rw get or set PWM fan control value. This is an integer
value between 0(off) and 255(full speed). value between 0(off) and 255(full speed).
=============== ======= =====================================================
...@@ -3,20 +3,29 @@ Kernel driver coretemp ...@@ -3,20 +3,29 @@ Kernel driver coretemp
Supported chips: Supported chips:
* All Intel Core family * All Intel Core family
Prefix: 'coretemp' Prefix: 'coretemp'
CPUID: family 0x6, models 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm), CPUID: family 0x6, models
0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom), - 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
0x36 (Cedar Trail Atom) - 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual - 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
Volume 3A: System Programming Guide - 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
http://softwarecommunity.intel.com/Wiki/Mobility/720.htm - 0x36 (Cedar Trail Atom)
Datasheet:
Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3A: System Programming Guide
http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
Author: Rudolf Marek Author: Rudolf Marek
Description Description
----------- -----------
This driver permits reading the DTS (Digital Temperature Sensor) embedded This driver permits reading the DTS (Digital Temperature Sensor) embedded
inside Intel CPUs. This driver can read both the per-core and per-package inside Intel CPUs. This driver can read both the per-core and per-package
temperature using the appropriate sensors. The per-package sensor is new; temperature using the appropriate sensors. The per-package sensor is new;
...@@ -35,14 +44,17 @@ may be raised, if the temperature grows enough (more than TjMax) to trigger ...@@ -35,14 +44,17 @@ may be raised, if the temperature grows enough (more than TjMax) to trigger
the Out-Of-Spec bit. Following table summarizes the exported sysfs files: the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
All Sysfs entries are named with their core_id (represented here by 'X'). All Sysfs entries are named with their core_id (represented here by 'X').
tempX_input - Core temperature (in millidegrees Celsius).
tempX_max - All cooling devices should be turned on (on Core2). ================= ========================================================
tempX_crit - Maximum junction temperature (in millidegrees Celsius). tempX_input Core temperature (in millidegrees Celsius).
tempX_crit_alarm - Set when Out-of-spec bit is set, never clears. tempX_max All cooling devices should be turned on (on Core2).
Correct CPU operation is no longer guaranteed. tempX_crit Maximum junction temperature (in millidegrees Celsius).
tempX_label - Contains string "Core X", where X is processor tempX_crit_alarm Set when Out-of-spec bit is set, never clears.
number. For Package temp, this will be "Physical id Y", Correct CPU operation is no longer guaranteed.
where Y is the package number. tempX_label Contains string "Core X", where X is processor
number. For Package temp, this will be "Physical id Y",
where Y is the package number.
================= ========================================================
On CPU models which support it, TjMax is read from a model-specific register. On CPU models which support it, TjMax is read from a model-specific register.
On other models, it is set to an arbitrary value based on weak heuristics. On other models, it is set to an arbitrary value based on weak heuristics.
...@@ -52,6 +64,7 @@ as a module parameter (tjmax). ...@@ -52,6 +64,7 @@ as a module parameter (tjmax).
Appendix A. Known TjMax lists (TBD): Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com Some information comes from ark.intel.com
=============== =============================================== ================
Process Processor TjMax(C) Process Processor TjMax(C)
22nm Core i5/i7 Processors 22nm Core i5/i7 Processors
...@@ -179,3 +192,4 @@ Process Processor TjMax(C) ...@@ -179,3 +192,4 @@ Process Processor TjMax(C)
65nm Celeron Processors 65nm Celeron Processors
T1700/1600 100 T1700/1600 100
560/550/540/530 100 560/550/540/530 100
=============== =============================================== ================
Kernel driver da9052
====================
Supported chips: Supported chips:
* Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs * Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs
Prefix: 'da9052' Prefix: 'da9052'
Datasheet: Datasheet is not publicly available. Datasheet: Datasheet is not publicly available.
Authors: David Dajun Chen <dchen@diasemi.com> Authors: David Dajun Chen <dchen@diasemi.com>
...@@ -15,17 +21,20 @@ different inputs. The track and hold circuit ensures stable input voltages at ...@@ -15,17 +21,20 @@ different inputs. The track and hold circuit ensures stable input voltages at
the input of the ADC during the conversion. the input of the ADC during the conversion.
The ADC is used to measure the following inputs: The ADC is used to measure the following inputs:
Channel 0: VDDOUT - measurement of the system voltage
Channel 1: ICH - internal battery charger current measurement ========= ===================================================================
Channel 2: TBAT - output from the battery NTC Channel 0 VDDOUT - measurement of the system voltage
Channel 3: VBAT - measurement of the battery voltage Channel 1 ICH - internal battery charger current measurement
Channel 4: ADC_IN4 - high impedance input (0 - 2.5V) Channel 2 TBAT - output from the battery NTC
Channel 5: ADC_IN5 - high impedance input (0 - 2.5V) Channel 3 VBAT - measurement of the battery voltage
Channel 6: ADC_IN6 - high impedance input (0 - 2.5V) Channel 4 ADC_IN4 - high impedance input (0 - 2.5V)
Channel 7: XY - TSI interface to measure the X and Y voltage of the touch Channel 5 ADC_IN5 - high impedance input (0 - 2.5V)
screen resistive potentiometers Channel 6 ADC_IN6 - high impedance input (0 - 2.5V)
Channel 8: Internal Tjunc. - sense (internal temp. sensor) Channel 7 XY - TSI interface to measure the X and Y voltage of the touch
Channel 9: VBBAT - measurement of the backup battery voltage screen resistive potentiometers
Channel 8 Internal Tjunc. - sense (internal temp. sensor)
Channel 9 VBBAT - measurement of the backup battery voltage
========= ===================================================================
By using sysfs attributes we can measure the system voltage VDDOUT, the battery By using sysfs attributes we can measure the system voltage VDDOUT, the battery
charging current ICH, battery temperature TBAT, battery junction temperature charging current ICH, battery temperature TBAT, battery junction temperature
...@@ -37,12 +46,15 @@ Voltage Monitoring ...@@ -37,12 +46,15 @@ Voltage Monitoring
Voltages are sampled by a 10 bit ADC. Voltages are sampled by a 10 bit ADC.
The battery voltage is calculated as: The battery voltage is calculated as:
Milli volt = ((ADC value * 1000) / 512) + 2500 Milli volt = ((ADC value * 1000) / 512) + 2500
The backup battery voltage is calculated as: The backup battery voltage is calculated as:
Milli volt = (ADC value * 2500) / 512; Milli volt = (ADC value * 2500) / 512;
The voltages on ADC channels 4, 5 and 6 are calculated as: The voltages on ADC channels 4, 5 and 6 are calculated as:
Milli volt = (ADC value * 2500) / 1023 Milli volt = (ADC value * 2500) / 1023
Temperature Monitoring Temperature Monitoring
...@@ -52,10 +64,15 @@ Temperatures are sampled by a 10 bit ADC. Junction and battery temperatures ...@@ -52,10 +64,15 @@ Temperatures are sampled by a 10 bit ADC. Junction and battery temperatures
are monitored by the ADC channels. are monitored by the ADC channels.
The junction temperature is calculated: The junction temperature is calculated:
Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8 Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8
The junction temperature attribute is supported by the driver. The junction temperature attribute is supported by the driver.
The battery temperature is calculated: The battery temperature is calculated:
Degree Celsius = 1 / (t1 + 1/298)- 273
Degree Celsius = 1 / (t1 + 1/298) - 273
where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255)) where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))
Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively. Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.
Kernel driver da9055
====================
Supported chips: Supported chips:
* Dialog Semiconductors DA9055 PMIC * Dialog Semiconductors DA9055 PMIC
Prefix: 'da9055' Prefix: 'da9055'
Datasheet: Datasheet is not publicly available. Datasheet: Datasheet is not publicly available.
Authors: David Dajun Chen <dchen@diasemi.com> Authors: David Dajun Chen <dchen@diasemi.com>
...@@ -15,11 +20,12 @@ different inputs. The track and hold circuit ensures stable input voltages at ...@@ -15,11 +20,12 @@ different inputs. The track and hold circuit ensures stable input voltages at
the input of the ADC during the conversion. the input of the ADC during the conversion.
The ADC is used to measure the following inputs: The ADC is used to measure the following inputs:
Channel 0: VDDOUT - measurement of the system voltage
Channel 1: ADC_IN1 - high impedance input (0 - 2.5V) - Channel 0: VDDOUT - measurement of the system voltage
Channel 2: ADC_IN2 - high impedance input (0 - 2.5V) - Channel 1: ADC_IN1 - high impedance input (0 - 2.5V)
Channel 3: ADC_IN3 - high impedance input (0 - 2.5V) - Channel 2: ADC_IN2 - high impedance input (0 - 2.5V)
Channel 4: Internal Tjunc. - sense (internal temp. sensor) - Channel 3: ADC_IN3 - high impedance input (0 - 2.5V)
- Channel 4: Internal Tjunc. - sense (internal temp. sensor)
By using sysfs attributes we can measure the system voltage VDDOUT, By using sysfs attributes we can measure the system voltage VDDOUT,
chip junction temperature and auxiliary channels voltages. chip junction temperature and auxiliary channels voltages.
...@@ -31,9 +37,11 @@ Voltages are sampled in a AUTO mode it can be manually sampled too and results ...@@ -31,9 +37,11 @@ Voltages are sampled in a AUTO mode it can be manually sampled too and results
are stored in a 10 bit ADC. are stored in a 10 bit ADC.
The system voltage is calculated as: The system voltage is calculated as:
Milli volt = ((ADC value * 1000) / 85) + 2500 Milli volt = ((ADC value * 1000) / 85) + 2500
The voltages on ADC channels 1, 2 and 3 are calculated as: The voltages on ADC channels 1, 2 and 3 are calculated as:
Milli volt = (ADC value * 1000) / 102 Milli volt = (ADC value * 1000) / 102
Temperature Monitoring Temperature Monitoring
...@@ -43,5 +51,7 @@ Temperatures are sampled by a 10 bit ADC. Junction temperatures ...@@ -43,5 +51,7 @@ Temperatures are sampled by a 10 bit ADC. Junction temperatures
are monitored by the ADC channels. are monitored by the ADC channels.
The junction temperature is calculated: The junction temperature is calculated:
Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332 Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332
The junction temperature attribute is supported by the driver. The junction temperature attribute is supported by the driver.
...@@ -2,21 +2,37 @@ Kernel driver dme1737 ...@@ -2,21 +2,37 @@ Kernel driver dme1737
===================== =====================
Supported chips: Supported chips:
* SMSC DME1737 and compatibles (like Asus A8000) * SMSC DME1737 and compatibles (like Asus A8000)
Prefix: 'dme1737' Prefix: 'dme1737'
Addresses scanned: I2C 0x2c, 0x2d, 0x2e Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Datasheet: Provided by SMSC upon request and under NDA Datasheet: Provided by SMSC upon request and under NDA
* SMSC SCH3112, SCH3114, SCH3116 * SMSC SCH3112, SCH3114, SCH3116
Prefix: 'sch311x' Prefix: 'sch311x'
Addresses scanned: none, address read from Super-I/O config space Addresses scanned: none, address read from Super-I/O config space
Datasheet: Available on the Internet Datasheet: Available on the Internet
* SMSC SCH5027 * SMSC SCH5027
Prefix: 'sch5027' Prefix: 'sch5027'
Addresses scanned: I2C 0x2c, 0x2d, 0x2e Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Datasheet: Provided by SMSC upon request and under NDA Datasheet: Provided by SMSC upon request and under NDA
* SMSC SCH5127 * SMSC SCH5127
Prefix: 'sch5127' Prefix: 'sch5127'
Addresses scanned: none, address read from Super-I/O config space Addresses scanned: none, address read from Super-I/O config space
Datasheet: Provided by SMSC upon request and under NDA Datasheet: Provided by SMSC upon request and under NDA
Authors: Authors:
...@@ -26,11 +42,14 @@ Authors: ...@@ -26,11 +42,14 @@ Authors:
Module Parameters Module Parameters
----------------- -----------------
* force_start: bool Enables the monitoring of voltage, fan and temp inputs * force_start: bool
Enables the monitoring of voltage, fan and temp inputs
and PWM output control functions. Using this parameter and PWM output control functions. Using this parameter
shouldn't be required since the BIOS usually takes care shouldn't be required since the BIOS usually takes care
of this. of this.
* probe_all_addr: bool Include non-standard LPC addresses 0x162e and 0x164e
* probe_all_addr: bool
Include non-standard LPC addresses 0x162e and 0x164e
when probing for ISA devices. This is required for the when probing for ISA devices. This is required for the
following boards: following boards:
- VIA EPIA SN18000 - VIA EPIA SN18000
...@@ -70,7 +89,8 @@ scaling resistors. The values returned by the driver therefore reflect true ...@@ -70,7 +89,8 @@ scaling resistors. The values returned by the driver therefore reflect true
millivolts and don't need scaling. The voltage inputs are mapped as follows millivolts and don't need scaling. The voltage inputs are mapped as follows
(the last column indicates the input ranges): (the last column indicates the input ranges):
DME1737, A8000: DME1737, A8000::
in0: +5VTR (+5V standby) 0V - 6.64V in0: +5VTR (+5V standby) 0V - 6.64V
in1: Vccp (processor core) 0V - 3V in1: Vccp (processor core) 0V - 3V
in2: VCC (internal +3.3V) 0V - 4.38V in2: VCC (internal +3.3V) 0V - 4.38V
...@@ -79,7 +99,8 @@ DME1737, A8000: ...@@ -79,7 +99,8 @@ DME1737, A8000:
in5: VTR (+3.3V standby) 0V - 4.38V in5: VTR (+3.3V standby) 0V - 4.38V
in6: Vbat (+3.0V) 0V - 4.38V in6: Vbat (+3.0V) 0V - 4.38V
SCH311x: SCH311x::
in0: +2.5V 0V - 3.32V in0: +2.5V 0V - 3.32V
in1: Vccp (processor core) 0V - 2V in1: Vccp (processor core) 0V - 2V
in2: VCC (internal +3.3V) 0V - 4.38V in2: VCC (internal +3.3V) 0V - 4.38V
...@@ -88,7 +109,8 @@ SCH311x: ...@@ -88,7 +109,8 @@ SCH311x:
in5: VTR (+3.3V standby) 0V - 4.38V in5: VTR (+3.3V standby) 0V - 4.38V
in6: Vbat (+3.0V) 0V - 4.38V in6: Vbat (+3.0V) 0V - 4.38V
SCH5027: SCH5027::
in0: +5VTR (+5V standby) 0V - 6.64V in0: +5VTR (+5V standby) 0V - 6.64V
in1: Vccp (processor core) 0V - 3V in1: Vccp (processor core) 0V - 3V
in2: VCC (internal +3.3V) 0V - 4.38V in2: VCC (internal +3.3V) 0V - 4.38V
...@@ -97,7 +119,8 @@ SCH5027: ...@@ -97,7 +119,8 @@ SCH5027:
in5: VTR (+3.3V standby) 0V - 4.38V in5: VTR (+3.3V standby) 0V - 4.38V
in6: Vbat (+3.0V) 0V - 4.38V in6: Vbat (+3.0V) 0V - 4.38V
SCH5127: SCH5127::
in0: +2.5 0V - 3.32V in0: +2.5 0V - 3.32V
in1: Vccp (processor core) 0V - 3V in1: Vccp (processor core) 0V - 3V
in2: VCC (internal +3.3V) 0V - 4.38V in2: VCC (internal +3.3V) 0V - 4.38V
...@@ -119,7 +142,7 @@ Celsius. The chip also features offsets for all 3 temperature inputs which - ...@@ -119,7 +142,7 @@ Celsius. The chip also features offsets for all 3 temperature inputs which -
when programmed - get added to the input readings. The chip does all the when programmed - get added to the input readings. The chip does all the
scaling by itself and the driver therefore reports true temperatures that don't scaling by itself and the driver therefore reports true temperatures that don't
need any user-space adjustments. The temperature inputs are mapped as follows need any user-space adjustments. The temperature inputs are mapped as follows
(the last column indicates the input ranges): (the last column indicates the input ranges)::
temp1: Remote diode 1 (3904 type) temperature -127C - +127C temp1: Remote diode 1 (3904 type) temperature -127C - +127C
temp2: DME1737 internal temperature -127C - +127C temp2: DME1737 internal temperature -127C - +127C
...@@ -171,6 +194,7 @@ pwm[1-3]_auto_pwm_min, respectively. The thermal thresholds of the zones are ...@@ -171,6 +194,7 @@ pwm[1-3]_auto_pwm_min, respectively. The thermal thresholds of the zones are
programmed via zone[1-3]_auto_point[1-3]_temp and programmed via zone[1-3]_auto_point[1-3]_temp and
zone[1-3]_auto_point1_temp_hyst: zone[1-3]_auto_point1_temp_hyst:
=============================== =======================================
pwm[1-3]_auto_point2_pwm full-speed duty-cycle (255, i.e., 100%) pwm[1-3]_auto_point2_pwm full-speed duty-cycle (255, i.e., 100%)
pwm[1-3]_auto_point1_pwm low-speed duty-cycle pwm[1-3]_auto_point1_pwm low-speed duty-cycle
pwm[1-3]_auto_pwm_min min-speed duty-cycle pwm[1-3]_auto_pwm_min min-speed duty-cycle
...@@ -179,6 +203,7 @@ zone[1-3]_auto_point1_temp_hyst: ...@@ -179,6 +203,7 @@ zone[1-3]_auto_point1_temp_hyst:
zone[1-3]_auto_point2_temp full-speed temp zone[1-3]_auto_point2_temp full-speed temp
zone[1-3]_auto_point1_temp low-speed temp zone[1-3]_auto_point1_temp low-speed temp
zone[1-3]_auto_point1_temp_hyst min-speed temp zone[1-3]_auto_point1_temp_hyst min-speed temp
=============================== =======================================
The chip adjusts the output duty-cycle linearly in the range of auto_point1_pwm The chip adjusts the output duty-cycle linearly in the range of auto_point1_pwm
to auto_point2_pwm if the temperature of the associated zone is between to auto_point2_pwm if the temperature of the associated zone is between
...@@ -192,17 +217,21 @@ all PWM outputs are set to 100% duty-cycle. ...@@ -192,17 +217,21 @@ all PWM outputs are set to 100% duty-cycle.
Following is another representation of how the chip sets the output duty-cycle Following is another representation of how the chip sets the output duty-cycle
based on the temperature of the associated thermal zone: based on the temperature of the associated thermal zone:
Duty-Cycle Duty-Cycle =============== =============== =================
Temperature Rising Temp Falling Temp Temperature Duty-Cycle Duty-Cycle
----------- ----------- ------------ Rising Temp Falling Temp
=============== =============== =================
full-speed full-speed full-speed full-speed full-speed full-speed
< linearly adjusted duty-cycle > - < linearly -
adjusted
duty-cycle >
low-speed low-speed low-speed low-speed low-speed low-speed
min-speed low-speed - min-speed low-speed
min-speed min-speed min-speed min-speed min-speed min-speed
min-speed min-speed - min-speed min-speed
=============== =============== =================
Sysfs Attributes Sysfs Attributes
...@@ -211,8 +240,9 @@ Sysfs Attributes ...@@ -211,8 +240,9 @@ Sysfs Attributes
Following is a list of all sysfs attributes that the driver provides, their Following is a list of all sysfs attributes that the driver provides, their
permissions and a short description: permissions and a short description:
=============================== ======= =======================================
Name Perm Description Name Perm Description
---- ---- ----------- =============================== ======= =======================================
cpu0_vid RO CPU core reference voltage in cpu0_vid RO CPU core reference voltage in
millivolts. millivolts.
vrm RW Voltage regulator module version vrm RW Voltage regulator module version
...@@ -242,9 +272,10 @@ temp[1-3]_fault RO Temp input fault. Returns 1 if the chip ...@@ -242,9 +272,10 @@ temp[1-3]_fault RO Temp input fault. Returns 1 if the chip
zone[1-3]_auto_channels_temp RO Temperature zone to temperature input zone[1-3]_auto_channels_temp RO Temperature zone to temperature input
mapping. This attribute is a bitfield mapping. This attribute is a bitfield
and supports the following values: and supports the following values:
1: temp1
2: temp2 - 1: temp1
4: temp3 - 2: temp2
- 4: temp3
zone[1-3]_auto_point1_temp_hyst RW Auto PWM temp point1 hysteresis. The zone[1-3]_auto_point1_temp_hyst RW Auto PWM temp point1 hysteresis. The
output of the corresponding PWM is set output of the corresponding PWM is set
to the pwm_auto_min value if the temp to the pwm_auto_min value if the temp
...@@ -275,9 +306,10 @@ pmw[1-3,5-6] RO/RW Duty-cycle of PWM output. Supported ...@@ -275,9 +306,10 @@ pmw[1-3,5-6] RO/RW Duty-cycle of PWM output. Supported
manual mode. manual mode.
pwm[1-3]_enable RW Enable of PWM outputs 1-3. Supported pwm[1-3]_enable RW Enable of PWM outputs 1-3. Supported
values are: values are:
0: turned off (output @ 100%)
1: manual mode - 0: turned off (output @ 100%)
2: automatic mode - 1: manual mode
- 2: automatic mode
pwm[5-6]_enable RO Enable of PWM outputs 5-6. Always pwm[5-6]_enable RO Enable of PWM outputs 5-6. Always
returns 1 since these 2 outputs are returns 1 since these 2 outputs are
hard-wired to manual mode. hard-wired to manual mode.
...@@ -294,11 +326,12 @@ pmw[1-3]_ramp_rate RW Ramp rate of PWM output. Determines how ...@@ -294,11 +326,12 @@ pmw[1-3]_ramp_rate RW Ramp rate of PWM output. Determines how
pwm[1-3]_auto_channels_zone RW PWM output to temperature zone mapping. pwm[1-3]_auto_channels_zone RW PWM output to temperature zone mapping.
This attribute is a bitfield and This attribute is a bitfield and
supports the following values: supports the following values:
1: zone1
2: zone2 - 1: zone1
4: zone3 - 2: zone2
6: highest of zone[2-3] - 4: zone3
7: highest of zone[1-3] - 6: highest of zone[2-3]
- 7: highest of zone[1-3]
pwm[1-3]_auto_pwm_min RW Auto PWM min pwm. Minimum PWM duty- pwm[1-3]_auto_pwm_min RW Auto PWM min pwm. Minimum PWM duty-
cycle. Supported values are 0 or cycle. Supported values are 0 or
auto_point1_pwm. auto_point1_pwm.
...@@ -307,12 +340,14 @@ pwm[1-3]_auto_point1_pwm RW Auto PWM pwm point. Auto_point1 is the ...@@ -307,12 +340,14 @@ pwm[1-3]_auto_point1_pwm RW Auto PWM pwm point. Auto_point1 is the
pwm[1-3]_auto_point2_pwm RO Auto PWM pwm point. Auto_point2 is the pwm[1-3]_auto_point2_pwm RO Auto PWM pwm point. Auto_point2 is the
full-speed duty-cycle which is hard- full-speed duty-cycle which is hard-
wired to 255 (100% duty-cycle). wired to 255 (100% duty-cycle).
=============================== ======= =======================================
Chip Differences Chip Differences
---------------- ----------------
======================= ======= ======= ======= =======
Feature dme1737 sch311x sch5027 sch5127 Feature dme1737 sch311x sch5027 sch5127
------------------------------------------------------- ======================= ======= ======= ======= =======
temp[1-3]_offset yes yes temp[1-3]_offset yes yes
vid yes vid yes
zone3 yes yes yes zone3 yes yes yes
...@@ -326,3 +361,4 @@ pwm5 opt opt ...@@ -326,3 +361,4 @@ pwm5 opt opt
fan6 opt opt fan6 opt opt
pwm6 opt opt pwm6 opt opt
in7 yes in7 yes
======================= ======= ======= ======= =======
...@@ -2,42 +2,61 @@ Kernel driver ds1621 ...@@ -2,42 +2,61 @@ Kernel driver ds1621
==================== ====================
Supported chips: Supported chips:
* Dallas Semiconductor / Maxim Integrated DS1621 * Dallas Semiconductor / Maxim Integrated DS1621
Prefix: 'ds1621' Prefix: 'ds1621'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available from www.maximintegrated.com Datasheet: Publicly available from www.maximintegrated.com
* Dallas Semiconductor DS1625 * Dallas Semiconductor DS1625
Prefix: 'ds1625' Prefix: 'ds1625'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available from www.datasheetarchive.com Datasheet: Publicly available from www.datasheetarchive.com
* Maxim Integrated DS1631 * Maxim Integrated DS1631
Prefix: 'ds1631' Prefix: 'ds1631'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available from www.maximintegrated.com Datasheet: Publicly available from www.maximintegrated.com
* Maxim Integrated DS1721 * Maxim Integrated DS1721
Prefix: 'ds1721' Prefix: 'ds1721'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available from www.maximintegrated.com Datasheet: Publicly available from www.maximintegrated.com
* Maxim Integrated DS1731 * Maxim Integrated DS1731
Prefix: 'ds1731' Prefix: 'ds1731'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available from www.maximintegrated.com Datasheet: Publicly available from www.maximintegrated.com
Authors: Authors:
Christian W. Zuckschwerdt <zany@triq.net> - Christian W. Zuckschwerdt <zany@triq.net>
valuable contributions by Jan M. Sendler <sendler@sendler.de> - valuable contributions by Jan M. Sendler <sendler@sendler.de>
ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net> - ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
with the help of Jean Delvare <jdelvare@suse.de> with the help of Jean Delvare <jdelvare@suse.de>
Module Parameters Module Parameters
------------------ ------------------
* polarity int * polarity int
Output's polarity: 0 = active high, 1 = active low Output's polarity:
* 0 = active high,
* 1 = active low
Description Description
----------- -----------
...@@ -87,28 +106,31 @@ are used internally, however, these flags do get set and cleared as the actual ...@@ -87,28 +106,31 @@ are used internally, however, these flags do get set and cleared as the actual
temperature crosses the min or max settings (which by default are set to 75 temperature crosses the min or max settings (which by default are set to 75
and 80 degrees respectively). and 80 degrees respectively).
Temperature Conversion: Temperature Conversion
----------------------- ----------------------
DS1621 - 750ms (older devices may take up to 1000ms)
DS1625 - 500ms - DS1621 - 750ms (older devices may take up to 1000ms)
DS1631 - 93ms..750ms for 9..12 bits resolution, respectively. - DS1625 - 500ms
DS1721 - 93ms..750ms for 9..12 bits resolution, respectively. - DS1631 - 93ms..750ms for 9..12 bits resolution, respectively.
DS1731 - 93ms..750ms for 9..12 bits resolution, respectively. - DS1721 - 93ms..750ms for 9..12 bits resolution, respectively.
- DS1731 - 93ms..750ms for 9..12 bits resolution, respectively.
Note: Note:
On the DS1621, internal access to non-volatile registers may last for 10ms On the DS1621, internal access to non-volatile registers may last for 10ms
or less (unverified on the other devices). or less (unverified on the other devices).
Temperature Accuracy: Temperature Accuracy
--------------------- --------------------
DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees)
DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees)
DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees)
DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees)
DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees)
Note: - DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees)
Please refer to the device datasheets for accuracy at other temperatures. - DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees)
- DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees)
- DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees)
- DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees)
.. Note::
Please refer to the device datasheets for accuracy at other temperatures.
Temperature Resolution: Temperature Resolution:
----------------------- -----------------------
...@@ -117,60 +139,67 @@ support, which is achieved via the R0 and R1 config register bits, where: ...@@ -117,60 +139,67 @@ support, which is achieved via the R0 and R1 config register bits, where:
R0..R1 R0..R1
------ ------
0 0 => 9 bits, 0.5 degrees Celsius
1 0 => 10 bits, 0.25 degrees Celsius
0 1 => 11 bits, 0.125 degrees Celsius
1 1 => 12 bits, 0.0625 degrees Celsius
Note: == == ===============================
At initial device power-on, the default resolution is set to 12-bits. R0 R1
== == ===============================
0 0 9 bits, 0.5 degrees Celsius
1 0 10 bits, 0.25 degrees Celsius
0 1 11 bits, 0.125 degrees Celsius
1 1 12 bits, 0.0625 degrees Celsius
== == ===============================
.. Note::
At initial device power-on, the default resolution is set to 12-bits.
The resolution mode for the DS1631, DS1721, or DS1731 can be changed from The resolution mode for the DS1631, DS1721, or DS1731 can be changed from
userspace, via the device 'update_interval' sysfs attribute. This attribute userspace, via the device 'update_interval' sysfs attribute. This attribute
will normalize the range of input values to the device maximum resolution will normalize the range of input values to the device maximum resolution
values defined in the datasheet as follows: values defined in the datasheet as follows:
============= ================== ===============
Resolution Conversion Time Input Range Resolution Conversion Time Input Range
(C/LSB) (msec) (msec) (C/LSB) (msec) (msec)
------------------------------------------------ ============= ================== ===============
0.5 93.75 0....94 0.5 93.75 0....94
0.25 187.5 95...187 0.25 187.5 95...187
0.125 375 188..375 0.125 375 188..375
0.0625 750 376..infinity 0.0625 750 376..infinity
------------------------------------------------ ============= ================== ===============
The following examples show how the 'update_interval' attribute can be The following examples show how the 'update_interval' attribute can be
used to change the conversion time: used to change the conversion time::
$ cat update_interval $ cat update_interval
750 750
$ cat temp1_input $ cat temp1_input
22062 22062
$ $
$ echo 300 > update_interval $ echo 300 > update_interval
$ cat update_interval $ cat update_interval
375 375
$ cat temp1_input $ cat temp1_input
22125 22125
$ $
$ echo 150 > update_interval $ echo 150 > update_interval
$ cat update_interval $ cat update_interval
188 188
$ cat temp1_input $ cat temp1_input
22250 22250
$ $
$ echo 1 > update_interval $ echo 1 > update_interval
$ cat update_interval $ cat update_interval
94 94
$ cat temp1_input $ cat temp1_input
22000 22000
$ $
$ echo 1000 > update_interval $ echo 1000 > update_interval
$ cat update_interval $ cat update_interval
750 750
$ cat temp1_input $ cat temp1_input
22062 22062
$ $
As shown, the ds1621 driver automatically adjusts the 'update_interval' As shown, the ds1621 driver automatically adjusts the 'update_interval'
user input, via a step function. Reading back the 'update_interval' value user input, via a step function. Reading back the 'update_interval' value
...@@ -182,6 +211,7 @@ via the following function: ...@@ -182,6 +211,7 @@ via the following function:
g(x) = 0.5 * [minimum_conversion_time/x] g(x) = 0.5 * [minimum_conversion_time/x]
where: where:
-> 'x' = the output from 'update_interval'
-> 'g(x)' = the resolution in degrees C per LSB. - 'x' = the output from 'update_interval'
-> 93.75ms = minimum conversion time - 'g(x)' = the resolution in degrees C per LSB.
- 93.75ms = minimum conversion time
...@@ -2,15 +2,19 @@ Kernel driver ds620 ...@@ -2,15 +2,19 @@ Kernel driver ds620
=================== ===================
Supported chips: Supported chips:
* Dallas Semiconductor DS620 * Dallas Semiconductor DS620
Prefix: 'ds620' Prefix: 'ds620'
Datasheet: Publicly available at the Dallas Semiconductor website Datasheet: Publicly available at the Dallas Semiconductor website
http://www.dalsemi.com/
http://www.dalsemi.com/
Authors: Authors:
Roland Stigge <stigge@antcom.de> Roland Stigge <stigge@antcom.de>
based on ds1621.c by based on ds1621.c by
Christian W. Zuckschwerdt <zany@triq.net> Christian W. Zuckschwerdt <zany@triq.net>
Description Description
----------- -----------
......
...@@ -2,28 +2,48 @@ Kernel driver emc1403 ...@@ -2,28 +2,48 @@ Kernel driver emc1403
===================== =====================
Supported chips: Supported chips:
* SMSC / Microchip EMC1402, EMC1412 * SMSC / Microchip EMC1402, EMC1412
Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
Prefix: 'emc1402' Prefix: 'emc1402'
Datasheets: Datasheets:
http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
- http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
* SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414 * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
Prefix: 'emc1403', 'emc1404' Prefix: 'emc1403', 'emc1404'
Datasheets: Datasheets:
http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
- http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
* SMSC / Microchip EMC1422 * SMSC / Microchip EMC1422
Addresses scanned: I2C 0x4c Addresses scanned: I2C 0x4c
Prefix: 'emc1422' Prefix: 'emc1422'
Datasheet: Datasheet:
http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
- http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
* SMSC / Microchip EMC1423, EMC1424 * SMSC / Microchip EMC1423, EMC1424
Addresses scanned: I2C 0x4c Addresses scanned: I2C 0x4c
Prefix: 'emc1423', 'emc1424' Prefix: 'emc1423', 'emc1424'
Datasheet: Datasheet:
http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
- http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
Author: Author:
Kalhan Trisal <kalhan.trisal@intel.com Kalhan Trisal <kalhan.trisal@intel.com
...@@ -46,6 +66,7 @@ difference between the limit and its hysteresis is always the same for ...@@ -46,6 +66,7 @@ difference between the limit and its hysteresis is always the same for
all three limits. all three limits.
This implementation detail implies the following: This implementation detail implies the following:
* When setting a limit, its hysteresis will automatically follow, the * When setting a limit, its hysteresis will automatically follow, the
difference staying unchanged. For example, if the old critical limit difference staying unchanged. For example, if the old critical limit
was 80 degrees C, and the hysteresis was 75 degrees C, and you change was 80 degrees C, and the hysteresis was 75 degrees C, and you change
......
...@@ -2,13 +2,17 @@ Kernel driver emc2103 ...@@ -2,13 +2,17 @@ Kernel driver emc2103
====================== ======================
Supported chips: Supported chips:
* SMSC EMC2103 * SMSC EMC2103
Addresses scanned: I2C 0x2e Addresses scanned: I2C 0x2e
Prefix: 'emc2103' Prefix: 'emc2103'
Datasheet: Not public Datasheet: Not public
Authors: Authors:
Steve Glendinning <steve.glendinning@smsc.com> Steve Glendinning <steve.glendinning@smsc.com>
Description Description
----------- -----------
......
...@@ -2,9 +2,13 @@ Kernel driver emc6w201 ...@@ -2,9 +2,13 @@ Kernel driver emc6w201
====================== ======================
Supported chips: Supported chips:
* SMSC EMC6W201 * SMSC EMC6W201
Prefix: 'emc6w201' Prefix: 'emc6w201'
Addresses scanned: I2C 0x2c, 0x2d, 0x2e Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Datasheet: Not public Datasheet: Not public
Author: Jean Delvare <jdelvare@suse.de> Author: Jean Delvare <jdelvare@suse.de>
...@@ -38,5 +42,6 @@ Known Systems With EMC6W201 ...@@ -38,5 +42,6 @@ Known Systems With EMC6W201
The EMC6W201 is a rare device, only found on a few systems, made in The EMC6W201 is a rare device, only found on a few systems, made in
2005 and 2006. Known systems with this device: 2005 and 2006. Known systems with this device:
* Dell Precision 670 workstation * Dell Precision 670 workstation
* Gigabyte 2CEWH mainboard * Gigabyte 2CEWH mainboard
...@@ -2,17 +2,29 @@ Kernel driver f71805f ...@@ -2,17 +2,29 @@ Kernel driver f71805f
===================== =====================
Supported chips: Supported chips:
* Fintek F71805F/FG * Fintek F71805F/FG
Prefix: 'f71805f' Prefix: 'f71805f'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71806F/FG * Fintek F71806F/FG
Prefix: 'f71872f' Prefix: 'f71872f'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71872F/FG * Fintek F71872F/FG
Prefix: 'f71872f' Prefix: 'f71872f'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
Author: Jean Delvare <jdelvare@suse.de> Author: Jean Delvare <jdelvare@suse.de>
...@@ -64,24 +76,26 @@ you can only set the limits in steps of 32 mV (before scaling). ...@@ -64,24 +76,26 @@ you can only set the limits in steps of 32 mV (before scaling).
The wirings and resistor values suggested by Fintek are as follow: The wirings and resistor values suggested by Fintek are as follow:
pin expected ======= ======= =========== ==== ======= ============ ==============
name use R1 R2 divider raw val. in pin expected
name use R1 R2 divider raw val.
======= ======= =========== ==== ======= ============ ==============
in0 VCC VCC3.3V int. int. 2.00 1.65 V in0 VCC VCC3.3V int. int. 2.00 1.65 V
in1 VIN1 VTT1.2V 10K - 1.00 1.20 V in1 VIN1 VTT1.2V 10K - 1.00 1.20 V
in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V (1) in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V [1]_
in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V (2) in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V [2]_
in4 VIN4 VCC5V 200K 47K 5.25 0.95 V in4 VIN4 VCC5V 200K 47K 5.25 0.95 V
in5 VIN5 +12V 200K 20K 11.00 1.05 V in5 VIN5 +12V 200K 20K 11.00 1.05 V
in6 VIN6 VCC1.5V 10K - 1.00 1.50 V in6 VIN6 VCC1.5V 10K - 1.00 1.50 V
in7 VIN7 VCORE 10K - 1.00 ~1.40 V (1) in7 VIN7 VCORE 10K - 1.00 ~1.40 V [1]_
in8 VIN8 VSB5V 200K 47K 1.00 0.95 V in8 VIN8 VSB5V 200K 47K 1.00 0.95 V
in10 VSB VSB3.3V int. int. 2.00 1.65 V (3) in10 VSB VSB3.3V int. int. 2.00 1.65 V [3]_
in9 VBAT VBATTERY int. int. 2.00 1.50 V (3) in9 VBAT VBATTERY int. int. 2.00 1.50 V [3]_
======= ======= =========== ==== ======= ============ ==============
(1) Depends on your hardware setup. .. [1] Depends on your hardware setup.
(2) Obviously not correct, swapping R1 and R2 would make more sense. .. [2] Obviously not correct, swapping R1 and R2 would make more sense.
(3) F71872F/FG only. .. [3] F71872F/FG only.
These values can be used as hints at best, as motherboard manufacturers These values can be used as hints at best, as motherboard manufacturers
are free to use a completely different setup. As a matter of fact, the are free to use a completely different setup. As a matter of fact, the
......
...@@ -2,60 +2,114 @@ Kernel driver f71882fg ...@@ -2,60 +2,114 @@ Kernel driver f71882fg
====================== ======================
Supported chips: Supported chips:
* Fintek F71808E * Fintek F71808E
Prefix: 'f71808e' Prefix: 'f71808e'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public Datasheet: Not public
* Fintek F71808A * Fintek F71808A
Prefix: 'f71808a' Prefix: 'f71808a'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public Datasheet: Not public
* Fintek F71858FG * Fintek F71858FG
Prefix: 'f71858fg' Prefix: 'f71858fg'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71862FG and F71863FG * Fintek F71862FG and F71863FG
Prefix: 'f71862fg' Prefix: 'f71862fg'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71869F and F71869E * Fintek F71869F and F71869E
Prefix: 'f71869' Prefix: 'f71869'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71869A * Fintek F71869A
Prefix: 'f71869a' Prefix: 'f71869a'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public Datasheet: Not public
* Fintek F71882FG and F71883FG * Fintek F71882FG and F71883FG
Prefix: 'f71882fg' Prefix: 'f71882fg'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71889FG * Fintek F71889FG
Prefix: 'f71889fg' Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
* Fintek F71889ED * Fintek F71889ED
Prefix: 'f71889ed' Prefix: 'f71889ed'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon Datasheet: Should become available on the Fintek website soon
* Fintek F71889A * Fintek F71889A
Prefix: 'f71889a' Prefix: 'f71889a'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon Datasheet: Should become available on the Fintek website soon
* Fintek F8000 * Fintek F8000
Prefix: 'f8000' Prefix: 'f8000'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public Datasheet: Not public
* Fintek F81801U * Fintek F81801U
Prefix: 'f71889fg' Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public Datasheet: Not public
Note: This is the 64-pin variant of the F71889FG, they have the
Note:
This is the 64-pin variant of the F71889FG, they have the
same device ID and are fully compatible as far as hardware same device ID and are fully compatible as far as hardware
monitoring is concerned. monitoring is concerned.
* Fintek F81865F * Fintek F81865F
Prefix: 'f81865f' Prefix: 'f81865f'
Addresses scanned: none, address read from Super I/O config space Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website Datasheet: Available from the Fintek website
Author: Hans de Goede <hdegoede@redhat.com> Author: Hans de Goede <hdegoede@redhat.com>
......
...@@ -2,15 +2,20 @@ Kernel driver fam15h_power ...@@ -2,15 +2,20 @@ Kernel driver fam15h_power
========================== ==========================
Supported chips: Supported chips:
* AMD Family 15h Processors * AMD Family 15h Processors
* AMD Family 16h Processors * AMD Family 16h Processors
Prefix: 'fam15h_power' Prefix: 'fam15h_power'
Addresses scanned: PCI space Addresses scanned: PCI space
Datasheets: Datasheets:
BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors
BIOS and Kernel Developer's Guide (BKDG) For AMD Family 16h Processors - BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors
AMD64 Architecture Programmer's Manual Volume 2: System Programming - BIOS and Kernel Developer's Guide (BKDG) For AMD Family 16h Processors
- AMD64 Architecture Programmer's Manual Volume 2: System Programming
Author: Andreas Herrmann <herrmann.der.user@googlemail.com> Author: Andreas Herrmann <herrmann.der.user@googlemail.com>
...@@ -31,14 +36,19 @@ For AMD Family 15h and 16h processors the following power values can ...@@ -31,14 +36,19 @@ For AMD Family 15h and 16h processors the following power values can
be calculated using different processor northbridge function be calculated using different processor northbridge function
registers: registers:
* BasePwrWatts: Specifies in watts the maximum amount of power * BasePwrWatts:
consumed by the processor for NB and logic external to the core. Specifies in watts the maximum amount of power
* ProcessorPwrWatts: Specifies in watts the maximum amount of power consumed by the processor for NB and logic external to the core.
the processor can support.
* CurrPwrWatts: Specifies in watts the current amount of power being * ProcessorPwrWatts:
consumed by the processor. Specifies in watts the maximum amount of power
the processor can support.
* CurrPwrWatts:
Specifies in watts the current amount of power being
consumed by the processor.
This driver provides ProcessorPwrWatts and CurrPwrWatts: This driver provides ProcessorPwrWatts and CurrPwrWatts:
* power1_crit (ProcessorPwrWatts) * power1_crit (ProcessorPwrWatts)
* power1_input (CurrPwrWatts) * power1_input (CurrPwrWatts)
...@@ -53,35 +63,53 @@ calculate the average power consumed by a processor during a ...@@ -53,35 +63,53 @@ calculate the average power consumed by a processor during a
measurement interval Tm. The feature of accumulated power mechanism is measurement interval Tm. The feature of accumulated power mechanism is
indicated by CPUID Fn8000_0007_EDX[12]. indicated by CPUID Fn8000_0007_EDX[12].
* Tsample: compute unit power accumulator sample period * Tsample:
* Tref: the PTSC counter period compute unit power accumulator sample period
* PTSC: performance timestamp counter
* N: the ratio of compute unit power accumulator sample period to the * Tref:
PTSC period the PTSC counter period
* Jmax: max compute unit accumulated power which is indicated by
MaxCpuSwPwrAcc MSR C001007b * PTSC:
* Jx/Jy: compute unit accumulated power which is indicated by performance timestamp counter
CpuSwPwrAcc MSR C001007a
* Tx/Ty: the value of performance timestamp counter which is indicated * N:
by CU_PTSC MSR C0010280 the ratio of compute unit power accumulator sample period to the
* PwrCPUave: CPU average power PTSC period
* Jmax:
max compute unit accumulated power which is indicated by
MaxCpuSwPwrAcc MSR C001007b
* Jx/Jy:
compute unit accumulated power which is indicated by
CpuSwPwrAcc MSR C001007a
* Tx/Ty:
the value of performance timestamp counter which is indicated
by CU_PTSC MSR C0010280
* PwrCPUave:
CPU average power
i. Determine the ratio of Tsample to Tref by executing CPUID Fn8000_0007. i. Determine the ratio of Tsample to Tref by executing CPUID Fn8000_0007.
N = value of CPUID Fn8000_0007_ECX[CpuPwrSampleTimeRatio[15:0]]. N = value of CPUID Fn8000_0007_ECX[CpuPwrSampleTimeRatio[15:0]].
ii. Read the full range of the cumulative energy value from the new ii. Read the full range of the cumulative energy value from the new
MSR MaxCpuSwPwrAcc. MSR MaxCpuSwPwrAcc.
Jmax = value returned. Jmax = value returned.
iii. At time x, SW reads CpuSwPwrAcc MSR and samples the PTSC. iii. At time x, SW reads CpuSwPwrAcc MSR and samples the PTSC.
Jx = value read from CpuSwPwrAcc and Tx = value read from
PTSC. Jx = value read from CpuSwPwrAcc and Tx = value read from PTSC.
iv. At time y, SW reads CpuSwPwrAcc MSR and samples the PTSC. iv. At time y, SW reads CpuSwPwrAcc MSR and samples the PTSC.
Jy = value read from CpuSwPwrAcc and Ty = value read from
PTSC. Jy = value read from CpuSwPwrAcc and Ty = value read from PTSC.
v. Calculate the average power consumption for a compute unit over v. Calculate the average power consumption for a compute unit over
time period (y-x). Unit of result is uWatt. time period (y-x). Unit of result is uWatt::
if (Jy < Jx) // Rollover has occurred if (Jy < Jx) // Rollover has occurred
Jdelta = (Jy + Jmax) - Jx Jdelta = (Jy + Jmax) - Jx
else else
...@@ -90,13 +118,14 @@ time period (y-x). Unit of result is uWatt. ...@@ -90,13 +118,14 @@ time period (y-x). Unit of result is uWatt.
This driver provides PwrCPUave and interval(default is 10 millisecond This driver provides PwrCPUave and interval(default is 10 millisecond
and maximum is 1 second): and maximum is 1 second):
* power1_average (PwrCPUave) * power1_average (PwrCPUave)
* power1_average_interval (Interval) * power1_average_interval (Interval)
The power1_average_interval can be updated at /etc/sensors3.conf file The power1_average_interval can be updated at /etc/sensors3.conf file
as below: as below:
chip "fam15h_power-*" chip `fam15h_power-*`
set power1_average_interval 0.01 set power1_average_interval 0.01
Then save it with "sensors -s". Then save it with "sensors -s".
Kernel driver ftsteutates Kernel driver ftsteutates
===================== =========================
Supported chips: Supported chips:
* FTS Teutates * FTS Teutates
Prefix: 'ftsteutates' Prefix: 'ftsteutates'
Addresses scanned: I2C 0x73 (7-Bit) Addresses scanned: I2C 0x73 (7-Bit)
Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com> Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
...@@ -11,6 +14,7 @@ Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com> ...@@ -11,6 +14,7 @@ Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
Description Description
----------- -----------
The BMC Teutates is the Eleventh generation of Superior System The BMC Teutates is the Eleventh generation of Superior System
monitoring and thermal management solution. It is builds on the basic monitoring and thermal management solution. It is builds on the basic
functionality of the BMC Theseus and contains several new features and functionality of the BMC Theseus and contains several new features and
...@@ -19,9 +23,11 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and ...@@ -19,9 +23,11 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and
implemented in this driver. implemented in this driver.
To clear a temperature or fan alarm, execute the following command with the To clear a temperature or fan alarm, execute the following command with the
correct path to the alarm file: correct path to the alarm file::
echo 0 >XXXX_alarm echo 0 >XXXX_alarm
Specification of the chip can be found here: Specification of the chip can be found here:
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf - ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
- ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
...@@ -2,9 +2,13 @@ Kernel driver g760a ...@@ -2,9 +2,13 @@ Kernel driver g760a
=================== ===================
Supported chips: Supported chips:
* Global Mixed-mode Technology Inc. G760A * Global Mixed-mode Technology Inc. G760A
Prefix: 'g760a' Prefix: 'g760a'
Datasheet: Publicly available at the GMT website Datasheet: Publicly available at the GMT website
http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
Author: Herbert Valerio Riedel <hvr@gnu.org> Author: Herbert Valerio Riedel <hvr@gnu.org>
......
...@@ -7,7 +7,7 @@ modes - PWM or DC - are supported by the device. ...@@ -7,7 +7,7 @@ modes - PWM or DC - are supported by the device.
For additional information, a detailed datasheet is available at For additional information, a detailed datasheet is available at
http://natisbad.org/NAS/ref/GMT_EDS-762_763-080710-0.2.pdf. sysfs http://natisbad.org/NAS/ref/GMT_EDS-762_763-080710-0.2.pdf. sysfs
bindings are described in Documentation/hwmon/sysfs-interface. bindings are described in Documentation/hwmon/sysfs-interface.rst.
The following entries are available to the user in a subdirectory of The following entries are available to the user in a subdirectory of
/sys/bus/i2c/drivers/g762/ to control the operation of the device. /sys/bus/i2c/drivers/g762/ to control the operation of the device.
...@@ -21,34 +21,43 @@ documented in Documentation/devicetree/bindings/hwmon/g762.txt or ...@@ -21,34 +21,43 @@ documented in Documentation/devicetree/bindings/hwmon/g762.txt or
using a specific platform_data structure in board initialization using a specific platform_data structure in board initialization
file (see include/linux/platform_data/g762.h). file (see include/linux/platform_data/g762.h).
fan1_target: set desired fan speed. This only makes sense in closed-loop fan1_target:
fan speed control (i.e. when pwm1_enable is set to 2). set desired fan speed. This only makes sense in closed-loop
fan speed control (i.e. when pwm1_enable is set to 2).
fan1_input: provide current fan rotation value in RPM as reported by fan1_input:
the fan to the device. provide current fan rotation value in RPM as reported by
the fan to the device.
fan1_div: fan clock divisor. Supported value are 1, 2, 4 and 8. fan1_div:
fan clock divisor. Supported value are 1, 2, 4 and 8.
fan1_pulses: number of pulses per fan revolution. Supported values fan1_pulses:
are 2 and 4. number of pulses per fan revolution. Supported values
are 2 and 4.
fan1_fault: reports fan failure, i.e. no transition on fan gear pin for fan1_fault:
about 0.7s (if the fan is not voluntarily set off). reports fan failure, i.e. no transition on fan gear pin for
about 0.7s (if the fan is not voluntarily set off).
fan1_alarm: in closed-loop control mode, if fan RPM value is 25% out fan1_alarm:
of the programmed value for over 6 seconds 'fan1_alarm' is in closed-loop control mode, if fan RPM value is 25% out
set to 1. of the programmed value for over 6 seconds 'fan1_alarm' is
set to 1.
pwm1_enable: set current fan speed control mode i.e. 1 for manual fan pwm1_enable:
speed control (open-loop) via pwm1 described below, 2 for set current fan speed control mode i.e. 1 for manual fan
automatic fan speed control (closed-loop) via fan1_target speed control (open-loop) via pwm1 described below, 2 for
above. automatic fan speed control (closed-loop) via fan1_target
above.
pwm1_mode: set or get fan driving mode: 1 for PWM mode, 0 for DC mode. pwm1_mode:
set or get fan driving mode: 1 for PWM mode, 0 for DC mode.
pwm1: get or set PWM fan control value in open-loop mode. This is an pwm1:
integer value between 0 and 255. 0 stops the fan, 255 makes get or set PWM fan control value in open-loop mode. This is an
it run at full speed. integer value between 0 and 255. 0 stops the fan, 255 makes
it run at full speed.
Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0), Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0),
when current fan speed control mode is open-loop ('pwm1_enable' set to 1), when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
......
...@@ -2,27 +2,34 @@ Kernel driver gl518sm ...@@ -2,27 +2,34 @@ Kernel driver gl518sm
===================== =====================
Supported chips: Supported chips:
* Genesys Logic GL518SM release 0x00 * Genesys Logic GL518SM release 0x00
Prefix: 'gl518sm' Prefix: 'gl518sm'
Addresses scanned: I2C 0x2c and 0x2d Addresses scanned: I2C 0x2c and 0x2d
* Genesys Logic GL518SM release 0x80 * Genesys Logic GL518SM release 0x80
Prefix: 'gl518sm' Prefix: 'gl518sm'
Addresses scanned: I2C 0x2c and 0x2d Addresses scanned: I2C 0x2c and 0x2d
Datasheet: http://www.genesyslogic.com/ Datasheet: http://www.genesyslogic.com/
Authors: Authors:
Frodo Looijaard <frodol@dds.nl>, - Frodo Looijaard <frodol@dds.nl>,
Kyösti Mälkki <kmalkki@cc.hut.fi> - Kyösti Mälkki <kmalkki@cc.hut.fi>
Hong-Gunn Chew <hglinux@gunnet.org> - Hong-Gunn Chew <hglinux@gunnet.org>
Jean Delvare <jdelvare@suse.de> - Jean Delvare <jdelvare@suse.de>
Description Description
----------- -----------
IMPORTANT: .. important::
For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V, For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V,
and +12V) CANNOT be read. This is a limitation of the chip, not the driver. and +12V) CANNOT be read. This is a limitation of the chip, not the driver.
This driver supports the Genesys Logic GL518SM chip. There are at least This driver supports the Genesys Logic GL518SM chip. There are at least
two revision of this chip, which we call revision 0x00 and 0x80. Revision two revision of this chip, which we call revision 0x00 and 0x80. Revision
......
...@@ -2,11 +2,16 @@ Kernel driver hih6130 ...@@ -2,11 +2,16 @@ Kernel driver hih6130
===================== =====================
Supported chips: Supported chips:
* Honeywell HIH-6130 / HIH-6131 * Honeywell HIH-6130 / HIH-6131
Prefix: 'hih6130' Prefix: 'hih6130'
Addresses scanned: none Addresses scanned: none
Datasheet: Publicly available at the Honeywell website Datasheet: Publicly available at the Honeywell website
http://sensing.honeywell.com/index.php?ci_id=3106&la_id=1&defId=44872
http://sensing.honeywell.com/index.php?ci_id=3106&la_id=1&defId=44872
Author: Author:
Iain Paton <ipaton0@gmail.com> Iain Paton <ipaton0@gmail.com>
...@@ -28,8 +33,11 @@ instantiate I2C devices. ...@@ -28,8 +33,11 @@ instantiate I2C devices.
sysfs-Interface sysfs-Interface
--------------- ---------------
temp1_input - temperature input temp1_input
humidity1_input - humidity input temperature input
humidity1_input
humidity input
Notes Notes
----- -----
......
...@@ -2,6 +2,7 @@ Kernel driver ibm-cffps ...@@ -2,6 +2,7 @@ Kernel driver ibm-cffps
======================= =======================
Supported chips: Supported chips:
* IBM Common Form Factor power supply * IBM Common Form Factor power supply
Author: Eddie James <eajames@us.ibm.com> Author: Eddie James <eajames@us.ibm.com>
...@@ -24,6 +25,7 @@ Sysfs entries ...@@ -24,6 +25,7 @@ Sysfs entries
The following attributes are supported: The following attributes are supported:
======================= ======================================================
curr1_alarm Output current over-current alarm. curr1_alarm Output current over-current alarm.
curr1_input Measured output current in mA. curr1_input Measured output current in mA.
curr1_label "iout1" curr1_label "iout1"
...@@ -52,3 +54,4 @@ temp2_alarm Secondary rectifier temp over-temperature alarm. ...@@ -52,3 +54,4 @@ temp2_alarm Secondary rectifier temp over-temperature alarm.
temp2_input Measured secondary rectifier temp in millidegrees C. temp2_input Measured secondary rectifier temp in millidegrees C.
temp3_alarm ORing FET temperature over-temperature alarm. temp3_alarm ORing FET temperature over-temperature alarm.
temp3_input Measured ORing FET temperature in millidegrees C. temp3_input Measured ORing FET temperature in millidegrees C.
======================= ======================================================
Kernel driver ibmaem Kernel driver ibmaem
====================== ====================
This driver talks to the IBM Systems Director Active Energy Manager, known This driver talks to the IBM Systems Director Active Energy Manager, known
henceforth as AEM. henceforth as AEM.
Supported systems: Supported systems:
* Any recent IBM System X server with AEM support. * Any recent IBM System X server with AEM support.
This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2, This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2,
x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades. The IPMI host interface x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades.
The IPMI host interface
driver ("ipmi-si") needs to be loaded for this driver to do anything. driver ("ipmi-si") needs to be loaded for this driver to do anything.
Prefix: 'ibmaem' Prefix: 'ibmaem'
Datasheet: Not available Datasheet: Not available
Author: Darrick J. Wong Author: Darrick J. Wong
......
...@@ -2,6 +2,7 @@ Kernel Driver IBMPOWERNV ...@@ -2,6 +2,7 @@ Kernel Driver IBMPOWERNV
======================== ========================
Supported systems: Supported systems:
* Any recent IBM P servers based on POWERNV platform * Any recent IBM P servers based on POWERNV platform
Author: Neelesh Gupta Author: Neelesh Gupta
...@@ -29,10 +30,11 @@ CONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'. ...@@ -29,10 +30,11 @@ CONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'.
Sysfs attributes Sysfs attributes
---------------- ----------------
======================= =======================================================
fanX_input Measured RPM value. fanX_input Measured RPM value.
fanX_min Threshold RPM for alert generation. fanX_min Threshold RPM for alert generation.
fanX_fault 0: No fail condition fanX_fault - 0: No fail condition
1: Failing fan - 1: Failing fan
tempX_input Measured ambient temperature. tempX_input Measured ambient temperature.
tempX_max Threshold ambient temperature for alert generation. tempX_max Threshold ambient temperature for alert generation.
...@@ -42,20 +44,22 @@ tempX_enable Enable/disable all temperature sensors belonging to the ...@@ -42,20 +44,22 @@ tempX_enable Enable/disable all temperature sensors belonging to the
sub-group. In POWER9, this attribute corresponds to sub-group. In POWER9, this attribute corresponds to
each OCC. Using this attribute each OCC can be asked to each OCC. Using this attribute each OCC can be asked to
disable/enable all of its temperature sensors. disable/enable all of its temperature sensors.
1: Enable
0: Disable - 1: Enable
- 0: Disable
inX_input Measured power supply voltage (millivolt) inX_input Measured power supply voltage (millivolt)
inX_fault 0: No fail condition. inX_fault - 0: No fail condition.
1: Failing power supply. - 1: Failing power supply.
inX_highest Historical maximum voltage inX_highest Historical maximum voltage
inX_lowest Historical minimum voltage inX_lowest Historical minimum voltage
inX_enable Enable/disable all voltage sensors belonging to the inX_enable Enable/disable all voltage sensors belonging to the
sub-group. In POWER9, this attribute corresponds to sub-group. In POWER9, this attribute corresponds to
each OCC. Using this attribute each OCC can be asked to each OCC. Using this attribute each OCC can be asked to
disable/enable all of its voltage sensors. disable/enable all of its voltage sensors.
1: Enable
0: Disable - 1: Enable
- 0: Disable
powerX_input Power consumption (microWatt) powerX_input Power consumption (microWatt)
powerX_input_highest Historical maximum power powerX_input_highest Historical maximum power
...@@ -64,8 +68,9 @@ powerX_enable Enable/disable all power sensors belonging to the ...@@ -64,8 +68,9 @@ powerX_enable Enable/disable all power sensors belonging to the
sub-group. In POWER9, this attribute corresponds to sub-group. In POWER9, this attribute corresponds to
each OCC. Using this attribute each OCC can be asked to each OCC. Using this attribute each OCC can be asked to
disable/enable all of its power sensors. disable/enable all of its power sensors.
1: Enable
0: Disable - 1: Enable
- 0: Disable
currX_input Measured current (milliampere) currX_input Measured current (milliampere)
currX_highest Historical maximum current currX_highest Historical maximum current
...@@ -74,7 +79,9 @@ currX_enable Enable/disable all current sensors belonging to the ...@@ -74,7 +79,9 @@ currX_enable Enable/disable all current sensors belonging to the
sub-group. In POWER9, this attribute corresponds to sub-group. In POWER9, this attribute corresponds to
each OCC. Using this attribute each OCC can be asked to each OCC. Using this attribute each OCC can be asked to
disable/enable all of its current sensors. disable/enable all of its current sensors.
1: Enable
0: Disable - 1: Enable
- 0: Disable
energyX_input Cumulative energy (microJoule) energyX_input Cumulative energy (microJoule)
======================= =======================================================
Kernel driver ina209 Kernel driver ina209
===================== ====================
Supported chips: Supported chips:
* Burr-Brown / Texas Instruments INA209 * Burr-Brown / Texas Instruments INA209
Prefix: 'ina209' Prefix: 'ina209'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.ti.com/lit/gpn/ina209 http://www.ti.com/lit/gpn/ina209
Author: Paul Hays <Paul.Hays@cattail.ca> Author:
Author: Ira W. Snyder <iws@ovro.caltech.edu> - Paul Hays <Paul.Hays@cattail.ca>
Author: Guenter Roeck <linux@roeck-us.net> - Ira W. Snyder <iws@ovro.caltech.edu>
- Guenter Roeck <linux@roeck-us.net>
Description Description
...@@ -31,7 +36,7 @@ the I2C bus. See the datasheet for details. ...@@ -31,7 +36,7 @@ the I2C bus. See the datasheet for details.
This tries to expose most monitoring features of the hardware via This tries to expose most monitoring features of the hardware via
sysfs. It does not support every feature of this chip. sysfs. It does not support every feature of this chip.
======================= =======================================================
in0_input shunt voltage (mV) in0_input shunt voltage (mV)
in0_input_highest shunt voltage historical maximum reading (mV) in0_input_highest shunt voltage historical maximum reading (mV)
in0_input_lowest shunt voltage historical minimum reading (mV) in0_input_lowest shunt voltage historical minimum reading (mV)
...@@ -70,6 +75,7 @@ curr1_input current measurement (mA) ...@@ -70,6 +75,7 @@ curr1_input current measurement (mA)
update_interval data conversion time; affects number of samples used update_interval data conversion time; affects number of samples used
to average results for shunt and bus voltages. to average results for shunt and bus voltages.
======================= =======================================================
General Remarks General Remarks
--------------- ---------------
......
...@@ -2,35 +2,56 @@ Kernel driver ina2xx ...@@ -2,35 +2,56 @@ Kernel driver ina2xx
==================== ====================
Supported chips: Supported chips:
* Texas Instruments INA219 * Texas Instruments INA219
Prefix: 'ina219' Prefix: 'ina219'
Addresses: I2C 0x40 - 0x4f Addresses: I2C 0x40 - 0x4f
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
* Texas Instruments INA220 * Texas Instruments INA220
Prefix: 'ina220' Prefix: 'ina220'
Addresses: I2C 0x40 - 0x4f Addresses: I2C 0x40 - 0x4f
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
* Texas Instruments INA226 * Texas Instruments INA226
Prefix: 'ina226' Prefix: 'ina226'
Addresses: I2C 0x40 - 0x4f Addresses: I2C 0x40 - 0x4f
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
* Texas Instruments INA230 * Texas Instruments INA230
Prefix: 'ina230' Prefix: 'ina230'
Addresses: I2C 0x40 - 0x4f Addresses: I2C 0x40 - 0x4f
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
* Texas Instruments INA231 * Texas Instruments INA231
Prefix: 'ina231' Prefix: 'ina231'
Addresses: I2C 0x40 - 0x4f Addresses: I2C 0x40 - 0x4f
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
Author: Lothar Felten <lothar.felten@gmail.com> Author: Lothar Felten <lothar.felten@gmail.com>
...@@ -57,23 +78,27 @@ refer to the Documentation/devicetree/bindings/hwmon/ina2xx.txt for bindings ...@@ -57,23 +78,27 @@ refer to the Documentation/devicetree/bindings/hwmon/ina2xx.txt for bindings
if the device tree is used. if the device tree is used.
Additionally ina226 supports update_interval attribute as described in Additionally ina226 supports update_interval attribute as described in
Documentation/hwmon/sysfs-interface. Internally the interval is the sum of Documentation/hwmon/sysfs-interface.rst. Internally the interval is the sum of
bus and shunt voltage conversion times multiplied by the averaging rate. We bus and shunt voltage conversion times multiplied by the averaging rate. We
don't touch the conversion times and only modify the number of averages. The don't touch the conversion times and only modify the number of averages. The
lower limit of the update_interval is 2 ms, the upper limit is 2253 ms. lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
The actual programmed interval may vary from the desired value. The actual programmed interval may vary from the desired value.
General sysfs entries General sysfs entries
------------- ---------------------
======================= ===============================
in0_input Shunt voltage(mV) channel in0_input Shunt voltage(mV) channel
in1_input Bus voltage(mV) channel in1_input Bus voltage(mV) channel
curr1_input Current(mA) measurement channel curr1_input Current(mA) measurement channel
power1_input Power(uW) measurement channel power1_input Power(uW) measurement channel
shunt_resistor Shunt resistance(uOhm) channel shunt_resistor Shunt resistance(uOhm) channel
======================= ===============================
Sysfs entries for ina226, ina230 and ina231 only Sysfs entries for ina226, ina230 and ina231 only
------------- ------------------------------------------------
======================= ====================================================
update_interval data conversion time; affects number of samples used update_interval data conversion time; affects number of samples used
to average results for shunt and bus voltages. to average results for shunt and bus voltages.
======================= ====================================================
...@@ -2,11 +2,16 @@ Kernel driver ina3221 ...@@ -2,11 +2,16 @@ Kernel driver ina3221
===================== =====================
Supported chips: Supported chips:
* Texas Instruments INA3221 * Texas Instruments INA3221
Prefix: 'ina3221' Prefix: 'ina3221'
Addresses: I2C 0x40 - 0x43 Addresses: I2C 0x40 - 0x43
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/
http://www.ti.com/
Author: Andrew F. Davis <afd@ti.com> Author: Andrew F. Davis <afd@ti.com>
...@@ -21,17 +26,37 @@ and power are calculated host-side from these. ...@@ -21,17 +26,37 @@ and power are calculated host-side from these.
Sysfs entries Sysfs entries
------------- -------------
======================= =======================================================
in[123]_label Voltage channel labels in[123]_label Voltage channel labels
in[123]_enable Voltage channel enable controls in[123]_enable Voltage channel enable controls
in[123]_input Bus voltage(mV) channels in[123]_input Bus voltage(mV) channels
curr[123]_input Current(mA) measurement channels curr[123]_input Current(mA) measurement channels
shunt[123]_resistor Shunt resistance(uOhm) channels shunt[123]_resistor Shunt resistance(uOhm) channels
curr[123]_crit Critical alert current(mA) setting, activates the curr[123]_crit Critical alert current(mA) setting, activates the
corresponding alarm when the respective current corresponding alarm when the respective current
is above this value is above this value
curr[123]_crit_alarm Critical alert current limit exceeded curr[123]_crit_alarm Critical alert current limit exceeded
curr[123]_max Warning alert current(mA) setting, activates the curr[123]_max Warning alert current(mA) setting, activates the
corresponding alarm when the respective current corresponding alarm when the respective current
average is above this value. average is above this value.
curr[123]_max_alarm Warning alert current limit exceeded curr[123]_max_alarm Warning alert current limit exceeded
in[456]_input Shunt voltage(uV) for channels 1, 2, and 3 respectively in[456]_input Shunt voltage(uV) for channels 1, 2, and 3 respectively
samples Number of samples using in the averaging mode.
Supports the list of number of samples:
1, 4, 16, 64, 128, 256, 512, 1024
update_interval Data conversion time in millisecond, following:
update_interval = C x S x (BC + SC)
* C: number of enabled channels
* S: number of samples
* BC: bus-voltage conversion time in millisecond
* SC: shunt-voltage conversion time in millisecond
Affects both Bus- and Shunt-voltage conversion time.
Note that setting update_interval to 0ms sets both BC
and SC to 140 us (minimum conversion time).
======================= =======================================================
=========================
Linux Hardware Monitoring
=========================
.. toctree::
:maxdepth: 1
hwmon-kernel-api
pmbus-core
submitting-patches
sysfs-interface
userspace-tools
Hardware Monitoring Kernel Drivers
==================================
.. toctree::
:maxdepth: 1
ab8500
abituguru
abituguru3
abx500
acpi_power_meter
ad7314
adc128d818
adm1021
adm1025
adm1026
adm1031
adm1275
adm9240
ads1015
ads7828
adt7410
adt7411
adt7462
adt7470
adt7475
amc6821
asb100
asc7621
aspeed-pwm-tacho
coretemp
da9052
da9055
dme1737
ds1621
ds620
emc1403
emc2103
emc6w201
f71805f
f71882fg
fam15h_power
ftsteutates
g760a
g762
gl518sm
hih6130
ibmaem
ibm-cffps
ibmpowernv
ina209
ina2xx
ina3221
ir35221
ir38064
isl68137
it87
jc42
k10temp
k8temp
lineage-pem
lm25066
lm63
lm70
lm73
lm75
lm77
lm78
lm80
lm83
lm85
lm87
lm90
lm92
lm93
lm95234
lm95245
lochnagar
ltc2945
ltc2978
ltc2990
ltc3815
ltc4151
ltc4215
ltc4245
ltc4260
ltc4261
max16064
max16065
max1619
max1668
max197
max20751
max31722
max31785
max31790
max34440
max6639
max6642
max6650
max6697
max8688
mc13783-adc
mcp3021
menf21bmc
mlxreg-fan
nct6683
nct6775
nct7802
nct7904
npcm750-pwm-fan
nsa320
ntc_thermistor
occ
pc87360
pc87427
pcf8591
pmbus
powr1220
pwm-fan
raspberrypi-hwmon
sch5627
sch5636
scpi-hwmon
sht15
sht21
sht3x
shtc1
sis5595
smm665
smsc47b397
smsc47m192
smsc47m1
tc654
tc74
thmc50
tmp102
tmp103
tmp108
tmp401
tmp421
tps40422
twl4030-madc-hwmon
ucd9000
ucd9200
vexpress
via686a
vt1211
w83627ehf
w83627hf
w83773g
w83781d
w83791d
w83792d
w83793
w83795
w83l785ts
w83l786ng
wm831x
wm8350
xgene-hwmon
zl6100
.. only:: subproject and html
Indices
=======
* :ref:`genindex`
...@@ -2,9 +2,12 @@ Kernel driver ir35221 ...@@ -2,9 +2,12 @@ Kernel driver ir35221
===================== =====================
Supported chips: Supported chips:
* Infinion IR35221 * Infineon IR35221
Prefix: 'ir35221' Prefix: 'ir35221'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet is not publicly available. Datasheet: Datasheet is not publicly available.
Author: Samuel Mendoza-Jonas <sam@mendozajonas.com> Author: Samuel Mendoza-Jonas <sam@mendozajonas.com>
...@@ -23,15 +26,16 @@ This driver does not probe for PMBus devices. You will have to instantiate ...@@ -23,15 +26,16 @@ This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly. devices explicitly.
Example: the following commands will load the driver for an IR35221 Example: the following commands will load the driver for an IR35221
at address 0x70 on I2C bus #4: at address 0x70 on I2C bus #4::
# modprobe ir35221 # modprobe ir35221
# echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device # echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device
Sysfs attributes Sysfs attributes
---------------- ----------------
======================= =======================================================
curr1_label "iin" curr1_label "iin"
curr1_input Measured input current curr1_input Measured input current
curr1_max Maximum current curr1_max Maximum current
...@@ -85,3 +89,4 @@ temp[1-2]_highest Highest temperature ...@@ -85,3 +89,4 @@ temp[1-2]_highest Highest temperature
temp[1-2]_lowest Lowest temperature temp[1-2]_lowest Lowest temperature
temp[1-2]_max Maximum temperature temp[1-2]_max Maximum temperature
temp[1-2]_max_alarm Chip temperature high alarm temp[1-2]_max_alarm Chip temperature high alarm
======================= =======================================================
Kernel driver ir38064
=====================
Supported chips:
* Infineon IR38064
Prefix: 'ir38064'
Addresses scanned: -
Datasheet: Publicly available at the Infineon webiste
https://www.infineon.com/dgdl/Infineon-IR38064MTRPBF-DS-v03_07-EN.pdf?fileId=5546d462584d1d4a0158db0d9efb67ca
Authors:
- Maxim Sloyko <maxims@google.com>
- Patrick Venture <venture@google.com>
Description
-----------
IR38064 is a Single-input Voltage, Synchronous Buck Regulator, DC-DC Converter.
Usage Notes
-----------
This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly.
Sysfs attributes
----------------
======================= ===========================
curr1_label "iout1"
curr1_input Measured output current
curr1_crit Critical maximum current
curr1_crit_alarm Current critical high alarm
curr1_max Maximum current
curr1_max_alarm Current high alarm
in1_label "vin"
in1_input Measured input voltage
in1_crit Critical maximum input voltage
in1_crit_alarm Input voltage critical high alarm
in1_min Minimum input voltage
in1_min_alarm Input voltage low alarm
in2_label "vout1"
in2_input Measured output voltage
in2_lcrit Critical minimum output voltage
in2_lcrit_alarm Output voltage critical low alarm
in2_crit Critical maximum output voltage
in2_crit_alarm Output voltage critical high alarm
in2_max Maximum output voltage
in2_max_alarm Output voltage high alarm
in2_min Minimum output voltage
in2_min_alarm Output voltage low alarm
power1_label "pout1"
power1_input Measured output power
temp1_input Measured temperature
temp1_crit Critical high temperature
temp1_crit_alarm Chip temperature critical high alarm
temp1_max Maximum temperature
temp1_max_alarm Chip temperature high alarm
======================= ===========================
Kernel driver isl68137
======================
Supported chips:
* Intersil ISL68137
Prefix: 'isl68137'
Addresses scanned: -
Datasheet:
Publicly available at the Intersil website
https://www.intersil.com/content/dam/Intersil/documents/isl6/isl68137.pdf
Authors:
- Maxim Sloyko <maxims@google.com>
- Robert Lippert <rlippert@google.com>
- Patrick Venture <venture@google.com>
Description
-----------
Intersil ISL68137 is a digital output 7-phase configurable PWM
controller with an AVSBus interface.
Usage Notes
-----------
This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly.
The ISL68137 AVS operation mode must be enabled/disabled at runtime.
Beyond the normal sysfs pmbus attributes, the driver exposes a control attribute.
Additional Sysfs attributes
---------------------------
======================= ====================================
avs(0|1)_enable Controls the AVS state of each rail.
curr1_label "iin"
curr1_input Measured input current
curr1_crit Critical maximum current
curr1_crit_alarm Current critical high alarm
curr[2-3]_label "iout[1-2]"
curr[2-3]_input Measured output current
curr[2-3]_crit Critical maximum current
curr[2-3]_crit_alarm Current critical high alarm
in1_label "vin"
in1_input Measured input voltage
in1_lcrit Critical minimum input voltage
in1_lcrit_alarm Input voltage critical low alarm
in1_crit Critical maximum input voltage
in1_crit_alarm Input voltage critical high alarm
in[2-3]_label "vout[1-2]"
in[2-3]_input Measured output voltage
in[2-3]_lcrit Critical minimum output voltage
in[2-3]_lcrit_alarm Output voltage critical low alarm
in[2-3]_crit Critical maximum output voltage
in[2-3]_crit_alarm Output voltage critical high alarm
power1_label "pin"
power1_input Measured input power
power1_alarm Input power high alarm
power[2-3]_label "pout[1-2]"
power[2-3]_input Measured output power
temp[1-3]_input Measured temperature
temp[1-3]_crit Critical high temperature
temp[1-3]_crit_alarm Chip temperature critical high alarm
temp[1-3]_max Maximum temperature
temp[1-3]_max_alarm Chip temperature high alarm
======================= ====================================
...@@ -2,105 +2,179 @@ Kernel driver it87 ...@@ -2,105 +2,179 @@ Kernel driver it87
================== ==================
Supported chips: Supported chips:
* IT8603E/IT8623E * IT8603E/IT8623E
Prefix: 'it8603' Prefix: 'it8603'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8620E * IT8620E
Prefix: 'it8620' Prefix: 'it8620'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
* IT8628E * IT8628E
Prefix: 'it8628' Prefix: 'it8628'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8705F * IT8705F
Prefix: 'it87' Prefix: 'it87'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Once publicly available at the ITE website, but no longer Datasheet: Once publicly available at the ITE website, but no longer
* IT8712F * IT8712F
Prefix: 'it8712' Prefix: 'it8712'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Once publicly available at the ITE website, but no longer Datasheet: Once publicly available at the ITE website, but no longer
* IT8716F/IT8726F * IT8716F/IT8726F
Prefix: 'it8716' Prefix: 'it8716'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Once publicly available at the ITE website, but no longer Datasheet: Once publicly available at the ITE website, but no longer
* IT8718F * IT8718F
Prefix: 'it8718' Prefix: 'it8718'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Once publicly available at the ITE website, but no longer Datasheet: Once publicly available at the ITE website, but no longer
* IT8720F * IT8720F
Prefix: 'it8720' Prefix: 'it8720'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8721F/IT8758E * IT8721F/IT8758E
Prefix: 'it8721' Prefix: 'it8721'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8728F * IT8728F
Prefix: 'it8728' Prefix: 'it8728'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8732F * IT8732F
Prefix: 'it8732' Prefix: 'it8732'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8771E * IT8771E
Prefix: 'it8771' Prefix: 'it8771'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8772E * IT8772E
Prefix: 'it8772' Prefix: 'it8772'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8781F * IT8781F
Prefix: 'it8781' Prefix: 'it8781'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8782F * IT8782F
Prefix: 'it8782' Prefix: 'it8782'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8783E/F * IT8783E/F
Prefix: 'it8783' Prefix: 'it8783'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8786E * IT8786E
Prefix: 'it8786' Prefix: 'it8786'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* IT8790E * IT8790E
Prefix: 'it8790' Prefix: 'it8790'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: Not publicly available Datasheet: Not publicly available
* SiS950 [clone of IT8705F] * SiS950 [clone of IT8705F]
Prefix: 'it87' Prefix: 'it87'
Addresses scanned: from Super I/O config space (8 I/O ports) Addresses scanned: from Super I/O config space (8 I/O ports)
Datasheet: No longer be available Datasheet: No longer be available
Authors: Authors:
Christophe Gauthron - Christophe Gauthron
Jean Delvare <jdelvare@suse.de> - Jean Delvare <jdelvare@suse.de>
Module Parameters Module Parameters
----------------- -----------------
* update_vbat: int * update_vbat: int
0 if vbat should report power on value, 1 if vbat should be updated after
0 if vbat should report power on value, 1 if vbat should be updated after each read. Default is 0. On some boards the battery voltage is provided
each read. Default is 0. On some boards the battery voltage is provided by either the battery or the onboard power supply. Only the first reading
by either the battery or the onboard power supply. Only the first reading at power on will be the actual battery voltage (which the chip does
at power on will be the actual battery voltage (which the chip does automatically). On other boards the battery voltage is always fed to
automatically). On other boards the battery voltage is always fed to the chip so can be read at any time. Excessive reading may decrease
the chip so can be read at any time. Excessive reading may decrease battery life but no information is given in the datasheet.
battery life but no information is given in the datasheet.
* fix_pwm_polarity int * fix_pwm_polarity int
Force PWM polarity to active high (DANGEROUS). Some chips are
Force PWM polarity to active high (DANGEROUS). Some chips are misconfigured by BIOS - PWM values would be inverted. This option tries
misconfigured by BIOS - PWM values would be inverted. This option tries to fix this. Please contact your BIOS manufacturer and ask him for fix.
to fix this. Please contact your BIOS manufacturer and ask him for fix.
Hardware Interfaces Hardware Interfaces
......
...@@ -2,53 +2,100 @@ Kernel driver jc42 ...@@ -2,53 +2,100 @@ Kernel driver jc42
================== ==================
Supported chips: Supported chips:
* Analog Devices ADT7408 * Analog Devices ADT7408
Datasheets: Datasheets:
http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
* Atmel AT30TS00, AT30TS002A/B, AT30TSE004A * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
Datasheets: Datasheets:
http://www.atmel.com/Images/doc8585.pdf http://www.atmel.com/Images/doc8585.pdf
http://www.atmel.com/Images/doc8711.pdf http://www.atmel.com/Images/doc8711.pdf
http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
* IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2, * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
TS3001GB2 TS3001GB2
Datasheets: Datasheets:
Available from IDT web site Available from IDT web site
* Maxim MAX6604 * Maxim MAX6604
Datasheets: Datasheets:
http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
* Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843 * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
Datasheets: Datasheets:
http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
* NXP Semiconductors SE97, SE97B, SE98, SE98A * NXP Semiconductors SE97, SE97B, SE98, SE98A
Datasheets: Datasheets:
http://www.nxp.com/documents/data_sheet/SE97.pdf http://www.nxp.com/documents/data_sheet/SE97.pdf
http://www.nxp.com/documents/data_sheet/SE97B.pdf http://www.nxp.com/documents/data_sheet/SE97B.pdf
http://www.nxp.com/documents/data_sheet/SE98.pdf http://www.nxp.com/documents/data_sheet/SE98.pdf
http://www.nxp.com/documents/data_sheet/SE98A.pdf http://www.nxp.com/documents/data_sheet/SE98A.pdf
* ON Semiconductor CAT34TS02, CAT6095 * ON Semiconductor CAT34TS02, CAT6095
Datasheet: Datasheet:
http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
* ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000 * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
Datasheets: Datasheets:
http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf
http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf
http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf
http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf
http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf
* JEDEC JC 42.4 compliant temperature sensor chips * JEDEC JC 42.4 compliant temperature sensor chips
Datasheet: Datasheet:
http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
Common for all chips: Common for all chips:
Prefix: 'jc42' Prefix: 'jc42'
Addresses scanned: I2C 0x18 - 0x1f Addresses scanned: I2C 0x18 - 0x1f
Author: Author:
...@@ -67,10 +114,10 @@ The driver auto-detects the chips listed above, but can be manually instantiated ...@@ -67,10 +114,10 @@ The driver auto-detects the chips listed above, but can be manually instantiated
to support other JC 42.4 compliant chips. to support other JC 42.4 compliant chips.
Example: the following will load the driver for a generic JC 42.4 compliant Example: the following will load the driver for a generic JC 42.4 compliant
temperature sensor at address 0x18 on I2C bus #1: temperature sensor at address 0x18 on I2C bus #1::
# modprobe jc42 # modprobe jc42
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum, A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
and critical temperature can be configured. There are alarms for high, low, and critical temperature can be configured. There are alarms for high, low,
...@@ -90,6 +137,7 @@ cannot be changed. ...@@ -90,6 +137,7 @@ cannot be changed.
Sysfs entries Sysfs entries
------------- -------------
======================= ===========================================
temp1_input Temperature (RO) temp1_input Temperature (RO)
temp1_min Minimum temperature (RO or RW) temp1_min Minimum temperature (RO or RW)
temp1_max Maximum temperature (RO or RW) temp1_max Maximum temperature (RO or RW)
...@@ -101,3 +149,4 @@ temp1_max_hyst Maximum hysteresis temperature (RO) ...@@ -101,3 +149,4 @@ temp1_max_hyst Maximum hysteresis temperature (RO)
temp1_min_alarm Temperature low alarm temp1_min_alarm Temperature low alarm
temp1_max_alarm Temperature high alarm temp1_max_alarm Temperature high alarm
temp1_crit_alarm Temperature critical alarm temp1_crit_alarm Temperature critical alarm
======================= ===========================================
...@@ -2,42 +2,77 @@ Kernel driver k10temp ...@@ -2,42 +2,77 @@ Kernel driver k10temp
===================== =====================
Supported chips: Supported chips:
* AMD Family 10h processors: * AMD Family 10h processors:
Socket F: Quad-Core/Six-Core/Embedded Opteron (but see below) Socket F: Quad-Core/Six-Core/Embedded Opteron (but see below)
Socket AM2+: Quad-Core Opteron, Phenom (II) X3/X4, Athlon X2 (but see below) Socket AM2+: Quad-Core Opteron, Phenom (II) X3/X4, Athlon X2 (but see below)
Socket AM3: Quad-Core Opteron, Athlon/Phenom II X2/X3/X4, Sempron II Socket AM3: Quad-Core Opteron, Athlon/Phenom II X2/X3/X4, Sempron II
Socket S1G3: Athlon II, Sempron, Turion II Socket S1G3: Athlon II, Sempron, Turion II
* AMD Family 11h processors: * AMD Family 11h processors:
Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)
* AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series) * AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series)
* AMD Family 14h processors: "Brazos" (C/E/G/Z-Series) * AMD Family 14h processors: "Brazos" (C/E/G/Z-Series)
* AMD Family 15h processors: "Bulldozer" (FX-Series), "Trinity", "Kaveri", "Carrizo" * AMD Family 15h processors: "Bulldozer" (FX-Series), "Trinity", "Kaveri", "Carrizo"
* AMD Family 16h processors: "Kabini", "Mullins" * AMD Family 16h processors: "Kabini", "Mullins"
Prefix: 'k10temp' Prefix: 'k10temp'
Addresses scanned: PCI space Addresses scanned: PCI space
Datasheets: Datasheets:
BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors: BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors:
http://support.amd.com/us/Processor_TechDocs/31116.pdf http://support.amd.com/us/Processor_TechDocs/31116.pdf
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors: BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors:
http://support.amd.com/us/Processor_TechDocs/41256.pdf http://support.amd.com/us/Processor_TechDocs/41256.pdf
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 12h Processors: BIOS and Kernel Developer's Guide (BKDG) for AMD Family 12h Processors:
http://support.amd.com/us/Processor_TechDocs/41131.pdf http://support.amd.com/us/Processor_TechDocs/41131.pdf
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors: BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors:
http://support.amd.com/us/Processor_TechDocs/43170.pdf http://support.amd.com/us/Processor_TechDocs/43170.pdf
Revision Guide for AMD Family 10h Processors: Revision Guide for AMD Family 10h Processors:
http://support.amd.com/us/Processor_TechDocs/41322.pdf http://support.amd.com/us/Processor_TechDocs/41322.pdf
Revision Guide for AMD Family 11h Processors: Revision Guide for AMD Family 11h Processors:
http://support.amd.com/us/Processor_TechDocs/41788.pdf http://support.amd.com/us/Processor_TechDocs/41788.pdf
Revision Guide for AMD Family 12h Processors: Revision Guide for AMD Family 12h Processors:
http://support.amd.com/us/Processor_TechDocs/44739.pdf http://support.amd.com/us/Processor_TechDocs/44739.pdf
Revision Guide for AMD Family 14h Models 00h-0Fh Processors: Revision Guide for AMD Family 14h Models 00h-0Fh Processors:
http://support.amd.com/us/Processor_TechDocs/47534.pdf http://support.amd.com/us/Processor_TechDocs/47534.pdf
AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks: AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks:
http://support.amd.com/us/Processor_TechDocs/43373.pdf http://support.amd.com/us/Processor_TechDocs/43373.pdf
AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet: AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet:
http://support.amd.com/us/Processor_TechDocs/43374.pdf http://support.amd.com/us/Processor_TechDocs/43374.pdf
AMD Family 10h Desktop Processor Power and Thermal Data Sheet: AMD Family 10h Desktop Processor Power and Thermal Data Sheet:
http://support.amd.com/us/Processor_TechDocs/43375.pdf http://support.amd.com/us/Processor_TechDocs/43375.pdf
Author: Clemens Ladisch <clemens@ladisch.de> Author: Clemens Ladisch <clemens@ladisch.de>
...@@ -60,7 +95,7 @@ are using an AM3 processor on an AM2+ mainboard, you can safely use the ...@@ -60,7 +95,7 @@ are using an AM3 processor on an AM2+ mainboard, you can safely use the
There is one temperature measurement value, available as temp1_input in There is one temperature measurement value, available as temp1_input in
sysfs. It is measured in degrees Celsius with a resolution of 1/8th degree. sysfs. It is measured in degrees Celsius with a resolution of 1/8th degree.
Please note that it is defined as a relative value; to quote the AMD manual: Please note that it is defined as a relative value; to quote the AMD manual::
Tctl is the processor temperature control value, used by the platform to Tctl is the processor temperature control value, used by the platform to
control cooling systems. Tctl is a non-physical temperature on an control cooling systems. Tctl is a non-physical temperature on an
......
...@@ -2,12 +2,17 @@ Kernel driver k8temp ...@@ -2,12 +2,17 @@ Kernel driver k8temp
==================== ====================
Supported chips: Supported chips:
* AMD Athlon64/FX or Opteron CPUs * AMD Athlon64/FX or Opteron CPUs
Prefix: 'k8temp' Prefix: 'k8temp'
Addresses scanned: PCI space Addresses scanned: PCI space
Datasheet: http://support.amd.com/us/Processor_TechDocs/32559.pdf Datasheet: http://support.amd.com/us/Processor_TechDocs/32559.pdf
Author: Rudolf Marek Author: Rudolf Marek
Contact: Rudolf Marek <r.marek@assembler.cz> Contact: Rudolf Marek <r.marek@assembler.cz>
Description Description
...@@ -27,10 +32,12 @@ implemented sensors. ...@@ -27,10 +32,12 @@ implemented sensors.
Mapping of /sys files is as follows: Mapping of /sys files is as follows:
temp1_input - temperature of Core 0 and "place" 0 ============= ===================================
temp2_input - temperature of Core 0 and "place" 1 temp1_input temperature of Core 0 and "place" 0
temp3_input - temperature of Core 1 and "place" 0 temp2_input temperature of Core 0 and "place" 1
temp4_input - temperature of Core 1 and "place" 1 temp3_input temperature of Core 1 and "place" 0
temp4_input temperature of Core 1 and "place" 1
============= ===================================
Temperatures are measured in degrees Celsius and measurement resolution is Temperatures are measured in degrees Celsius and measurement resolution is
1 degree C. It is expected that future CPU will have better resolution. The 1 degree C. It is expected that future CPU will have better resolution. The
...@@ -48,7 +55,7 @@ computed temperature called TControl, which must be lower than TControlMax. ...@@ -48,7 +55,7 @@ computed temperature called TControl, which must be lower than TControlMax.
The relationship is following: The relationship is following:
temp1_input - TjOffset*2 < TControlMax, temp1_input - TjOffset*2 < TControlMax,
TjOffset is not yet exported by the driver, TControlMax is usually TjOffset is not yet exported by the driver, TControlMax is usually
70 degrees C. The rule of the thumb -> CPU temperature should not cross 70 degrees C. The rule of the thumb -> CPU temperature should not cross
......
...@@ -2,11 +2,16 @@ Kernel driver lineage-pem ...@@ -2,11 +2,16 @@ Kernel driver lineage-pem
========================= =========================
Supported devices: Supported devices:
* Lineage Compact Power Line Power Entry Modules * Lineage Compact Power Line Power Entry Modules
Prefix: 'lineage-pem' Prefix: 'lineage-pem'
Addresses scanned: - Addresses scanned: -
Documentation: Documentation:
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -31,9 +36,10 @@ which can be safely used to identify the chip. You will have to instantiate ...@@ -31,9 +36,10 @@ which can be safely used to identify the chip. You will have to instantiate
the devices explicitly. the devices explicitly.
Example: the following will load the driver for a Lineage PEM at address 0x40 Example: the following will load the driver for a Lineage PEM at address 0x40
on I2C bus #1: on I2C bus #1::
$ modprobe lineage-pem
$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device $ modprobe lineage-pem
$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
All Lineage CPL power entry modules have a built-in I2C bus master selector All Lineage CPL power entry modules have a built-in I2C bus master selector
(PCA9541). To ensure device access, this driver should only be used as client (PCA9541). To ensure device access, this driver should only be used as client
...@@ -51,6 +57,7 @@ Input voltage, input current, input power, and fan speed measurement is only ...@@ -51,6 +57,7 @@ Input voltage, input current, input power, and fan speed measurement is only
supported on newer devices. The driver detects if those attributes are supported, supported on newer devices. The driver detects if those attributes are supported,
and only creates respective sysfs entries if they are. and only creates respective sysfs entries if they are.
======================= ===============================
in1_input Output voltage (mV) in1_input Output voltage (mV)
in1_min_alarm Output undervoltage alarm in1_min_alarm Output undervoltage alarm
in1_max_alarm Output overvoltage alarm in1_max_alarm Output overvoltage alarm
...@@ -75,3 +82,4 @@ temp1_crit ...@@ -75,3 +82,4 @@ temp1_crit
temp1_alarm temp1_alarm
temp1_crit_alarm temp1_crit_alarm
temp1_fault temp1_fault
======================= ===============================
...@@ -2,34 +2,62 @@ Kernel driver lm25066 ...@@ -2,34 +2,62 @@ Kernel driver lm25066
===================== =====================
Supported chips: Supported chips:
* TI LM25056 * TI LM25056
Prefix: 'lm25056' Prefix: 'lm25056'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.ti.com/lit/gpn/lm25056 http://www.ti.com/lit/gpn/lm25056
http://www.ti.com/lit/gpn/lm25056a http://www.ti.com/lit/gpn/lm25056a
* National Semiconductor LM25066 * National Semiconductor LM25066
Prefix: 'lm25066' Prefix: 'lm25066'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.national.com/pf/LM/LM25066.html http://www.national.com/pf/LM/LM25066.html
http://www.national.com/pf/LM/LM25066A.html http://www.national.com/pf/LM/LM25066A.html
* National Semiconductor LM5064 * National Semiconductor LM5064
Prefix: 'lm5064' Prefix: 'lm5064'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.national.com/pf/LM/LM5064.html http://www.national.com/pf/LM/LM5064.html
* National Semiconductor LM5066 * National Semiconductor LM5066
Prefix: 'lm5066' Prefix: 'lm5066'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.national.com/pf/LM/LM5066.html http://www.national.com/pf/LM/LM5066.html
* Texas Instruments LM5066I * Texas Instruments LM5066I
Prefix: 'lm5066i' Prefix: 'lm5066i'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.ti.com/product/LM5066I http://www.ti.com/product/LM5066I
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -41,7 +69,7 @@ LM25066, LM5064, and LM5066/LM5066I Power Management, Monitoring, ...@@ -41,7 +69,7 @@ LM25066, LM5064, and LM5066/LM5066I Power Management, Monitoring,
Control, and Protection ICs. Control, and Protection ICs.
The driver is a client driver to the core PMBus driver. Please see The driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/pmbus for details on PMBus client drivers. Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
Usage Notes Usage Notes
...@@ -64,6 +92,7 @@ Sysfs entries ...@@ -64,6 +92,7 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= =======================================================
in1_label "vin" in1_label "vin"
in1_input Measured input voltage. in1_input Measured input voltage.
in1_average Average measured input voltage. in1_average Average measured input voltage.
...@@ -105,3 +134,4 @@ temp1_max Maximum temperature. ...@@ -105,3 +134,4 @@ temp1_max Maximum temperature.
temp1_crit Critical high temperature. temp1_crit Critical high temperature.
temp1_max_alarm Chip temperature high alarm. temp1_max_alarm Chip temperature high alarm.
temp1_crit_alarm Chip temperature critical high alarm. temp1_crit_alarm Chip temperature critical high alarm.
======================= =======================================================
...@@ -2,26 +2,43 @@ Kernel driver lm63 ...@@ -2,26 +2,43 @@ Kernel driver lm63
================== ==================
Supported chips: Supported chips:
* National Semiconductor LM63 * National Semiconductor LM63
Prefix: 'lm63' Prefix: 'lm63'
Addresses scanned: I2C 0x4c Addresses scanned: I2C 0x4c
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/pf/LM/LM63.html
http://www.national.com/pf/LM/LM63.html
* National Semiconductor LM64 * National Semiconductor LM64
Prefix: 'lm64' Prefix: 'lm64'
Addresses scanned: I2C 0x18 and 0x4e Addresses scanned: I2C 0x18 and 0x4e
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/pf/LM/LM64.html
http://www.national.com/pf/LM/LM64.html
* National Semiconductor LM96163 * National Semiconductor LM96163
Prefix: 'lm96163' Prefix: 'lm96163'
Addresses scanned: I2C 0x4c Addresses scanned: I2C 0x4c
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/pf/LM/LM96163.html
http://www.national.com/pf/LM/LM96163.html
Author: Jean Delvare <jdelvare@suse.de> Author: Jean Delvare <jdelvare@suse.de>
Thanks go to Tyan and especially Alex Buckingham for setting up a remote Thanks go to Tyan and especially Alex Buckingham for setting up a remote
access to their S4882 test platform for this driver. access to their S4882 test platform for this driver.
http://www.tyan.com/ http://www.tyan.com/
Description Description
...@@ -32,6 +49,7 @@ and control. ...@@ -32,6 +49,7 @@ and control.
The LM63 is basically an LM86 with fan speed monitoring and control The LM63 is basically an LM86 with fan speed monitoring and control
capabilities added. It misses some of the LM86 features though: capabilities added. It misses some of the LM86 features though:
- No low limit for local temperature. - No low limit for local temperature.
- No critical limit for local temperature. - No critical limit for local temperature.
- Critical limit for remote temperature can be changed only once. We - Critical limit for remote temperature can be changed only once. We
......
...@@ -2,19 +2,30 @@ Kernel driver lm70 ...@@ -2,19 +2,30 @@ Kernel driver lm70
================== ==================
Supported chips: Supported chips:
* National Semiconductor LM70 * National Semiconductor LM70
Datasheet: http://www.national.com/pf/LM/LM70.html Datasheet: http://www.national.com/pf/LM/LM70.html
* Texas Instruments TMP121/TMP123 * Texas Instruments TMP121/TMP123
Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
* Texas Instruments TMP122/TMP124 * Texas Instruments TMP122/TMP124
Information: http://www.ti.com/product/tmp122 Information: http://www.ti.com/product/tmp122
* National Semiconductor LM71 * National Semiconductor LM71
Datasheet: http://www.ti.com/product/LM71 Datasheet: http://www.ti.com/product/LM71
* National Semiconductor LM74 * National Semiconductor LM74
Datasheet: http://www.ti.com/product/LM74 Datasheet: http://www.ti.com/product/LM74
Author: Author:
Kaiwan N Billimoria <kaiwan@designergraphix.com> Kaiwan N Billimoria <kaiwan@designergraphix.com>
Description Description
----------- -----------
......
...@@ -2,13 +2,20 @@ Kernel driver lm73 ...@@ -2,13 +2,20 @@ Kernel driver lm73
================== ==================
Supported chips: Supported chips:
* Texas Instruments LM73 * Texas Instruments LM73
Prefix: 'lm73' Prefix: 'lm73'
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
Datasheet: Publicly available at the Texas Instruments website Datasheet: Publicly available at the Texas Instruments website
http://www.ti.com/product/lm73
http://www.ti.com/product/lm73
Author: Guillaume Ligneul <guillaume.ligneul@gmail.com> Author: Guillaume Ligneul <guillaume.ligneul@gmail.com>
Documentation: Chris Verges <kg4ysn@gmail.com> Documentation: Chris Verges <kg4ysn@gmail.com>
...@@ -29,17 +36,18 @@ conversion time via the 'update_interval' sysfs attribute for the ...@@ -29,17 +36,18 @@ conversion time via the 'update_interval' sysfs attribute for the
device. This attribute will normalize ranges of input values to the device. This attribute will normalize ranges of input values to the
maximum times defined for the resolution in the datasheet. maximum times defined for the resolution in the datasheet.
============= ============= ============
Resolution Conv. Time Input Range Resolution Conv. Time Input Range
(C/LSB) (msec) (msec) (C/LSB) (msec) (msec)
-------------------------------------- ============= ============= ============
0.25 14 0..14 0.25 14 0..14
0.125 28 15..28 0.125 28 15..28
0.0625 56 29..56 0.0625 56 29..56
0.03125 112 57..infinity 0.03125 112 57..infinity
-------------------------------------- ============= ============= ============
The following examples show how the 'update_interval' attribute can be The following examples show how the 'update_interval' attribute can be
used to change the conversion time: used to change the conversion time::
$ echo 0 > update_interval $ echo 0 > update_interval
$ cat update_interval $ cat update_interval
......
...@@ -2,11 +2,17 @@ Kernel driver lm77 ...@@ -2,11 +2,17 @@ Kernel driver lm77
================== ==================
Supported chips: Supported chips:
* National Semiconductor LM77 * National Semiconductor LM77
Prefix: 'lm77' Prefix: 'lm77'
Addresses scanned: I2C 0x48 - 0x4b Addresses scanned: I2C 0x48 - 0x4b
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/
http://www.national.com/
Author: Andras BALI <drewie@freemail.hu> Author: Andras BALI <drewie@freemail.hu>
...@@ -25,6 +31,7 @@ register on the chip, which means that the relative difference between ...@@ -25,6 +31,7 @@ register on the chip, which means that the relative difference between
the limit and its hysteresis is always the same for all 3 limits. the limit and its hysteresis is always the same for all 3 limits.
This implementation detail implies the following: This implementation detail implies the following:
* When setting a limit, its hysteresis will automatically follow, the * When setting a limit, its hysteresis will automatically follow, the
difference staying unchanged. For example, if the old critical limit difference staying unchanged. For example, if the old critical limit
was 80 degrees C, and the hysteresis was 75 degrees C, and you change was 80 degrees C, and the hysteresis was 75 degrees C, and you change
......
...@@ -2,19 +2,31 @@ Kernel driver lm78 ...@@ -2,19 +2,31 @@ Kernel driver lm78
================== ==================
Supported chips: Supported chips:
* National Semiconductor LM78 / LM78-J * National Semiconductor LM78 / LM78-J
Prefix: 'lm78' Prefix: 'lm78'
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports) Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/
http://www.national.com/
* National Semiconductor LM79 * National Semiconductor LM79
Prefix: 'lm79' Prefix: 'lm79'
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports) Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
Datasheet: Publicly available at the National Semiconductor website Datasheet: Publicly available at the National Semiconductor website
http://www.national.com/
Authors: Frodo Looijaard <frodol@dds.nl> http://www.national.com/
Jean Delvare <jdelvare@suse.de>
Authors:
- Frodo Looijaard <frodol@dds.nl>
- Jean Delvare <jdelvare@suse.de>
Description Description
----------- -----------
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment