mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
hwmon updates for v5.2
- 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJc0DPYAAoJEMsfJm/On5mBptsQAI4v81dXY+/nAETcvf8e3rX9 Q8NafLYedHzLP3OX1YUhPI9HLnTxe6bumhKEkQhYNrc0u5tgr05mxe/LL3L3IgNo sB/Fz2ySWzgYRArsAPSbiyaj5BdW2dZapik8tdKRH8/6oAq9hvpcydmU468KaEH8 /oTOlgdSN2JQFPMF0XebtJxPjzmqITJ1LLR0XgNhdtIloU1NlmMGmTsEoKyQJlSJ L5QImEeemGuEH+vO1Gct2Jb8RYO57DVFrs2W5pbJOdGQs+JfGzs2TrzS1AZc1UMt YhGxFTjOmjZ5JQRWsg5yTE3RuhAQlDk4Y4BAlNg6TNYCXMDYSXbRjw8oNg8ou2ZD tvY6DkjSTJVRZ5Xe4jkUaI/13kjCS+5Vacfxva/IvVbKz4RIr8bnMM4pJiAq8tQR 6Suv6ryzYXHHhj9PLRSM5kxbDmTvUtYVLJ1ObR4Uf5R8lCA+2zsBDzpT7bOaQ1t2 q7CTfRwBv9a06j1X1MGv0J8xocGymZUN/9sNoyKa8Bp16udx1+xpkAU4PjsnLcg3 Bra9O1lcOmzwm/Mifnd8Ahyf2pijlMoYFu5xNfoNxxd/m5IK5BiiP5fJ0uW8I+sQ msKEOi8Xc4LhzrkN9+4nvayv8sSzDvrrVF5BQuVqzOyaZMef+Z/LcaR0qHtlwxhS Emo4fYZm3KdzSH1cjAD6 =snUV -----END PGP SIGNATURE----- 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 ...
This commit is contained in:
commit
7aefd944f0
26
Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
Normal file
26
Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
Normal file
@ -0,0 +1,26 @@
|
||||
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
|
||||
unmodified (e.g. u-boot installed value).
|
||||
|
||||
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.
|
||||
|
||||
Example g762 node:
|
||||
|
@ -25,6 +25,7 @@ Required properties:
|
||||
"ti,tmp175",
|
||||
"ti,tmp275",
|
||||
"ti,tmp75",
|
||||
"ti,tmp75b",
|
||||
"ti,tmp75c",
|
||||
|
||||
- reg: I2C bus address of the device
|
||||
|
@ -7,7 +7,16 @@ Required properties:
|
||||
which correspond to thermal cooling states
|
||||
|
||||
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:
|
||||
fan0: pwm-fan {
|
||||
@ -38,3 +47,13 @@ Example:
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 2:
|
||||
fan0: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
pwms = <&pwm 0 40000 0>;
|
||||
fan-supply = <®_fan>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
pulses-per-revolution = <2>;
|
||||
};
|
||||
|
@ -2,19 +2,23 @@ Kernel driver ab8500
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* ST-Ericsson AB8500
|
||||
|
||||
Prefix: 'ab8500'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
||||
|
||||
Authors:
|
||||
Martin Persson <martin.persson@stericsson.com>
|
||||
Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||
- Martin Persson <martin.persson@stericsson.com>
|
||||
- Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||
|
||||
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.
|
||||
|
||||
Currently only the AB8500 internal sensor and one external sensor for battery
|
@ -1,92 +0,0 @@
|
||||
Kernel driver abituguru
|
||||
=======================
|
||||
|
||||
Supported chips:
|
||||
* Abit uGuru revision 1 & 2 (Hardware Monitor part only)
|
||||
Prefix: 'abituguru'
|
||||
Addresses scanned: ISA 0x0E0
|
||||
Datasheet: Not available, this driver is based on reverse engineering.
|
||||
A "Datasheet" has been written based on the reverse engineering it
|
||||
should be available in the same dir as this file under the name
|
||||
abituguru-datasheet.
|
||||
Note:
|
||||
The uGuru is a microcontroller with onboard firmware which programs
|
||||
it to behave as a hwmon IC. There are many different revisions of the
|
||||
firmware and thus effectivly many different revisions of the uGuru.
|
||||
Below is an incomplete list with which revisions are used for which
|
||||
Motherboards:
|
||||
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1)
|
||||
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
||||
uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
|
||||
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
||||
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
||||
AW9D-MAX) (2)
|
||||
1) For revisions 2 and 3 uGuru's the driver can autodetect the
|
||||
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
|
||||
this does not always work. For these uGuru's the autodetection can
|
||||
be overridden with the bank1_types module param. For all 3 known
|
||||
revison 1 motherboards the correct use of this param is:
|
||||
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
|
||||
You may also need to specify the fan_sensors option for these boards
|
||||
fan_sensors=5
|
||||
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:
|
||||
Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||
(Initial reverse engineering done by Olle Sandberg
|
||||
<ollebull@gmail.com>)
|
||||
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
* force: bool Force detection. Note this parameter only causes the
|
||||
detection to be skipped, and thus the insmod to
|
||||
succeed. If the uGuru can't be read the actual hwmon
|
||||
driver will not load and thus no hwmon device will get
|
||||
registered.
|
||||
* bank1_types: int[] Bank1 sensortype autodetection override:
|
||||
-1 autodetect (default)
|
||||
0 volt sensor
|
||||
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).
|
||||
* pwms: int Tell the driver how many fan speed controls (fan
|
||||
pwms) your motherboard has. Default: 0 (autodetect).
|
||||
* verbose: int How verbose should the driver be? (0-3):
|
||||
0 normal output
|
||||
1 + verbose error reporting
|
||||
2 + sensors type probing info (default)
|
||||
3 + retryable error reporting
|
||||
Default: 2 (the driver is still in the testing phase)
|
||||
|
||||
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:
|
||||
dmesg | grep abituguru
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver supports the hardware monitoring features of the first and
|
||||
second revision of the Abit uGuru chip found on Abit uGuru featuring
|
||||
motherboards (most modern Abit motherboards).
|
||||
|
||||
The first and second revision of the uGuru chip in reality is a Winbond
|
||||
W83L950D in disguise (despite Abit claiming it is "a new microprocessor
|
||||
designed by the ABIT Engineers"). Unfortunately this doesn't help since the
|
||||
W83L950D is a generic microcontroller with a custom Abit application running
|
||||
on it.
|
||||
|
||||
Despite Abit not releasing any information regarding the uGuru, Olle
|
||||
Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
|
||||
of the uGuru. Without his work this driver would not have been possible.
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
The voltage and frequency control parts of the Abit uGuru are not supported.
|
@ -1,3 +1,4 @@
|
||||
===============
|
||||
uGuru datasheet
|
||||
===============
|
||||
|
||||
@ -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:
|
||||
|
||||
Byte 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.
|
||||
This byte holds the alarm flags for sensor 0-7 of Sensor Bank1, with bit 0
|
||||
corresponding to sensor 0, 1 to 1, etc.
|
||||
|
||||
Byte 1:
|
||||
This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0
|
||||
corresponding to sensor 8, 1 to 9, etc.
|
||||
This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0
|
||||
corresponding to sensor 8, 1 to 9, etc.
|
||||
|
||||
Byte 2:
|
||||
This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0
|
||||
corresponding to sensor 0, 1 to 1, etc.
|
||||
This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0
|
||||
corresponding to sensor 0, 1 to 1, etc.
|
||||
|
||||
|
||||
Bank 0x21 Sensor Bank1 Values / Readings (R)
|
||||
--------------------------------------------
|
||||
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:
|
||||
Sensor 0 CPU temp
|
||||
Sensor 1 SYS temp
|
||||
Sensor 3 CPU core volt
|
||||
Sensor 4 DDR volt
|
||||
Sensor 10 DDR Vtt volt
|
||||
Sensor 15 PWM temp
|
||||
|
||||
- Sensor 0 CPU temp
|
||||
- Sensor 1 SYS temp
|
||||
- Sensor 3 CPU core volt
|
||||
- Sensor 4 DDR volt
|
||||
- Sensor 10 DDR Vtt volt
|
||||
- Sensor 15 PWM temp
|
||||
|
||||
Byte 0:
|
||||
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
|
||||
seem to know (be programmed with) what kindoff sensor is attached see Sensor
|
||||
Bank1 Settings description.
|
||||
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
|
||||
seem to know (be programmed with) what kindoff sensor is attached see Sensor
|
||||
Bank1 Settings description.
|
||||
|
||||
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
|
||||
@ -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.
|
||||
|
||||
|
||||
Bank 0x22 Sensor Bank1 Settings (R)
|
||||
Bank 0x23 Sensor Bank1 Settings (W)
|
||||
-----------------------------------
|
||||
Bank 0x22 Sensor Bank1 Settings (R) and 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
|
||||
address in Bank 0x21 .
|
||||
|
||||
Byte 0:
|
||||
Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
|
||||
Bit 0: Give an alarm if measured temp is over the warning threshold (RW) *
|
||||
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 3: Beep if alarm (RW)
|
||||
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)
|
||||
Alarm behaviour for the selected sensor. A 1 enables the described
|
||||
behaviour.
|
||||
|
||||
* 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
|
||||
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.
|
||||
Bit 0:
|
||||
Give an alarm if measured temp is over the warning threshold (RW) [1]_
|
||||
|
||||
Bit 1:
|
||||
Give an alarm if measured volt is over the max threshold (RW) [2]_
|
||||
|
||||
Bit 2:
|
||||
Give an alarm if measured volt is under the min threshold (RW) [2]_
|
||||
|
||||
Bit 3:
|
||||
Beep if alarm (RW)
|
||||
|
||||
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:
|
||||
Temp sensor: warning threshold (scale as bank 0x21)
|
||||
Volt sensor: min threshold (scale as bank 0x21)
|
||||
- Temp sensor: warning threshold (scale as bank 0x21)
|
||||
- Volt sensor: min threshold (scale as bank 0x21)
|
||||
|
||||
Byte 2:
|
||||
Temp sensor: shutdown threshold (scale as bank 0x21)
|
||||
Volt sensor: max threshold (scale as bank 0x21)
|
||||
- Temp sensor: shutdown threshold (scale as bank 0x21)
|
||||
- Volt sensor: max threshold (scale as bank 0x21)
|
||||
|
||||
|
||||
Bank 0x24 PWM outputs for FAN's (R)
|
||||
Bank 0x25 PWM outputs for FAN's (W)
|
||||
-----------------------------------
|
||||
Bank 0x24 PWM outputs for FAN's (R) and Bank 0x25 PWM outputs for FAN's (W)
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
This bank contains 3 "sensors", for each sensor it contains 5 bytes.
|
||||
Sensor 0 usually controls the CPU fan
|
||||
Sensor 1 usually controls the NB (or chipset for single chip) fan
|
||||
Sensor 2 usually controls the System fan
|
||||
Those banks contain 3 "sensors", for each sensor it contains 5 bytes.
|
||||
- Sensor 0 usually controls the CPU fan
|
||||
- Sensor 1 usually controls the NB (or chipset for single chip) fan
|
||||
- Sensor 2 usually controls the System fan
|
||||
|
||||
Byte 0:
|
||||
Flag 0x80 to enable control, Fan runs at 100% when disabled.
|
||||
low nibble (temp)sensor address at bank 0x21 used for control.
|
||||
Flag 0x80 to enable control, Fan runs at 100% when disabled.
|
||||
low nibble (temp)sensor address at bank 0x21 used for control.
|
||||
|
||||
Byte 1:
|
||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when under
|
||||
low threshold temp (specified in byte 3)
|
||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when under
|
||||
low threshold temp (specified in byte 3)
|
||||
|
||||
Byte 2:
|
||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when above
|
||||
high threshold temp (specified in byte 4)
|
||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when above
|
||||
high threshold temp (specified in byte 4)
|
||||
|
||||
Byte 3:
|
||||
Low threshold temp (scale as bank 0x21)
|
||||
Low threshold temp (scale as bank 0x21)
|
||||
|
||||
byte 4:
|
||||
High threshold temp (scale as bank 0x21)
|
||||
High threshold temp (scale as bank 0x21)
|
||||
|
||||
|
||||
Bank 0x26 Sensors Bank2 Values / Readings (R)
|
||||
---------------------------------------------
|
||||
|
||||
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:
|
||||
Sensor 0: CPU fan speed
|
||||
Sensor 1: NB (or chipset for single chip) fan speed
|
||||
Sensor 2: SYS fan speed
|
||||
- Sensor 0: CPU fan speed
|
||||
- Sensor 1: NB (or chipset for single chip) fan speed
|
||||
- Sensor 2: SYS fan speed
|
||||
|
||||
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 0x28 Sensors Bank2 Settings (W)
|
||||
------------------------------------
|
||||
Bank 0x27 Sensors Bank2 Settings (R) and 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:
|
||||
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 7: Shutdown if alarm persist for more than 4 seconds (RW)
|
||||
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 7:
|
||||
Shutdown if alarm persist for more than 4 seconds (RW)
|
||||
|
||||
Byte 1:
|
||||
min threshold (scale as bank 0x26)
|
||||
min threshold (scale as bank 0x26)
|
||||
|
||||
|
||||
Warning for the adventurous
|
113
Documentation/hwmon/abituguru.rst
Normal file
113
Documentation/hwmon/abituguru.rst
Normal file
@ -0,0 +1,113 @@
|
||||
Kernel driver abituguru
|
||||
=======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Abit uGuru revision 1 & 2 (Hardware Monitor part only)
|
||||
|
||||
Prefix: 'abituguru'
|
||||
|
||||
Addresses scanned: ISA 0x0E0
|
||||
|
||||
Datasheet: Not available, this driver is based on reverse engineering.
|
||||
A "Datasheet" has been written based on the reverse engineering it
|
||||
should be available in the same dir as this file under the name
|
||||
abituguru-datasheet.
|
||||
|
||||
Note:
|
||||
The uGuru is a microcontroller with onboard firmware which programs
|
||||
it to behave as a hwmon IC. There are many different revisions of the
|
||||
firmware and thus effectivly many different revisions of the uGuru.
|
||||
Below is an incomplete list with which revisions are used for which
|
||||
Motherboards:
|
||||
|
||||
- uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) [1]_
|
||||
- uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||
- uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
||||
- uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
|
||||
- uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
||||
- uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
||||
AW9D-MAX) [2]_
|
||||
|
||||
.. [1] For revisions 2 and 3 uGuru's the driver can autodetect the
|
||||
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
|
||||
this does not always work. For these uGuru's the autodetection can
|
||||
be overridden with the bank1_types module param. For all 3 known
|
||||
revison 1 motherboards the correct use of this param is:
|
||||
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
|
||||
You may also need to specify the fan_sensors option for these boards
|
||||
fan_sensors=5
|
||||
|
||||
.. [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:
|
||||
- Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||
- (Initial reverse engineering done by Olle Sandberg
|
||||
<ollebull@gmail.com>)
|
||||
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
* force: bool
|
||||
Force detection. Note this parameter only causes the
|
||||
detection to be skipped, and thus the insmod to
|
||||
succeed. If the uGuru can't be read the actual hwmon
|
||||
driver will not load and thus no hwmon device will get
|
||||
registered.
|
||||
* bank1_types: int[]
|
||||
Bank1 sensortype autodetection override:
|
||||
|
||||
* -1 autodetect (default)
|
||||
* 0 volt sensor
|
||||
* 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).
|
||||
* pwms: int
|
||||
Tell the driver how many fan speed controls (fan
|
||||
pwms) your motherboard has. Default: 0 (autodetect).
|
||||
* verbose: int
|
||||
How verbose should the driver be? (0-3):
|
||||
|
||||
* 0 normal output
|
||||
* 1 + verbose error reporting
|
||||
* 2 + sensors type probing info (default)
|
||||
* 3 + retryable error reporting
|
||||
|
||||
Default: 2 (the driver is still in the testing phase)
|
||||
|
||||
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:
|
||||
dmesg | grep abituguru
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver supports the hardware monitoring features of the first and
|
||||
second revision of the Abit uGuru chip found on Abit uGuru featuring
|
||||
motherboards (most modern Abit motherboards).
|
||||
|
||||
The first and second revision of the uGuru chip in reality is a Winbond
|
||||
W83L950D in disguise (despite Abit claiming it is "a new microprocessor
|
||||
designed by the ABIT Engineers"). Unfortunately this doesn't help since the
|
||||
W83L950D is a generic microcontroller with a custom Abit application running
|
||||
on it.
|
||||
|
||||
Despite Abit not releasing any information regarding the uGuru, Olle
|
||||
Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
|
||||
of the uGuru. Without his work this driver would not have been possible.
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
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
|
||||
|
||||
Supported chips:
|
||||
* Abit uGuru revision 3 (Hardware Monitor part, reading only)
|
||||
|
||||
Prefix: 'abituguru3'
|
||||
|
||||
Addresses scanned: ISA 0x0E0
|
||||
|
||||
Datasheet: Not available, this driver is based on reverse engineering.
|
||||
|
||||
Note:
|
||||
The uGuru is a microcontroller with onboard firmware which programs
|
||||
it to behave as a hwmon IC. There are many different revisions of the
|
||||
firmware and thus effectivly many different revisions of the uGuru.
|
||||
Below is an incomplete list with which revisions are used for which
|
||||
Motherboards:
|
||||
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
|
||||
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||
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 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
||||
AW9D-MAX)
|
||||
|
||||
- uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
|
||||
- uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||
- 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 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,
|
||||
this driver will not work on older motherboards. For older
|
||||
motherboards use the abituguru (without the 3 !) driver.
|
||||
|
||||
Authors:
|
||||
Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||
(Initial reverse engineering done by Louis Kruger)
|
||||
- Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||
- (Initial reverse engineering done by Louis Kruger)
|
||||
|
||||
|
||||
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
|
||||
succeed. If the uGuru can't be read the actual hwmon
|
||||
driver will not load and thus no hwmon device will get
|
||||
registered.
|
||||
* verbose: bool Should the driver be verbose?
|
||||
0/off/false normal output
|
||||
1/on/true + verbose error reporting (default)
|
||||
* verbose: bool
|
||||
Should the driver be verbose?
|
||||
|
||||
* 0/off/false normal output
|
||||
* 1/on/true + verbose error reporting (default)
|
||||
|
||||
Default: 1 (the driver is still in the testing phase)
|
||||
|
||||
Description
|
||||
@ -62,4 +72,4 @@ neither is writing any of the sensor settings and writing / reading the
|
||||
fanspeed control registers (FanEQ)
|
||||
|
||||
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
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* ST-Ericsson ABx500 series
|
||||
|
||||
Prefix: 'abx500'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
||||
|
||||
Authors:
|
||||
Martin Persson <martin.persson@stericsson.com>
|
||||
Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||
Martin Persson <martin.persson@stericsson.com>
|
||||
Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||
|
||||
Description
|
||||
-----------
|
@ -4,8 +4,11 @@ Kernel driver power_meter
|
||||
This driver talks to ACPI 4.0 power meters.
|
||||
|
||||
Supported systems:
|
||||
|
||||
* Any recent system with ACPI 4.0.
|
||||
|
||||
Prefix: 'power_meter'
|
||||
|
||||
Datasheet: http://acpi.info/, section 10.4.
|
||||
|
||||
Author: Darrick J. Wong
|
||||
@ -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
|
||||
interval, an optional capping mechanism, and a couple of trip points. The
|
||||
sysfs interface conforms with the specification outlined in the "Power" section
|
||||
of Documentation/hwmon/sysfs-interface.
|
||||
of Documentation/hwmon/sysfs-interface.rst.
|
||||
|
||||
Special Features
|
||||
----------------
|
||||
|
||||
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.
|
||||
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.
|
||||
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
|
||||
power[1-*]_average sysfs file.
|
||||
`power[1-*]_average` sysfs file.
|
||||
|
||||
The power[1-*]_{model_number, serial_number, oem_info} fields display arbitrary
|
||||
strings that ACPI provides with the meter. The measures/ directory contains
|
||||
symlinks to the devices that this meter measures.
|
||||
The `power[1-*]_{model_number, serial_number, oem_info}` fields display
|
||||
arbitrary strings that ACPI provides with the meter. The measures/ directory
|
||||
contains symlinks to the devices that this meter measures.
|
||||
|
||||
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
|
||||
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
|
||||
result in reduced performance.
|
||||
|
||||
@ -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
|
||||
follows:
|
||||
|
||||
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-*]_cap` will be notified if the firmware changes the power cap.
|
||||
`power[1-*]_interval` will be notified if the firmware changes the averaging
|
||||
interval.
|
@ -2,14 +2,23 @@ Kernel driver ad7314
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices AD7314
|
||||
|
||||
Prefix: 'ad7314'
|
||||
|
||||
Datasheet: Publicly available at Analog Devices website.
|
||||
|
||||
* Analog Devices ADT7301
|
||||
|
||||
Prefix: 'adt7301'
|
||||
|
||||
Datasheet: Publicly available at Analog Devices website.
|
||||
|
||||
* Analog Devices ADT7302
|
||||
|
||||
Prefix: 'adt7302'
|
||||
|
||||
Datasheet: Publicly available at Analog Devices website.
|
||||
|
||||
Description
|
@ -2,11 +2,14 @@ Kernel driver adc128d818
|
||||
========================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments ADC818D818
|
||||
|
||||
Prefix: 'adc818d818'
|
||||
|
||||
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
|
||||
|
@ -2,51 +2,91 @@ Kernel driver adm1021
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADM1021
|
||||
|
||||
Prefix: 'adm1021'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Analog Devices ADM1021A/ADM1023
|
||||
|
||||
Prefix: 'adm1023'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Genesys Logic GL523SM
|
||||
|
||||
Prefix: 'gl523sm'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet:
|
||||
|
||||
* Maxim MAX1617
|
||||
|
||||
Prefix: 'max1617'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* Maxim MAX1617A
|
||||
|
||||
Prefix: 'max1617a'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* National Semiconductor LM84
|
||||
|
||||
Prefix: 'lm84'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
* Philips NE1617
|
||||
|
||||
Prefix: 'max1617' (probably detected as a max1617)
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
* Philips NE1617A
|
||||
|
||||
Prefix: 'max1617' (probably detected as a max1617)
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
* TI THMC10
|
||||
|
||||
Prefix: 'thmc10'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the TI website
|
||||
|
||||
* Onsemi MC1066
|
||||
|
||||
Prefix: 'mc1066'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Onsemi website
|
||||
|
||||
|
||||
Authors:
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Philip Edelbrock <phil@netroedge.com>
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Philip Edelbrock <phil@netroedge.com>
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
@ -2,23 +2,32 @@ Kernel driver adm1025
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADM1025, ADM1025A
|
||||
|
||||
Prefix: 'adm1025'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Philips NE1619
|
||||
|
||||
Prefix: 'ne1619'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2d
|
||||
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
The NE1619 presents some differences with the original ADM1025:
|
||||
|
||||
* Only two possible addresses (0x2c - 0x2d).
|
||||
* No temperature offset register, but we don't use it anyway.
|
||||
* No INT mode for pin 16. We don't play with it anyway.
|
||||
|
||||
Authors:
|
||||
Chen-Yuan Wu <gwu@esoft.com>,
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Chen-Yuan Wu <gwu@esoft.com>,
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Description
|
||||
-----------
|
@ -3,28 +3,36 @@ Kernel driver adm1026
|
||||
|
||||
Supported chips:
|
||||
* Analog Devices ADM1026
|
||||
|
||||
Prefix: 'adm1026'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
|
||||
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
|
||||
|
||||
Authors:
|
||||
Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
|
||||
Justin Thiessen <jthiessen@penguincomputing.com>
|
||||
- Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
|
||||
- Justin Thiessen <jthiessen@penguincomputing.com>
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
* gpio_input: int array (min = 1, max = 17)
|
||||
List of GPIO pins (0-16) to program as inputs
|
||||
List of GPIO pins (0-16) to program as inputs
|
||||
|
||||
* gpio_output: int array (min = 1, max = 17)
|
||||
List of GPIO pins (0-16) to program as outputs
|
||||
List of GPIO pins (0-16) to program as outputs
|
||||
|
||||
* gpio_inverted: int array (min = 1, max = 17)
|
||||
List of GPIO pins (0-16) to program as inverted
|
||||
List of GPIO pins (0-16) to program as inverted
|
||||
|
||||
* gpio_normal: int array (min = 1, max = 17)
|
||||
List of GPIO pins (0-16) to program as normal/non-inverted
|
||||
List of GPIO pins (0-16) to program as normal/non-inverted
|
||||
|
||||
* gpio_fan: int array (min = 1, max = 8)
|
||||
List of GPIO pins (0-7) to program as fan tachs
|
||||
List of GPIO pins (0-7) to program as fan tachs
|
||||
|
||||
|
||||
Description
|
@ -3,20 +3,28 @@ Kernel driver adm1031
|
||||
|
||||
Supported chips:
|
||||
* Analog Devices ADM1030
|
||||
|
||||
Prefix: 'adm1030'
|
||||
|
||||
Addresses scanned: I2C 0x2c to 0x2e
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'adm1031'
|
||||
|
||||
Addresses scanned: I2C 0x2c to 0x2e
|
||||
|
||||
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:
|
||||
Alexandre d'Alton <alex@alexdalton.org>
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Alexandre d'Alton <alex@alexdalton.org>
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,29 +2,53 @@ Kernel driver adm1275
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADM1075
|
||||
|
||||
Prefix: 'adm1075'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1075.pdf
|
||||
|
||||
* Analog Devices ADM1272
|
||||
|
||||
Prefix: 'adm1272'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf
|
||||
|
||||
* Analog Devices ADM1275
|
||||
|
||||
Prefix: 'adm1275'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
|
||||
|
||||
* Analog Devices ADM1276
|
||||
|
||||
Prefix: 'adm1276'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
|
||||
|
||||
* Analog Devices ADM1278
|
||||
|
||||
Prefix: 'adm1278'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1278.pdf
|
||||
|
||||
* Analog Devices ADM1293/ADM1294
|
||||
|
||||
Prefix: 'adm1293', 'adm1294'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.analog.com/media/en/technical-documentation/data-sheets/ADM1293_1294.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
@ -44,7 +68,7 @@ integrated 12 bit analog-to-digital converter (ADC), accessed using a
|
||||
PMBus interface.
|
||||
|
||||
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
|
||||
@ -66,7 +90,7 @@ Platform data support
|
||||
---------------------
|
||||
|
||||
The driver supports standard PMBus driver platform data. Please see
|
||||
Documentation/hwmon/pmbus for details.
|
||||
Documentation/hwmon/pmbus.rst for details.
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -75,6 +99,7 @@ Sysfs entries
|
||||
The following attributes are supported. Limits are read-write, history reset
|
||||
attributes are write-only, all other attributes are read-only.
|
||||
|
||||
======================= =======================================================
|
||||
inX_label "vin1" or "vout1" depending on chip variant and
|
||||
configuration. On ADM1075, ADM1293, and ADM1294,
|
||||
vout1 reports the voltage on the VAUX pin.
|
||||
@ -120,3 +145,4 @@ temp1_reset_history Write any value to reset history.
|
||||
|
||||
Temperature attributes are supported on ADM1272 and
|
||||
ADM1278.
|
||||
======================= =======================================================
|
@ -2,30 +2,43 @@ Kernel driver adm9240
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADM9240
|
||||
|
||||
Prefix: 'adm9240'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2f
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'ds1780'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2f
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'lm81'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2f
|
||||
|
||||
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:
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Philip Edelbrock <phil@netroedge.com>,
|
||||
Michiel Rook <michiel@grendelproject.nl>,
|
||||
Grant Coady <gcoady.lk@gmail.com> with guidance
|
||||
from Jean Delvare <jdelvare@suse.de>
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Philip Edelbrock <phil@netroedge.com>,
|
||||
- Michiel Rook <michiel@grendelproject.nl>,
|
||||
- Grant Coady <gcoady.lk@gmail.com> with guidance
|
||||
from Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Interface
|
||||
---------
|
||||
@ -87,11 +100,13 @@ rpm = (22500 * 60) / (count * divider)
|
||||
Automatic fan clock divider
|
||||
|
||||
* User sets 0 to fan_min limit
|
||||
|
||||
- low speed alarm is disabled
|
||||
- fan clock divider not changed
|
||||
- auto fan clock adjuster enabled for valid fan speed reading
|
||||
|
||||
* User sets fan_min limit too low
|
||||
|
||||
- low speed alarm is enabled
|
||||
- fan clock divider set to max
|
||||
- fan_min set to register value 254 which corresponds
|
||||
@ -101,18 +116,20 @@ Automatic fan clock divider
|
||||
- auto fan clock adjuster disabled
|
||||
|
||||
* User sets reasonable fan speed
|
||||
|
||||
- low speed alarm is enabled
|
||||
- fan clock divider set to suit fan_min
|
||||
- auto fan clock adjuster enabled: adjusts fan_min
|
||||
|
||||
* User sets unreasonably high low fan speed limit
|
||||
|
||||
- resolution of the low speed limit may be reduced
|
||||
- alarm will be asserted
|
||||
- auto fan clock adjuster enabled: adjusts fan_min
|
||||
|
||||
* fan speed may be displayed as zero until the auto fan clock divider
|
||||
adjuster brings fan speed clock divider back into chip measurement
|
||||
range, this will occur within a few measurement cycles.
|
||||
* fan speed may be displayed as zero until the auto fan clock divider
|
||||
adjuster brings fan speed clock divider back into chip measurement
|
||||
range, this will occur within a few measurement cycles.
|
||||
|
||||
Analog Output
|
||||
-------------
|
||||
@ -122,16 +139,21 @@ power up or reset. This doesn't do much on the test Intel SE440BX-2.
|
||||
|
||||
Voltage Monitor
|
||||
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Voltage (IN) measurement is internally scaled:
|
||||
|
||||
=== =========== =========== ========= ==========
|
||||
nr label nominal maximum resolution
|
||||
mV mV mV
|
||||
mV mV mV
|
||||
=== =========== =========== ========= ==========
|
||||
0 +2.5V 2500 3320 13.0
|
||||
1 Vccp1 2700 3600 14.1
|
||||
2 +3.3V 3300 4380 17.2
|
||||
3 +5V 5000 6640 26.0
|
||||
4 +12V 12000 15940 62.5
|
||||
5 Vccp2 2700 3600 14.1
|
||||
=== =========== =========== ========= ==========
|
||||
|
||||
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.
|
||||
@ -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
|
||||
|
||||
=== ============= ==========================
|
||||
bit label comment
|
||||
--- ------------- --------------------------
|
||||
=== ============= ==========================
|
||||
0 +2.5 V_Error high or low limit exceeded
|
||||
1 VCCP_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
|
||||
8 +12 V_Error high or low limit exceeded
|
||||
9 VCCP2_Error high or low limit exceeded
|
||||
12 Chassis_Error CI pin went high
|
||||
=== ============= ==========================
|
||||
|
||||
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
|
@ -2,17 +2,25 @@ Kernel driver ads1015
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments 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
|
||||
|
||||
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:
|
||||
Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>
|
||||
Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -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 made available by 8 sysfs input files in0_input - in7_input:
|
||||
in0: Voltage over AIN0 and AIN1.
|
||||
in1: Voltage over AIN0 and AIN3.
|
||||
in2: Voltage over AIN1 and AIN3.
|
||||
in3: Voltage over AIN2 and AIN3.
|
||||
in4: Voltage over AIN0 and GND.
|
||||
in5: Voltage over AIN1 and GND.
|
||||
in6: Voltage over AIN2 and GND.
|
||||
in7: Voltage over AIN3 and GND.
|
||||
|
||||
- in0: Voltage over AIN0 and AIN1.
|
||||
- in1: Voltage over AIN0 and AIN3.
|
||||
- in2: Voltage over AIN1 and AIN3.
|
||||
- in3: Voltage over AIN2 and AIN3.
|
||||
- in4: Voltage over AIN0 and GND.
|
||||
- in5: Voltage over AIN1 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.
|
||||
|
||||
@ -42,29 +51,34 @@ Platform Data
|
||||
|
||||
In linux/platform_data/ads1015.h platform data is defined, channel_data contains
|
||||
configuration data for the used input combinations:
|
||||
- pga is the programmable gain amplifier (values are full scale)
|
||||
0: +/- 6.144 V
|
||||
1: +/- 4.096 V
|
||||
2: +/- 2.048 V
|
||||
3: +/- 1.024 V
|
||||
4: +/- 0.512 V
|
||||
5: +/- 0.256 V
|
||||
- data_rate in samples per second
|
||||
0: 128
|
||||
1: 250
|
||||
2: 490
|
||||
3: 920
|
||||
4: 1600
|
||||
5: 2400
|
||||
6: 3300
|
||||
|
||||
Example:
|
||||
struct ads1015_platform_data data = {
|
||||
- pga is the programmable gain amplifier (values are full scale)
|
||||
|
||||
- 0: +/- 6.144 V
|
||||
- 1: +/- 4.096 V
|
||||
- 2: +/- 2.048 V
|
||||
- 3: +/- 1.024 V
|
||||
- 4: +/- 0.512 V
|
||||
- 5: +/- 0.256 V
|
||||
|
||||
- data_rate in samples per second
|
||||
|
||||
- 0: 128
|
||||
- 1: 250
|
||||
- 2: 490
|
||||
- 3: 920
|
||||
- 4: 1600
|
||||
- 5: 2400
|
||||
- 6: 3300
|
||||
|
||||
Example::
|
||||
|
||||
struct ads1015_platform_data data = {
|
||||
.channel_data = {
|
||||
[2] = { .enabled = true, .pga = 1, .data_rate = 0 },
|
||||
[4] = { .enabled = true, .pga = 4, .data_rate = 5 },
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input
|
||||
(FS +/- 0.512 V, 2400 SPS) would be created.
|
@ -2,20 +2,27 @@ Kernel driver ads7828
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments/Burr-Brown ADS7828
|
||||
|
||||
Prefix: 'ads7828'
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'ads7830'
|
||||
|
||||
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:
|
||||
Steve Hardy <shardy@redhat.com>
|
||||
Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
|
||||
- Steve Hardy <shardy@redhat.com>
|
||||
- Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||
- Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
|
||||
|
||||
Platform data
|
||||
-------------
|
||||
@ -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:
|
||||
|
||||
* 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
|
||||
set to true if it operates with an external reference, false for default
|
||||
internal reference.
|
||||
set to true if it operates with an external reference, false for default
|
||||
internal reference.
|
||||
|
||||
* vref_mv: (unsigned int) Voltage reference
|
||||
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
|
||||
bounded with limits accepted by the chip, described in the datasheet.
|
||||
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
|
||||
bounded with limits accepted by the chip, described in the datasheet.
|
||||
|
||||
If no structure is provided, the configuration defaults to single ended
|
||||
operation and internal voltage reference (2.5V).
|
@ -2,26 +2,45 @@ Kernel driver adt7410
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7410
|
||||
|
||||
Prefix: 'adt7410'
|
||||
|
||||
Addresses scanned: None
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'adt7420'
|
||||
|
||||
Addresses scanned: None
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'adt7310'
|
||||
|
||||
Addresses scanned: None
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'adt7320'
|
||||
|
||||
Addresses scanned: None
|
||||
|
||||
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>
|
||||
|
||||
@ -61,13 +80,15 @@ The device is set to 16 bit resolution and comparator mode.
|
||||
sysfs-Interface
|
||||
---------------
|
||||
|
||||
temp#_input - temperature input
|
||||
temp#_min - temperature minimum setpoint
|
||||
temp#_max - temperature maximum setpoint
|
||||
temp#_crit - critical temperature setpoint
|
||||
temp#_min_hyst - hysteresis for temperature minimum (read-only)
|
||||
temp#_max_hyst - hysteresis for temperature maximum (read/write)
|
||||
temp#_crit_hyst - hysteresis for critical temperature (read-only)
|
||||
temp#_min_alarm - temperature minimum alarm flag
|
||||
temp#_max_alarm - temperature maximum alarm flag
|
||||
temp#_crit_alarm - critical temperature alarm flag
|
||||
======================== ====================================================
|
||||
temp#_input temperature input
|
||||
temp#_min temperature minimum setpoint
|
||||
temp#_max temperature maximum setpoint
|
||||
temp#_crit critical temperature setpoint
|
||||
temp#_min_hyst hysteresis for temperature minimum (read-only)
|
||||
temp#_max_hyst hysteresis for temperature maximum (read/write)
|
||||
temp#_crit_hyst hysteresis for critical temperature (read-only)
|
||||
temp#_min_alarm temperature minimum alarm flag
|
||||
temp#_max_alarm temperature maximum alarm flag
|
||||
temp#_crit_alarm critical temperature alarm flag
|
||||
======================== ====================================================
|
@ -2,9 +2,13 @@ Kernel driver adt7411
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7411
|
||||
|
||||
Prefix: 'adt7411'
|
||||
|
||||
Addresses scanned: 0x48, 0x4a, 0x4b
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
Author: Wolfram Sang (based on adt7470 by Darrick J. Wong)
|
||||
@ -26,15 +30,19 @@ Check the datasheet for details.
|
||||
sysfs-Interface
|
||||
---------------
|
||||
|
||||
in0_input - vdd voltage input
|
||||
in[1-8]_input - analog 1-8 input
|
||||
temp1_input - temperature input
|
||||
================ =================
|
||||
in0_input vdd voltage input
|
||||
in[1-8]_input analog 1-8 input
|
||||
temp1_input temperature input
|
||||
================ =================
|
||||
|
||||
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
|
||||
no_average - Turn off averaging over 16 samples
|
||||
============== =======================================================
|
||||
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
|
||||
no_average Turn off averaging over 16 samples
|
||||
============== =======================================================
|
||||
|
||||
Notes
|
||||
-----
|
@ -1,10 +1,14 @@
|
||||
Kernel driver adt7462
|
||||
======================
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7462
|
||||
|
||||
Prefix: 'adt7462'
|
||||
|
||||
Addresses scanned: I2C 0x58, 0x5C
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
Author: Darrick J. Wong
|
||||
@ -57,11 +61,10 @@ Besides standard interfaces driver adds the following:
|
||||
* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
|
||||
* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
|
||||
|
||||
point1: Set the pwm speed at a lower temperature bound.
|
||||
point2: Set the pwm speed at a higher temperature bound.
|
||||
- point1: Set the pwm speed at a lower 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 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
|
||||
temperature sensor associated with the PWM control exceeds temp#_max.
|
||||
|
@ -2,9 +2,13 @@ Kernel driver adt7470
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7470
|
||||
|
||||
Prefix: 'adt7470'
|
||||
|
||||
Addresses scanned: I2C 0x2C, 0x2E, 0x2F
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
Author: Darrick J. Wong
|
||||
@ -56,8 +60,8 @@ Besides standard interfaces driver adds the following:
|
||||
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
|
||||
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
|
||||
|
||||
point1: Set the pwm speed at a lower temperature bound.
|
||||
point2: Set the pwm speed at a higher temperature bound.
|
||||
- point1: Set the pwm speed at a lower 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 temperature is between the two temperature boundaries. PWM values range
|
@ -2,28 +2,44 @@ Kernel driver adt7475
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7473
|
||||
|
||||
Prefix: 'adt7473'
|
||||
|
||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||
|
||||
Datasheet: Publicly available at the On Semiconductors website
|
||||
|
||||
* Analog Devices ADT7475
|
||||
|
||||
Prefix: 'adt7475'
|
||||
|
||||
Addresses scanned: I2C 0x2E
|
||||
|
||||
Datasheet: Publicly available at the On Semiconductors website
|
||||
|
||||
* Analog Devices ADT7476
|
||||
|
||||
Prefix: 'adt7476'
|
||||
|
||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||
|
||||
Datasheet: Publicly available at the On Semiconductors website
|
||||
|
||||
* Analog Devices ADT7490
|
||||
|
||||
Prefix: 'adt7490'
|
||||
|
||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||
|
||||
Datasheet: Publicly available at the On Semiconductors website
|
||||
|
||||
Authors:
|
||||
Jordan Crouse
|
||||
Hans de Goede
|
||||
Darrick J. Wong (documentation)
|
||||
Jean Delvare
|
||||
- Jordan Crouse
|
||||
- Hans de Goede
|
||||
- Darrick J. Wong (documentation)
|
||||
- Jean Delvare
|
||||
|
||||
|
||||
Description
|
||||
@ -82,14 +98,16 @@ ADT7490:
|
||||
Sysfs Mapping
|
||||
-------------
|
||||
|
||||
ADT7490 ADT7476 ADT7475 ADT7473
|
||||
------- ------- ------- -------
|
||||
==== =========== =========== ========= ==========
|
||||
in ADT7490 ADT7476 ADT7475 ADT7473
|
||||
==== =========== =========== ========= ==========
|
||||
in0 2.5VIN (22) 2.5VIN (22) - -
|
||||
in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14)
|
||||
in2 VCC (4) VCC (4) VCC (4) VCC (3)
|
||||
in3 5VIN (20) 5VIN (20)
|
||||
in4 12VIN (21) 12VIN (21)
|
||||
in5 VTT (8)
|
||||
==== =========== =========== ========= ==========
|
||||
|
||||
Special Features
|
||||
----------------
|
||||
@ -107,8 +125,8 @@ Fan Speed Control
|
||||
|
||||
The driver exposes two trip points per PWM channel.
|
||||
|
||||
point1: Set the PWM speed at the lower temperature bound
|
||||
point2: Set the PWM speed at the higher temperature bound
|
||||
- point1: Set the PWM speed at the lower 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
|
||||
speed when the temperature is between the two temperature boundaries.
|
||||
@ -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
|
||||
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.
|
||||
|
||||
The responsiveness of the ADT747x to temperature changes can be configured.
|
||||
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
|
||||
-----
|
@ -2,9 +2,13 @@ Kernel driver amc6821
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
Texas Instruments AMC6821
|
||||
|
||||
Prefix: 'amc6821'
|
||||
|
||||
Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
|
||||
|
||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
|
||||
|
||||
Authors:
|
||||
@ -21,10 +25,11 @@ The pwm can be controlled either from software or automatically.
|
||||
|
||||
The driver provides the following sensor accesses in sysfs:
|
||||
|
||||
======================= == ===============================================
|
||||
temp1_input ro on-chip temperature
|
||||
temp1_min rw "
|
||||
temp1_max rw "
|
||||
temp1_crit rw "
|
||||
temp1_crit rw "
|
||||
temp1_min_alarm ro "
|
||||
temp1_max_alarm ro "
|
||||
temp1_crit_alarm ro "
|
||||
@ -32,16 +37,16 @@ temp1_crit_alarm ro "
|
||||
temp2_input ro remote temperature
|
||||
temp2_min rw "
|
||||
temp2_max rw "
|
||||
temp2_crit rw "
|
||||
temp2_crit rw "
|
||||
temp2_min_alarm ro "
|
||||
temp2_max_alarm ro "
|
||||
temp2_crit_alarm ro "
|
||||
temp2_fault ro "
|
||||
|
||||
fan1_input ro tachometer speed
|
||||
fan1_input ro tachometer speed
|
||||
fan1_min rw "
|
||||
fan1_max rw "
|
||||
fan1_fault ro "
|
||||
fan1_fault ro "
|
||||
fan1_div rw Fan divisor can be either 2 or 4.
|
||||
|
||||
pwm1 rw pwm1
|
||||
@ -87,6 +92,7 @@ temp2_auto_point3_temp rw Above this temperature fan runs at maximum
|
||||
values which depend on temp2_auto_point2_temp
|
||||
and pwm1_auto_point2_pwm. Read it out after
|
||||
writing to get actual value.
|
||||
======================= == ===============================================
|
||||
|
||||
|
||||
Module parameters
|
||||
@ -97,6 +103,6 @@ load the module with: init=0.
|
||||
|
||||
If your board BIOS doesn't initialize the chip, or you want
|
||||
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
|
||||
====================
|
||||
|
||||
Supported Chips:
|
||||
|
||||
* Asus ASB100 and ASB100-A "Bach"
|
||||
|
||||
Prefix: 'asb100'
|
||||
|
||||
Addresses scanned: I2C 0x2d
|
||||
|
||||
Datasheet: none released
|
||||
|
||||
Author: Mark M. Hoffman <mhoffman@lightlink.com>
|
||||
@ -41,32 +45,29 @@ processor itself. It is a value in volts.
|
||||
|
||||
Alarms: (TODO question marks indicate may or may not work)
|
||||
|
||||
0x0001 => in0 (?)
|
||||
0x0002 => in1 (?)
|
||||
0x0004 => in2
|
||||
0x0008 => in3
|
||||
0x0010 => temp1 (1)
|
||||
0x0020 => temp2
|
||||
0x0040 => fan1
|
||||
0x0080 => fan2
|
||||
0x0100 => in4
|
||||
0x0200 => in5 (?) (2)
|
||||
0x0400 => in6 (?) (2)
|
||||
0x0800 => fan3
|
||||
0x1000 => chassis switch
|
||||
0x2000 => temp3
|
||||
- 0x0001 => in0 (?)
|
||||
- 0x0002 => in1 (?)
|
||||
- 0x0004 => in2
|
||||
- 0x0008 => in3
|
||||
- 0x0010 => temp1 [1]_
|
||||
- 0x0020 => temp2
|
||||
- 0x0040 => fan1
|
||||
- 0x0080 => fan2
|
||||
- 0x0100 => in4
|
||||
- 0x0200 => in5 (?) [2]_
|
||||
- 0x0400 => in6 (?) [2]_
|
||||
- 0x0800 => fan3
|
||||
- 0x1000 => chassis switch
|
||||
- 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:
|
||||
* Experiment with fan divisors > 8.
|
||||
* Experiment with temp. sensor types.
|
||||
* Are there really 13 voltage inputs? Probably not...
|
||||
* Cleanups, no doubt...
|
||||
|
||||
* Experiment with fan divisors > 8.
|
||||
* Experiment with temp. sensor types.
|
||||
* Are there really 13 voltage inputs? Probably not...
|
||||
* Cleanups, no doubt...
|
@ -1,10 +1,15 @@
|
||||
=====================
|
||||
Kernel driver asc7621
|
||||
==================
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
Andigilog aSC7621 and aSC7621a
|
||||
|
||||
Prefix: 'asc7621'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf
|
||||
|
||||
Author:
|
||||
@ -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
|
||||
in register 75h.
|
||||
|
||||
--
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
aSC7621 Product Description
|
||||
===========================
|
||||
|
||||
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
|
||||
@ -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.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Supports PECI interface and monitors internal and remote thermal diodes
|
||||
- 2-wire, SMBus 2.0 compliant, serial interface
|
||||
- 10-bit ADC
|
||||
@ -110,7 +119,7 @@ Features
|
||||
- Noise filtering of temperature reading for fan speed control
|
||||
- 0.25C digital temperature sensor resolution
|
||||
- 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.
|
||||
- Provides high and low PWM frequency ranges
|
||||
- 3 GPIO pins for custom use
|
||||
@ -123,17 +132,20 @@ Except where noted below, the sysfs entries created by this driver follow
|
||||
the standards defined in "sysfs-interface".
|
||||
|
||||
temp1_source
|
||||
= ===============================================
|
||||
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
|
||||
2 Remote 2 Temperature
|
||||
3 Internal Temperature
|
||||
4 PECI Processor Temperature 0
|
||||
5 PECI Processor Temperature 1
|
||||
6 PECI Processor Temperature 2
|
||||
7 PECI Processor Temperature 3
|
||||
7 PECI Processor Temperature 3
|
||||
= ===============================================
|
||||
|
||||
temp2_source
|
||||
= ===============================================
|
||||
0 (default) Internal Temperature
|
||||
1 Remote 1 Temperature
|
||||
2 Remote 2 Temperature
|
||||
@ -142,8 +154,10 @@ temp2_source
|
||||
5 PECI Processor Temperature 1
|
||||
6 PECI Processor Temperature 2
|
||||
7 PECI Processor Temperature 3
|
||||
= ===============================================
|
||||
|
||||
temp3_source
|
||||
= ===============================================
|
||||
0 (default) Remote 2 Temperature
|
||||
1 Remote 1 Temperature
|
||||
2 Remote 2 Temperature
|
||||
@ -152,10 +166,12 @@ temp3_source
|
||||
5 PECI Processor Temperature 1
|
||||
6 PECI Processor Temperature 2
|
||||
7 PECI Processor Temperature 3
|
||||
= ===============================================
|
||||
|
||||
temp4_source
|
||||
= ===============================================
|
||||
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
|
||||
2 Remote 2 Temperature
|
||||
3 Internal Temperature
|
||||
@ -163,58 +179,65 @@ temp4_source
|
||||
5 PECI Processor Temperature 1
|
||||
6 PECI Processor Temperature 2
|
||||
7 PECI Processor Temperature 3
|
||||
= ===============================================
|
||||
|
||||
temp[1-4]_smoothing_enable
|
||||
temp[1-4]_smoothing_time
|
||||
temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
|
||||
Smooths spikes in temp readings caused by noise.
|
||||
Valid values in milliseconds are:
|
||||
35000
|
||||
17600
|
||||
11800
|
||||
7000
|
||||
4400
|
||||
3000
|
||||
1600
|
||||
800
|
||||
|
||||
* 35000
|
||||
* 17600
|
||||
* 11800
|
||||
* 7000
|
||||
* 4400
|
||||
* 3000
|
||||
* 1600
|
||||
* 800
|
||||
|
||||
temp[1-4]_crit
|
||||
When the corresponding zone temperature reaches this value,
|
||||
ALL pwm outputs will got to 100%.
|
||||
|
||||
temp[5-8]_input
|
||||
temp[5-8]_enable
|
||||
temp[5-8]_input / temp[5-8]_enable
|
||||
The aSC7621 can also read temperatures provided by the processor
|
||||
via the PECI bus. Usually these are "core" temps and are relative
|
||||
to the point where the automatic thermal control circuit starts
|
||||
throttling. This means that these are usually negative numbers.
|
||||
|
||||
pwm[1-3]_enable
|
||||
=============== ========================================================
|
||||
0 Fan off.
|
||||
1 Fan on manual control.
|
||||
2 Fan on automatic control and will run at the minimum pwm
|
||||
if the temperature for the zone is below the minimum.
|
||||
3 Fan on automatic control but will be off if the temperature
|
||||
for the zone is below the minimum.
|
||||
4-254 Ignored.
|
||||
if the temperature for the zone is below the minimum.
|
||||
3 Fan on automatic control but will be off if the
|
||||
temperature for the zone is below the minimum.
|
||||
4-254 Ignored.
|
||||
255 Fan on full.
|
||||
=============== ========================================================
|
||||
|
||||
pwm[1-3]_auto_channels
|
||||
Bitmap as described in sysctl-interface with the following
|
||||
exceptions...
|
||||
|
||||
Only the following combination of zones (and their corresponding masks)
|
||||
are valid:
|
||||
1
|
||||
2
|
||||
3
|
||||
2,3
|
||||
1,2,3
|
||||
4
|
||||
1,2,3,4
|
||||
|
||||
Special values:
|
||||
0 Disabled.
|
||||
16 Fan on manual control.
|
||||
31 Fan on full.
|
||||
* 1
|
||||
* 2
|
||||
* 3
|
||||
* 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
|
||||
@ -226,22 +249,22 @@ pwm[1-3]_freq
|
||||
PWM frequency in Hz
|
||||
Valid values in Hz are:
|
||||
|
||||
10
|
||||
15
|
||||
23
|
||||
30 (default)
|
||||
38
|
||||
47
|
||||
62
|
||||
94
|
||||
23000
|
||||
24000
|
||||
25000
|
||||
26000
|
||||
27000
|
||||
28000
|
||||
29000
|
||||
30000
|
||||
* 10
|
||||
* 15
|
||||
* 23
|
||||
* 30 (default)
|
||||
* 38
|
||||
* 47
|
||||
* 62
|
||||
* 94
|
||||
* 23000
|
||||
* 24000
|
||||
* 25000
|
||||
* 26000
|
||||
* 27000
|
||||
* 28000
|
||||
* 29000
|
||||
* 30000
|
||||
|
||||
Setting any other value will be ignored.
|
||||
|
||||
@ -251,17 +274,17 @@ peci_enable
|
||||
peci_avg
|
||||
Input filter average time.
|
||||
|
||||
0 0 Sec. (no Smoothing) (default)
|
||||
1 0.25 Sec.
|
||||
2 0.5 Sec.
|
||||
3 1.0 Sec.
|
||||
4 2.0 Sec.
|
||||
5 4.0 Sec.
|
||||
6 8.0 Sec.
|
||||
7 0.0 Sec.
|
||||
* 0 0 Sec. (no Smoothing) (default)
|
||||
* 1 0.25 Sec.
|
||||
* 2 0.5 Sec.
|
||||
* 3 1.0 Sec.
|
||||
* 4 2.0 Sec.
|
||||
* 5 4.0 Sec.
|
||||
* 6 8.0 Sec.
|
||||
* 7 0.0 Sec.
|
||||
|
||||
peci_legacy
|
||||
|
||||
= ============================================
|
||||
0 Standard Mode (default)
|
||||
Remote Diode 1 reading is associated with
|
||||
Temperature Zone 1, PECI is associated with
|
||||
@ -270,10 +293,12 @@ peci_legacy
|
||||
1 Legacy Mode
|
||||
PECI is associated with Temperature Zone 1,
|
||||
Remote Diode 1 is associated with Zone 4
|
||||
= ============================================
|
||||
|
||||
peci_diode
|
||||
Diode filter
|
||||
|
||||
= ====================
|
||||
0 0.25 Sec.
|
||||
1 1.1 Sec.
|
||||
2 2.4 Sec. (default)
|
||||
@ -282,15 +307,20 @@ peci_diode
|
||||
5 6.8 Sec.
|
||||
6 10.2 Sec.
|
||||
7 16.4 Sec.
|
||||
= ====================
|
||||
|
||||
peci_4domain
|
||||
Four domain enable
|
||||
|
||||
= ===============================================
|
||||
0 1 or 2 Domains for enabled processors (default)
|
||||
1 3 or 4 Domains for enabled processors
|
||||
= ===============================================
|
||||
|
||||
peci_domain
|
||||
Domain
|
||||
|
||||
= ==================================================
|
||||
0 Processor contains a single domain (0) (default)
|
||||
1 Processor contains two domains (0,1)
|
||||
= ==================================================
|
@ -15,8 +15,10 @@ controller supports up to 16 tachometer inputs.
|
||||
|
||||
The driver provides the following sensor accesses in sysfs:
|
||||
|
||||
=============== ======= =====================================================
|
||||
fanX_input ro provide current fan rotation value in RPM as reported
|
||||
by the fan to the device.
|
||||
|
||||
pwmX rw get or set PWM fan control value. This is an integer
|
||||
value between 0(off) and 255(full speed).
|
||||
=============== ======= =====================================================
|
@ -3,20 +3,29 @@ Kernel driver coretemp
|
||||
|
||||
Supported chips:
|
||||
* All Intel Core family
|
||||
|
||||
Prefix: 'coretemp'
|
||||
CPUID: family 0x6, models 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
|
||||
0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
|
||||
0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
|
||||
0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
|
||||
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
|
||||
|
||||
CPUID: family 0x6, models
|
||||
|
||||
- 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
|
||||
- 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
|
||||
- 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
|
||||
- 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
|
||||
- 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
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver permits reading the DTS (Digital Temperature Sensor) embedded
|
||||
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;
|
||||
@ -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:
|
||||
|
||||
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_crit_alarm - Set when Out-of-spec bit is set, never clears.
|
||||
Correct CPU operation is no longer guaranteed.
|
||||
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.
|
||||
|
||||
================= ========================================================
|
||||
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_crit_alarm Set when Out-of-spec bit is set, never clears.
|
||||
Correct CPU operation is no longer guaranteed.
|
||||
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 other models, it is set to an arbitrary value based on weak heuristics.
|
||||
@ -52,6 +64,7 @@ as a module parameter (tjmax).
|
||||
Appendix A. Known TjMax lists (TBD):
|
||||
Some information comes from ark.intel.com
|
||||
|
||||
=============== =============================================== ================
|
||||
Process Processor TjMax(C)
|
||||
|
||||
22nm Core i5/i7 Processors
|
||||
@ -179,3 +192,4 @@ Process Processor TjMax(C)
|
||||
65nm Celeron Processors
|
||||
T1700/1600 100
|
||||
560/550/540/530 100
|
||||
=============== =============================================== ================
|
@ -1,6 +1,12 @@
|
||||
Kernel driver da9052
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs
|
||||
|
||||
Prefix: 'da9052'
|
||||
|
||||
Datasheet: Datasheet is not publicly available.
|
||||
|
||||
Authors: David Dajun Chen <dchen@diasemi.com>
|
||||
@ -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 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 3: VBAT - measurement of the battery voltage
|
||||
Channel 4: ADC_IN4 - high impedance input (0 - 2.5V)
|
||||
Channel 5: ADC_IN5 - high impedance input (0 - 2.5V)
|
||||
Channel 6: ADC_IN6 - high impedance input (0 - 2.5V)
|
||||
Channel 7: XY - TSI interface to measure the X and Y voltage of the touch
|
||||
screen resistive potentiometers
|
||||
Channel 8: Internal Tjunc. - sense (internal temp. sensor)
|
||||
Channel 9: VBBAT - measurement of the backup battery voltage
|
||||
|
||||
========= ===================================================================
|
||||
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 3 VBAT - measurement of the battery voltage
|
||||
Channel 4 ADC_IN4 - high impedance input (0 - 2.5V)
|
||||
Channel 5 ADC_IN5 - high impedance input (0 - 2.5V)
|
||||
Channel 6 ADC_IN6 - high impedance input (0 - 2.5V)
|
||||
Channel 7 XY - TSI interface to measure the X and Y voltage of the touch
|
||||
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
|
||||
charging current ICH, battery temperature TBAT, battery junction temperature
|
||||
@ -37,12 +46,15 @@ Voltage Monitoring
|
||||
Voltages are sampled by a 10 bit ADC.
|
||||
|
||||
The battery voltage is calculated as:
|
||||
|
||||
Milli volt = ((ADC value * 1000) / 512) + 2500
|
||||
|
||||
The backup battery voltage is calculated as:
|
||||
|
||||
Milli volt = (ADC value * 2500) / 512;
|
||||
|
||||
The voltages on ADC channels 4, 5 and 6 are calculated as:
|
||||
|
||||
Milli volt = (ADC value * 2500) / 1023
|
||||
|
||||
Temperature Monitoring
|
||||
@ -52,10 +64,15 @@ Temperatures are sampled by a 10 bit ADC. Junction and battery temperatures
|
||||
are monitored by the ADC channels.
|
||||
|
||||
The junction temperature is calculated:
|
||||
|
||||
Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8
|
||||
|
||||
The junction temperature attribute is supported by the driver.
|
||||
|
||||
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))
|
||||
|
||||
Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.
|
@ -1,6 +1,11 @@
|
||||
Kernel driver da9055
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
* Dialog Semiconductors DA9055 PMIC
|
||||
|
||||
Prefix: 'da9055'
|
||||
|
||||
Datasheet: Datasheet is not publicly available.
|
||||
|
||||
Authors: David Dajun Chen <dchen@diasemi.com>
|
||||
@ -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 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 2: ADC_IN2 - high impedance input (0 - 2.5V)
|
||||
Channel 3: ADC_IN3 - high impedance input (0 - 2.5V)
|
||||
Channel 4: Internal Tjunc. - sense (internal temp. sensor)
|
||||
|
||||
- Channel 0: VDDOUT - measurement of the system voltage
|
||||
- Channel 1: ADC_IN1 - high impedance input (0 - 2.5V)
|
||||
- Channel 2: ADC_IN2 - high impedance input (0 - 2.5V)
|
||||
- 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,
|
||||
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
|
||||
are stored in a 10 bit ADC.
|
||||
|
||||
The system voltage is calculated as:
|
||||
|
||||
Milli volt = ((ADC value * 1000) / 85) + 2500
|
||||
|
||||
The voltages on ADC channels 1, 2 and 3 are calculated as:
|
||||
|
||||
Milli volt = (ADC value * 1000) / 102
|
||||
|
||||
Temperature Monitoring
|
||||
@ -43,5 +51,7 @@ Temperatures are sampled by a 10 bit ADC. Junction temperatures
|
||||
are monitored by the ADC channels.
|
||||
|
||||
The junction temperature is calculated:
|
||||
|
||||
Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332
|
||||
|
||||
The junction temperature attribute is supported by the driver.
|
@ -2,21 +2,37 @@ Kernel driver dme1737
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* SMSC DME1737 and compatibles (like Asus A8000)
|
||||
|
||||
Prefix: 'dme1737'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: Provided by SMSC upon request and under NDA
|
||||
|
||||
* SMSC SCH3112, SCH3114, SCH3116
|
||||
|
||||
Prefix: 'sch311x'
|
||||
|
||||
Addresses scanned: none, address read from Super-I/O config space
|
||||
|
||||
Datasheet: Available on the Internet
|
||||
|
||||
* SMSC SCH5027
|
||||
|
||||
Prefix: 'sch5027'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: Provided by SMSC upon request and under NDA
|
||||
|
||||
* SMSC SCH5127
|
||||
|
||||
Prefix: 'sch5127'
|
||||
|
||||
Addresses scanned: none, address read from Super-I/O config space
|
||||
|
||||
Datasheet: Provided by SMSC upon request and under NDA
|
||||
|
||||
Authors:
|
||||
@ -26,11 +42,14 @@ Authors:
|
||||
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
|
||||
shouldn't be required since the BIOS usually takes care
|
||||
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
|
||||
following boards:
|
||||
- VIA EPIA SN18000
|
||||
@ -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
|
||||
(the last column indicates the input ranges):
|
||||
|
||||
DME1737, A8000:
|
||||
DME1737, A8000::
|
||||
|
||||
in0: +5VTR (+5V standby) 0V - 6.64V
|
||||
in1: Vccp (processor core) 0V - 3V
|
||||
in2: VCC (internal +3.3V) 0V - 4.38V
|
||||
@ -79,7 +99,8 @@ DME1737, A8000:
|
||||
in5: VTR (+3.3V standby) 0V - 4.38V
|
||||
in6: Vbat (+3.0V) 0V - 4.38V
|
||||
|
||||
SCH311x:
|
||||
SCH311x::
|
||||
|
||||
in0: +2.5V 0V - 3.32V
|
||||
in1: Vccp (processor core) 0V - 2V
|
||||
in2: VCC (internal +3.3V) 0V - 4.38V
|
||||
@ -88,7 +109,8 @@ SCH311x:
|
||||
in5: VTR (+3.3V standby) 0V - 4.38V
|
||||
in6: Vbat (+3.0V) 0V - 4.38V
|
||||
|
||||
SCH5027:
|
||||
SCH5027::
|
||||
|
||||
in0: +5VTR (+5V standby) 0V - 6.64V
|
||||
in1: Vccp (processor core) 0V - 3V
|
||||
in2: VCC (internal +3.3V) 0V - 4.38V
|
||||
@ -97,7 +119,8 @@ SCH5027:
|
||||
in5: VTR (+3.3V standby) 0V - 4.38V
|
||||
in6: Vbat (+3.0V) 0V - 4.38V
|
||||
|
||||
SCH5127:
|
||||
SCH5127::
|
||||
|
||||
in0: +2.5 0V - 3.32V
|
||||
in1: Vccp (processor core) 0V - 3V
|
||||
in2: VCC (internal +3.3V) 0V - 4.38V
|
||||
@ -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
|
||||
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
|
||||
(the last column indicates the input ranges):
|
||||
(the last column indicates the input ranges)::
|
||||
|
||||
temp1: Remote diode 1 (3904 type) 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
|
||||
programmed via zone[1-3]_auto_point[1-3]_temp and
|
||||
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_point1_pwm low-speed duty-cycle
|
||||
pwm[1-3]_auto_pwm_min min-speed duty-cycle
|
||||
@ -179,6 +203,7 @@ zone[1-3]_auto_point1_temp_hyst:
|
||||
zone[1-3]_auto_point2_temp full-speed temp
|
||||
zone[1-3]_auto_point1_temp low-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
|
||||
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.
|
||||
Following is another representation of how the chip sets the output duty-cycle
|
||||
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
|
||||
|
||||
< linearly adjusted duty-cycle >
|
||||
- < linearly -
|
||||
adjusted
|
||||
duty-cycle >
|
||||
|
||||
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
|
||||
=============== =============== =================
|
||||
|
||||
|
||||
Sysfs Attributes
|
||||
@ -211,8 +240,9 @@ Sysfs Attributes
|
||||
Following is a list of all sysfs attributes that the driver provides, their
|
||||
permissions and a short description:
|
||||
|
||||
=============================== ======= =======================================
|
||||
Name Perm Description
|
||||
---- ---- -----------
|
||||
=============================== ======= =======================================
|
||||
cpu0_vid RO CPU core reference voltage in
|
||||
millivolts.
|
||||
vrm RW Voltage regulator module version
|
||||
@ -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
|
||||
mapping. This attribute is a bitfield
|
||||
and supports the following values:
|
||||
1: temp1
|
||||
2: temp2
|
||||
4: temp3
|
||||
|
||||
- 1: temp1
|
||||
- 2: temp2
|
||||
- 4: temp3
|
||||
zone[1-3]_auto_point1_temp_hyst RW Auto PWM temp point1 hysteresis. The
|
||||
output of the corresponding PWM is set
|
||||
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
|
||||
manual mode.
|
||||
pwm[1-3]_enable RW Enable of PWM outputs 1-3. Supported
|
||||
values are:
|
||||
0: turned off (output @ 100%)
|
||||
1: manual mode
|
||||
2: automatic mode
|
||||
|
||||
- 0: turned off (output @ 100%)
|
||||
- 1: manual mode
|
||||
- 2: automatic mode
|
||||
pwm[5-6]_enable RO Enable of PWM outputs 5-6. Always
|
||||
returns 1 since these 2 outputs are
|
||||
hard-wired to manual mode.
|
||||
@ -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.
|
||||
This attribute is a bitfield and
|
||||
supports the following values:
|
||||
1: zone1
|
||||
2: zone2
|
||||
4: zone3
|
||||
6: highest of zone[2-3]
|
||||
7: highest of zone[1-3]
|
||||
|
||||
- 1: zone1
|
||||
- 2: zone2
|
||||
- 4: zone3
|
||||
- 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-
|
||||
cycle. Supported values are 0 or
|
||||
auto_point1_pwm.
|
||||
@ -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
|
||||
full-speed duty-cycle which is hard-
|
||||
wired to 255 (100% duty-cycle).
|
||||
=============================== ======= =======================================
|
||||
|
||||
Chip Differences
|
||||
----------------
|
||||
|
||||
======================= ======= ======= ======= =======
|
||||
Feature dme1737 sch311x sch5027 sch5127
|
||||
-------------------------------------------------------
|
||||
======================= ======= ======= ======= =======
|
||||
temp[1-3]_offset yes yes
|
||||
vid yes
|
||||
zone3 yes yes yes
|
||||
@ -326,3 +361,4 @@ pwm5 opt opt
|
||||
fan6 opt opt
|
||||
pwm6 opt opt
|
||||
in7 yes
|
||||
======================= ======= ======= ======= =======
|
@ -2,42 +2,61 @@ Kernel driver ds1621
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Dallas Semiconductor / Maxim Integrated DS1621
|
||||
|
||||
Prefix: 'ds1621'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available from www.maximintegrated.com
|
||||
|
||||
* Dallas Semiconductor DS1625
|
||||
|
||||
Prefix: 'ds1625'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available from www.datasheetarchive.com
|
||||
|
||||
* Maxim Integrated DS1631
|
||||
|
||||
Prefix: 'ds1631'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available from www.maximintegrated.com
|
||||
|
||||
* Maxim Integrated DS1721
|
||||
|
||||
Prefix: 'ds1721'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available from www.maximintegrated.com
|
||||
|
||||
* Maxim Integrated DS1731
|
||||
|
||||
Prefix: 'ds1731'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available from www.maximintegrated.com
|
||||
|
||||
Authors:
|
||||
Christian W. Zuckschwerdt <zany@triq.net>
|
||||
valuable contributions by Jan M. Sendler <sendler@sendler.de>
|
||||
ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
|
||||
with the help of Jean Delvare <jdelvare@suse.de>
|
||||
- Christian W. Zuckschwerdt <zany@triq.net>
|
||||
- valuable contributions by Jan M. Sendler <sendler@sendler.de>
|
||||
- ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
|
||||
with the help of Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Module Parameters
|
||||
------------------
|
||||
|
||||
* polarity int
|
||||
Output's polarity: 0 = active high, 1 = active low
|
||||
Output's polarity:
|
||||
|
||||
* 0 = active high,
|
||||
* 1 = active low
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -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
|
||||
and 80 degrees respectively).
|
||||
|
||||
Temperature Conversion:
|
||||
-----------------------
|
||||
DS1621 - 750ms (older devices may take up to 1000ms)
|
||||
DS1625 - 500ms
|
||||
DS1631 - 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.
|
||||
Temperature Conversion
|
||||
----------------------
|
||||
|
||||
- DS1621 - 750ms (older devices may take up to 1000ms)
|
||||
- DS1625 - 500ms
|
||||
- DS1631 - 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:
|
||||
On the DS1621, internal access to non-volatile registers may last for 10ms
|
||||
or less (unverified on the other devices).
|
||||
|
||||
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)
|
||||
Temperature Accuracy
|
||||
--------------------
|
||||
|
||||
Note:
|
||||
Please refer to the device datasheets for accuracy at other temperatures.
|
||||
- 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::
|
||||
|
||||
Please refer to the device datasheets for accuracy at other temperatures.
|
||||
|
||||
Temperature Resolution:
|
||||
-----------------------
|
||||
@ -117,60 +139,67 @@ support, which is achieved via the R0 and R1 config register bits, where:
|
||||
|
||||
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
|
||||
userspace, via the device 'update_interval' sysfs attribute. This attribute
|
||||
will normalize the range of input values to the device maximum resolution
|
||||
values defined in the datasheet as follows:
|
||||
|
||||
============= ================== ===============
|
||||
Resolution Conversion Time Input Range
|
||||
(C/LSB) (msec) (msec)
|
||||
------------------------------------------------
|
||||
============= ================== ===============
|
||||
0.5 93.75 0....94
|
||||
0.25 187.5 95...187
|
||||
0.125 375 188..375
|
||||
0.0625 750 376..infinity
|
||||
------------------------------------------------
|
||||
============= ================== ===============
|
||||
|
||||
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
|
||||
750
|
||||
$ cat temp1_input
|
||||
22062
|
||||
$
|
||||
$ echo 300 > update_interval
|
||||
$ cat update_interval
|
||||
375
|
||||
$ cat temp1_input
|
||||
22125
|
||||
$
|
||||
$ echo 150 > update_interval
|
||||
$ cat update_interval
|
||||
188
|
||||
$ cat temp1_input
|
||||
22250
|
||||
$
|
||||
$ echo 1 > update_interval
|
||||
$ cat update_interval
|
||||
94
|
||||
$ cat temp1_input
|
||||
22000
|
||||
$
|
||||
$ echo 1000 > update_interval
|
||||
$ cat update_interval
|
||||
750
|
||||
$ cat temp1_input
|
||||
22062
|
||||
$
|
||||
$ cat update_interval
|
||||
750
|
||||
$ cat temp1_input
|
||||
22062
|
||||
$
|
||||
$ echo 300 > update_interval
|
||||
$ cat update_interval
|
||||
375
|
||||
$ cat temp1_input
|
||||
22125
|
||||
$
|
||||
$ echo 150 > update_interval
|
||||
$ cat update_interval
|
||||
188
|
||||
$ cat temp1_input
|
||||
22250
|
||||
$
|
||||
$ echo 1 > update_interval
|
||||
$ cat update_interval
|
||||
94
|
||||
$ cat temp1_input
|
||||
22000
|
||||
$
|
||||
$ echo 1000 > update_interval
|
||||
$ cat update_interval
|
||||
750
|
||||
$ cat temp1_input
|
||||
22062
|
||||
$
|
||||
|
||||
As shown, the ds1621 driver automatically adjusts the 'update_interval'
|
||||
user input, via a step function. Reading back the 'update_interval' value
|
||||
@ -182,6 +211,7 @@ via the following function:
|
||||
g(x) = 0.5 * [minimum_conversion_time/x]
|
||||
|
||||
where:
|
||||
-> 'x' = the output from 'update_interval'
|
||||
-> 'g(x)' = the resolution in degrees C per LSB.
|
||||
-> 93.75ms = minimum conversion time
|
||||
|
||||
- 'x' = the output from 'update_interval'
|
||||
- 'g(x)' = the resolution in degrees C per LSB.
|
||||
- 93.75ms = minimum conversion time
|
@ -2,15 +2,19 @@ Kernel driver ds620
|
||||
===================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Dallas Semiconductor DS620
|
||||
|
||||
Prefix: 'ds620'
|
||||
|
||||
Datasheet: Publicly available at the Dallas Semiconductor website
|
||||
http://www.dalsemi.com/
|
||||
|
||||
http://www.dalsemi.com/
|
||||
|
||||
Authors:
|
||||
Roland Stigge <stigge@antcom.de>
|
||||
based on ds1621.c by
|
||||
Christian W. Zuckschwerdt <zany@triq.net>
|
||||
Roland Stigge <stigge@antcom.de>
|
||||
based on ds1621.c by
|
||||
Christian W. Zuckschwerdt <zany@triq.net>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,28 +2,48 @@ Kernel driver emc1403
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* SMSC / Microchip EMC1402, EMC1412
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
|
||||
|
||||
Prefix: 'emc1402'
|
||||
|
||||
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
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
|
||||
|
||||
Prefix: 'emc1403', 'emc1404'
|
||||
|
||||
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
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Prefix: 'emc1422'
|
||||
|
||||
Datasheet:
|
||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
|
||||
|
||||
- http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
|
||||
|
||||
* SMSC / Microchip EMC1423, EMC1424
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Prefix: 'emc1423', 'emc1424'
|
||||
|
||||
Datasheet:
|
||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
|
||||
|
||||
- http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
|
||||
|
||||
Author:
|
||||
Kalhan Trisal <kalhan.trisal@intel.com
|
||||
@ -46,6 +66,7 @@ difference between the limit and its hysteresis is always the same for
|
||||
all three limits.
|
||||
|
||||
This implementation detail implies the following:
|
||||
|
||||
* When setting a limit, its hysteresis will automatically follow, the
|
||||
difference staying unchanged. For example, if the old critical limit
|
||||
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
@ -2,13 +2,17 @@ Kernel driver emc2103
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* SMSC EMC2103
|
||||
|
||||
Addresses scanned: I2C 0x2e
|
||||
|
||||
Prefix: 'emc2103'
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
Authors:
|
||||
Steve Glendinning <steve.glendinning@smsc.com>
|
||||
Steve Glendinning <steve.glendinning@smsc.com>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,9 +2,13 @@ Kernel driver emc6w201
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* SMSC EMC6W201
|
||||
|
||||
Prefix: 'emc6w201'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
@ -38,5 +42,6 @@ Known Systems With EMC6W201
|
||||
|
||||
The EMC6W201 is a rare device, only found on a few systems, made in
|
||||
2005 and 2006. Known systems with this device:
|
||||
|
||||
* Dell Precision 670 workstation
|
||||
* Gigabyte 2CEWH mainboard
|
@ -2,17 +2,29 @@ Kernel driver f71805f
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Fintek F71805F/FG
|
||||
|
||||
Prefix: 'f71805f'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71806F/FG
|
||||
|
||||
Prefix: 'f71872f'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71872F/FG
|
||||
|
||||
Prefix: 'f71872f'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
@ -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:
|
||||
|
||||
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
|
||||
in1 VIN1 VTT1.2V 10K - 1.00 1.20 V
|
||||
in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V (1)
|
||||
in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V (2)
|
||||
in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V [1]_
|
||||
in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V [2]_
|
||||
in4 VIN4 VCC5V 200K 47K 5.25 0.95 V
|
||||
in5 VIN5 +12V 200K 20K 11.00 1.05 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
|
||||
in10 VSB VSB3.3V int. int. 2.00 1.65 V (3)
|
||||
in9 VBAT VBATTERY int. int. 2.00 1.50 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]_
|
||||
======= ======= =========== ==== ======= ============ ==============
|
||||
|
||||
(1) Depends on your hardware setup.
|
||||
(2) Obviously not correct, swapping R1 and R2 would make more sense.
|
||||
(3) F71872F/FG only.
|
||||
.. [1] Depends on your hardware setup.
|
||||
.. [2] Obviously not correct, swapping R1 and R2 would make more sense.
|
||||
.. [3] F71872F/FG only.
|
||||
|
||||
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
|
@ -2,60 +2,114 @@ Kernel driver f71882fg
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Fintek F71808E
|
||||
|
||||
Prefix: 'f71808e'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
* Fintek F71808A
|
||||
|
||||
Prefix: 'f71808a'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
* Fintek F71858FG
|
||||
|
||||
Prefix: 'f71858fg'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71862FG and F71863FG
|
||||
|
||||
Prefix: 'f71862fg'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71869F and F71869E
|
||||
|
||||
Prefix: 'f71869'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71869A
|
||||
|
||||
Prefix: 'f71869a'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
* Fintek F71882FG and F71883FG
|
||||
|
||||
Prefix: 'f71882fg'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71889FG
|
||||
|
||||
Prefix: 'f71889fg'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
* Fintek F71889ED
|
||||
|
||||
Prefix: 'f71889ed'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Should become available on the Fintek website soon
|
||||
|
||||
* Fintek F71889A
|
||||
|
||||
Prefix: 'f71889a'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Should become available on the Fintek website soon
|
||||
|
||||
* Fintek F8000
|
||||
|
||||
Prefix: 'f8000'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Not public
|
||||
|
||||
* Fintek F81801U
|
||||
|
||||
Prefix: 'f71889fg'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
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
|
||||
monitoring is concerned.
|
||||
|
||||
* Fintek F81865F
|
||||
|
||||
Prefix: 'f81865f'
|
||||
|
||||
Addresses scanned: none, address read from Super I/O config space
|
||||
|
||||
Datasheet: Available from the Fintek website
|
||||
|
||||
Author: Hans de Goede <hdegoede@redhat.com>
|
@ -2,15 +2,20 @@ Kernel driver fam15h_power
|
||||
==========================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* AMD Family 15h Processors
|
||||
|
||||
* AMD Family 16h Processors
|
||||
|
||||
Prefix: 'fam15h_power'
|
||||
|
||||
Addresses scanned: PCI space
|
||||
|
||||
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
|
||||
AMD64 Architecture Programmer's Manual Volume 2: System Programming
|
||||
|
||||
- BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors
|
||||
- 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>
|
||||
|
||||
@ -31,14 +36,19 @@ For AMD Family 15h and 16h processors the following power values can
|
||||
be calculated using different processor northbridge function
|
||||
registers:
|
||||
|
||||
* BasePwrWatts: Specifies in watts the maximum amount of power
|
||||
consumed by the processor for NB and logic external to the core.
|
||||
* ProcessorPwrWatts: 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.
|
||||
* BasePwrWatts:
|
||||
Specifies in watts the maximum amount of power
|
||||
consumed by the processor for NB and logic external to the core.
|
||||
|
||||
* ProcessorPwrWatts:
|
||||
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:
|
||||
|
||||
* power1_crit (ProcessorPwrWatts)
|
||||
* power1_input (CurrPwrWatts)
|
||||
|
||||
@ -53,35 +63,53 @@ calculate the average power consumed by a processor during a
|
||||
measurement interval Tm. The feature of accumulated power mechanism is
|
||||
indicated by CPUID Fn8000_0007_EDX[12].
|
||||
|
||||
* Tsample: compute unit power accumulator sample period
|
||||
* Tref: the PTSC counter period
|
||||
* PTSC: performance timestamp counter
|
||||
* N: the ratio of compute unit power accumulator sample period to the
|
||||
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
|
||||
* Tsample:
|
||||
compute unit power accumulator sample period
|
||||
|
||||
* Tref:
|
||||
the PTSC counter period
|
||||
|
||||
* PTSC:
|
||||
performance timestamp counter
|
||||
|
||||
* N:
|
||||
the ratio of compute unit power accumulator sample period to the
|
||||
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.
|
||||
|
||||
N = value of CPUID Fn8000_0007_ECX[CpuPwrSampleTimeRatio[15:0]].
|
||||
|
||||
ii. Read the full range of the cumulative energy value from the new
|
||||
MSR MaxCpuSwPwrAcc.
|
||||
MSR MaxCpuSwPwrAcc.
|
||||
|
||||
Jmax = value returned.
|
||||
|
||||
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.
|
||||
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
|
||||
time period (y-x). Unit of result is uWatt.
|
||||
time period (y-x). Unit of result is uWatt::
|
||||
|
||||
if (Jy < Jx) // Rollover has occurred
|
||||
Jdelta = (Jy + Jmax) - Jx
|
||||
else
|
||||
@ -90,13 +118,14 @@ time period (y-x). Unit of result is uWatt.
|
||||
|
||||
This driver provides PwrCPUave and interval(default is 10 millisecond
|
||||
and maximum is 1 second):
|
||||
|
||||
* power1_average (PwrCPUave)
|
||||
* power1_average_interval (Interval)
|
||||
|
||||
The power1_average_interval can be updated at /etc/sensors3.conf file
|
||||
as below:
|
||||
|
||||
chip "fam15h_power-*"
|
||||
chip `fam15h_power-*`
|
||||
set power1_average_interval 0.01
|
||||
|
||||
Then save it with "sensors -s".
|
@ -1,9 +1,12 @@
|
||||
Kernel driver ftsteutates
|
||||
=====================
|
||||
=========================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* FTS Teutates
|
||||
|
||||
Prefix: 'ftsteutates'
|
||||
|
||||
Addresses scanned: I2C 0x73 (7-Bit)
|
||||
|
||||
Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||
@ -11,6 +14,7 @@ Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The BMC Teutates is the Eleventh generation of Superior System
|
||||
monitoring and thermal management solution. It is builds on the basic
|
||||
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
|
||||
implemented in this driver.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
===================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Global Mixed-mode Technology Inc. G760A
|
||||
|
||||
Prefix: 'g760a'
|
||||
|
||||
Datasheet: Publicly available at the GMT website
|
||||
|
||||
http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
|
||||
|
||||
Author: Herbert Valerio Riedel <hvr@gnu.org>
|
@ -7,7 +7,7 @@ modes - PWM or DC - are supported by the device.
|
||||
|
||||
For additional information, a detailed datasheet is available at
|
||||
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
|
||||
/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
|
||||
using a specific platform_data structure in board initialization
|
||||
file (see include/linux/platform_data/g762.h).
|
||||
|
||||
fan1_target: set desired fan speed. This only makes sense in closed-loop
|
||||
fan speed control (i.e. when pwm1_enable is set to 2).
|
||||
fan1_target:
|
||||
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
|
||||
the fan to the device.
|
||||
fan1_input:
|
||||
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
|
||||
are 2 and 4.
|
||||
fan1_pulses:
|
||||
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
|
||||
about 0.7s (if the fan is not voluntarily set off).
|
||||
fan1_fault:
|
||||
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
|
||||
of the programmed value for over 6 seconds 'fan1_alarm' is
|
||||
set to 1.
|
||||
fan1_alarm:
|
||||
in closed-loop control mode, if fan RPM value is 25% out
|
||||
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
|
||||
speed control (open-loop) via pwm1 described below, 2 for
|
||||
automatic fan speed control (closed-loop) via fan1_target
|
||||
above.
|
||||
pwm1_enable:
|
||||
set current fan speed control mode i.e. 1 for manual fan
|
||||
speed control (open-loop) via pwm1 described below, 2 for
|
||||
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
|
||||
integer value between 0 and 255. 0 stops the fan, 255 makes
|
||||
it run at full speed.
|
||||
pwm1:
|
||||
get or set PWM fan control value in open-loop mode. This is an
|
||||
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),
|
||||
when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
|
@ -2,27 +2,34 @@ Kernel driver gl518sm
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Genesys Logic GL518SM release 0x00
|
||||
|
||||
Prefix: 'gl518sm'
|
||||
|
||||
Addresses scanned: I2C 0x2c and 0x2d
|
||||
|
||||
* Genesys Logic GL518SM release 0x80
|
||||
|
||||
Prefix: 'gl518sm'
|
||||
|
||||
Addresses scanned: I2C 0x2c and 0x2d
|
||||
|
||||
Datasheet: http://www.genesyslogic.com/
|
||||
|
||||
Authors:
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Kyösti Mälkki <kmalkki@cc.hut.fi>
|
||||
Hong-Gunn Chew <hglinux@gunnet.org>
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Kyösti Mälkki <kmalkki@cc.hut.fi>
|
||||
- Hong-Gunn Chew <hglinux@gunnet.org>
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
IMPORTANT:
|
||||
.. important::
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
@ -2,11 +2,16 @@ Kernel driver hih6130
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Honeywell HIH-6130 / HIH-6131
|
||||
|
||||
Prefix: 'hih6130'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
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:
|
||||
Iain Paton <ipaton0@gmail.com>
|
||||
@ -28,8 +33,11 @@ instantiate I2C devices.
|
||||
sysfs-Interface
|
||||
---------------
|
||||
|
||||
temp1_input - temperature input
|
||||
humidity1_input - humidity input
|
||||
temp1_input
|
||||
temperature input
|
||||
|
||||
humidity1_input
|
||||
humidity input
|
||||
|
||||
Notes
|
||||
-----
|
@ -1,5 +1,5 @@
|
||||
The Linux Hardware Monitoring kernel API.
|
||||
=========================================
|
||||
The Linux Hardware Monitoring kernel API
|
||||
========================================
|
||||
|
||||
Guenter Roeck
|
||||
|
||||
@ -12,42 +12,43 @@ drivers that want to use the hardware monitoring framework.
|
||||
This document does not describe what a hardware monitoring (hwmon) Driver or
|
||||
Device is. It also does not describe the API which can be used by user space
|
||||
to communicate with a hardware monitoring device. If you want to know this
|
||||
then please read the following file: Documentation/hwmon/sysfs-interface.
|
||||
then please read the following file: Documentation/hwmon/sysfs-interface.rst.
|
||||
|
||||
For additional guidelines on how to write and improve hwmon drivers, please
|
||||
also read Documentation/hwmon/submitting-patches.
|
||||
also read Documentation/hwmon/submitting-patches.rst.
|
||||
|
||||
The API
|
||||
-------
|
||||
Each hardware monitoring driver must #include <linux/hwmon.h> and, in most
|
||||
cases, <linux/hwmon-sysfs.h>. linux/hwmon.h declares the following
|
||||
register/unregister functions:
|
||||
register/unregister functions::
|
||||
|
||||
struct device *
|
||||
hwmon_device_register_with_groups(struct device *dev, const char *name,
|
||||
void *drvdata,
|
||||
const struct attribute_group **groups);
|
||||
struct device *
|
||||
hwmon_device_register_with_groups(struct device *dev, const char *name,
|
||||
void *drvdata,
|
||||
const struct attribute_group **groups);
|
||||
|
||||
struct device *
|
||||
devm_hwmon_device_register_with_groups(struct device *dev,
|
||||
const char *name, void *drvdata,
|
||||
const struct attribute_group **groups);
|
||||
struct device *
|
||||
devm_hwmon_device_register_with_groups(struct device *dev,
|
||||
const char *name, void *drvdata,
|
||||
const struct attribute_group **groups);
|
||||
|
||||
struct device *
|
||||
hwmon_device_register_with_info(struct device *dev,
|
||||
const char *name, void *drvdata,
|
||||
const struct hwmon_chip_info *info,
|
||||
const struct attribute_group **extra_groups);
|
||||
struct device *
|
||||
hwmon_device_register_with_info(struct device *dev,
|
||||
const char *name, void *drvdata,
|
||||
const struct hwmon_chip_info *info,
|
||||
const struct attribute_group **extra_groups);
|
||||
|
||||
struct device *
|
||||
devm_hwmon_device_register_with_info(struct device *dev,
|
||||
const char *name,
|
||||
void *drvdata,
|
||||
const struct hwmon_chip_info *info,
|
||||
const struct attribute_group **extra_groups);
|
||||
struct device *
|
||||
devm_hwmon_device_register_with_info(struct device *dev,
|
||||
const char *name,
|
||||
void *drvdata,
|
||||
const struct hwmon_chip_info *info,
|
||||
const struct attribute_group **extra_groups);
|
||||
|
||||
void hwmon_device_unregister(struct device *dev);
|
||||
void devm_hwmon_device_unregister(struct device *dev);
|
||||
void hwmon_device_unregister(struct device *dev);
|
||||
|
||||
void devm_hwmon_device_unregister(struct device *dev);
|
||||
|
||||
hwmon_device_register_with_groups registers a hardware monitoring device.
|
||||
The first parameter of this function is a pointer to the parent device.
|
||||
@ -100,78 +101,89 @@ Using devm_hwmon_device_register_with_info()
|
||||
hwmon_device_register_with_info() registers a hardware monitoring device.
|
||||
The parameters to this function are
|
||||
|
||||
struct device *dev Pointer to parent device
|
||||
const char *name Device name
|
||||
void *drvdata Driver private data
|
||||
const struct hwmon_chip_info *info
|
||||
Pointer to chip description.
|
||||
const struct attribute_group **extra_groups
|
||||
Null-terminated list of additional non-standard
|
||||
sysfs attribute groups.
|
||||
=============================================== ===============================================
|
||||
`struct device *dev` Pointer to parent device
|
||||
`const char *name` Device name
|
||||
`void *drvdata` Driver private data
|
||||
`const struct hwmon_chip_info *info` Pointer to chip description.
|
||||
`const struct attribute_group **extra_groups` Null-terminated list of additional non-standard
|
||||
sysfs attribute groups.
|
||||
=============================================== ===============================================
|
||||
|
||||
This function returns a pointer to the created hardware monitoring device
|
||||
on success and a negative error code for failure.
|
||||
|
||||
The hwmon_chip_info structure looks as follows.
|
||||
The hwmon_chip_info structure looks as follows::
|
||||
|
||||
struct hwmon_chip_info {
|
||||
const struct hwmon_ops *ops;
|
||||
const struct hwmon_channel_info **info;
|
||||
};
|
||||
struct hwmon_chip_info {
|
||||
const struct hwmon_ops *ops;
|
||||
const struct hwmon_channel_info **info;
|
||||
};
|
||||
|
||||
It contains the following fields:
|
||||
|
||||
* ops: Pointer to device operations.
|
||||
* info: NULL-terminated list of device channel descriptors.
|
||||
* ops:
|
||||
Pointer to device operations.
|
||||
* info:
|
||||
NULL-terminated list of device channel descriptors.
|
||||
|
||||
The list of hwmon operations is defined as:
|
||||
The list of hwmon operations is defined as::
|
||||
|
||||
struct hwmon_ops {
|
||||
struct hwmon_ops {
|
||||
umode_t (*is_visible)(const void *, enum hwmon_sensor_types type,
|
||||
u32 attr, int);
|
||||
int (*read)(struct device *, enum hwmon_sensor_types type,
|
||||
u32 attr, int, long *);
|
||||
int (*write)(struct device *, enum hwmon_sensor_types type,
|
||||
u32 attr, int, long);
|
||||
};
|
||||
};
|
||||
|
||||
It defines the following operations.
|
||||
|
||||
* is_visible: Pointer to a function to return the file mode for each supported
|
||||
attribute. This function is mandatory.
|
||||
* is_visible:
|
||||
Pointer to a function to return the file mode for each supported
|
||||
attribute. This function is mandatory.
|
||||
|
||||
* read: Pointer to a function for reading a value from the chip. This function
|
||||
is optional, but must be provided if any readable attributes exist.
|
||||
* read:
|
||||
Pointer to a function for reading a value from the chip. This function
|
||||
is optional, but must be provided if any readable attributes exist.
|
||||
|
||||
* write: Pointer to a function for writing a value to the chip. This function is
|
||||
optional, but must be provided if any writeable attributes exist.
|
||||
* write:
|
||||
Pointer to a function for writing a value to the chip. This function is
|
||||
optional, but must be provided if any writeable attributes exist.
|
||||
|
||||
Each sensor channel is described with struct hwmon_channel_info, which is
|
||||
defined as follows.
|
||||
defined as follows::
|
||||
|
||||
struct hwmon_channel_info {
|
||||
enum hwmon_sensor_types type;
|
||||
u32 *config;
|
||||
};
|
||||
struct hwmon_channel_info {
|
||||
enum hwmon_sensor_types type;
|
||||
u32 *config;
|
||||
};
|
||||
|
||||
It contains following fields:
|
||||
|
||||
* type: The hardware monitoring sensor type.
|
||||
Supported sensor types are
|
||||
* hwmon_chip A virtual sensor type, used to describe attributes
|
||||
* which are not bound to a specific input or output
|
||||
* hwmon_temp Temperature sensor
|
||||
* hwmon_in Voltage sensor
|
||||
* hwmon_curr Current sensor
|
||||
* hwmon_power Power sensor
|
||||
* hwmon_energy Energy sensor
|
||||
* hwmon_humidity Humidity sensor
|
||||
* hwmon_fan Fan speed sensor
|
||||
* hwmon_pwm PWM control
|
||||
* type:
|
||||
The hardware monitoring sensor type.
|
||||
|
||||
* config: Pointer to a 0-terminated list of configuration values for each
|
||||
sensor of the given type. Each value is a combination of bit values
|
||||
describing the attributes supposed by a single sensor.
|
||||
Supported sensor types are
|
||||
|
||||
================== ==================================================
|
||||
hwmon_chip A virtual sensor type, used to describe attributes
|
||||
which are not bound to a specific input or output
|
||||
hwmon_temp Temperature sensor
|
||||
hwmon_in Voltage sensor
|
||||
hwmon_curr Current sensor
|
||||
hwmon_power Power sensor
|
||||
hwmon_energy Energy sensor
|
||||
hwmon_humidity Humidity sensor
|
||||
hwmon_fan Fan speed sensor
|
||||
hwmon_pwm PWM control
|
||||
================== ==================================================
|
||||
|
||||
* config:
|
||||
Pointer to a 0-terminated list of configuration values for each
|
||||
sensor of the given type. Each value is a combination of bit values
|
||||
describing the attributes supposed by a single sensor.
|
||||
|
||||
As an example, here is the complete description file for a LM75 compatible
|
||||
sensor chip. The chip has a single temperature sensor. The driver wants to
|
||||
@ -179,48 +191,62 @@ register with the thermal subsystem (HWMON_C_REGISTER_TZ), and it supports
|
||||
the update_interval attribute (HWMON_C_UPDATE_INTERVAL). The chip supports
|
||||
reading the temperature (HWMON_T_INPUT), it has a maximum temperature
|
||||
register (HWMON_T_MAX) as well as a maximum temperature hysteresis register
|
||||
(HWMON_T_MAX_HYST).
|
||||
(HWMON_T_MAX_HYST)::
|
||||
|
||||
static const u32 lm75_chip_config[] = {
|
||||
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL,
|
||||
0
|
||||
};
|
||||
static const u32 lm75_chip_config[] = {
|
||||
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL,
|
||||
0
|
||||
};
|
||||
|
||||
static const struct hwmon_channel_info lm75_chip = {
|
||||
.type = hwmon_chip,
|
||||
.config = lm75_chip_config,
|
||||
};
|
||||
static const struct hwmon_channel_info lm75_chip = {
|
||||
.type = hwmon_chip,
|
||||
.config = lm75_chip_config,
|
||||
};
|
||||
|
||||
static const u32 lm75_temp_config[] = {
|
||||
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST,
|
||||
0
|
||||
};
|
||||
static const u32 lm75_temp_config[] = {
|
||||
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST,
|
||||
0
|
||||
};
|
||||
|
||||
static const struct hwmon_channel_info lm75_temp = {
|
||||
.type = hwmon_temp,
|
||||
.config = lm75_temp_config,
|
||||
};
|
||||
static const struct hwmon_channel_info lm75_temp = {
|
||||
.type = hwmon_temp,
|
||||
.config = lm75_temp_config,
|
||||
};
|
||||
|
||||
static const struct hwmon_channel_info *lm75_info[] = {
|
||||
&lm75_chip,
|
||||
&lm75_temp,
|
||||
NULL
|
||||
};
|
||||
static const struct hwmon_channel_info *lm75_info[] = {
|
||||
&lm75_chip,
|
||||
&lm75_temp,
|
||||
NULL
|
||||
};
|
||||
|
||||
static const struct hwmon_ops lm75_hwmon_ops = {
|
||||
.is_visible = lm75_is_visible,
|
||||
.read = lm75_read,
|
||||
.write = lm75_write,
|
||||
};
|
||||
The HWMON_CHANNEL_INFO() macro can and should be used when possible.
|
||||
With this macro, the above example can be simplified to
|
||||
|
||||
static const struct hwmon_chip_info lm75_chip_info = {
|
||||
.ops = &lm75_hwmon_ops,
|
||||
.info = lm75_info,
|
||||
};
|
||||
static const struct hwmon_channel_info *lm75_info[] = {
|
||||
HWMON_CHANNEL_INFO(chip,
|
||||
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL),
|
||||
HWMON_CHANNEL_INFO(temp,
|
||||
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST),
|
||||
NULL
|
||||
};
|
||||
|
||||
The remaining declarations are as follows.
|
||||
|
||||
static const struct hwmon_ops lm75_hwmon_ops = {
|
||||
.is_visible = lm75_is_visible,
|
||||
.read = lm75_read,
|
||||
.write = lm75_write,
|
||||
};
|
||||
|
||||
static const struct hwmon_chip_info lm75_chip_info = {
|
||||
.ops = &lm75_hwmon_ops,
|
||||
.info = lm75_info,
|
||||
};
|
||||
|
||||
A complete list of bit values indicating individual attribute support
|
||||
is defined in include/linux/hwmon.h. Definition prefixes are as follows.
|
||||
|
||||
=============== =================================================
|
||||
HWMON_C_xxxx Chip attributes, for use with hwmon_chip.
|
||||
HWMON_T_xxxx Temperature attributes, for use with hwmon_temp.
|
||||
HWMON_I_xxxx Voltage attributes, for use with hwmon_in.
|
||||
@ -231,57 +257,76 @@ HWMON_E_xxxx Energy attributes, for use with hwmon_energy.
|
||||
HWMON_H_xxxx Humidity attributes, for use with hwmon_humidity.
|
||||
HWMON_F_xxxx Fan speed attributes, for use with hwmon_fan.
|
||||
HWMON_PWM_xxxx PWM control attributes, for use with hwmon_pwm.
|
||||
=============== =================================================
|
||||
|
||||
Driver callback functions
|
||||
-------------------------
|
||||
|
||||
Each driver provides is_visible, read, and write functions. Parameters
|
||||
and return values for those functions are as follows.
|
||||
and return values for those functions are as follows::
|
||||
|
||||
umode_t is_visible_func(const void *data, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel)
|
||||
umode_t is_visible_func(const void *data, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel)
|
||||
|
||||
Parameters:
|
||||
data: Pointer to device private data structure.
|
||||
type: The sensor type.
|
||||
attr: Attribute identifier associated with a specific attribute.
|
||||
data:
|
||||
Pointer to device private data structure.
|
||||
type:
|
||||
The sensor type.
|
||||
attr:
|
||||
Attribute identifier associated with a specific attribute.
|
||||
For example, the attribute value for HWMON_T_INPUT would be
|
||||
hwmon_temp_input. For complete mappings of bit fields to
|
||||
attribute values please see include/linux/hwmon.h.
|
||||
channel:The sensor channel number.
|
||||
channel:
|
||||
The sensor channel number.
|
||||
|
||||
Return value:
|
||||
The file mode for this attribute. Typically, this will be 0 (the
|
||||
attribute will not be created), S_IRUGO, or 'S_IRUGO | S_IWUSR'.
|
||||
|
||||
int read_func(struct device *dev, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel, long *val)
|
||||
::
|
||||
|
||||
int read_func(struct device *dev, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel, long *val)
|
||||
|
||||
Parameters:
|
||||
dev: Pointer to the hardware monitoring device.
|
||||
type: The sensor type.
|
||||
attr: Attribute identifier associated with a specific attribute.
|
||||
dev:
|
||||
Pointer to the hardware monitoring device.
|
||||
type:
|
||||
The sensor type.
|
||||
attr:
|
||||
Attribute identifier associated with a specific attribute.
|
||||
For example, the attribute value for HWMON_T_INPUT would be
|
||||
hwmon_temp_input. For complete mappings please see
|
||||
include/linux/hwmon.h.
|
||||
channel:The sensor channel number.
|
||||
val: Pointer to attribute value.
|
||||
channel:
|
||||
The sensor channel number.
|
||||
val:
|
||||
Pointer to attribute value.
|
||||
|
||||
Return value:
|
||||
0 on success, a negative error number otherwise.
|
||||
|
||||
int write_func(struct device *dev, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel, long val)
|
||||
::
|
||||
|
||||
int write_func(struct device *dev, enum hwmon_sensor_types type,
|
||||
u32 attr, int channel, long val)
|
||||
|
||||
Parameters:
|
||||
dev: Pointer to the hardware monitoring device.
|
||||
type: The sensor type.
|
||||
attr: Attribute identifier associated with a specific attribute.
|
||||
dev:
|
||||
Pointer to the hardware monitoring device.
|
||||
type:
|
||||
The sensor type.
|
||||
attr:
|
||||
Attribute identifier associated with a specific attribute.
|
||||
For example, the attribute value for HWMON_T_INPUT would be
|
||||
hwmon_temp_input. For complete mappings please see
|
||||
include/linux/hwmon.h.
|
||||
channel:The sensor channel number.
|
||||
val: The value to write to the chip.
|
||||
channel:
|
||||
The sensor channel number.
|
||||
val:
|
||||
The value to write to the chip.
|
||||
|
||||
Return value:
|
||||
0 on success, a negative error number otherwise.
|
||||
@ -317,25 +362,25 @@ Standard functions, similar to DEVICE_ATTR_{RW,RO,WO}, have _show and _store
|
||||
appended to the provided function name.
|
||||
|
||||
SENSOR_DEVICE_ATTR and its variants define a struct sensor_device_attribute
|
||||
variable. This structure has the following fields.
|
||||
variable. This structure has the following fields::
|
||||
|
||||
struct sensor_device_attribute {
|
||||
struct device_attribute dev_attr;
|
||||
int index;
|
||||
};
|
||||
struct sensor_device_attribute {
|
||||
struct device_attribute dev_attr;
|
||||
int index;
|
||||
};
|
||||
|
||||
You can use to_sensor_dev_attr to get the pointer to this structure from the
|
||||
attribute read or write function. Its parameter is the device to which the
|
||||
attribute is attached.
|
||||
|
||||
SENSOR_DEVICE_ATTR_2 and its variants define a struct sensor_device_attribute_2
|
||||
variable, which is defined as follows.
|
||||
variable, which is defined as follows::
|
||||
|
||||
struct sensor_device_attribute_2 {
|
||||
struct device_attribute dev_attr;
|
||||
u8 index;
|
||||
u8 nr;
|
||||
};
|
||||
struct sensor_device_attribute_2 {
|
||||
struct device_attribute dev_attr;
|
||||
u8 index;
|
||||
u8 nr;
|
||||
};
|
||||
|
||||
Use to_sensor_dev_attr_2 to get the pointer to this structure. Its parameter
|
||||
is the device to which the attribute is attached.
|
@ -2,6 +2,7 @@ Kernel driver ibm-cffps
|
||||
=======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* IBM Common Form Factor power supply
|
||||
|
||||
Author: Eddie James <eajames@us.ibm.com>
|
||||
@ -24,6 +25,7 @@ Sysfs entries
|
||||
|
||||
The following attributes are supported:
|
||||
|
||||
======================= ======================================================
|
||||
curr1_alarm Output current over-current alarm.
|
||||
curr1_input Measured output current in mA.
|
||||
curr1_label "iout1"
|
||||
@ -52,3 +54,4 @@ temp2_alarm Secondary rectifier temp over-temperature alarm.
|
||||
temp2_input Measured secondary rectifier temp in millidegrees C.
|
||||
temp3_alarm ORing FET temperature over-temperature alarm.
|
||||
temp3_input Measured ORing FET temperature in millidegrees C.
|
||||
======================= ======================================================
|
@ -1,15 +1,21 @@
|
||||
Kernel driver ibmaem
|
||||
======================
|
||||
====================
|
||||
|
||||
This driver talks to the IBM Systems Director Active Energy Manager, known
|
||||
henceforth as AEM.
|
||||
|
||||
Supported systems:
|
||||
|
||||
* Any recent IBM System X server with AEM support.
|
||||
|
||||
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.
|
||||
|
||||
Prefix: 'ibmaem'
|
||||
|
||||
Datasheet: Not available
|
||||
|
||||
Author: Darrick J. Wong
|
@ -2,6 +2,7 @@ Kernel Driver IBMPOWERNV
|
||||
========================
|
||||
|
||||
Supported systems:
|
||||
|
||||
* Any recent IBM P servers based on POWERNV platform
|
||||
|
||||
Author: Neelesh Gupta
|
||||
@ -29,10 +30,11 @@ CONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'.
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= =======================================================
|
||||
fanX_input Measured RPM value.
|
||||
fanX_min Threshold RPM for alert generation.
|
||||
fanX_fault 0: No fail condition
|
||||
1: Failing fan
|
||||
fanX_fault - 0: No fail condition
|
||||
- 1: Failing fan
|
||||
|
||||
tempX_input Measured ambient temperature.
|
||||
tempX_max Threshold ambient temperature for alert generation.
|
||||
@ -42,20 +44,22 @@ tempX_enable Enable/disable all temperature sensors belonging to the
|
||||
sub-group. In POWER9, this attribute corresponds to
|
||||
each OCC. Using this attribute each OCC can be asked to
|
||||
disable/enable all of its temperature sensors.
|
||||
1: Enable
|
||||
0: Disable
|
||||
|
||||
- 1: Enable
|
||||
- 0: Disable
|
||||
|
||||
inX_input Measured power supply voltage (millivolt)
|
||||
inX_fault 0: No fail condition.
|
||||
1: Failing power supply.
|
||||
inX_fault - 0: No fail condition.
|
||||
- 1: Failing power supply.
|
||||
inX_highest Historical maximum voltage
|
||||
inX_lowest Historical minimum voltage
|
||||
inX_enable Enable/disable all voltage sensors belonging to the
|
||||
sub-group. In POWER9, this attribute corresponds to
|
||||
each OCC. Using this attribute each OCC can be asked to
|
||||
disable/enable all of its voltage sensors.
|
||||
1: Enable
|
||||
0: Disable
|
||||
|
||||
- 1: Enable
|
||||
- 0: Disable
|
||||
|
||||
powerX_input Power consumption (microWatt)
|
||||
powerX_input_highest Historical maximum power
|
||||
@ -64,8 +68,9 @@ powerX_enable Enable/disable all power sensors belonging to the
|
||||
sub-group. In POWER9, this attribute corresponds to
|
||||
each OCC. Using this attribute each OCC can be asked to
|
||||
disable/enable all of its power sensors.
|
||||
1: Enable
|
||||
0: Disable
|
||||
|
||||
- 1: Enable
|
||||
- 0: Disable
|
||||
|
||||
currX_input Measured current (milliampere)
|
||||
currX_highest Historical maximum current
|
||||
@ -74,7 +79,9 @@ currX_enable Enable/disable all current sensors belonging to the
|
||||
sub-group. In POWER9, this attribute corresponds to
|
||||
each OCC. Using this attribute each OCC can be asked to
|
||||
disable/enable all of its current sensors.
|
||||
1: Enable
|
||||
0: Disable
|
||||
|
||||
- 1: Enable
|
||||
- 0: Disable
|
||||
|
||||
energyX_input Cumulative energy (microJoule)
|
||||
======================= =======================================================
|
@ -1,16 +1,21 @@
|
||||
Kernel driver ina209
|
||||
=====================
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
* Burr-Brown / Texas Instruments INA209
|
||||
Prefix: 'ina209'
|
||||
Addresses scanned: -
|
||||
Datasheet:
|
||||
http://www.ti.com/lit/gpn/ina209
|
||||
|
||||
Author: Paul Hays <Paul.Hays@cattail.ca>
|
||||
Author: Ira W. Snyder <iws@ovro.caltech.edu>
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
* Burr-Brown / Texas Instruments INA209
|
||||
|
||||
Prefix: 'ina209'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
http://www.ti.com/lit/gpn/ina209
|
||||
|
||||
Author:
|
||||
- Paul Hays <Paul.Hays@cattail.ca>
|
||||
- Ira W. Snyder <iws@ovro.caltech.edu>
|
||||
- Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
|
||||
Description
|
||||
@ -31,7 +36,7 @@ the I2C bus. See the datasheet for details.
|
||||
This tries to expose most monitoring features of the hardware via
|
||||
sysfs. It does not support every feature of this chip.
|
||||
|
||||
|
||||
======================= =======================================================
|
||||
in0_input shunt voltage (mV)
|
||||
in0_input_highest shunt voltage historical maximum reading (mV)
|
||||
in0_input_lowest shunt voltage historical minimum reading (mV)
|
||||
@ -70,6 +75,7 @@ curr1_input current measurement (mA)
|
||||
|
||||
update_interval data conversion time; affects number of samples used
|
||||
to average results for shunt and bus voltages.
|
||||
======================= =======================================================
|
||||
|
||||
General Remarks
|
||||
---------------
|
@ -2,35 +2,56 @@ Kernel driver ina2xx
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments INA219
|
||||
|
||||
|
||||
Prefix: 'ina219'
|
||||
Addresses: I2C 0x40 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
* Texas Instruments INA220
|
||||
|
||||
Prefix: 'ina220'
|
||||
|
||||
Addresses: I2C 0x40 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
* Texas Instruments INA226
|
||||
|
||||
Prefix: 'ina226'
|
||||
|
||||
Addresses: I2C 0x40 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
* Texas Instruments INA230
|
||||
|
||||
Prefix: 'ina230'
|
||||
|
||||
Addresses: I2C 0x40 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
* Texas Instruments INA231
|
||||
|
||||
Prefix: 'ina231'
|
||||
|
||||
Addresses: I2C 0x40 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
Author: Lothar Felten <lothar.felten@gmail.com>
|
||||
|
||||
@ -57,23 +78,27 @@ refer to the Documentation/devicetree/bindings/hwmon/ina2xx.txt for bindings
|
||||
if the device tree is used.
|
||||
|
||||
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
|
||||
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.
|
||||
The actual programmed interval may vary from the desired value.
|
||||
|
||||
General sysfs entries
|
||||
-------------
|
||||
---------------------
|
||||
|
||||
======================= ===============================
|
||||
in0_input Shunt voltage(mV) channel
|
||||
in1_input Bus voltage(mV) channel
|
||||
curr1_input Current(mA) measurement channel
|
||||
power1_input Power(uW) measurement channel
|
||||
shunt_resistor Shunt resistance(uOhm) channel
|
||||
======================= ===============================
|
||||
|
||||
Sysfs entries for ina226, ina230 and ina231 only
|
||||
-------------
|
||||
------------------------------------------------
|
||||
|
||||
======================= ====================================================
|
||||
update_interval data conversion time; affects number of samples used
|
||||
to average results for shunt and bus voltages.
|
||||
======================= ====================================================
|
@ -2,11 +2,16 @@ Kernel driver ina3221
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments INA3221
|
||||
|
||||
Prefix: 'ina3221'
|
||||
|
||||
Addresses: I2C 0x40 - 0x43
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/
|
||||
|
||||
http://www.ti.com/
|
||||
|
||||
Author: Andrew F. Davis <afd@ti.com>
|
||||
|
||||
@ -21,17 +26,37 @@ and power are calculated host-side from these.
|
||||
Sysfs entries
|
||||
-------------
|
||||
|
||||
======================= =======================================================
|
||||
in[123]_label Voltage channel labels
|
||||
in[123]_enable Voltage channel enable controls
|
||||
in[123]_input Bus voltage(mV) channels
|
||||
curr[123]_input Current(mA) measurement channels
|
||||
shunt[123]_resistor Shunt resistance(uOhm) channels
|
||||
curr[123]_crit Critical alert current(mA) setting, activates the
|
||||
corresponding alarm when the respective current
|
||||
is above this value
|
||||
corresponding alarm when the respective current
|
||||
is above this value
|
||||
curr[123]_crit_alarm Critical alert current limit exceeded
|
||||
curr[123]_max Warning alert current(mA) setting, activates the
|
||||
corresponding alarm when the respective current
|
||||
average is above this value.
|
||||
corresponding alarm when the respective current
|
||||
average is above this value.
|
||||
curr[123]_max_alarm Warning alert current limit exceeded
|
||||
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).
|
||||
======================= =======================================================
|
182
Documentation/hwmon/index.rst
Normal file
182
Documentation/hwmon/index.rst
Normal file
@ -0,0 +1,182 @@
|
||||
=========================
|
||||
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
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
* Infinion IR35221
|
||||
* Infineon IR35221
|
||||
|
||||
Prefix: 'ir35221'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: Datasheet is not publicly available.
|
||||
|
||||
Author: Samuel Mendoza-Jonas <sam@mendozajonas.com>
|
||||
@ -23,15 +26,16 @@ This driver does not probe for PMBus devices. You will have to instantiate
|
||||
devices explicitly.
|
||||
|
||||
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
|
||||
# echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device
|
||||
# modprobe ir35221
|
||||
# echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device
|
||||
|
||||
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= =======================================================
|
||||
curr1_label "iin"
|
||||
curr1_input Measured input current
|
||||
curr1_max Maximum current
|
||||
@ -85,3 +89,4 @@ temp[1-2]_highest Highest temperature
|
||||
temp[1-2]_lowest Lowest temperature
|
||||
temp[1-2]_max Maximum temperature
|
||||
temp[1-2]_max_alarm Chip temperature high alarm
|
||||
======================= =======================================================
|
66
Documentation/hwmon/ir38064.rst
Normal file
66
Documentation/hwmon/ir38064.rst
Normal file
@ -0,0 +1,66 @@
|
||||
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
|
||||
======================= ===========================
|
80
Documentation/hwmon/isl68137.rst
Normal file
80
Documentation/hwmon/isl68137.rst
Normal file
@ -0,0 +1,80 @@
|
||||
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
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* IT8603E/IT8623E
|
||||
|
||||
Prefix: 'it8603'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8620E
|
||||
|
||||
Prefix: 'it8620'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
* IT8628E
|
||||
|
||||
Prefix: 'it8628'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8705F
|
||||
|
||||
Prefix: 'it87'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Once publicly available at the ITE website, but no longer
|
||||
|
||||
* IT8712F
|
||||
|
||||
Prefix: 'it8712'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Once publicly available at the ITE website, but no longer
|
||||
|
||||
* IT8716F/IT8726F
|
||||
|
||||
Prefix: 'it8716'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Once publicly available at the ITE website, but no longer
|
||||
|
||||
* IT8718F
|
||||
|
||||
Prefix: 'it8718'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Once publicly available at the ITE website, but no longer
|
||||
|
||||
* IT8720F
|
||||
|
||||
Prefix: 'it8720'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8721F/IT8758E
|
||||
|
||||
Prefix: 'it8721'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8728F
|
||||
|
||||
Prefix: 'it8728'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8732F
|
||||
|
||||
Prefix: 'it8732'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8771E
|
||||
|
||||
Prefix: 'it8771'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8772E
|
||||
|
||||
Prefix: 'it8772'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8781F
|
||||
|
||||
Prefix: 'it8781'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8782F
|
||||
|
||||
Prefix: 'it8782'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8783E/F
|
||||
|
||||
Prefix: 'it8783'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8786E
|
||||
|
||||
Prefix: 'it8786'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* IT8790E
|
||||
|
||||
Prefix: 'it8790'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: Not publicly available
|
||||
|
||||
* SiS950 [clone of IT8705F]
|
||||
|
||||
Prefix: 'it87'
|
||||
|
||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||
|
||||
Datasheet: No longer be available
|
||||
|
||||
|
||||
Authors:
|
||||
Christophe Gauthron
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Christophe Gauthron
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
* update_vbat: int
|
||||
|
||||
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
|
||||
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
|
||||
automatically). On other boards the battery voltage is always fed to
|
||||
the chip so can be read at any time. Excessive reading may decrease
|
||||
battery life but no information is given in the datasheet.
|
||||
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
|
||||
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
|
||||
automatically). On other boards the battery voltage is always fed to
|
||||
the chip so can be read at any time. Excessive reading may decrease
|
||||
battery life but no information is given in the datasheet.
|
||||
|
||||
* fix_pwm_polarity int
|
||||
|
||||
Force PWM polarity to active high (DANGEROUS). Some chips are
|
||||
misconfigured by BIOS - PWM values would be inverted. This option tries
|
||||
to fix this. Please contact your BIOS manufacturer and ask him for fix.
|
||||
Force PWM polarity to active high (DANGEROUS). Some chips are
|
||||
misconfigured by BIOS - PWM values would be inverted. This option tries
|
||||
to fix this. Please contact your BIOS manufacturer and ask him for fix.
|
||||
|
||||
|
||||
Hardware Interfaces
|
@ -2,53 +2,100 @@ Kernel driver jc42
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADT7408
|
||||
|
||||
Datasheets:
|
||||
|
||||
http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
|
||||
|
||||
* Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
|
||||
|
||||
Datasheets:
|
||||
|
||||
http://www.atmel.com/Images/doc8585.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-8868-DTS-AT30TSE004A-Datasheet.pdf
|
||||
|
||||
* IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
|
||||
|
||||
TS3001GB2
|
||||
|
||||
Datasheets:
|
||||
|
||||
Available from IDT web site
|
||||
|
||||
* Maxim MAX6604
|
||||
|
||||
Datasheets:
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
|
||||
|
||||
* Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
|
||||
|
||||
Datasheets:
|
||||
|
||||
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/25095A.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/22327A.pdf
|
||||
|
||||
* NXP Semiconductors SE97, SE97B, SE98, SE98A
|
||||
|
||||
Datasheets:
|
||||
|
||||
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/SE98.pdf
|
||||
|
||||
http://www.nxp.com/documents/data_sheet/SE98A.pdf
|
||||
|
||||
* ON Semiconductor CAT34TS02, CAT6095
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
|
||||
|
||||
http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
|
||||
|
||||
* ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
|
||||
|
||||
Datasheets:
|
||||
|
||||
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/CD00266638.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
|
||||
|
||||
* JEDEC JC 42.4 compliant temperature sensor chips
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
|
||||
|
||||
|
||||
Common for all chips:
|
||||
|
||||
Prefix: 'jc42'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1f
|
||||
|
||||
Author:
|
||||
@ -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.
|
||||
|
||||
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
|
||||
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
# modprobe jc42
|
||||
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
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,
|
||||
@ -90,6 +137,7 @@ cannot be changed.
|
||||
Sysfs entries
|
||||
-------------
|
||||
|
||||
======================= ===========================================
|
||||
temp1_input Temperature (RO)
|
||||
temp1_min Minimum temperature (RO or RW)
|
||||
temp1_max Maximum temperature (RO or RW)
|
||||
@ -101,3 +149,4 @@ temp1_max_hyst Maximum hysteresis temperature (RO)
|
||||
temp1_min_alarm Temperature low alarm
|
||||
temp1_max_alarm Temperature high alarm
|
||||
temp1_crit_alarm Temperature critical alarm
|
||||
======================= ===========================================
|
@ -2,42 +2,77 @@ Kernel driver k10temp
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* AMD Family 10h processors:
|
||||
|
||||
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 AM3: Quad-Core Opteron, Athlon/Phenom II X2/X3/X4, Sempron II
|
||||
|
||||
Socket S1G3: Athlon II, Sempron, Turion II
|
||||
|
||||
* AMD Family 11h processors:
|
||||
|
||||
Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)
|
||||
|
||||
* AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series)
|
||||
|
||||
* AMD Family 14h processors: "Brazos" (C/E/G/Z-Series)
|
||||
|
||||
* AMD Family 15h processors: "Bulldozer" (FX-Series), "Trinity", "Kaveri", "Carrizo"
|
||||
|
||||
* AMD Family 16h processors: "Kabini", "Mullins"
|
||||
|
||||
Prefix: 'k10temp'
|
||||
|
||||
Addresses scanned: PCI space
|
||||
|
||||
Datasheets:
|
||||
|
||||
BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/31116.pdf
|
||||
|
||||
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/41256.pdf
|
||||
|
||||
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 12h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/41131.pdf
|
||||
|
||||
BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/43170.pdf
|
||||
|
||||
Revision Guide for AMD Family 10h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/41322.pdf
|
||||
|
||||
Revision Guide for AMD Family 11h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/41788.pdf
|
||||
|
||||
Revision Guide for AMD Family 12h Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/44739.pdf
|
||||
|
||||
Revision Guide for AMD Family 14h Models 00h-0Fh Processors:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/47534.pdf
|
||||
|
||||
AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/43373.pdf
|
||||
|
||||
AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/43374.pdf
|
||||
|
||||
AMD Family 10h Desktop Processor Power and Thermal Data Sheet:
|
||||
|
||||
http://support.amd.com/us/Processor_TechDocs/43375.pdf
|
||||
|
||||
Author: Clemens Ladisch <clemens@ladisch.de>
|
||||
@ -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
|
||||
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
|
||||
control cooling systems. Tctl is a non-physical temperature on an
|
@ -2,12 +2,17 @@ Kernel driver k8temp
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* AMD Athlon64/FX or Opteron CPUs
|
||||
|
||||
Prefix: 'k8temp'
|
||||
|
||||
Addresses scanned: PCI space
|
||||
|
||||
Datasheet: http://support.amd.com/us/Processor_TechDocs/32559.pdf
|
||||
|
||||
Author: Rudolf Marek
|
||||
|
||||
Contact: Rudolf Marek <r.marek@assembler.cz>
|
||||
|
||||
Description
|
||||
@ -27,10 +32,12 @@ implemented sensors.
|
||||
|
||||
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
|
||||
temp3_input - temperature of Core 1 and "place" 0
|
||||
temp4_input - temperature of Core 1 and "place" 1
|
||||
============= ===================================
|
||||
temp1_input temperature of Core 0 and "place" 0
|
||||
temp2_input temperature of Core 0 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
|
||||
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.
|
||||
|
||||
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
|
||||
70 degrees C. The rule of the thumb -> CPU temperature should not cross
|
@ -2,11 +2,16 @@ Kernel driver lineage-pem
|
||||
=========================
|
||||
|
||||
Supported devices:
|
||||
|
||||
* Lineage Compact Power Line Power Entry Modules
|
||||
|
||||
Prefix: 'lineage-pem'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Documentation:
|
||||
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
|
||||
|
||||
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
|
||||
|
||||
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
|
||||
the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for a Lineage PEM at address 0x40
|
||||
on I2C bus #1:
|
||||
$ modprobe lineage-pem
|
||||
$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
on I2C bus #1::
|
||||
|
||||
$ 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
|
||||
(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
|
||||
supported on newer devices. The driver detects if those attributes are supported,
|
||||
and only creates respective sysfs entries if they are.
|
||||
|
||||
======================= ===============================
|
||||
in1_input Output voltage (mV)
|
||||
in1_min_alarm Output undervoltage alarm
|
||||
in1_max_alarm Output overvoltage alarm
|
||||
@ -75,3 +82,4 @@ temp1_crit
|
||||
temp1_alarm
|
||||
temp1_crit_alarm
|
||||
temp1_fault
|
||||
======================= ===============================
|
@ -2,34 +2,62 @@ Kernel driver lm25066
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* TI LM25056
|
||||
|
||||
Prefix: 'lm25056'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheets:
|
||||
|
||||
http://www.ti.com/lit/gpn/lm25056
|
||||
|
||||
http://www.ti.com/lit/gpn/lm25056a
|
||||
|
||||
* National Semiconductor LM25066
|
||||
|
||||
Prefix: 'lm25066'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheets:
|
||||
|
||||
http://www.national.com/pf/LM/LM25066.html
|
||||
|
||||
http://www.national.com/pf/LM/LM25066A.html
|
||||
|
||||
* National Semiconductor LM5064
|
||||
|
||||
Prefix: 'lm5064'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://www.national.com/pf/LM/LM5064.html
|
||||
|
||||
* National Semiconductor LM5066
|
||||
|
||||
Prefix: 'lm5066'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://www.national.com/pf/LM/LM5066.html
|
||||
|
||||
* Texas Instruments LM5066I
|
||||
|
||||
Prefix: 'lm5066i'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://www.ti.com/product/LM5066I
|
||||
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
|
||||
@ -41,7 +69,7 @@ LM25066, LM5064, and LM5066/LM5066I Power Management, Monitoring,
|
||||
Control, and Protection ICs.
|
||||
|
||||
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
|
||||
@ -64,6 +92,7 @@ Sysfs entries
|
||||
The following attributes are supported. Limits are read-write; all other
|
||||
attributes are read-only.
|
||||
|
||||
======================= =======================================================
|
||||
in1_label "vin"
|
||||
in1_input Measured input voltage.
|
||||
in1_average Average measured input voltage.
|
||||
@ -105,3 +134,4 @@ temp1_max Maximum temperature.
|
||||
temp1_crit Critical high temperature.
|
||||
temp1_max_alarm Chip temperature high alarm.
|
||||
temp1_crit_alarm Chip temperature critical high alarm.
|
||||
======================= =======================================================
|
@ -2,26 +2,43 @@ Kernel driver lm63
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM63
|
||||
|
||||
Prefix: 'lm63'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'lm64'
|
||||
|
||||
Addresses scanned: I2C 0x18 and 0x4e
|
||||
|
||||
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
|
||||
|
||||
Prefix: 'lm96163'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
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>
|
||||
|
||||
Thanks go to Tyan and especially Alex Buckingham for setting up a remote
|
||||
access to their S4882 test platform for this driver.
|
||||
|
||||
http://www.tyan.com/
|
||||
|
||||
Description
|
||||
@ -32,6 +49,7 @@ and control.
|
||||
|
||||
The LM63 is basically an LM86 with fan speed monitoring and control
|
||||
capabilities added. It misses some of the LM86 features though:
|
||||
|
||||
- No low limit for local temperature.
|
||||
- No critical limit for local temperature.
|
||||
- Critical limit for remote temperature can be changed only once. We
|
@ -2,19 +2,30 @@ Kernel driver lm70
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM70
|
||||
|
||||
Datasheet: http://www.national.com/pf/LM/LM70.html
|
||||
|
||||
* Texas Instruments TMP121/TMP123
|
||||
|
||||
Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
|
||||
|
||||
* Texas Instruments TMP122/TMP124
|
||||
|
||||
Information: http://www.ti.com/product/tmp122
|
||||
|
||||
* National Semiconductor LM71
|
||||
|
||||
Datasheet: http://www.ti.com/product/LM71
|
||||
|
||||
* National Semiconductor LM74
|
||||
|
||||
Datasheet: http://www.ti.com/product/LM74
|
||||
|
||||
|
||||
Author:
|
||||
Kaiwan N Billimoria <kaiwan@designergraphix.com>
|
||||
Kaiwan N Billimoria <kaiwan@designergraphix.com>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,13 +2,20 @@ Kernel driver lm73
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Texas Instruments LM73
|
||||
|
||||
Prefix: 'lm73'
|
||||
|
||||
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
|
||||
|
||||
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>
|
||||
|
||||
Documentation: Chris Verges <kg4ysn@gmail.com>
|
||||
|
||||
|
||||
@ -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
|
||||
maximum times defined for the resolution in the datasheet.
|
||||
|
||||
============= ============= ============
|
||||
Resolution Conv. Time Input Range
|
||||
(C/LSB) (msec) (msec)
|
||||
--------------------------------------
|
||||
============= ============= ============
|
||||
0.25 14 0..14
|
||||
0.125 28 15..28
|
||||
0.0625 56 29..56
|
||||
0.03125 112 57..infinity
|
||||
--------------------------------------
|
||||
============= ============= ============
|
||||
|
||||
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
|
||||
$ cat update_interval
|
@ -2,68 +2,132 @@ Kernel driver lm75
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM75
|
||||
|
||||
Prefix: 'lm75'
|
||||
|
||||
Addresses scanned: I2C 0x48 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
* National Semiconductor LM75A
|
||||
|
||||
Prefix: 'lm75a'
|
||||
|
||||
Addresses scanned: I2C 0x48 - 0x4f
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
* Dallas Semiconductor (now Maxim) DS75, DS1775, DS7505
|
||||
|
||||
Prefixes: 'ds75', 'ds1775', 'ds7505'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maximintegrated.com/
|
||||
|
||||
http://www.maximintegrated.com/
|
||||
|
||||
* Maxim MAX6625, MAX6626, MAX31725, MAX31726
|
||||
|
||||
Prefixes: 'max6625', 'max6626', 'max31725', 'max31726'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/
|
||||
|
||||
http://www.maxim-ic.com/
|
||||
|
||||
* Microchip (TelCom) TCN75
|
||||
|
||||
Prefix: 'tcn75'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Microchip website
|
||||
http://www.microchip.com/
|
||||
|
||||
http://www.microchip.com/
|
||||
|
||||
* Microchip MCP9800, MCP9801, MCP9802, MCP9803
|
||||
|
||||
Prefix: 'mcp980x'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Microchip website
|
||||
http://www.microchip.com/
|
||||
|
||||
http://www.microchip.com/
|
||||
|
||||
* Analog Devices ADT75
|
||||
|
||||
Prefix: 'adt75'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
http://www.analog.com/adt75
|
||||
|
||||
http://www.analog.com/adt75
|
||||
|
||||
* ST Microelectronics STDS75
|
||||
|
||||
Prefix: 'stds75'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the ST website
|
||||
http://www.st.com/internet/analog/product/121769.jsp
|
||||
|
||||
http://www.st.com/internet/analog/product/121769.jsp
|
||||
|
||||
* ST Microelectronics STLM75
|
||||
|
||||
Prefix: 'stlm75'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the ST website
|
||||
|
||||
https://www.st.com/resource/en/datasheet/stlm75.pdf
|
||||
* Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
|
||||
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
|
||||
|
||||
* Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75B, TMP75C, TMP175, TMP275
|
||||
|
||||
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75b', 'tmp75c', 'tmp275'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/product/tmp100
|
||||
http://www.ti.com/product/tmp101
|
||||
http://www.ti.com/product/tmp105
|
||||
http://www.ti.com/product/tmp112
|
||||
http://www.ti.com/product/tmp75
|
||||
http://www.ti.com/product/tmp75c
|
||||
http://www.ti.com/product/tmp175
|
||||
http://www.ti.com/product/tmp275
|
||||
|
||||
http://www.ti.com/product/tmp100
|
||||
|
||||
http://www.ti.com/product/tmp101
|
||||
|
||||
http://www.ti.com/product/tmp105
|
||||
|
||||
http://www.ti.com/product/tmp112
|
||||
|
||||
http://www.ti.com/product/tmp75
|
||||
|
||||
http://www.ti.com/product/tmp75b
|
||||
|
||||
http://www.ti.com/product/tmp75c
|
||||
|
||||
http://www.ti.com/product/tmp175
|
||||
|
||||
http://www.ti.com/product/tmp275
|
||||
|
||||
* NXP LM75B
|
||||
|
||||
Prefix: 'lm75b'
|
||||
|
||||
Addresses scanned: none
|
||||
|
||||
Datasheet: Publicly available at the NXP website
|
||||
http://www.nxp.com/documents/data_sheet/LM75B.pdf
|
||||
|
||||
http://www.nxp.com/documents/data_sheet/LM75B.pdf
|
||||
|
||||
Author: Frodo Looijaard <frodol@dds.nl>
|
||||
|
@ -2,11 +2,17 @@ Kernel driver lm77
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM77
|
||||
|
||||
Prefix: 'lm77'
|
||||
|
||||
Addresses scanned: I2C 0x48 - 0x4b
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
|
||||
Author: Andras BALI <drewie@freemail.hu>
|
||||
|
||||
@ -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.
|
||||
|
||||
This implementation detail implies the following:
|
||||
|
||||
* When setting a limit, its hysteresis will automatically follow, the
|
||||
difference staying unchanged. For example, if the old critical limit
|
||||
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
@ -2,19 +2,31 @@ Kernel driver lm78
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
* National Semiconductor LM78 / LM78-J
|
||||
Prefix: 'lm78'
|
||||
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
* National Semiconductor LM79
|
||||
Prefix: 'lm79'
|
||||
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
Authors: Frodo Looijaard <frodol@dds.nl>
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
* National Semiconductor LM78 / LM78-J
|
||||
|
||||
Prefix: 'lm78'
|
||||
|
||||
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
* National Semiconductor LM79
|
||||
|
||||
Prefix: 'lm79'
|
||||
|
||||
Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
|
||||
Authors:
|
||||
- Frodo Looijaard <frodol@dds.nl>
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,20 +2,31 @@ Kernel driver lm80
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM80
|
||||
|
||||
Prefix: 'lm80'
|
||||
|
||||
Addresses scanned: I2C 0x28 - 0x2f
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
* National Semiconductor LM96080
|
||||
|
||||
Prefix: 'lm96080'
|
||||
|
||||
Addresses scanned: I2C 0x28 - 0x2f
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/
|
||||
|
||||
http://www.national.com/
|
||||
|
||||
|
||||
Authors:
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Philip Edelbrock <phil@netroedge.com>
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Philip Edelbrock <phil@netroedge.com>
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,16 +2,24 @@ Kernel driver lm83
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
* National Semiconductor LM83
|
||||
Prefix: 'lm83'
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/pf/LM/LM83.html
|
||||
* National Semiconductor LM82
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/pf/LM/LM82.html
|
||||
|
||||
* National Semiconductor LM83
|
||||
|
||||
Prefix: 'lm83'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/pf/LM/LM83.html
|
||||
|
||||
* National Semiconductor LM82
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/pf/LM/LM82.html
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
@ -34,13 +42,17 @@ fact that any of these motherboards do actually have an LM83, please
|
||||
contact us. Note that the LM90 can easily be misdetected as a LM83.
|
||||
|
||||
Confirmed motherboards:
|
||||
=== =====
|
||||
SBS P014
|
||||
SBS PSL09
|
||||
=== =====
|
||||
|
||||
Unconfirmed motherboards:
|
||||
=========== ==========
|
||||
Gigabyte GA-8IK1100
|
||||
Iwill MPX2
|
||||
Soltek SL-75DRV5
|
||||
=========== ==========
|
||||
|
||||
The LM82 is confirmed to have been found on most AMD Geode reference
|
||||
designs and test platforms.
|
@ -2,49 +2,85 @@ Kernel driver lm85
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM85 (B and C versions)
|
||||
|
||||
Prefix: 'lm85b' or 'lm85c'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.national.com/pf/LM/LM85.html
|
||||
|
||||
* Texas Instruments LM96000
|
||||
|
||||
Prefix: 'lm9600'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.ti.com/lit/ds/symlink/lm96000.pdf
|
||||
|
||||
* Analog Devices ADM1027
|
||||
|
||||
Prefix: 'adm1027'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
|
||||
|
||||
* Analog Devices ADT7463
|
||||
|
||||
Prefix: 'adt7463'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
|
||||
|
||||
* Analog Devices ADT7468
|
||||
|
||||
Prefix: 'adt7468'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7468
|
||||
|
||||
* SMSC EMC6D100, SMSC EMC6D101
|
||||
|
||||
Prefix: 'emc6d100'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf
|
||||
|
||||
Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf
|
||||
|
||||
* SMSC EMC6D102
|
||||
|
||||
Prefix: 'emc6d102'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.smsc.com/main/catalog/emc6d102.html
|
||||
|
||||
* SMSC EMC6D103
|
||||
|
||||
Prefix: 'emc6d103'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.smsc.com/main/catalog/emc6d103.html
|
||||
|
||||
* SMSC EMC6D103S
|
||||
|
||||
Prefix: 'emc6d103s'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||
|
||||
Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html
|
||||
|
||||
Authors:
|
||||
Philip Pokorny <ppokorny@penguincomputing.com>,
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Richard Barrington <rich_b_nz@clear.net.nz>,
|
||||
Margit Schubert-While <margitsw@t-online.de>,
|
||||
Justin Thiessen <jthiessen@penguincomputing.com>
|
||||
- Philip Pokorny <ppokorny@penguincomputing.com>,
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Richard Barrington <rich_b_nz@clear.net.nz>,
|
||||
- Margit Schubert-While <margitsw@t-online.de>,
|
||||
- Justin Thiessen <jthiessen@penguincomputing.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -177,38 +213,50 @@ Each temperature sensor is associated with a Zone. There are three
|
||||
sensors and therefore three zones (# 1, 2 and 3). Each zone has the following
|
||||
temperature configuration points:
|
||||
|
||||
* temp#_auto_temp_off - temperature below which fans should be off or spinning very low.
|
||||
* temp#_auto_temp_min - temperature over which fans start to spin.
|
||||
* temp#_auto_temp_max - temperature when fans spin at full speed.
|
||||
* temp#_auto_temp_crit - temperature when all fans will run full speed.
|
||||
* temp#_auto_temp_off
|
||||
- temperature below which fans should be off or spinning very low.
|
||||
* temp#_auto_temp_min
|
||||
- temperature over which fans start to spin.
|
||||
* temp#_auto_temp_max
|
||||
- temperature when fans spin at full speed.
|
||||
* temp#_auto_temp_crit
|
||||
- temperature when all fans will run full speed.
|
||||
|
||||
* PWM Control
|
||||
PWM Control
|
||||
^^^^^^^^^^^
|
||||
|
||||
There are three PWM outputs. The LM85 datasheet suggests that the
|
||||
pwm3 output control both fan3 and fan4. Each PWM can be individually
|
||||
configured and assigned to a zone for its control value. Each PWM can be
|
||||
configured individually according to the following options.
|
||||
|
||||
* pwm#_auto_pwm_min - this specifies the PWM value for temp#_auto_temp_off
|
||||
temperature. (PWM value from 0 to 255)
|
||||
* pwm#_auto_pwm_min
|
||||
- this specifies the PWM value for temp#_auto_temp_off
|
||||
temperature. (PWM value from 0 to 255)
|
||||
|
||||
* pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature
|
||||
the behaviour of fans. Write 1 to let fans spinning at
|
||||
pwm#_auto_pwm_min or write 0 to let them off.
|
||||
* pwm#_auto_pwm_minctl
|
||||
- this flags selects for temp#_auto_temp_off temperature
|
||||
the behaviour of fans. Write 1 to let fans spinning at
|
||||
pwm#_auto_pwm_min or write 0 to let them off.
|
||||
|
||||
NOTE: It has been reported that there is a bug in the LM85 that causes the flag
|
||||
to be associated with the zones not the PWMs. This contradicts all the
|
||||
published documentation. Setting pwm#_min_ctl in this case actually affects all
|
||||
PWMs controlled by zone '#'.
|
||||
.. note::
|
||||
|
||||
* PWM Controlling Zone selection
|
||||
It has been reported that there is a bug in the LM85 that causes
|
||||
the flag to be associated with the zones not the PWMs. This
|
||||
contradicts all the published documentation. Setting pwm#_min_ctl
|
||||
in this case actually affects all PWMs controlled by zone '#'.
|
||||
|
||||
* pwm#_auto_channels - controls zone that is associated with PWM
|
||||
PWM Controlling Zone selection
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
* pwm#_auto_channels
|
||||
- controls zone that is associated with PWM
|
||||
|
||||
Configuration choices:
|
||||
|
||||
Value Meaning
|
||||
------ ------------------------------------------------
|
||||
========== =============================================
|
||||
Value Meaning
|
||||
========== =============================================
|
||||
1 Controlled by Zone 1
|
||||
2 Controlled by Zone 2
|
||||
3 Controlled by Zone 3
|
||||
@ -217,6 +265,7 @@ Configuration choices:
|
||||
0 PWM always 0% (off)
|
||||
-1 PWM always 100% (full on)
|
||||
-2 Manual control (write to 'pwm#' to set)
|
||||
========== =============================================
|
||||
|
||||
The National LM85's have two vendor specific configuration
|
||||
features. Tach. mode and Spinup Control. For more details on these,
|
@ -2,23 +2,32 @@ Kernel driver lm87
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM87
|
||||
|
||||
Prefix: 'lm87'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2e
|
||||
|
||||
Datasheet: http://www.national.com/pf/LM/LM87.html
|
||||
|
||||
* Analog Devices ADM1024
|
||||
|
||||
Prefix: 'adm1024'
|
||||
|
||||
Addresses scanned: I2C 0x2c - 0x2e
|
||||
|
||||
Datasheet: http://www.analog.com/en/prod/0,2877,ADM1024,00.html
|
||||
|
||||
|
||||
Authors:
|
||||
Frodo Looijaard <frodol@dds.nl>,
|
||||
Philip Edelbrock <phil@netroedge.com>,
|
||||
Mark Studebaker <mdsxyz123@yahoo.com>,
|
||||
Stephen Rousset <stephen.rousset@rocketlogix.com>,
|
||||
Dan Eaton <dan.eaton@rocketlogix.com>,
|
||||
Jean Delvare <jdelvare@suse.de>,
|
||||
Original 2.6 port Jeff Oliver
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Philip Edelbrock <phil@netroedge.com>,
|
||||
- Mark Studebaker <mdsxyz123@yahoo.com>,
|
||||
- Stephen Rousset <stephen.rousset@rocketlogix.com>,
|
||||
- Dan Eaton <dan.eaton@rocketlogix.com>,
|
||||
- Jean Delvare <jdelvare@suse.de>,
|
||||
- Original 2.6 port Jeff Oliver
|
||||
|
||||
Description
|
||||
-----------
|
@ -2,132 +2,256 @@ Kernel driver lm90
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
* National Semiconductor LM90
|
||||
Prefix: 'lm90'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/pf/LM/LM90.html
|
||||
* National Semiconductor LM89
|
||||
Prefix: 'lm89' (no auto-detection)
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/mpf/LM/LM89.html
|
||||
* National Semiconductor LM99
|
||||
Prefix: 'lm99'
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/pf/LM/LM99.html
|
||||
* National Semiconductor LM86
|
||||
Prefix: 'lm86'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
http://www.national.com/mpf/LM/LM86.html
|
||||
* Analog Devices ADM1032
|
||||
Prefix: 'adm1032'
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1032
|
||||
* Analog Devices ADT7461
|
||||
Prefix: 'adt7461'
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461
|
||||
* Analog Devices ADT7461A
|
||||
Prefix: 'adt7461a'
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A
|
||||
* ON Semiconductor NCT1008
|
||||
Prefix: 'nct1008'
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
|
||||
* Maxim MAX6646
|
||||
Prefix: 'max6646'
|
||||
Addresses scanned: I2C 0x4d
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
* Maxim MAX6647
|
||||
Prefix: 'max6646'
|
||||
Addresses scanned: I2C 0x4e
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
* Maxim MAX6648
|
||||
Prefix: 'max6646'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||
* Maxim MAX6649
|
||||
Prefix: 'max6646'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
* Maxim MAX6657
|
||||
Prefix: 'max6657'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
* Maxim MAX6658
|
||||
Prefix: 'max6657'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
* Maxim MAX6659
|
||||
Prefix: 'max6659'
|
||||
Addresses scanned: I2C 0x4c, 0x4d, 0x4e
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
* Maxim MAX6680
|
||||
Prefix: 'max6680'
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
0x4c, 0x4d and 0x4e
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
||||
* Maxim MAX6681
|
||||
Prefix: 'max6680'
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
0x4c, 0x4d and 0x4e
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
||||
* Maxim MAX6692
|
||||
Prefix: 'max6646'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||
* Maxim MAX6695
|
||||
Prefix: 'max6695'
|
||||
Addresses scanned: I2C 0x18
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/datasheet/index.mvp/id/4199
|
||||
* Maxim MAX6696
|
||||
Prefix: 'max6695'
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
0x4c, 0x4d and 0x4e
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://www.maxim-ic.com/datasheet/index.mvp/id/4199
|
||||
* Winbond/Nuvoton W83L771W/G
|
||||
Prefix: 'w83l771'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: No longer available
|
||||
* Winbond/Nuvoton W83L771AWG/ASG
|
||||
Prefix: 'w83l771'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Not publicly available, can be requested from Nuvoton
|
||||
* Philips/NXP SA56004X
|
||||
Prefix: 'sa56004'
|
||||
Addresses scanned: I2C 0x48 through 0x4F
|
||||
Datasheet: Publicly available at NXP website
|
||||
http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf
|
||||
* GMT G781
|
||||
Prefix: 'g781'
|
||||
Addresses scanned: I2C 0x4c, 0x4d
|
||||
Datasheet: Not publicly available from GMT
|
||||
* Texas Instruments TMP451
|
||||
Prefix: 'tmp451'
|
||||
Addresses scanned: I2C 0x4c
|
||||
Datasheet: Publicly available at TI website
|
||||
http://www.ti.com/litv/pdf/sbos686
|
||||
|
||||
* National Semiconductor LM90
|
||||
|
||||
Prefix: 'lm90'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/pf/LM/LM90.html
|
||||
|
||||
* National Semiconductor LM89
|
||||
|
||||
Prefix: 'lm89' (no auto-detection)
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/mpf/LM/LM89.html
|
||||
|
||||
* National Semiconductor LM99
|
||||
|
||||
Prefix: 'lm99'
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/pf/LM/LM99.html
|
||||
|
||||
* National Semiconductor LM86
|
||||
|
||||
Prefix: 'lm86'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
http://www.national.com/mpf/LM/LM86.html
|
||||
|
||||
* Analog Devices ADM1032
|
||||
|
||||
Prefix: 'adm1032'
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1032
|
||||
|
||||
* Analog Devices ADT7461
|
||||
|
||||
Prefix: 'adt7461'
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461
|
||||
|
||||
* Analog Devices ADT7461A
|
||||
|
||||
Prefix: 'adt7461a'
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A
|
||||
|
||||
* ON Semiconductor NCT1008
|
||||
|
||||
Prefix: 'nct1008'
|
||||
|
||||
Addresses scanned: I2C 0x4c and 0x4d
|
||||
|
||||
Datasheet: Publicly available at the ON Semiconductor website
|
||||
|
||||
http://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
|
||||
|
||||
* Maxim MAX6646
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
||||
Addresses scanned: I2C 0x4d
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
|
||||
* Maxim MAX6647
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
||||
Addresses scanned: I2C 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
|
||||
* Maxim MAX6648
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||
|
||||
* Maxim MAX6649
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||
|
||||
* Maxim MAX6657
|
||||
|
||||
Prefix: 'max6657'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
|
||||
* Maxim MAX6658
|
||||
|
||||
Prefix: 'max6657'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
|
||||
* Maxim MAX6659
|
||||
|
||||
Prefix: 'max6659'
|
||||
|
||||
Addresses scanned: I2C 0x4c, 0x4d, 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
|
||||
|
||||
* Maxim MAX6680
|
||||
|
||||
Prefix: 'max6680'
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
|
||||
0x4c, 0x4d and 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
||||
|
||||
* Maxim MAX6681
|
||||
|
||||
Prefix: 'max6680'
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
|
||||
0x4c, 0x4d and 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
||||
|
||||
* Maxim MAX6692
|
||||
|
||||
Prefix: 'max6646'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||
|
||||
* Maxim MAX6695
|
||||
|
||||
Prefix: 'max6695'
|
||||
|
||||
Addresses scanned: I2C 0x18
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/datasheet/index.mvp/id/4199
|
||||
|
||||
* Maxim MAX6696
|
||||
|
||||
Prefix: 'max6695'
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
|
||||
|
||||
0x4c, 0x4d and 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://www.maxim-ic.com/datasheet/index.mvp/id/4199
|
||||
|
||||
* Winbond/Nuvoton W83L771W/G
|
||||
|
||||
Prefix: 'w83l771'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: No longer available
|
||||
|
||||
* Winbond/Nuvoton W83L771AWG/ASG
|
||||
|
||||
Prefix: 'w83l771'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Not publicly available, can be requested from Nuvoton
|
||||
|
||||
* Philips/NXP SA56004X
|
||||
|
||||
Prefix: 'sa56004'
|
||||
|
||||
Addresses scanned: I2C 0x48 through 0x4F
|
||||
|
||||
Datasheet: Publicly available at NXP website
|
||||
|
||||
http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf
|
||||
|
||||
* GMT G781
|
||||
|
||||
Prefix: 'g781'
|
||||
|
||||
Addresses scanned: I2C 0x4c, 0x4d
|
||||
|
||||
Datasheet: Not publicly available from GMT
|
||||
|
||||
* Texas Instruments TMP451
|
||||
|
||||
Prefix: 'tmp451'
|
||||
|
||||
Addresses scanned: I2C 0x4c
|
||||
|
||||
Datasheet: Publicly available at TI website
|
||||
|
||||
http://www.ti.com/litv/pdf/sbos686
|
||||
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
|
@ -2,22 +2,35 @@ Kernel driver lm92
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM92
|
||||
|
||||
Prefix: 'lm92'
|
||||
|
||||
Addresses scanned: I2C 0x48 - 0x4b
|
||||
|
||||
Datasheet: http://www.national.com/pf/LM/LM92.html
|
||||
|
||||
* National Semiconductor LM76
|
||||
|
||||
Prefix: 'lm92'
|
||||
|
||||
Addresses scanned: none, force parameter needed
|
||||
|
||||
Datasheet: http://www.national.com/pf/LM/LM76.html
|
||||
|
||||
* Maxim MAX6633/MAX6634/MAX6635
|
||||
|
||||
Prefix: 'max6635'
|
||||
|
||||
Addresses scanned: none, force parameter needed
|
||||
|
||||
Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3074
|
||||
|
||||
|
||||
Authors:
|
||||
Abraham van der Merwe <abraham@2d3d.co.za>
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Abraham van der Merwe <abraham@2d3d.co.za>
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
|
||||
Description
|
@ -2,20 +2,29 @@ Kernel driver lm93
|
||||
==================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* National Semiconductor LM93
|
||||
|
||||
Prefix 'lm93'
|
||||
|
||||
Addresses scanned: I2C 0x2c-0x2e
|
||||
|
||||
Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf
|
||||
|
||||
* National Semiconductor LM94
|
||||
|
||||
Prefix 'lm94'
|
||||
|
||||
Addresses scanned: I2C 0x2c-0x2e
|
||||
|
||||
Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf
|
||||
|
||||
|
||||
Authors:
|
||||
Mark M. Hoffman <mhoffman@lightlink.com>
|
||||
Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com>
|
||||
Adapted to 2.6.20 by Carsten Emde <ce@osadl.org>
|
||||
Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de>
|
||||
- Mark M. Hoffman <mhoffman@lightlink.com>
|
||||
- Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com>
|
||||
- Adapted to 2.6.20 by Carsten Emde <ce@osadl.org>
|
||||
- Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de>
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
@ -67,7 +76,8 @@ LM94 are not supported.
|
||||
User Interface
|
||||
--------------
|
||||
|
||||
#PROCHOT:
|
||||
#PROCHOT
|
||||
^^^^^^^^
|
||||
|
||||
The LM93 can monitor two #PROCHOT signals. The results are found in the
|
||||
sysfs files prochot1, prochot2, prochot1_avg, prochot2_avg, prochot1_max,
|
||||
@ -86,7 +96,8 @@ prochot2_interval. The values in these files specify the intervals for
|
||||
list will cause the driver to use the next largest interval. The available
|
||||
intervals are (in seconds):
|
||||
|
||||
#PROCHOT intervals: 0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6, 93.2, 186, 372
|
||||
#PROCHOT intervals:
|
||||
0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6, 93.2, 186, 372
|
||||
|
||||
It is possible to configure the LM93 to logically short the two #PROCHOT
|
||||
signals. I.e. when #P1_PROCHOT is asserted, the LM93 will automatically
|
||||
@ -105,16 +116,15 @@ contains a value controlling the duty cycle for the PWM signal used when
|
||||
the override function is enabled. This value ranges from 0 to 15, with 0
|
||||
indicating minimum duty cycle and 15 indicating maximum.
|
||||
|
||||
#VRD_HOT:
|
||||
#VRD_HOT
|
||||
^^^^^^^^
|
||||
|
||||
The LM93 can monitor two #VRD_HOT signals. The results are found in the
|
||||
sysfs files vrdhot1 and vrdhot2. There is one value per file: a boolean for
|
||||
which 1 indicates #VRD_HOT is asserted and 0 indicates it is negated. These
|
||||
files are read-only.
|
||||
|
||||
Smart Tach Mode:
|
||||
|
||||
(from the datasheet)
|
||||
Smart Tach Mode (from the datasheet)::
|
||||
|
||||
If a fan is driven using a low-side drive PWM, the tachometer
|
||||
output of the fan is corrupted. The LM93 includes smart tachometer
|
||||
@ -127,7 +137,8 @@ the fan tachometer with a pwm) to the sysfs file fan<n>_smart_tach. A zero
|
||||
will disable the function for that fan. Note that Smart tach mode cannot be
|
||||
enabled if the PWM output frequency is 22500 Hz (see below).
|
||||
|
||||
Manual PWM:
|
||||
Manual PWM
|
||||
^^^^^^^^^^
|
||||
|
||||
The LM93 has a fixed or override mode for the two PWM outputs (although, there
|
||||
are still some conditions that will override even this mode - see section
|
||||
@ -141,7 +152,8 @@ will cause the driver to use the next largest value. Also note: when manual
|
||||
PWM mode is disabled, the value of pwm1 and pwm2 indicates the current duty
|
||||
cycle chosen by the h/w.
|
||||
|
||||
PWM Output Frequency:
|
||||
PWM Output Frequency
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The LM93 supports several different frequencies for the PWM output channels.
|
||||
The sysfs files pwm1_freq and pwm2_freq are used to select the frequency. The
|
||||
@ -149,9 +161,11 @@ frequency values are constrained by the hardware. Selecting a value which is
|
||||
not available will cause the driver to use the next largest value. Also note
|
||||
that this parameter has implications for the Smart Tach Mode (see above).
|
||||
|
||||
PWM Output Frequencies (in Hz): 12, 36, 48, 60, 72, 84, 96, 22500 (default)
|
||||
PWM Output Frequencies (in Hz):
|
||||
12, 36, 48, 60, 72, 84, 96, 22500 (default)
|
||||
|
||||
Automatic PWM:
|
||||
Automatic PWM
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
The LM93 is capable of complex automatic fan control, with many different
|
||||
points of configuration. To start, each PWM output can be bound to any
|
||||
@ -163,14 +177,16 @@ The eight control sources are: temp1-temp4 (aka "zones" in the datasheet),
|
||||
in the sysfs files pwm<n>_auto_channels, where a "1" enables the binding, and
|
||||
a "0" disables it. The h/w default is 0x0f (all temperatures bound).
|
||||
|
||||
0x01 - Temp 1
|
||||
0x02 - Temp 2
|
||||
0x04 - Temp 3
|
||||
0x08 - Temp 4
|
||||
0x10 - #PROCHOT 1
|
||||
0x20 - #PROCHOT 2
|
||||
0x40 - #VRDHOT 1
|
||||
0x80 - #VRDHOT 2
|
||||
====== ===========
|
||||
0x01 Temp 1
|
||||
0x02 Temp 2
|
||||
0x04 Temp 3
|
||||
0x08 Temp 4
|
||||
0x10 #PROCHOT 1
|
||||
0x20 #PROCHOT 2
|
||||
0x40 #VRDHOT 1
|
||||
0x80 #VRDHOT 2
|
||||
====== ===========
|
||||
|
||||
The function y = f(x) takes a source temperature x to a PWM output y. This
|
||||
function of the LM93 is derived from a base temperature and a table of 12
|
||||
@ -180,7 +196,9 @@ degrees C, with the value of offset <i> for temperature value <n> being
|
||||
contained in the file temp<n>_auto_offset<i>. E.g. if the base temperature
|
||||
is 40C:
|
||||
|
||||
========== ======================= =============== =======
|
||||
offset # temp<n>_auto_offset<i> range pwm
|
||||
========== ======================= =============== =======
|
||||
1 0 - 25.00%
|
||||
2 0 - 28.57%
|
||||
3 1 40C - 41C 32.14%
|
||||
@ -193,7 +211,8 @@ is 40C:
|
||||
10 2 54C - 56C 57.14%
|
||||
11 2 56C - 58C 71.43%
|
||||
12 2 58C - 60C 85.71%
|
||||
> 60C 100.00%
|
||||
- - > 60C 100.00%
|
||||
========== ======================= =============== =======
|
||||
|
||||
Valid offsets are in the range 0C <= x <= 7.5C in 0.5C increments.
|
||||
|
||||
@ -213,7 +232,8 @@ temp<n>_auto_pwm_min. Note, there are only two minimums: one each for temp[12]
|
||||
and temp[34]. Therefore, any change to e.g. temp1_auto_pwm_min will also
|
||||
affect temp2_auto_pwm_min.
|
||||
|
||||
PWM Spin-Up Cycle:
|
||||
PWM Spin-Up Cycle
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
A spin-up cycle occurs when a PWM output is commanded from 0% duty cycle to
|
||||
some value > 0%. The LM93 supports a minimum duty cycle during spin-up. These
|
||||
@ -225,10 +245,11 @@ the spin-up time in seconds. The available spin-up times are constrained by
|
||||
the hardware. Selecting a value which is not available will cause the driver
|
||||
to use the next largest value.
|
||||
|
||||
Spin-up Durations: 0 (disabled, h/w default), 0.1, 0.25, 0.4, 0.7, 1.0,
|
||||
2.0, 4.0
|
||||
Spin-up Durations:
|
||||
0 (disabled, h/w default), 0.1, 0.25, 0.4, 0.7, 1.0, 2.0, 4.0
|
||||
|
||||
#PROCHOT and #VRDHOT PWM Ramping:
|
||||
#PROCHOT and #VRDHOT PWM Ramping
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If the #PROCHOT or #VRDHOT signals are asserted while bound to a PWM output
|
||||
channel, the LM93 will ramp the PWM output up to 100% duty cycle in discrete
|
||||
@ -237,9 +258,11 @@ one value each in seconds: pwm_auto_prochot_ramp and pwm_auto_vrdhot_ramp.
|
||||
The available ramp times are constrained by the hardware. Selecting a value
|
||||
which is not available will cause the driver to use the next largest value.
|
||||
|
||||
Ramp Times: 0 (disabled, h/w default) to 0.75 in 0.05 second intervals
|
||||
Ramp Times:
|
||||
0 (disabled, h/w default) to 0.75 in 0.05 second intervals
|
||||
|
||||
Fan Boost:
|
||||
Fan Boost
|
||||
^^^^^^^^^
|
||||
|
||||
For each temperature channel, there is a boost temperature: if the channel
|
||||
exceeds this limit, the LM93 will immediately drive both PWM outputs to 100%.
|
||||
@ -249,7 +272,8 @@ limit is reached, the temperature channel must drop below this value before
|
||||
the boost function is disabled. This temperature is also expressed in degrees
|
||||
C in the sysfs files temp<n>_auto_boost_hyst.
|
||||
|
||||
GPIO Pins:
|
||||
GPIO Pins
|
||||
^^^^^^^^^
|
||||
|
||||
The LM93 can monitor the logic level of four dedicated GPIO pins as well as the
|
||||
four tach input pins. GPIO0-GPIO3 correspond to (fan) tach 1-4, respectively.
|
||||
@ -260,50 +284,29 @@ LSB is GPIO0, and the MSB is GPIO7.
|
||||
LM93 Unique sysfs Files
|
||||
-----------------------
|
||||
|
||||
file description
|
||||
-------------------------------------------------------------
|
||||
|
||||
prochot<n> current #PROCHOT %
|
||||
|
||||
prochot<n>_avg moving average #PROCHOT %
|
||||
|
||||
prochot<n>_max limit #PROCHOT %
|
||||
|
||||
prochot_short enable or disable logical #PROCHOT pin short
|
||||
|
||||
prochot<n>_override force #PROCHOT assertion as PWM
|
||||
|
||||
prochot_override_duty_cycle
|
||||
duty cycle for the PWM signal used when
|
||||
#PROCHOT is overridden
|
||||
|
||||
prochot<n>_interval #PROCHOT PWM sampling interval
|
||||
|
||||
vrdhot<n> 0 means negated, 1 means asserted
|
||||
|
||||
fan<n>_smart_tach enable or disable smart tach mode
|
||||
|
||||
pwm<n>_auto_channels select control sources for PWM outputs
|
||||
|
||||
pwm<n>_auto_spinup_min minimum duty cycle during spin-up
|
||||
|
||||
pwm<n>_auto_spinup_time duration of spin-up
|
||||
|
||||
pwm_auto_prochot_ramp ramp time per step when #PROCHOT asserted
|
||||
|
||||
pwm_auto_vrdhot_ramp ramp time per step when #VRDHOT asserted
|
||||
|
||||
temp<n>_auto_base temperature channel base
|
||||
|
||||
temp<n>_auto_offset[1-12]
|
||||
temperature channel offsets
|
||||
|
||||
temp<n>_auto_offset_hyst
|
||||
temperature channel offset hysteresis
|
||||
|
||||
temp<n>_auto_boost temperature channel boost (PWMs to 100%) limit
|
||||
|
||||
temp<n>_auto_boost_hyst temperature channel boost hysteresis
|
||||
|
||||
gpio input state of 8 GPIO pins; read-only
|
||||
|
||||
=========================== ===============================================
|
||||
file description
|
||||
=========================== ===============================================
|
||||
prochot<n> current #PROCHOT %
|
||||
prochot<n>_avg moving average #PROCHOT %
|
||||
prochot<n>_max limit #PROCHOT %
|
||||
prochot_short enable or disable logical #PROCHOT pin short
|
||||
prochot<n>_override force #PROCHOT assertion as PWM
|
||||
prochot_override_duty_cycle duty cycle for the PWM signal used when
|
||||
#PROCHOT is overridden
|
||||
prochot<n>_interval #PROCHOT PWM sampling interval
|
||||
vrdhot<n> 0 means negated, 1 means asserted
|
||||
fan<n>_smart_tach enable or disable smart tach mode
|
||||
pwm<n>_auto_channels select control sources for PWM outputs
|
||||
pwm<n>_auto_spinup_min minimum duty cycle during spin-up
|
||||
pwm<n>_auto_spinup_time duration of spin-up
|
||||
pwm_auto_prochot_ramp ramp time per step when #PROCHOT asserted
|
||||
pwm_auto_vrdhot_ramp ramp time per step when #VRDHOT asserted
|
||||
temp<n>_auto_base temperature channel base
|
||||
temp<n>_auto_offset[1-12] temperature channel offsets
|
||||
temp<n>_auto_offset_hyst temperature channel offset hysteresis
|
||||
temp<n>_auto_boost temperature channel boost (PWMs to 100%)
|
||||
limit
|
||||
temp<n>_auto_boost_hyst temperature channel boost hysteresis
|
||||
gpio input state of 8 GPIO pins; read-only
|
||||
=========================== ===============================================
|
@ -2,15 +2,22 @@ Kernel driver lm95234
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
* National Semiconductor / Texas Instruments LM95233
|
||||
Addresses scanned: I2C 0x18, 0x2a, 0x2b
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/product/lm95233
|
||||
* National Semiconductor / Texas Instruments LM95234
|
||||
Addresses scanned: I2C 0x18, 0x4d, 0x4e
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
http://www.ti.com/product/lm95234
|
||||
|
||||
* National Semiconductor / Texas Instruments LM95233
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x2a, 0x2b
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
|
||||
http://www.ti.com/product/lm95233
|
||||
|
||||
* National Semiconductor / Texas Instruments LM95234
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x4d, 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
|
||||
http://www.ti.com/product/lm95234
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
@ -1,16 +1,23 @@
|
||||
Kernel driver lm95245
|
||||
==================
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
* TI LM95235
|
||||
Addresses scanned: I2C 0x18, 0x29, 0x4c
|
||||
Datasheet: Publicly available at the TI website
|
||||
http://www.ti.com/lit/ds/symlink/lm95235.pdf
|
||||
* TI / National Semiconductor LM95245
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x29, 0x4c, 0x4d
|
||||
Datasheet: Publicly available at the TI website
|
||||
http://www.ti.com/lit/ds/symlink/lm95245.pdf
|
||||
|
||||
* TI LM95235
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x29, 0x4c
|
||||
|
||||
Datasheet: Publicly available at the TI website
|
||||
|
||||
http://www.ti.com/lit/ds/symlink/lm95235.pdf
|
||||
|
||||
* TI / National Semiconductor LM95245
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x29, 0x4c, 0x4d
|
||||
|
||||
Datasheet: Publicly available at the TI website
|
||||
|
||||
http://www.ti.com/lit/ds/symlink/lm95245.pdf
|
||||
|
||||
Author: Alexander Stein <alexander.stein@systec-electronic.com>
|
||||
|
83
Documentation/hwmon/lochnagar.rst
Normal file
83
Documentation/hwmon/lochnagar.rst
Normal file
@ -0,0 +1,83 @@
|
||||
Kernel Driver Lochnagar
|
||||
=======================
|
||||
|
||||
Supported systems:
|
||||
* Cirrus Logic : Lochnagar 2
|
||||
|
||||
Author: Lucas A. Tanure Alves
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Lochnagar 2 features built-in Current Monitor circuitry that allows for the
|
||||
measurement of both voltage and current on up to eight of the supply voltage
|
||||
rails provided to the minicards. The Current Monitor does not require any
|
||||
hardware modifications or external circuitry to operate.
|
||||
|
||||
The current and voltage measurements are obtained through the standard register
|
||||
map interface to the Lochnagar board controller, and can therefore be monitored
|
||||
by software.
|
||||
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= =======================================================
|
||||
temp1_input The Lochnagar board temperature (milliCelsius)
|
||||
in0_input Measured voltage for DBVDD1 (milliVolts)
|
||||
in0_label "DBVDD1"
|
||||
curr1_input Measured current for DBVDD1 (milliAmps)
|
||||
curr1_label "DBVDD1"
|
||||
power1_average Measured average power for DBVDD1 (microWatts)
|
||||
power1_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power1_label "DBVDD1"
|
||||
in1_input Measured voltage for 1V8 DSP (milliVolts)
|
||||
in1_label "1V8 DSP"
|
||||
curr2_input Measured current for 1V8 DSP (milliAmps)
|
||||
curr2_label "1V8 DSP"
|
||||
power2_average Measured average power for 1V8 DSP (microWatts)
|
||||
power2_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power2_label "1V8 DSP"
|
||||
in2_input Measured voltage for 1V8 CDC (milliVolts)
|
||||
in2_label "1V8 CDC"
|
||||
curr3_input Measured current for 1V8 CDC (milliAmps)
|
||||
curr3_label "1V8 CDC"
|
||||
power3_average Measured average power for 1V8 CDC (microWatts)
|
||||
power3_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power3_label "1V8 CDC"
|
||||
in3_input Measured voltage for VDDCORE DSP (milliVolts)
|
||||
in3_label "VDDCORE DSP"
|
||||
curr4_input Measured current for VDDCORE DSP (milliAmps)
|
||||
curr4_label "VDDCORE DSP"
|
||||
power4_average Measured average power for VDDCORE DSP (microWatts)
|
||||
power4_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power4_label "VDDCORE DSP"
|
||||
in4_input Measured voltage for AVDD 1V8 (milliVolts)
|
||||
in4_label "AVDD 1V8"
|
||||
curr5_input Measured current for AVDD 1V8 (milliAmps)
|
||||
curr5_label "AVDD 1V8"
|
||||
power5_average Measured average power for AVDD 1V8 (microWatts)
|
||||
power5_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power5_label "AVDD 1V8"
|
||||
curr6_input Measured current for SYSVDD (milliAmps)
|
||||
curr6_label "SYSVDD"
|
||||
power6_average Measured average power for SYSVDD (microWatts)
|
||||
power6_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power6_label "SYSVDD"
|
||||
in6_input Measured voltage for VDDCORE CDC (milliVolts)
|
||||
in6_label "VDDCORE CDC"
|
||||
curr7_input Measured current for VDDCORE CDC (milliAmps)
|
||||
curr7_label "VDDCORE CDC"
|
||||
power7_average Measured average power for VDDCORE CDC (microWatts)
|
||||
power7_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power7_label "VDDCORE CDC"
|
||||
in7_input Measured voltage for MICVDD (milliVolts)
|
||||
in7_label "MICVDD"
|
||||
curr8_input Measured current for MICVDD (milliAmps)
|
||||
curr8_label "MICVDD"
|
||||
power8_average Measured average power for MICVDD (microWatts)
|
||||
power8_average_interval Power averaging time input valid from 1 to 1708mS
|
||||
power8_label "MICVDD"
|
||||
======================= =======================================================
|
||||
|
||||
Note:
|
||||
It is not possible to measure voltage on the SYSVDD rail.
|
@ -2,11 +2,16 @@ Kernel driver ltc2945
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC2945
|
||||
|
||||
Prefix: 'ltc2945'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
http://cds.linear.com/docs/en/datasheet/2945fa.pdf
|
||||
|
||||
http://cds.linear.com/docs/en/datasheet/2945fa.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
@ -26,9 +31,10 @@ which can be safely used to identify the chip. You will have to instantiate
|
||||
the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC2945 at address 0x10
|
||||
on I2C bus #1:
|
||||
$ modprobe ltc2945
|
||||
$ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
on I2C bus #1::
|
||||
|
||||
$ modprobe ltc2945
|
||||
$ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -45,6 +51,7 @@ Current Sense register. The reported value assumes that a 1 mOhm sense resistor
|
||||
is installed. If a different sense resistor is installed, calculate the real
|
||||
current by dividing the reported value by the sense resistor value in mOhm.
|
||||
|
||||
======================= ========================================================
|
||||
in1_input VIN voltage (mV). Voltage is measured either at
|
||||
SENSE+ or VDD pin depending on chip configuration.
|
||||
in1_min Undervoltage threshold
|
||||
@ -82,3 +89,4 @@ power1_input_highest Historical maximum power use
|
||||
power1_reset_history Write 1 to reset power1 history
|
||||
power1_min_alarm Low power alarm
|
||||
power1_max_alarm High power alarm
|
||||
======================= ========================================================
|
@ -2,85 +2,143 @@ Kernel driver ltc2978
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC2974
|
||||
|
||||
Prefix: 'ltc2974'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2974
|
||||
|
||||
* Linear Technology LTC2975
|
||||
|
||||
Prefix: 'ltc2975'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2975
|
||||
|
||||
* Linear Technology LTC2977
|
||||
|
||||
Prefix: 'ltc2977'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2977
|
||||
|
||||
* Linear Technology LTC2978, LTC2978A
|
||||
|
||||
Prefix: 'ltc2978'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2978
|
||||
http://www.linear.com/product/ltc2978a
|
||||
|
||||
http://www.linear.com/product/ltc2978a
|
||||
|
||||
* Linear Technology LTC2980
|
||||
|
||||
Prefix: 'ltc2980'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2980
|
||||
|
||||
* Linear Technology LTC3880
|
||||
|
||||
Prefix: 'ltc3880'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3880
|
||||
|
||||
* Linear Technology LTC3882
|
||||
|
||||
Prefix: 'ltc3882'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3882
|
||||
|
||||
* Linear Technology LTC3883
|
||||
|
||||
Prefix: 'ltc3883'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3883
|
||||
|
||||
* Linear Technology LTC3886
|
||||
|
||||
Prefix: 'ltc3886'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3886
|
||||
|
||||
* Linear Technology LTC3887
|
||||
|
||||
Prefix: 'ltc3887'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3887
|
||||
|
||||
* Linear Technology LTM2987
|
||||
|
||||
Prefix: 'ltm2987'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltm2987
|
||||
|
||||
* Linear Technology LTM4675
|
||||
|
||||
Prefix: 'ltm4675'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltm4675
|
||||
|
||||
* Linear Technology LTM4676
|
||||
|
||||
Prefix: 'ltm4676'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltm4676
|
||||
|
||||
* Analog Devices LTM4686
|
||||
|
||||
Prefix: 'ltm4686'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.analog.com/ltm4686
|
||||
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
LTC2974 and LTC2975 are quad digital power supply managers.
|
||||
LTC2978 is an octal power supply monitor.
|
||||
LTC2977 is a pin compatible replacement for LTC2978.
|
||||
LTC2980 is a 16-channel Power System Manager, consisting of two LTC2977
|
||||
in a single die. The chip is instantiated and reported as two separate chips
|
||||
on two different I2C bus addresses.
|
||||
LTC3880, LTC3882, LTC3886, and LTC3887 are dual output poly-phase step-down
|
||||
DC/DC controllers.
|
||||
LTC3883 is a single phase step-down DC/DC controller.
|
||||
LTM2987 is a 16-channel Power System Manager with two LTC2977 plus
|
||||
additional components on a single die. The chip is instantiated and reported
|
||||
as two separate chips on two different I2C bus addresses.
|
||||
LTM4675 is a dual 9A or single 18A μModule regulator
|
||||
LTM4676 is a dual 13A or single 26A uModule regulator.
|
||||
LTM4686 is a dual 10A or single 20A uModule regulator.
|
||||
- LTC2974 and LTC2975 are quad digital power supply managers.
|
||||
- LTC2978 is an octal power supply monitor.
|
||||
- LTC2977 is a pin compatible replacement for LTC2978.
|
||||
- LTC2980 is a 16-channel Power System Manager, consisting of two LTC2977
|
||||
- in a single die. The chip is instantiated and reported as two separate chips
|
||||
- on two different I2C bus addresses.
|
||||
- LTC3880, LTC3882, LTC3886, and LTC3887 are dual output poly-phase step-down
|
||||
- DC/DC controllers.
|
||||
- LTC3883 is a single phase step-down DC/DC controller.
|
||||
- LTM2987 is a 16-channel Power System Manager with two LTC2977 plus
|
||||
- additional components on a single die. The chip is instantiated and reported
|
||||
- as two separate chips on two different I2C bus addresses.
|
||||
- LTM4675 is a dual 9A or single 18A μModule regulator
|
||||
- LTM4676 is a dual 13A or single 26A uModule regulator.
|
||||
- LTM4686 is a dual 10A or single 20A uModule regulator.
|
||||
|
||||
|
||||
Usage Notes
|
||||
@ -90,127 +148,208 @@ This driver does not probe for PMBus devices. You will have to instantiate
|
||||
devices explicitly.
|
||||
|
||||
Example: the following commands will load the driver for an LTC2978 at address
|
||||
0x60 on I2C bus #1:
|
||||
0x60 on I2C bus #1::
|
||||
|
||||
# modprobe ltc2978
|
||||
# echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
# modprobe ltc2978
|
||||
# echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= ========================================================
|
||||
in1_label "vin"
|
||||
|
||||
in1_input Measured input voltage.
|
||||
|
||||
in1_min Minimum input voltage.
|
||||
|
||||
in1_max Maximum input voltage.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTC2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
|
||||
in1_lcrit Critical minimum input voltage.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTC2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
|
||||
in1_crit Critical maximum input voltage.
|
||||
|
||||
in1_min_alarm Input voltage low alarm.
|
||||
|
||||
in1_max_alarm Input voltage high alarm.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTC2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
in1_lcrit_alarm Input voltage critical low alarm.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTC2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
in1_crit_alarm Input voltage critical high alarm.
|
||||
|
||||
in1_lowest Lowest input voltage.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTC2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
in1_highest Highest input voltage.
|
||||
|
||||
in1_reset_history Reset input voltage history.
|
||||
|
||||
in[N]_label "vout[1-8]".
|
||||
LTC2974, LTC2975: N=2-5
|
||||
LTC2977, LTC2980, LTM2987: N=2-9
|
||||
LTC2978: N=2-9
|
||||
LTC3880, LTC3882, LTC23886 LTC3887, LTM4675, LTM4676:
|
||||
N=2-3
|
||||
LTC3883: N=2
|
||||
|
||||
- LTC2974, LTC2975: N=2-5
|
||||
- LTC2977, LTC2980, LTM2987: N=2-9
|
||||
- LTC2978: N=2-9
|
||||
- LTC3880, LTC3882, LTC23886 LTC3887, LTM4675, LTM4676:
|
||||
N=2-3
|
||||
- LTC3883: N=2
|
||||
|
||||
in[N]_input Measured output voltage.
|
||||
|
||||
in[N]_min Minimum output voltage.
|
||||
|
||||
in[N]_max Maximum output voltage.
|
||||
|
||||
in[N]_lcrit Critical minimum output voltage.
|
||||
|
||||
in[N]_crit Critical maximum output voltage.
|
||||
|
||||
in[N]_min_alarm Output voltage low alarm.
|
||||
|
||||
in[N]_max_alarm Output voltage high alarm.
|
||||
|
||||
in[N]_lcrit_alarm Output voltage critical low alarm.
|
||||
|
||||
in[N]_crit_alarm Output voltage critical high alarm.
|
||||
in[N]_lowest Lowest output voltage. LTC2974, LTC2975,
|
||||
and LTC2978 only.
|
||||
|
||||
in[N]_lowest Lowest output voltage.
|
||||
|
||||
|
||||
LTC2974, LTC2975,and LTC2978 only.
|
||||
|
||||
in[N]_highest Highest output voltage.
|
||||
|
||||
in[N]_reset_history Reset output voltage history.
|
||||
|
||||
temp[N]_input Measured temperature.
|
||||
On LTC2974 and LTC2975, temp[1-4] report external
|
||||
temperatures, and temp5 reports the chip temperature.
|
||||
On LTC2977, LTC2980, LTC2978, and LTM2987, only one
|
||||
temperature measurement is supported and reports
|
||||
the chip temperature.
|
||||
On LTC3880, LTC3882, LTC3887, LTM4675, and LTM4676,
|
||||
temp1 and temp2 report external temperatures, and temp3
|
||||
reports the chip temperature.
|
||||
On LTC3883, temp1 reports an external temperature,
|
||||
and temp2 reports the chip temperature.
|
||||
temp[N]_min Mimimum temperature. LTC2974, LCT2977, LTM2980, LTC2978,
|
||||
and LTM2987 only.
|
||||
|
||||
- On LTC2974 and LTC2975, temp[1-4] report external
|
||||
temperatures, and temp5 reports the chip temperature.
|
||||
- On LTC2977, LTC2980, LTC2978, and LTM2987, only one
|
||||
temperature measurement is supported and reports
|
||||
the chip temperature.
|
||||
- On LTC3880, LTC3882, LTC3887, LTM4675, and LTM4676,
|
||||
temp1 and temp2 report external temperatures, and
|
||||
temp3 reports the chip temperature.
|
||||
- On LTC3883, temp1 reports an external temperature,
|
||||
and temp2 reports the chip temperature.
|
||||
|
||||
temp[N]_min Mimimum temperature.
|
||||
|
||||
LTC2974, LCT2977, LTM2980, LTC2978, and LTM2987 only.
|
||||
|
||||
temp[N]_max Maximum temperature.
|
||||
|
||||
temp[N]_lcrit Critical low temperature.
|
||||
|
||||
temp[N]_crit Critical high temperature.
|
||||
|
||||
temp[N]_min_alarm Temperature low alarm.
|
||||
|
||||
LTC2974, LTC2975, LTC2977, LTM2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
|
||||
temp[N]_max_alarm Temperature high alarm.
|
||||
|
||||
|
||||
temp[N]_lcrit_alarm Temperature critical low alarm.
|
||||
|
||||
temp[N]_crit_alarm Temperature critical high alarm.
|
||||
|
||||
temp[N]_lowest Lowest measured temperature.
|
||||
LTC2974, LTC2975, LTC2977, LTM2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
Not supported for chip temperature sensor on LTC2974 and
|
||||
LTC2975.
|
||||
temp[N]_highest Highest measured temperature. Not supported for chip
|
||||
temperature sensor on LTC2974 and LTC2975.
|
||||
temp[N]_reset_history Reset temperature history. Not supported for chip
|
||||
temperature sensor on LTC2974 and LTC2975.
|
||||
|
||||
- LTC2974, LTC2975, LTC2977, LTM2980, LTC2978, and
|
||||
LTM2987 only.
|
||||
- Not supported for chip temperature sensor on LTC2974
|
||||
and LTC2975.
|
||||
|
||||
temp[N]_highest Highest measured temperature.
|
||||
|
||||
Not supported for chip temperature sensor on
|
||||
LTC2974 and LTC2975.
|
||||
|
||||
temp[N]_reset_history Reset temperature history.
|
||||
|
||||
Not supported for chip temperature sensor on
|
||||
LTC2974 and LTC2975.
|
||||
|
||||
power1_label "pin". LTC3883 and LTC3886 only.
|
||||
|
||||
power1_input Measured input power.
|
||||
|
||||
power[N]_label "pout[1-4]".
|
||||
LTC2974, LTC2975: N=1-4
|
||||
LTC2977, LTC2980, LTM2987: Not supported
|
||||
LTC2978: Not supported
|
||||
LTC3880, LTC3882, LTC3886, LTC3887, LTM4675, LTM4676:
|
||||
N=1-2
|
||||
LTC3883: N=2
|
||||
|
||||
- LTC2974, LTC2975: N=1-4
|
||||
- LTC2977, LTC2980, LTM2987: Not supported
|
||||
- LTC2978: Not supported
|
||||
- LTC3880, LTC3882, LTC3886, LTC3887, LTM4675, LTM4676:
|
||||
N=1-2
|
||||
- LTC3883: N=2
|
||||
|
||||
power[N]_input Measured output power.
|
||||
|
||||
curr1_label "iin". LTC3880, LTC3883, LTC3886, LTC3887, LTM4675,
|
||||
curr1_label "iin".
|
||||
|
||||
LTC3880, LTC3883, LTC3886, LTC3887, LTM4675,
|
||||
and LTM4676 only.
|
||||
|
||||
curr1_input Measured input current.
|
||||
|
||||
curr1_max Maximum input current.
|
||||
|
||||
curr1_max_alarm Input current high alarm.
|
||||
curr1_highest Highest input current. LTC3883 and LTC3886 only.
|
||||
curr1_reset_history Reset input current history. LTC3883 and LTC3886 only.
|
||||
|
||||
curr1_highest Highest input current.
|
||||
|
||||
LTC3883 and LTC3886 only.
|
||||
|
||||
curr1_reset_history Reset input current history.
|
||||
|
||||
LTC3883 and LTC3886 only.
|
||||
|
||||
curr[N]_label "iout[1-4]".
|
||||
LTC2974, LTC2975: N=1-4
|
||||
LTC2977, LTC2980, LTM2987: not supported
|
||||
LTC2978: not supported
|
||||
LTC3880, LTC3882, LTC3886, LTC3887, LTM4675, LTM4676:
|
||||
N=2-3
|
||||
LTC3883: N=2
|
||||
|
||||
- LTC2974, LTC2975: N=1-4
|
||||
- LTC2977, LTC2980, LTM2987: not supported
|
||||
- LTC2978: not supported
|
||||
- LTC3880, LTC3882, LTC3886, LTC3887, LTM4675, LTM4676:
|
||||
N=2-3
|
||||
- LTC3883: N=2
|
||||
|
||||
curr[N]_input Measured output current.
|
||||
|
||||
curr[N]_max Maximum output current.
|
||||
|
||||
curr[N]_crit Critical high output current.
|
||||
curr[N]_lcrit Critical low output current. LTC2974 and LTC2975 only.
|
||||
curr[N]_max_alarm Output current high alarm.
|
||||
curr[N]_crit_alarm Output current critical high alarm.
|
||||
curr[N]_lcrit_alarm Output current critical low alarm.
|
||||
|
||||
curr[N]_lcrit Critical low output current.
|
||||
|
||||
LTC2974 and LTC2975 only.
|
||||
curr[N]_lowest Lowest output current. LTC2974 and LTC2975 only.
|
||||
|
||||
curr[N]_max_alarm Output current high alarm.
|
||||
|
||||
curr[N]_crit_alarm Output current critical high alarm.
|
||||
|
||||
curr[N]_lcrit_alarm Output current critical low alarm.
|
||||
|
||||
LTC2974 and LTC2975 only.
|
||||
|
||||
curr[N]_lowest Lowest output current.
|
||||
|
||||
LTC2974 and LTC2975 only.
|
||||
|
||||
curr[N]_highest Highest output current.
|
||||
|
||||
curr[N]_reset_history Reset output current history.
|
||||
======================= ========================================================
|
@ -1,14 +1,23 @@
|
||||
Kernel driver ltc2990
|
||||
=====================
|
||||
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC2990
|
||||
|
||||
Prefix: 'ltc2990'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc2990
|
||||
|
||||
Author: Mike Looijmans <mike.looijmans@topic.nl>
|
||||
Tom Levens <tom.levens@cern.ch>
|
||||
|
||||
|
||||
Author:
|
||||
|
||||
- Mike Looijmans <mike.looijmans@topic.nl>
|
||||
- Tom Levens <tom.levens@cern.ch>
|
||||
|
||||
|
||||
Description
|
||||
@ -31,17 +40,21 @@ devices explicitly.
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
============= ==================================================
|
||||
in0_input Voltage at Vcc pin in millivolt (range 2.5V to 5V)
|
||||
temp1_input Internal chip temperature in millidegrees Celcius
|
||||
temp1_input Internal chip temperature in millidegrees Celsius
|
||||
============= ==================================================
|
||||
|
||||
A subset of the following attributes are visible, depending on the measurement
|
||||
mode of the chip.
|
||||
|
||||
============= ==========================================================
|
||||
in[1-4]_input Voltage at V[1-4] pin in millivolt
|
||||
temp2_input External temperature sensor TR1 in millidegrees Celcius
|
||||
temp3_input External temperature sensor TR2 in millidegrees Celcius
|
||||
temp2_input External temperature sensor TR1 in millidegrees Celsius
|
||||
temp3_input External temperature sensor TR2 in millidegrees Celsius
|
||||
curr1_input Current in mA across V1-V2 assuming a 1mOhm sense resistor
|
||||
curr2_input Current in mA across V3-V4 assuming a 1mOhm sense resistor
|
||||
============= ==========================================================
|
||||
|
||||
The "curr*_input" measurements actually report the voltage drop across the
|
||||
input pins in microvolts. This is equivalent to the current through a 1mOhm
|
@ -2,9 +2,13 @@ Kernel driver ltc3815
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC3815
|
||||
|
||||
Prefix: 'ltc3815'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://www.linear.com/product/ltc3815
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
@ -23,15 +27,16 @@ This driver does not probe for PMBus devices. You will have to instantiate
|
||||
devices explicitly.
|
||||
|
||||
Example: the following commands will load the driver for an LTC3815
|
||||
at address 0x20 on I2C bus #1:
|
||||
at address 0x20 on I2C bus #1::
|
||||
|
||||
# modprobe ltc3815
|
||||
# echo ltc3815 0x20 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
# modprobe ltc3815
|
||||
# echo ltc3815 0x20 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= =======================================================
|
||||
in1_label "vin"
|
||||
in1_input Measured input voltage.
|
||||
in1_alarm Input voltage alarm.
|
||||
@ -59,3 +64,4 @@ curr2_input Measured output current.
|
||||
curr2_alarm Output current alarm.
|
||||
curr2_highest Highest output current.
|
||||
curr2_reset_history Reset output current history.
|
||||
======================= =======================================================
|
@ -2,11 +2,16 @@ Kernel driver ltc4151
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC4151
|
||||
|
||||
Prefix: 'ltc4151'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
http://www.linear.com/docs/Datasheet/4151fc.pdf
|
||||
|
||||
http://www.linear.com/docs/Datasheet/4151fc.pdf
|
||||
|
||||
Author: Per Dalen <per.dalen@appeartv.com>
|
||||
|
||||
@ -25,9 +30,10 @@ which can be safely used to identify the chip. You will have to instantiate
|
||||
the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC4151 at address 0x6f
|
||||
on I2C bus #0:
|
||||
# modprobe ltc4151
|
||||
# echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device
|
||||
on I2C bus #0::
|
||||
|
||||
# modprobe ltc4151
|
||||
# echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -40,8 +46,10 @@ Current reading provided by this driver is reported as obtained from the Current
|
||||
Sense register. The reported value assumes that a 1 mOhm sense resistor is
|
||||
installed.
|
||||
|
||||
======================= ==================
|
||||
in1_input VDIN voltage (mV)
|
||||
|
||||
in2_input ADIN voltage (mV)
|
||||
|
||||
curr1_input SENSE current (mA)
|
||||
======================= ==================
|
@ -2,11 +2,16 @@ Kernel driver ltc4215
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC4215
|
||||
|
||||
Prefix: 'ltc4215'
|
||||
|
||||
Addresses scanned: 0x44
|
||||
|
||||
Datasheet:
|
||||
http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1163,P17572,D12697
|
||||
|
||||
http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1163,P17572,D12697
|
||||
|
||||
Author: Ira W. Snyder <iws@ovro.caltech.edu>
|
||||
|
||||
@ -26,9 +31,10 @@ of the possible addresses are unfriendly to probing. You will have to
|
||||
instantiate the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC4215 at address 0x44
|
||||
on I2C bus #0:
|
||||
$ modprobe ltc4215
|
||||
$ echo ltc4215 0x44 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||
on I2C bus #0::
|
||||
|
||||
$ modprobe ltc4215
|
||||
$ echo ltc4215 0x44 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -38,6 +44,7 @@ The LTC4215 has built-in limits for overvoltage, undervoltage, and
|
||||
undercurrent warnings. This makes it very likely that the reference
|
||||
circuit will be used.
|
||||
|
||||
======================= =========================
|
||||
in1_input input voltage
|
||||
in2_input output voltage
|
||||
|
||||
@ -49,3 +56,4 @@ curr1_max_alarm overcurrent alarm
|
||||
|
||||
power1_input power usage
|
||||
power1_alarm power bad alarm
|
||||
======================= =========================
|
@ -2,11 +2,16 @@ Kernel driver ltc4245
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC4245
|
||||
|
||||
Prefix: 'ltc4245'
|
||||
|
||||
Addresses scanned: 0x20-0x3f
|
||||
|
||||
Datasheet:
|
||||
http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517
|
||||
|
||||
http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517
|
||||
|
||||
Author: Ira W. Snyder <iws@ovro.caltech.edu>
|
||||
|
||||
@ -27,9 +32,10 @@ of the possible addresses are unfriendly to probing. You will have to
|
||||
instantiate the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC4245 at address 0x23
|
||||
on I2C bus #1:
|
||||
$ modprobe ltc4245
|
||||
$ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
on I2C bus #1::
|
||||
|
||||
$ modprobe ltc4245
|
||||
$ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -42,6 +48,7 @@ This driver uses the values in the datasheet to change the register values
|
||||
into the values specified in the sysfs-interface document. The current readings
|
||||
rely on the sense resistors listed in Table 2: "Sense Resistor Values".
|
||||
|
||||
======================= =======================================================
|
||||
in1_input 12v input voltage (mV)
|
||||
in2_input 5v input voltage (mV)
|
||||
in3_input 3v input voltage (mV)
|
||||
@ -80,6 +87,7 @@ power1_input 12v power usage (mW)
|
||||
power2_input 5v power usage (mW)
|
||||
power3_input 3v power usage (mW)
|
||||
power4_input Vee (-12v) power usage (mW)
|
||||
======================= =======================================================
|
||||
|
||||
|
||||
Note 1
|
||||
@ -96,6 +104,7 @@ slowly, -EAGAIN will be returned when you read the sysfs attribute containing
|
||||
the sensor reading.
|
||||
|
||||
The LTC4245 chip can be configured to sample all GPIO pins with two methods:
|
||||
|
||||
1) platform data -- see include/linux/platform_data/ltc4245.h
|
||||
2) OF device tree -- add the "ltc4245,use-extra-gpios" property to each chip
|
||||
|
@ -2,11 +2,16 @@ Kernel driver ltc4260
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC4260
|
||||
|
||||
Prefix: 'ltc4260'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
http://cds.linear.com/docs/en/datasheet/4260fc.pdf
|
||||
|
||||
http://cds.linear.com/docs/en/datasheet/4260fc.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
@ -26,9 +31,10 @@ which can be safely used to identify the chip. You will have to instantiate
|
||||
the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC4260 at address 0x10
|
||||
on I2C bus #1:
|
||||
$ modprobe ltc4260
|
||||
$ echo ltc4260 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
on I2C bus #1::
|
||||
|
||||
$ modprobe ltc4260
|
||||
$ echo ltc4260 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -45,6 +51,7 @@ Current Sense register. The reported value assumes that a 1 mOhm sense resistor
|
||||
is installed. If a different sense resistor is installed, calculate the real
|
||||
current by dividing the reported value by the sense resistor value in mOhm.
|
||||
|
||||
======================= =======================
|
||||
in1_input SOURCE voltage (mV)
|
||||
in1_min_alarm Undervoltage alarm
|
||||
in1_max_alarm Overvoltage alarm
|
||||
@ -54,3 +61,4 @@ in2_alarm Power bad alarm
|
||||
|
||||
curr1_input SENSE current (mA)
|
||||
curr1_alarm SENSE overcurrent alarm
|
||||
======================= =======================
|
@ -2,11 +2,16 @@ Kernel driver ltc4261
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Linear Technology LTC4261
|
||||
|
||||
Prefix: 'ltc4261'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
http://cds.linear.com/docs/Datasheet/42612fb.pdf
|
||||
|
||||
http://cds.linear.com/docs/Datasheet/42612fb.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
@ -26,9 +31,10 @@ which can be safely used to identify the chip. You will have to instantiate
|
||||
the devices explicitly.
|
||||
|
||||
Example: the following will load the driver for an LTC4261 at address 0x10
|
||||
on I2C bus #1:
|
||||
$ modprobe ltc4261
|
||||
$ echo ltc4261 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
on I2C bus #1::
|
||||
|
||||
$ modprobe ltc4261
|
||||
$ echo ltc4261 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||
|
||||
|
||||
Sysfs entries
|
||||
@ -51,6 +57,7 @@ the proximity of the ADIN2 pin to the OV pin. ADIN2 is, however, not available
|
||||
on all chip variants. To ensure that the alarm condition is reported to the user,
|
||||
report it with both voltage sensors.
|
||||
|
||||
======================= =============================
|
||||
in1_input ADIN2 voltage (mV)
|
||||
in1_min_alarm ADIN/ADIN2 Undervoltage alarm
|
||||
in1_max_alarm ADIN/ADIN2 Overvoltage alarm
|
||||
@ -61,3 +68,4 @@ in2_max_alarm ADIN/ADIN2 Overvoltage alarm
|
||||
|
||||
curr1_input SENSE current (mA)
|
||||
curr1_alarm SENSE overcurrent alarm
|
||||
======================= =============================
|
@ -2,9 +2,13 @@ Kernel driver max16064
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX16064
|
||||
|
||||
Prefix: 'max16064'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
@ -17,7 +21,7 @@ This driver supports hardware monitoring for Maxim MAX16064 Quad Power-Supply
|
||||
Controller with Active-Voltage Output Control and PMBus Interface.
|
||||
|
||||
The driver is a client driver to the core PMBus driver.
|
||||
Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
|
||||
Please see Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
|
||||
|
||||
|
||||
Usage Notes
|
||||
@ -40,16 +44,20 @@ Sysfs entries
|
||||
The following attributes are supported. Limits are read-write; all other
|
||||
attributes are read-only.
|
||||
|
||||
======================= ========================================================
|
||||
in[1-4]_label "vout[1-4]"
|
||||
in[1-4]_input Measured voltage. From READ_VOUT register.
|
||||
in[1-4]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
|
||||
in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
|
||||
in[1-4]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
|
||||
in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
|
||||
in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
|
||||
register.
|
||||
in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
|
||||
in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
|
||||
in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
|
||||
in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
|
||||
in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
|
||||
status.
|
||||
in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
|
||||
status.
|
||||
in[1-4]_highest Historical maximum voltage.
|
||||
in[1-4]_reset_history Write any value to reset history.
|
||||
|
||||
@ -64,3 +72,4 @@ temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
|
||||
status is set.
|
||||
temp1_highest Historical maximum temperature.
|
||||
temp1_reset_history Write any value to reset history.
|
||||
======================= ========================================================
|
@ -1,28 +1,48 @@
|
||||
Kernel driver max16065
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
* Maxim MAX16065, MAX16066
|
||||
Prefixes: 'max16065', 'max16066'
|
||||
Addresses scanned: -
|
||||
Datasheet:
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16065-MAX16066.pdf
|
||||
* Maxim MAX16067
|
||||
Prefix: 'max16067'
|
||||
Addresses scanned: -
|
||||
Datasheet:
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16067.pdf
|
||||
* Maxim MAX16068
|
||||
Prefix: 'max16068'
|
||||
Addresses scanned: -
|
||||
Datasheet:
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16068.pdf
|
||||
* Maxim MAX16070/MAX16071
|
||||
Prefixes: 'max16070', 'max16071'
|
||||
Addresses scanned: -
|
||||
Datasheet:
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX16065, MAX16066
|
||||
|
||||
Prefixes: 'max16065', 'max16066'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16065-MAX16066.pdf
|
||||
|
||||
* Maxim MAX16067
|
||||
|
||||
Prefix: 'max16067'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16067.pdf
|
||||
|
||||
* Maxim MAX16068
|
||||
|
||||
Prefix: 'max16068'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16068.pdf
|
||||
|
||||
* Maxim MAX16070/MAX16071
|
||||
|
||||
Prefixes: 'max16070', 'max16071'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet:
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
@ -73,6 +93,7 @@ turn into a brick.
|
||||
Sysfs entries
|
||||
-------------
|
||||
|
||||
======================= ========================================================
|
||||
in[0-11]_input Input voltage measurements.
|
||||
|
||||
in12_input Voltage on CSP (Current Sense Positive) pin.
|
||||
@ -103,3 +124,4 @@ curr1_input Current sense input; only if the chip supports current
|
||||
|
||||
curr1_alarm Overcurrent alarm; only if the chip supports current
|
||||
sensing and if current sensing is enabled.
|
||||
======================= ========================================================
|
@ -2,15 +2,20 @@ Kernel driver max1619
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX1619
|
||||
|
||||
Prefix: 'max1619'
|
||||
|
||||
Addresses scanned: I2C 0x18-0x1a, 0x29-0x2b, 0x4c-0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf
|
||||
|
||||
http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf
|
||||
|
||||
Authors:
|
||||
Oleksij Rempel <bug-track@fisher-privat.net>,
|
||||
Jean Delvare <jdelvare@suse.de>
|
||||
- Oleksij Rempel <bug-track@fisher-privat.net>,
|
||||
- Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -26,4 +31,3 @@ Only the external sensor has high and low limits.
|
||||
The max1619 driver will not update its values more frequently than every
|
||||
other second; reading them more often will do no harm, but will return
|
||||
'old' values.
|
||||
|
@ -2,12 +2,17 @@ Kernel driver max1668
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX1668, MAX1805 and MAX1989
|
||||
|
||||
Prefix: 'max1668'
|
||||
|
||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
|
||||
|
||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX1668-MAX1989.pdf
|
||||
|
||||
Author:
|
||||
|
||||
David George <david.george@ska.ac.za>
|
||||
|
||||
Description
|
||||
@ -23,8 +28,9 @@ two ICs.
|
||||
The driver is able to distinguish between the devices and creates sysfs
|
||||
entries as follows:
|
||||
|
||||
MAX1805, MAX1668 and MAX1989:
|
||||
- MAX1805, MAX1668 and MAX1989:
|
||||
|
||||
=============== == ============================================================
|
||||
temp1_input ro local (ambient) temperature
|
||||
temp1_max rw local temperature maximum threshold for alarm
|
||||
temp1_max_alarm ro local temperature maximum threshold alarm
|
||||
@ -40,8 +46,11 @@ temp3_max rw remote temperature 2 maximum threshold for alarm
|
||||
temp3_max_alarm ro remote temperature 2 maximum threshold alarm
|
||||
temp3_min rw remote temperature 2 minimum threshold for alarm
|
||||
temp3_min_alarm ro remote temperature 2 minimum threshold alarm
|
||||
=============== == ============================================================
|
||||
|
||||
MAX1668 and MAX1989 only:
|
||||
- MAX1668 and MAX1989 only:
|
||||
|
||||
=============== == ============================================================
|
||||
temp4_input ro remote temperature 3
|
||||
temp4_max rw remote temperature 3 maximum threshold for alarm
|
||||
temp4_max_alarm ro remote temperature 3 maximum threshold alarm
|
||||
@ -52,6 +61,7 @@ temp5_max rw remote temperature 4 maximum threshold for alarm
|
||||
temp5_max_alarm ro remote temperature 4 maximum threshold alarm
|
||||
temp5_min rw remote temperature 4 minimum threshold for alarm
|
||||
temp5_min_alarm ro remote temperature 4 minimum threshold alarm
|
||||
=============== == ============================================================
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
@ -1,16 +1,22 @@
|
||||
Maxim MAX197 driver
|
||||
===================
|
||||
Kernel driver max197
|
||||
====================
|
||||
|
||||
Author:
|
||||
|
||||
* Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX197
|
||||
|
||||
Prefix: 'max197'
|
||||
|
||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf
|
||||
|
||||
* Maxim MAX199
|
||||
|
||||
Prefix: 'max199'
|
||||
|
||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf
|
||||
|
||||
Description
|
||||
@ -26,7 +32,7 @@ Platform data
|
||||
-------------
|
||||
|
||||
The MAX197 platform data (defined in linux/platform_data/max197.h) should be
|
||||
filled with a pointer to a conversion function, defined like:
|
||||
filled with a pointer to a conversion function, defined like::
|
||||
|
||||
int convert(u8 ctrl);
|
||||
|
||||
@ -36,25 +42,29 @@ or a negative error code otherwise.
|
||||
|
||||
Control byte format:
|
||||
|
||||
======= ========== ============================================
|
||||
Bit Name Description
|
||||
7,6 PD1,PD0 Clock and Power-Down modes
|
||||
5 ACQMOD Internal or External Controlled Acquisition
|
||||
4 RNG Full-scale voltage magnitude at the input
|
||||
3 BIP Unipolar or Bipolar conversion mode
|
||||
2,1,0 A2,A1,A0 Channel
|
||||
======= ========== ============================================
|
||||
|
||||
Sysfs interface
|
||||
---------------
|
||||
|
||||
* in[0-7]_input: The conversion value for the corresponding channel.
|
||||
RO
|
||||
============== ==============================================================
|
||||
in[0-7]_input The conversion value for the corresponding channel.
|
||||
RO
|
||||
|
||||
* in[0-7]_min: The lower limit (in mV) for the corresponding channel.
|
||||
For the MAX197, it will be adjusted to -10000, -5000, or 0.
|
||||
For the MAX199, it will be adjusted to -4000, -2000, or 0.
|
||||
RW
|
||||
in[0-7]_min The lower limit (in mV) for the corresponding channel.
|
||||
For the MAX197, it will be adjusted to -10000, -5000, or 0.
|
||||
For the MAX199, it will be adjusted to -4000, -2000, or 0.
|
||||
RW
|
||||
|
||||
* in[0-7]_max: The higher limit (in mV) for the corresponding channel.
|
||||
For the MAX197, it will be adjusted to 0, 5000, or 10000.
|
||||
For the MAX199, it will be adjusted to 0, 2000, or 4000.
|
||||
RW
|
||||
in[0-7]_max The higher limit (in mV) for the corresponding channel.
|
||||
For the MAX197, it will be adjusted to 0, 5000, or 10000.
|
||||
For the MAX199, it will be adjusted to 0, 2000, or 4000.
|
||||
RW
|
||||
============== ==============================================================
|
@ -2,10 +2,15 @@ Kernel driver max20751
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* maxim MAX20751
|
||||
|
||||
Prefix: 'max20751'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX20751.pdf
|
||||
|
||||
Application note: http://pdfserv.maximintegrated.com/en/an/AN5941.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
@ -18,7 +23,7 @@ This driver supports MAX20751 Multiphase Master with PMBus Interface
|
||||
and Internal Buck Converter.
|
||||
|
||||
The driver is a client driver to the core PMBus driver.
|
||||
Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
|
||||
Please see Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
|
||||
|
||||
|
||||
Usage Notes
|
||||
@ -40,6 +45,7 @@ Sysfs entries
|
||||
|
||||
The following attributes are supported.
|
||||
|
||||
======================= =======================================================
|
||||
in1_label "vin1"
|
||||
in1_input Measured voltage.
|
||||
in1_min Minimum input voltage.
|
||||
@ -75,3 +81,4 @@ temp1_crit_alarm Chip temperature critical high alarm.
|
||||
|
||||
power1_input Output power.
|
||||
power1_label "pout1"
|
||||
======================= =======================================================
|
@ -2,15 +2,25 @@ Kernel driver max31722
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim Integrated MAX31722
|
||||
|
||||
Prefix: 'max31722'
|
||||
|
||||
ACPI ID: MAX31722
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
||||
|
||||
* Maxim Integrated MAX31723
|
||||
|
||||
Prefix: 'max31723'
|
||||
|
||||
ACPI ID: MAX31723
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
||||
|
||||
Author: Tiberiu Breana <tiberiu.a.breana@intel.com>
|
||||
@ -31,4 +41,6 @@ Sysfs entries
|
||||
|
||||
The following attribute is supported:
|
||||
|
||||
======================= =======================================================
|
||||
temp1_input Measured temperature. Read-only.
|
||||
======================= =======================================================
|
@ -2,9 +2,13 @@ Kernel driver max31785
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX31785, MAX31785A
|
||||
|
||||
Prefix: 'max31785' or 'max31785a'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31785.pdf
|
||||
|
||||
Author: Andrew Jeffery <andrew@aj.id.au>
|
||||
@ -30,6 +34,7 @@ devices explicitly.
|
||||
Sysfs attributes
|
||||
----------------
|
||||
|
||||
======================= =======================================================
|
||||
fan[1-4]_alarm Fan alarm.
|
||||
fan[1-4]_fault Fan fault.
|
||||
fan[1-8]_input Fan RPM. On the MAX31785A, inputs 5-8 correspond to the
|
||||
@ -58,3 +63,4 @@ temp[1-11]_crit_alarm Chip temperature critical high alarm
|
||||
temp[1-11]_input Measured temperature
|
||||
temp[1-11]_max Maximum temperature
|
||||
temp[1-11]_max_alarm Chip temperature high alarm
|
||||
======================= =======================================================
|
@ -2,9 +2,13 @@ Kernel driver max31790
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX31790
|
||||
|
||||
Prefix: 'max31790'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://pdfserv.maximintegrated.com/en/ds/MAX31790.pdf
|
||||
|
||||
Author: Il Han <corone.il.han@gmail.com>
|
||||
@ -30,8 +34,10 @@ also be configured to serve as tachometer inputs.
|
||||
Sysfs entries
|
||||
-------------
|
||||
|
||||
================== === =======================================================
|
||||
fan[1-12]_input RO fan tachometer speed in RPM
|
||||
fan[1-12]_fault RO fan experienced fault
|
||||
fan[1-6]_target RW desired fan speed in RPM
|
||||
pwm[1-6]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode
|
||||
pwm[1-6] RW fan target duty cycle (0-255)
|
||||
================== === =======================================================
|
@ -2,34 +2,63 @@ Kernel driver max34440
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX34440
|
||||
|
||||
Prefixes: 'max34440'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34440.pdf
|
||||
|
||||
* Maxim MAX34441
|
||||
|
||||
PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
|
||||
|
||||
Prefixes: 'max34441'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34441.pdf
|
||||
|
||||
* Maxim MAX34446
|
||||
|
||||
PMBus Power-Supply Data Logger
|
||||
|
||||
Prefixes: 'max34446'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34446.pdf
|
||||
|
||||
* Maxim MAX34451
|
||||
|
||||
PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
|
||||
|
||||
Prefixes: 'max34451'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34451.pdf
|
||||
|
||||
* Maxim MAX34460
|
||||
|
||||
PMBus 12-Channel Voltage Monitor & Sequencer
|
||||
|
||||
Prefix: 'max34460'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34460.pdf
|
||||
|
||||
* Maxim MAX34461
|
||||
|
||||
PMBus 16-Channel Voltage Monitor & Sequencer
|
||||
|
||||
Prefix: 'max34461'
|
||||
|
||||
Addresses scanned: -
|
||||
|
||||
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf
|
||||
|
||||
Author: Guenter Roeck <linux@roeck-us.net>
|
||||
@ -47,7 +76,7 @@ based on GIN pins. The MAX34460 supports 12 voltage channels, and the MAX34461
|
||||
supports 16 voltage channels.
|
||||
|
||||
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
|
||||
@ -77,42 +106,67 @@ Sysfs entries
|
||||
The following attributes are supported. Limits are read-write; all other
|
||||
attributes are read-only.
|
||||
|
||||
In
|
||||
~~
|
||||
|
||||
======================= =======================================================
|
||||
in[1-6]_label "vout[1-6]".
|
||||
in[1-6]_input Measured voltage. From READ_VOUT register.
|
||||
in[1-6]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
|
||||
in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
|
||||
in[1-6]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
|
||||
in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
|
||||
in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
|
||||
register.
|
||||
in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
|
||||
in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
|
||||
in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
|
||||
in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
|
||||
in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
|
||||
status.
|
||||
in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
|
||||
status.
|
||||
in[1-6]_lowest Historical minimum voltage.
|
||||
in[1-6]_highest Historical maximum voltage.
|
||||
in[1-6]_reset_history Write any value to reset history.
|
||||
======================= =======================================================
|
||||
|
||||
MAX34446 only supports in[1-4].
|
||||
.. note:: MAX34446 only supports in[1-4].
|
||||
|
||||
Curr
|
||||
~~~~
|
||||
|
||||
======================= ========================================================
|
||||
curr[1-6]_label "iout[1-6]".
|
||||
curr[1-6]_input Measured current. From READ_IOUT register.
|
||||
curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
|
||||
curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
|
||||
curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
|
||||
register.
|
||||
curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
|
||||
curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
|
||||
curr[1-4]_average Historical average current (MAX34446/34451 only).
|
||||
curr[1-6]_highest Historical maximum current.
|
||||
curr[1-6]_reset_history Write any value to reset history.
|
||||
======================= ========================================================
|
||||
|
||||
in6 and curr6 attributes only exist for MAX34440.
|
||||
MAX34446 only supports curr[1-4].
|
||||
.. note::
|
||||
|
||||
- in6 and curr6 attributes only exist for MAX34440.
|
||||
- MAX34446 only supports curr[1-4].
|
||||
|
||||
Power
|
||||
~~~~~
|
||||
|
||||
======================= ========================================================
|
||||
power[1,3]_label "pout[1,3]"
|
||||
power[1,3]_input Measured power.
|
||||
power[1,3]_average Historical average power.
|
||||
power[1,3]_highest Historical maximum power.
|
||||
======================= ========================================================
|
||||
|
||||
Power attributes only exist for MAX34446.
|
||||
.. note:: Power attributes only exist for MAX34446.
|
||||
|
||||
Temp
|
||||
~~~~
|
||||
|
||||
======================= ========================================================
|
||||
temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register.
|
||||
temp1 is the chip's internal temperature. temp2..temp5
|
||||
are remote I2C temperature sensors. For MAX34441, temp6
|
||||
@ -125,11 +179,17 @@ temp[1-8]_crit_alarm Temperature critical high alarm.
|
||||
temp[1-8]_average Historical average temperature (MAX34446 only).
|
||||
temp[1-8]_highest Historical maximum temperature.
|
||||
temp[1-8]_reset_history Write any value to reset history.
|
||||
======================= ========================================================
|
||||
|
||||
temp7 and temp8 attributes only exist for MAX34440.
|
||||
MAX34446 only supports temp[1-3].
|
||||
|
||||
MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on input pins)
|
||||
and temp[1-5].
|
||||
MAX34460 supports attribute groups in[1-12] and temp[1-5].
|
||||
MAX34461 supports attribute groups in[1-16] and temp[1-5].
|
||||
.. note::
|
||||
- temp7 and temp8 attributes only exist for MAX34440.
|
||||
- MAX34446 only supports temp[1-3].
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
- MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on
|
||||
input pins) and temp[1-5].
|
||||
- MAX34460 supports attribute groups in[1-12] and temp[1-5].
|
||||
- MAX34461 supports attribute groups in[1-16] and temp[1-5].
|
@ -2,14 +2,18 @@ Kernel driver max6639
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX6639
|
||||
|
||||
Prefix: 'max6639'
|
||||
|
||||
Addresses scanned: I2C 0x2c, 0x2e, 0x2f
|
||||
|
||||
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6639.pdf
|
||||
|
||||
Authors:
|
||||
He Changqing <hechangqing@semptian.com>
|
||||
Roland Stigge <stigge@antcom.de>
|
||||
- He Changqing <hechangqing@semptian.com>
|
||||
- Roland Stigge <stigge@antcom.de>
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -21,19 +25,20 @@ diode-connected transistors.
|
||||
|
||||
The following device attributes are implemented via sysfs:
|
||||
|
||||
====================== ==== ===================================================
|
||||
Attribute R/W Contents
|
||||
----------------------------------------------------------------------------
|
||||
====================== ==== ===================================================
|
||||
temp1_input R Temperature channel 1 input (0..150 C)
|
||||
temp2_input R Temperature channel 2 input (0..150 C)
|
||||
temp1_fault R Temperature channel 1 diode fault
|
||||
temp2_fault R Temperature channel 2 diode fault
|
||||
temp1_max RW Set THERM temperature for input 1
|
||||
(in C, see datasheet)
|
||||
(in C, see datasheet)
|
||||
temp2_max RW Set THERM temperature for input 2
|
||||
temp1_crit RW Set ALERT temperature for input 1
|
||||
temp2_crit RW Set ALERT temperature for input 2
|
||||
temp1_emergency RW Set OT temperature for input 1
|
||||
(in C, see datasheet)
|
||||
(in C, see datasheet)
|
||||
temp2_emergency RW Set OT temperature for input 2
|
||||
pwm1 RW Fan 1 target duty cycle (0..255)
|
||||
pwm2 RW Fan 2 target duty cycle (0..255)
|
||||
@ -47,3 +52,4 @@ temp1_crit_alarm R Alarm on ALERT temperature on channel 1
|
||||
temp2_crit_alarm R Alarm on ALERT temperature on channel 2
|
||||
temp1_emergency_alarm R Alarm on OT temperature on channel 1
|
||||
temp2_emergency_alarm R Alarm on OT temperature on channel 2
|
||||
====================== ==== ===================================================
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user