docs: hwmon: convert remaining files to ReST format
Convert all other hwmon files to ReST format, in order to allow them to be parsed by Sphinx. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
b32570a4f0
commit
b04f2f7d38
|
@ -2,14 +2,18 @@ Kernel driver ab8500
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* ST-Ericsson AB8500
|
* ST-Ericsson AB8500
|
||||||
|
|
||||||
Prefix: 'ab8500'
|
Prefix: 'ab8500'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Martin Persson <martin.persson@stericsson.com>
|
- Martin Persson <martin.persson@stericsson.com>
|
||||||
Hongbo Zhang <hongbo.zhang@linaro.org>
|
- Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,69 +2,85 @@ Kernel driver abituguru
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Abit uGuru revision 1 & 2 (Hardware Monitor part only)
|
* Abit uGuru revision 1 & 2 (Hardware Monitor part only)
|
||||||
|
|
||||||
Prefix: 'abituguru'
|
Prefix: 'abituguru'
|
||||||
|
|
||||||
Addresses scanned: ISA 0x0E0
|
Addresses scanned: ISA 0x0E0
|
||||||
|
|
||||||
Datasheet: Not available, this driver is based on reverse engineering.
|
Datasheet: Not available, this driver is based on reverse engineering.
|
||||||
A "Datasheet" has been written based on the reverse engineering it
|
A "Datasheet" has been written based on the reverse engineering it
|
||||||
should be available in the same dir as this file under the name
|
should be available in the same dir as this file under the name
|
||||||
abituguru-datasheet.
|
abituguru-datasheet.
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
The uGuru is a microcontroller with onboard firmware which programs
|
The uGuru is a microcontroller with onboard firmware which programs
|
||||||
it to behave as a hwmon IC. There are many different revisions of the
|
it to behave as a hwmon IC. There are many different revisions of the
|
||||||
firmware and thus effectivly many different revisions of the uGuru.
|
firmware and thus effectivly many different revisions of the uGuru.
|
||||||
Below is an incomplete list with which revisions are used for which
|
Below is an incomplete list with which revisions are used for which
|
||||||
Motherboards:
|
Motherboards:
|
||||||
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1)
|
|
||||||
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
- uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) [1]_
|
||||||
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
- uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||||
uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
|
- uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
||||||
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
- uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
|
||||||
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
- uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
||||||
AW9D-MAX) (2)
|
- uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
||||||
1) For revisions 2 and 3 uGuru's the driver can autodetect the
|
AW9D-MAX) [2]_
|
||||||
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
|
|
||||||
this does not always work. For these uGuru's the autodetection can
|
.. [1] For revisions 2 and 3 uGuru's the driver can autodetect the
|
||||||
be overridden with the bank1_types module param. For all 3 known
|
sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
|
||||||
revison 1 motherboards the correct use of this param is:
|
this does not always work. For these uGuru's the autodetection can
|
||||||
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
|
be overridden with the bank1_types module param. For all 3 known
|
||||||
You may also need to specify the fan_sensors option for these boards
|
revison 1 motherboards the correct use of this param is:
|
||||||
fan_sensors=5
|
bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
|
||||||
2) There is a separate abituguru3 driver for these motherboards,
|
You may also need to specify the fan_sensors option for these boards
|
||||||
the abituguru (without the 3 !) driver will not work on these
|
fan_sensors=5
|
||||||
motherboards (and visa versa)!
|
|
||||||
|
.. [2] There is a separate abituguru3 driver for these motherboards,
|
||||||
|
the abituguru (without the 3 !) driver will not work on these
|
||||||
|
motherboards (and visa versa)!
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Hans de Goede <j.w.r.degoede@hhs.nl>,
|
- Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||||
(Initial reverse engineering done by Olle Sandberg
|
- (Initial reverse engineering done by Olle Sandberg
|
||||||
<ollebull@gmail.com>)
|
<ollebull@gmail.com>)
|
||||||
|
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
* force: bool Force detection. Note this parameter only causes the
|
* force: bool
|
||||||
|
Force detection. Note this parameter only causes the
|
||||||
detection to be skipped, and thus the insmod to
|
detection to be skipped, and thus the insmod to
|
||||||
succeed. If the uGuru can't be read the actual hwmon
|
succeed. If the uGuru can't be read the actual hwmon
|
||||||
driver will not load and thus no hwmon device will get
|
driver will not load and thus no hwmon device will get
|
||||||
registered.
|
registered.
|
||||||
* bank1_types: int[] Bank1 sensortype autodetection override:
|
* bank1_types: int[]
|
||||||
-1 autodetect (default)
|
Bank1 sensortype autodetection override:
|
||||||
0 volt sensor
|
|
||||||
1 temp sensor
|
* -1 autodetect (default)
|
||||||
2 not connected
|
* 0 volt sensor
|
||||||
* fan_sensors: int Tell the driver how many fan speed sensors there are
|
* 1 temp sensor
|
||||||
|
* 2 not connected
|
||||||
|
* fan_sensors: int
|
||||||
|
Tell the driver how many fan speed sensors there are
|
||||||
on your motherboard. Default: 0 (autodetect).
|
on your motherboard. Default: 0 (autodetect).
|
||||||
* pwms: int Tell the driver how many fan speed controls (fan
|
* pwms: int
|
||||||
|
Tell the driver how many fan speed controls (fan
|
||||||
pwms) your motherboard has. Default: 0 (autodetect).
|
pwms) your motherboard has. Default: 0 (autodetect).
|
||||||
* verbose: int How verbose should the driver be? (0-3):
|
* verbose: int
|
||||||
0 normal output
|
How verbose should the driver be? (0-3):
|
||||||
1 + verbose error reporting
|
|
||||||
2 + sensors type probing info (default)
|
* 0 normal output
|
||||||
3 + retryable error reporting
|
* 1 + verbose error reporting
|
||||||
|
* 2 + sensors type probing info (default)
|
||||||
|
* 3 + retryable error reporting
|
||||||
|
|
||||||
Default: 2 (the driver is still in the testing phase)
|
Default: 2 (the driver is still in the testing phase)
|
||||||
|
|
||||||
Notice if you need any of the first three options above please insmod the
|
Notice: if you need any of the first three options above please insmod the
|
||||||
driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
|
driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
|
||||||
dmesg | grep abituguru
|
dmesg | grep abituguru
|
||||||
|
|
||||||
|
@ -90,3 +106,8 @@ Known Issues
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The voltage and frequency control parts of the Abit uGuru are not supported.
|
The voltage and frequency control parts of the Abit uGuru are not supported.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
abituguru-datasheet.rst
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
===============
|
||||||
uGuru datasheet
|
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:
|
written) just use 0. Bank 0x20 contains 3 bytes:
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
This byte holds the alarm flags for sensor 0-7 of Sensor Bank1, with bit 0
|
This byte holds the alarm flags for sensor 0-7 of Sensor Bank1, with bit 0
|
||||||
corresponding to sensor 0, 1 to 1, etc.
|
corresponding to sensor 0, 1 to 1, etc.
|
||||||
|
|
||||||
Byte 1:
|
Byte 1:
|
||||||
This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0
|
This byte holds the alarm flags for sensor 8-15 of Sensor Bank1, with bit 0
|
||||||
corresponding to sensor 8, 1 to 9, etc.
|
corresponding to sensor 8, 1 to 9, etc.
|
||||||
|
|
||||||
Byte 2:
|
Byte 2:
|
||||||
This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0
|
This byte holds the alarm flags for sensor 0-5 of Sensor Bank2, with bit 0
|
||||||
corresponding to sensor 0, 1 to 1, etc.
|
corresponding to sensor 0, 1 to 1, etc.
|
||||||
|
|
||||||
|
|
||||||
Bank 0x21 Sensor Bank1 Values / Readings (R)
|
Bank 0x21 Sensor Bank1 Values / Readings (R)
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
This bank contains 16 sensors, for each sensor it contains 1 byte.
|
This bank contains 16 sensors, for each sensor it contains 1 byte.
|
||||||
So far the following sensors are known to be available on all motherboards:
|
So far the following sensors are known to be available on all motherboards:
|
||||||
Sensor 0 CPU temp
|
|
||||||
Sensor 1 SYS temp
|
- Sensor 0 CPU temp
|
||||||
Sensor 3 CPU core volt
|
- Sensor 1 SYS temp
|
||||||
Sensor 4 DDR volt
|
- Sensor 3 CPU core volt
|
||||||
Sensor 10 DDR Vtt volt
|
- Sensor 4 DDR volt
|
||||||
Sensor 15 PWM temp
|
- Sensor 10 DDR Vtt volt
|
||||||
|
- Sensor 15 PWM temp
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
This byte holds the reading from the sensor. Sensors in Bank1 can be both
|
This byte holds the reading from the sensor. Sensors in Bank1 can be both
|
||||||
volt and temp sensors, this is motherboard specific. The uGuru however does
|
volt and temp sensors, this is motherboard specific. The uGuru however does
|
||||||
seem to know (be programmed with) what kindoff sensor is attached see Sensor
|
seem to know (be programmed with) what kindoff sensor is attached see Sensor
|
||||||
Bank1 Settings description.
|
Bank1 Settings description.
|
||||||
|
|
||||||
Volt sensors use a linear scale, a reading 0 corresponds with 0 volt and a
|
Volt sensors use a linear scale, a reading 0 corresponds with 0 volt and a
|
||||||
reading of 255 with 3494 mV. The sensors for higher voltages however are
|
reading of 255 with 3494 mV. The sensors for higher voltages however are
|
||||||
|
@ -207,96 +209,118 @@ Temp sensors also use a linear scale, a reading of 0 corresponds with 0 degree
|
||||||
Celsius and a reading of 255 with a reading of 255 degrees Celsius.
|
Celsius and a reading of 255 with a reading of 255 degrees Celsius.
|
||||||
|
|
||||||
|
|
||||||
Bank 0x22 Sensor Bank1 Settings (R)
|
Bank 0x22 Sensor Bank1 Settings (R) and Bank 0x23 Sensor Bank1 Settings (W)
|
||||||
Bank 0x23 Sensor Bank1 Settings (W)
|
---------------------------------------------------------------------------
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
This bank contains 16 sensors, for each sensor it contains 3 bytes. Each
|
Those banks contain 16 sensors, for each sensor it contains 3 bytes. Each
|
||||||
set of 3 bytes contains the settings for the sensor with the same sensor
|
set of 3 bytes contains the settings for the sensor with the same sensor
|
||||||
address in Bank 0x21 .
|
address in Bank 0x21 .
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
|
Alarm behaviour for the selected sensor. A 1 enables the described
|
||||||
Bit 0: Give an alarm if measured temp is over the warning threshold (RW) *
|
behaviour.
|
||||||
Bit 1: Give an alarm if measured volt is over the max threshold (RW) **
|
|
||||||
Bit 2: Give an alarm if measured volt is under the min threshold (RW) **
|
|
||||||
Bit 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)
|
|
||||||
|
|
||||||
* This bit is only honored/used by the uGuru if a temp sensor is connected
|
Bit 0:
|
||||||
** This bit is only honored/used by the uGuru if a volt sensor is connected
|
Give an alarm if measured temp is over the warning threshold (RW) [1]_
|
||||||
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
|
Bit 1:
|
||||||
how todo this.
|
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:
|
Byte 1:
|
||||||
Temp sensor: warning threshold (scale as bank 0x21)
|
- Temp sensor: warning threshold (scale as bank 0x21)
|
||||||
Volt sensor: min threshold (scale as bank 0x21)
|
- Volt sensor: min threshold (scale as bank 0x21)
|
||||||
|
|
||||||
Byte 2:
|
Byte 2:
|
||||||
Temp sensor: shutdown threshold (scale as bank 0x21)
|
- Temp sensor: shutdown threshold (scale as bank 0x21)
|
||||||
Volt sensor: max threshold (scale as bank 0x21)
|
- Volt sensor: max threshold (scale as bank 0x21)
|
||||||
|
|
||||||
|
|
||||||
Bank 0x24 PWM outputs for FAN's (R)
|
Bank 0x24 PWM outputs for FAN's (R) and Bank 0x25 PWM outputs for FAN's (W)
|
||||||
Bank 0x25 PWM outputs for FAN's (W)
|
---------------------------------------------------------------------------
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
This bank contains 3 "sensors", for each sensor it contains 5 bytes.
|
Those banks contain 3 "sensors", for each sensor it contains 5 bytes.
|
||||||
Sensor 0 usually controls the CPU fan
|
- Sensor 0 usually controls the CPU fan
|
||||||
Sensor 1 usually controls the NB (or chipset for single chip) fan
|
- Sensor 1 usually controls the NB (or chipset for single chip) fan
|
||||||
Sensor 2 usually controls the System fan
|
- Sensor 2 usually controls the System fan
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
Flag 0x80 to enable control, Fan runs at 100% when disabled.
|
Flag 0x80 to enable control, Fan runs at 100% when disabled.
|
||||||
low nibble (temp)sensor address at bank 0x21 used for control.
|
low nibble (temp)sensor address at bank 0x21 used for control.
|
||||||
|
|
||||||
Byte 1:
|
Byte 1:
|
||||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when under
|
0-255 = 0-12v (linear), specify voltage at which fan will rotate when under
|
||||||
low threshold temp (specified in byte 3)
|
low threshold temp (specified in byte 3)
|
||||||
|
|
||||||
Byte 2:
|
Byte 2:
|
||||||
0-255 = 0-12v (linear), specify voltage at which fan will rotate when above
|
0-255 = 0-12v (linear), specify voltage at which fan will rotate when above
|
||||||
high threshold temp (specified in byte 4)
|
high threshold temp (specified in byte 4)
|
||||||
|
|
||||||
Byte 3:
|
Byte 3:
|
||||||
Low threshold temp (scale as bank 0x21)
|
Low threshold temp (scale as bank 0x21)
|
||||||
|
|
||||||
byte 4:
|
byte 4:
|
||||||
High threshold temp (scale as bank 0x21)
|
High threshold temp (scale as bank 0x21)
|
||||||
|
|
||||||
|
|
||||||
Bank 0x26 Sensors Bank2 Values / Readings (R)
|
Bank 0x26 Sensors Bank2 Values / Readings (R)
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
|
||||||
This bank contains 6 sensors (AFAIK), for each sensor it contains 1 byte.
|
This bank contains 6 sensors (AFAIK), for each sensor it contains 1 byte.
|
||||||
|
|
||||||
So far the following sensors are known to be available on all motherboards:
|
So far the following sensors are known to be available on all motherboards:
|
||||||
Sensor 0: CPU fan speed
|
- Sensor 0: CPU fan speed
|
||||||
Sensor 1: NB (or chipset for single chip) fan speed
|
- Sensor 1: NB (or chipset for single chip) fan speed
|
||||||
Sensor 2: SYS fan speed
|
- Sensor 2: SYS fan speed
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
This byte holds the reading from the sensor. 0-255 = 0-15300 (linear)
|
This byte holds the reading from the sensor. 0-255 = 0-15300 (linear)
|
||||||
|
|
||||||
|
|
||||||
Bank 0x27 Sensors Bank2 Settings (R)
|
Bank 0x27 Sensors Bank2 Settings (R) and Bank 0x28 Sensors Bank2 Settings (W)
|
||||||
Bank 0x28 Sensors Bank2 Settings (W)
|
-----------------------------------------------------------------------------
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
This bank contains 6 sensors (AFAIK), for each sensor it contains 2 bytes.
|
Those banks contain 6 sensors (AFAIK), for each sensor it contains 2 bytes.
|
||||||
|
|
||||||
Byte 0:
|
Byte 0:
|
||||||
Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
|
Alarm behaviour for the selected sensor. A 1 enables the described behaviour.
|
||||||
Bit 0: Give an alarm if measured rpm is under the min threshold (RW)
|
|
||||||
Bit 3: Beep if alarm (RW)
|
Bit 0:
|
||||||
Bit 7: Shutdown if alarm persist for more than 4 seconds (RW)
|
Give an alarm if measured rpm is under the min threshold (RW)
|
||||||
|
|
||||||
|
Bit 3:
|
||||||
|
Beep if alarm (RW)
|
||||||
|
|
||||||
|
Bit 7:
|
||||||
|
Shutdown if alarm persist for more than 4 seconds (RW)
|
||||||
|
|
||||||
Byte 1:
|
Byte 1:
|
||||||
min threshold (scale as bank 0x26)
|
min threshold (scale as bank 0x26)
|
||||||
|
|
||||||
|
|
||||||
Warning for the adventurous
|
Warning for the adventurous
|
||||||
|
|
|
@ -3,41 +3,51 @@ Kernel driver abituguru3
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
* Abit uGuru revision 3 (Hardware Monitor part, reading only)
|
* Abit uGuru revision 3 (Hardware Monitor part, reading only)
|
||||||
|
|
||||||
Prefix: 'abituguru3'
|
Prefix: 'abituguru3'
|
||||||
|
|
||||||
Addresses scanned: ISA 0x0E0
|
Addresses scanned: ISA 0x0E0
|
||||||
|
|
||||||
Datasheet: Not available, this driver is based on reverse engineering.
|
Datasheet: Not available, this driver is based on reverse engineering.
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
The uGuru is a microcontroller with onboard firmware which programs
|
The uGuru is a microcontroller with onboard firmware which programs
|
||||||
it to behave as a hwmon IC. There are many different revisions of the
|
it to behave as a hwmon IC. There are many different revisions of the
|
||||||
firmware and thus effectivly many different revisions of the uGuru.
|
firmware and thus effectivly many different revisions of the uGuru.
|
||||||
Below is an incomplete list with which revisions are used for which
|
Below is an incomplete list with which revisions are used for which
|
||||||
Motherboards:
|
Motherboards:
|
||||||
uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
|
|
||||||
uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
- uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7)
|
||||||
uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
- uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
|
||||||
uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
- uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
|
||||||
uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
- uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
|
||||||
AW9D-MAX)
|
- uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
|
||||||
|
AW9D-MAX)
|
||||||
|
|
||||||
The abituguru3 driver is only for revison 3.0.x.x motherboards,
|
The abituguru3 driver is only for revison 3.0.x.x motherboards,
|
||||||
this driver will not work on older motherboards. For older
|
this driver will not work on older motherboards. For older
|
||||||
motherboards use the abituguru (without the 3 !) driver.
|
motherboards use the abituguru (without the 3 !) driver.
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Hans de Goede <j.w.r.degoede@hhs.nl>,
|
- Hans de Goede <j.w.r.degoede@hhs.nl>,
|
||||||
(Initial reverse engineering done by Louis Kruger)
|
- (Initial reverse engineering done by Louis Kruger)
|
||||||
|
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
* force: bool Force detection. Note this parameter only causes the
|
* force: bool
|
||||||
|
Force detection. Note this parameter only causes the
|
||||||
detection to be skipped, and thus the insmod to
|
detection to be skipped, and thus the insmod to
|
||||||
succeed. If the uGuru can't be read the actual hwmon
|
succeed. If the uGuru can't be read the actual hwmon
|
||||||
driver will not load and thus no hwmon device will get
|
driver will not load and thus no hwmon device will get
|
||||||
registered.
|
registered.
|
||||||
* verbose: bool Should the driver be verbose?
|
* verbose: bool
|
||||||
0/off/false normal output
|
Should the driver be verbose?
|
||||||
1/on/true + verbose error reporting (default)
|
|
||||||
|
* 0/off/false normal output
|
||||||
|
* 1/on/true + verbose error reporting (default)
|
||||||
|
|
||||||
Default: 1 (the driver is still in the testing phase)
|
Default: 1 (the driver is still in the testing phase)
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -62,4 +72,4 @@ neither is writing any of the sensor settings and writing / reading the
|
||||||
fanspeed control registers (FanEQ)
|
fanspeed control registers (FanEQ)
|
||||||
|
|
||||||
If you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and
|
If you encounter any problems please mail me <j.w.r.degoede@hhs.nl> and
|
||||||
include the output of: "dmesg | grep abituguru"
|
include the output of: `dmesg | grep abituguru`
|
||||||
|
|
|
@ -2,14 +2,18 @@ Kernel driver abx500
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* ST-Ericsson ABx500 series
|
* ST-Ericsson ABx500 series
|
||||||
|
|
||||||
Prefix: 'abx500'
|
Prefix: 'abx500'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
Datasheet: http://www.stericsson.com/developers/documentation.jsp
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Martin Persson <martin.persson@stericsson.com>
|
Martin Persson <martin.persson@stericsson.com>
|
||||||
Hongbo Zhang <hongbo.zhang@linaro.org>
|
Hongbo Zhang <hongbo.zhang@linaro.org>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -4,8 +4,11 @@ Kernel driver power_meter
|
||||||
This driver talks to ACPI 4.0 power meters.
|
This driver talks to ACPI 4.0 power meters.
|
||||||
|
|
||||||
Supported systems:
|
Supported systems:
|
||||||
|
|
||||||
* Any recent system with ACPI 4.0.
|
* Any recent system with ACPI 4.0.
|
||||||
|
|
||||||
Prefix: 'power_meter'
|
Prefix: 'power_meter'
|
||||||
|
|
||||||
Datasheet: http://acpi.info/, section 10.4.
|
Datasheet: http://acpi.info/, section 10.4.
|
||||||
|
|
||||||
Author: Darrick J. Wong
|
Author: Darrick J. Wong
|
||||||
|
@ -23,21 +26,21 @@ of Documentation/hwmon/sysfs-interface.
|
||||||
Special Features
|
Special Features
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
The power[1-*]_is_battery knob indicates if the power supply is a battery.
|
The `power[1-*]_is_battery` knob indicates if the power supply is a battery.
|
||||||
Both power[1-*]_average_{min,max} must be set before the trip points will work.
|
Both `power[1-*]_average_{min,max}` must be set before the trip points will work.
|
||||||
When both of them are set, an ACPI event will be broadcast on the ACPI netlink
|
When both of them are set, an ACPI event will be broadcast on the ACPI netlink
|
||||||
socket and a poll notification will be sent to the appropriate
|
socket and a poll notification will be sent to the appropriate
|
||||||
power[1-*]_average sysfs file.
|
`power[1-*]_average` sysfs file.
|
||||||
|
|
||||||
The power[1-*]_{model_number, serial_number, oem_info} fields display arbitrary
|
The `power[1-*]_{model_number, serial_number, oem_info}` fields display
|
||||||
strings that ACPI provides with the meter. The measures/ directory contains
|
arbitrary strings that ACPI provides with the meter. The measures/ directory
|
||||||
symlinks to the devices that this meter measures.
|
contains symlinks to the devices that this meter measures.
|
||||||
|
|
||||||
Some computers have the ability to enforce a power cap in hardware. If this is
|
Some computers have the ability to enforce a power cap in hardware. If this is
|
||||||
the case, the power[1-*]_cap and related sysfs files will appear. When the
|
the case, the `power[1-*]_cap` and related sysfs files will appear. When the
|
||||||
average power consumption exceeds the cap, an ACPI event will be broadcast on
|
average power consumption exceeds the cap, an ACPI event will be broadcast on
|
||||||
the netlink event socket and a poll notification will be sent to the
|
the netlink event socket and a poll notification will be sent to the
|
||||||
appropriate power[1-*]_alarm file to indicate that capping has begun, and the
|
appropriate `power[1-*]_alarm` file to indicate that capping has begun, and the
|
||||||
hardware has taken action to reduce power consumption. Most likely this will
|
hardware has taken action to reduce power consumption. Most likely this will
|
||||||
result in reduced performance.
|
result in reduced performance.
|
||||||
|
|
||||||
|
@ -46,6 +49,6 @@ all cases the ACPI event will be broadcast on the ACPI netlink event socket as
|
||||||
well as sent as a poll notification to a sysfs file. The events are as
|
well as sent as a poll notification to a sysfs file. The events are as
|
||||||
follows:
|
follows:
|
||||||
|
|
||||||
power[1-*]_cap will be notified if the firmware changes the power cap.
|
`power[1-*]_cap` will be notified if the firmware changes the power cap.
|
||||||
power[1-*]_interval will be notified if the firmware changes the averaging
|
`power[1-*]_interval` will be notified if the firmware changes the averaging
|
||||||
interval.
|
interval.
|
||||||
|
|
|
@ -2,14 +2,23 @@ Kernel driver ad7314
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices AD7314
|
* Analog Devices AD7314
|
||||||
|
|
||||||
Prefix: 'ad7314'
|
Prefix: 'ad7314'
|
||||||
|
|
||||||
Datasheet: Publicly available at Analog Devices website.
|
Datasheet: Publicly available at Analog Devices website.
|
||||||
|
|
||||||
* Analog Devices ADT7301
|
* Analog Devices ADT7301
|
||||||
|
|
||||||
Prefix: 'adt7301'
|
Prefix: 'adt7301'
|
||||||
|
|
||||||
Datasheet: Publicly available at Analog Devices website.
|
Datasheet: Publicly available at Analog Devices website.
|
||||||
|
|
||||||
* Analog Devices ADT7302
|
* Analog Devices ADT7302
|
||||||
|
|
||||||
Prefix: 'adt7302'
|
Prefix: 'adt7302'
|
||||||
|
|
||||||
Datasheet: Publicly available at Analog Devices website.
|
Datasheet: Publicly available at Analog Devices website.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,11 +2,14 @@ Kernel driver adc128d818
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments ADC818D818
|
* Texas Instruments ADC818D818
|
||||||
|
|
||||||
Prefix: 'adc818d818'
|
Prefix: 'adc818d818'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x1d, 0x1e, 0x1f, 0x2d, 0x2e, 0x2f
|
Addresses scanned: I2C 0x1d, 0x1e, 0x1f, 0x2d, 0x2e, 0x2f
|
||||||
Datasheet: Publicly available at the TI website
|
|
||||||
http://www.ti.com/
|
Datasheet: Publicly available at the TI website http://www.ti.com/
|
||||||
|
|
||||||
Author: Guenter Roeck
|
Author: Guenter Roeck
|
||||||
|
|
||||||
|
|
|
@ -2,51 +2,91 @@ Kernel driver adm1021
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADM1021
|
* Analog Devices ADM1021
|
||||||
|
|
||||||
Prefix: 'adm1021'
|
Prefix: 'adm1021'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
* Analog Devices ADM1021A/ADM1023
|
* Analog Devices ADM1021A/ADM1023
|
||||||
|
|
||||||
Prefix: 'adm1023'
|
Prefix: 'adm1023'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
* Genesys Logic GL523SM
|
* Genesys Logic GL523SM
|
||||||
|
|
||||||
Prefix: 'gl523sm'
|
Prefix: 'gl523sm'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet:
|
Datasheet:
|
||||||
|
|
||||||
* Maxim MAX1617
|
* Maxim MAX1617
|
||||||
|
|
||||||
Prefix: 'max1617'
|
Prefix: 'max1617'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
|
|
||||||
* Maxim MAX1617A
|
* Maxim MAX1617A
|
||||||
|
|
||||||
Prefix: 'max1617a'
|
Prefix: 'max1617a'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
|
|
||||||
* National Semiconductor LM84
|
* National Semiconductor LM84
|
||||||
|
|
||||||
Prefix: 'lm84'
|
Prefix: 'lm84'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
|
|
||||||
* Philips NE1617
|
* Philips NE1617
|
||||||
|
|
||||||
Prefix: 'max1617' (probably detected as a max1617)
|
Prefix: 'max1617' (probably detected as a max1617)
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Philips website
|
Datasheet: Publicly available at the Philips website
|
||||||
|
|
||||||
* Philips NE1617A
|
* Philips NE1617A
|
||||||
|
|
||||||
Prefix: 'max1617' (probably detected as a max1617)
|
Prefix: 'max1617' (probably detected as a max1617)
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Philips website
|
Datasheet: Publicly available at the Philips website
|
||||||
|
|
||||||
* TI THMC10
|
* TI THMC10
|
||||||
|
|
||||||
Prefix: 'thmc10'
|
Prefix: 'thmc10'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the TI website
|
Datasheet: Publicly available at the TI website
|
||||||
|
|
||||||
* Onsemi MC1066
|
* Onsemi MC1066
|
||||||
|
|
||||||
Prefix: 'mc1066'
|
Prefix: 'mc1066'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Onsemi website
|
Datasheet: Publicly available at the Onsemi website
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Philip Edelbrock <phil@netroedge.com>
|
- Philip Edelbrock <phil@netroedge.com>
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
|
@ -2,23 +2,32 @@ Kernel driver adm1025
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADM1025, ADM1025A
|
* Analog Devices ADM1025, ADM1025A
|
||||||
|
|
||||||
Prefix: 'adm1025'
|
Prefix: 'adm1025'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2e
|
Addresses scanned: I2C 0x2c - 0x2e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
* Philips NE1619
|
* Philips NE1619
|
||||||
|
|
||||||
Prefix: 'ne1619'
|
Prefix: 'ne1619'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2d
|
Addresses scanned: I2C 0x2c - 0x2d
|
||||||
|
|
||||||
Datasheet: Publicly available at the Philips website
|
Datasheet: Publicly available at the Philips website
|
||||||
|
|
||||||
The NE1619 presents some differences with the original ADM1025:
|
The NE1619 presents some differences with the original ADM1025:
|
||||||
|
|
||||||
* Only two possible addresses (0x2c - 0x2d).
|
* Only two possible addresses (0x2c - 0x2d).
|
||||||
* No temperature offset register, but we don't use it anyway.
|
* No temperature offset register, but we don't use it anyway.
|
||||||
* No INT mode for pin 16. We don't play with it anyway.
|
* No INT mode for pin 16. We don't play with it anyway.
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Chen-Yuan Wu <gwu@esoft.com>,
|
- Chen-Yuan Wu <gwu@esoft.com>,
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -3,28 +3,36 @@ Kernel driver adm1026
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
* Analog Devices ADM1026
|
* Analog Devices ADM1026
|
||||||
|
|
||||||
Prefix: 'adm1026'
|
Prefix: 'adm1026'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
|
|
||||||
|
http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
|
- Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
|
||||||
Justin Thiessen <jthiessen@penguincomputing.com>
|
- Justin Thiessen <jthiessen@penguincomputing.com>
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
* gpio_input: int array (min = 1, max = 17)
|
* gpio_input: int array (min = 1, max = 17)
|
||||||
List of GPIO pins (0-16) to program as inputs
|
List of GPIO pins (0-16) to program as inputs
|
||||||
|
|
||||||
* gpio_output: int array (min = 1, max = 17)
|
* gpio_output: int array (min = 1, max = 17)
|
||||||
List of GPIO pins (0-16) to program as outputs
|
List of GPIO pins (0-16) to program as outputs
|
||||||
|
|
||||||
* gpio_inverted: int array (min = 1, max = 17)
|
* gpio_inverted: int array (min = 1, max = 17)
|
||||||
List of GPIO pins (0-16) to program as inverted
|
List of GPIO pins (0-16) to program as inverted
|
||||||
|
|
||||||
* gpio_normal: int array (min = 1, max = 17)
|
* gpio_normal: int array (min = 1, max = 17)
|
||||||
List of GPIO pins (0-16) to program as normal/non-inverted
|
List of GPIO pins (0-16) to program as normal/non-inverted
|
||||||
|
|
||||||
* gpio_fan: int array (min = 1, max = 8)
|
* gpio_fan: int array (min = 1, max = 8)
|
||||||
List of GPIO pins (0-7) to program as fan tachs
|
List of GPIO pins (0-7) to program as fan tachs
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -3,20 +3,28 @@ Kernel driver adm1031
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
* Analog Devices ADM1030
|
* Analog Devices ADM1030
|
||||||
|
|
||||||
Prefix: 'adm1030'
|
Prefix: 'adm1030'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c to 0x2e
|
Addresses scanned: I2C 0x2c to 0x2e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html
|
|
||||||
|
http://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html
|
||||||
|
|
||||||
* Analog Devices ADM1031
|
* Analog Devices ADM1031
|
||||||
|
|
||||||
Prefix: 'adm1031'
|
Prefix: 'adm1031'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c to 0x2e
|
Addresses scanned: I2C 0x2c to 0x2e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html
|
|
||||||
|
http://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Alexandre d'Alton <alex@alexdalton.org>
|
- Alexandre d'Alton <alex@alexdalton.org>
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,30 +2,43 @@ Kernel driver adm9240
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADM9240
|
* Analog Devices ADM9240
|
||||||
|
|
||||||
Prefix: 'adm9240'
|
Prefix: 'adm9240'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2f
|
Addresses scanned: I2C 0x2c - 0x2f
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/UploadedFiles/Data_Sheets/79857778ADM9240_0.pdf
|
|
||||||
|
http://www.analog.com/UploadedFiles/Data_Sheets/79857778ADM9240_0.pdf
|
||||||
|
|
||||||
* Dallas Semiconductor DS1780
|
* Dallas Semiconductor DS1780
|
||||||
|
|
||||||
Prefix: 'ds1780'
|
Prefix: 'ds1780'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2f
|
Addresses scanned: I2C 0x2c - 0x2f
|
||||||
|
|
||||||
Datasheet: Publicly available at the Dallas Semiconductor (Maxim) website
|
Datasheet: Publicly available at the Dallas Semiconductor (Maxim) website
|
||||||
http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf
|
|
||||||
|
http://pdfserv.maxim-ic.com/en/ds/DS1780.pdf
|
||||||
|
|
||||||
* National Semiconductor LM81
|
* National Semiconductor LM81
|
||||||
|
|
||||||
Prefix: 'lm81'
|
Prefix: 'lm81'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2f
|
Addresses scanned: I2C 0x2c - 0x2f
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/ds.cgi/LM/LM81.pdf
|
|
||||||
|
http://www.national.com/ds.cgi/LM/LM81.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Philip Edelbrock <phil@netroedge.com>,
|
- Philip Edelbrock <phil@netroedge.com>,
|
||||||
Michiel Rook <michiel@grendelproject.nl>,
|
- Michiel Rook <michiel@grendelproject.nl>,
|
||||||
Grant Coady <gcoady.lk@gmail.com> with guidance
|
- Grant Coady <gcoady.lk@gmail.com> with guidance
|
||||||
from Jean Delvare <jdelvare@suse.de>
|
from Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Interface
|
Interface
|
||||||
---------
|
---------
|
||||||
|
@ -87,11 +100,13 @@ rpm = (22500 * 60) / (count * divider)
|
||||||
Automatic fan clock divider
|
Automatic fan clock divider
|
||||||
|
|
||||||
* User sets 0 to fan_min limit
|
* User sets 0 to fan_min limit
|
||||||
|
|
||||||
- low speed alarm is disabled
|
- low speed alarm is disabled
|
||||||
- fan clock divider not changed
|
- fan clock divider not changed
|
||||||
- auto fan clock adjuster enabled for valid fan speed reading
|
- auto fan clock adjuster enabled for valid fan speed reading
|
||||||
|
|
||||||
* User sets fan_min limit too low
|
* User sets fan_min limit too low
|
||||||
|
|
||||||
- low speed alarm is enabled
|
- low speed alarm is enabled
|
||||||
- fan clock divider set to max
|
- fan clock divider set to max
|
||||||
- fan_min set to register value 254 which corresponds
|
- fan_min set to register value 254 which corresponds
|
||||||
|
@ -101,18 +116,20 @@ Automatic fan clock divider
|
||||||
- auto fan clock adjuster disabled
|
- auto fan clock adjuster disabled
|
||||||
|
|
||||||
* User sets reasonable fan speed
|
* User sets reasonable fan speed
|
||||||
|
|
||||||
- low speed alarm is enabled
|
- low speed alarm is enabled
|
||||||
- fan clock divider set to suit fan_min
|
- fan clock divider set to suit fan_min
|
||||||
- auto fan clock adjuster enabled: adjusts fan_min
|
- auto fan clock adjuster enabled: adjusts fan_min
|
||||||
|
|
||||||
* User sets unreasonably high low fan speed limit
|
* User sets unreasonably high low fan speed limit
|
||||||
|
|
||||||
- resolution of the low speed limit may be reduced
|
- resolution of the low speed limit may be reduced
|
||||||
- alarm will be asserted
|
- alarm will be asserted
|
||||||
- auto fan clock adjuster enabled: adjusts fan_min
|
- auto fan clock adjuster enabled: adjusts fan_min
|
||||||
|
|
||||||
* fan speed may be displayed as zero until the auto fan clock divider
|
* fan speed may be displayed as zero until the auto fan clock divider
|
||||||
adjuster brings fan speed clock divider back into chip measurement
|
adjuster brings fan speed clock divider back into chip measurement
|
||||||
range, this will occur within a few measurement cycles.
|
range, this will occur within a few measurement cycles.
|
||||||
|
|
||||||
Analog Output
|
Analog Output
|
||||||
-------------
|
-------------
|
||||||
|
@ -122,16 +139,21 @@ power up or reset. This doesn't do much on the test Intel SE440BX-2.
|
||||||
|
|
||||||
Voltage Monitor
|
Voltage Monitor
|
||||||
|
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Voltage (IN) measurement is internally scaled:
|
Voltage (IN) measurement is internally scaled:
|
||||||
|
|
||||||
|
=== =========== =========== ========= ==========
|
||||||
nr label nominal maximum resolution
|
nr label nominal maximum resolution
|
||||||
mV mV mV
|
mV mV mV
|
||||||
|
=== =========== =========== ========= ==========
|
||||||
0 +2.5V 2500 3320 13.0
|
0 +2.5V 2500 3320 13.0
|
||||||
1 Vccp1 2700 3600 14.1
|
1 Vccp1 2700 3600 14.1
|
||||||
2 +3.3V 3300 4380 17.2
|
2 +3.3V 3300 4380 17.2
|
||||||
3 +5V 5000 6640 26.0
|
3 +5V 5000 6640 26.0
|
||||||
4 +12V 12000 15940 62.5
|
4 +12V 12000 15940 62.5
|
||||||
5 Vccp2 2700 3600 14.1
|
5 Vccp2 2700 3600 14.1
|
||||||
|
=== =========== =========== ========= ==========
|
||||||
|
|
||||||
The reading is an unsigned 8-bit value, nominal voltage measurement is
|
The reading is an unsigned 8-bit value, nominal voltage measurement is
|
||||||
represented by a reading of 192, being 3/4 of the measurement range.
|
represented by a reading of 192, being 3/4 of the measurement range.
|
||||||
|
@ -159,8 +181,9 @@ Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file.
|
||||||
|
|
||||||
Alarm flags reported as 16-bit word
|
Alarm flags reported as 16-bit word
|
||||||
|
|
||||||
|
=== ============= ==========================
|
||||||
bit label comment
|
bit label comment
|
||||||
--- ------------- --------------------------
|
=== ============= ==========================
|
||||||
0 +2.5 V_Error high or low limit exceeded
|
0 +2.5 V_Error high or low limit exceeded
|
||||||
1 VCCP_Error high or low limit exceeded
|
1 VCCP_Error high or low limit exceeded
|
||||||
2 +3.3 V_Error high or low limit exceeded
|
2 +3.3 V_Error high or low limit exceeded
|
||||||
|
@ -171,6 +194,7 @@ Alarm flags reported as 16-bit word
|
||||||
8 +12 V_Error high or low limit exceeded
|
8 +12 V_Error high or low limit exceeded
|
||||||
9 VCCP2_Error high or low limit exceeded
|
9 VCCP2_Error high or low limit exceeded
|
||||||
12 Chassis_Error CI pin went high
|
12 Chassis_Error CI pin went high
|
||||||
|
=== ============= ==========================
|
||||||
|
|
||||||
Remaining bits are reserved and thus undefined. It is important to note
|
Remaining bits are reserved and thus undefined. It is important to note
|
||||||
that alarm bits may be cleared on read, user-space may latch alarms and
|
that alarm bits may be cleared on read, user-space may latch alarms and
|
||||||
|
|
|
@ -2,20 +2,27 @@ Kernel driver ads7828
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments/Burr-Brown ADS7828
|
* Texas Instruments/Burr-Brown ADS7828
|
||||||
|
|
||||||
Prefix: 'ads7828'
|
Prefix: 'ads7828'
|
||||||
|
|
||||||
Datasheet: Publicly available at the Texas Instruments website:
|
Datasheet: Publicly available at the Texas Instruments website:
|
||||||
http://focus.ti.com/lit/ds/symlink/ads7828.pdf
|
|
||||||
|
http://focus.ti.com/lit/ds/symlink/ads7828.pdf
|
||||||
|
|
||||||
* Texas Instruments ADS7830
|
* Texas Instruments ADS7830
|
||||||
|
|
||||||
Prefix: 'ads7830'
|
Prefix: 'ads7830'
|
||||||
|
|
||||||
Datasheet: Publicly available at the Texas Instruments website:
|
Datasheet: Publicly available at the Texas Instruments website:
|
||||||
http://focus.ti.com/lit/ds/symlink/ads7830.pdf
|
|
||||||
|
http://focus.ti.com/lit/ds/symlink/ads7830.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Steve Hardy <shardy@redhat.com>
|
- Steve Hardy <shardy@redhat.com>
|
||||||
Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
- Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||||
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
|
- Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
|
||||||
|
|
||||||
Platform data
|
Platform data
|
||||||
-------------
|
-------------
|
||||||
|
@ -24,16 +31,16 @@ The ads7828 driver accepts an optional ads7828_platform_data structure (defined
|
||||||
in include/linux/platform_data/ads7828.h). The structure fields are:
|
in include/linux/platform_data/ads7828.h). The structure fields are:
|
||||||
|
|
||||||
* diff_input: (bool) Differential operation
|
* diff_input: (bool) Differential operation
|
||||||
set to true for differential mode, false for default single ended mode.
|
set to true for differential mode, false for default single ended mode.
|
||||||
|
|
||||||
* ext_vref: (bool) External reference
|
* ext_vref: (bool) External reference
|
||||||
set to true if it operates with an external reference, false for default
|
set to true if it operates with an external reference, false for default
|
||||||
internal reference.
|
internal reference.
|
||||||
|
|
||||||
* vref_mv: (unsigned int) Voltage reference
|
* vref_mv: (unsigned int) Voltage reference
|
||||||
if using an external reference, set this to the reference voltage in mV,
|
if using an external reference, set this to the reference voltage in mV,
|
||||||
otherwise it will default to the internal value (2500mV). This value will be
|
otherwise it will default to the internal value (2500mV). This value will be
|
||||||
bounded with limits accepted by the chip, described in the datasheet.
|
bounded with limits accepted by the chip, described in the datasheet.
|
||||||
|
|
||||||
If no structure is provided, the configuration defaults to single ended
|
If no structure is provided, the configuration defaults to single ended
|
||||||
operation and internal voltage reference (2.5V).
|
operation and internal voltage reference (2.5V).
|
||||||
|
|
|
@ -2,26 +2,45 @@ Kernel driver adt7410
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADT7410
|
* Analog Devices ADT7410
|
||||||
|
|
||||||
Prefix: 'adt7410'
|
Prefix: 'adt7410'
|
||||||
|
|
||||||
Addresses scanned: None
|
Addresses scanned: None
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
|
|
||||||
|
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
|
||||||
* Analog Devices ADT7420
|
* Analog Devices ADT7420
|
||||||
|
|
||||||
Prefix: 'adt7420'
|
Prefix: 'adt7420'
|
||||||
|
|
||||||
Addresses scanned: None
|
Addresses scanned: None
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
|
|
||||||
|
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
|
||||||
|
|
||||||
* Analog Devices ADT7310
|
* Analog Devices ADT7310
|
||||||
|
|
||||||
Prefix: 'adt7310'
|
Prefix: 'adt7310'
|
||||||
|
|
||||||
Addresses scanned: None
|
Addresses scanned: None
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/static/imported-files/data_sheets/ADT7310.pdf
|
|
||||||
|
http://www.analog.com/static/imported-files/data_sheets/ADT7310.pdf
|
||||||
|
|
||||||
* Analog Devices ADT7320
|
* Analog Devices ADT7320
|
||||||
|
|
||||||
Prefix: 'adt7320'
|
Prefix: 'adt7320'
|
||||||
|
|
||||||
Addresses scanned: None
|
Addresses scanned: None
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/static/imported-files/data_sheets/ADT7320.pdf
|
|
||||||
|
http://www.analog.com/static/imported-files/data_sheets/ADT7320.pdf
|
||||||
|
|
||||||
Author: Hartmut Knaack <knaack.h@gmx.de>
|
Author: Hartmut Knaack <knaack.h@gmx.de>
|
||||||
|
|
||||||
|
@ -61,13 +80,15 @@ The device is set to 16 bit resolution and comparator mode.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
temp#_input - temperature input
|
======================== ====================================================
|
||||||
temp#_min - temperature minimum setpoint
|
temp#_input temperature input
|
||||||
temp#_max - temperature maximum setpoint
|
temp#_min temperature minimum setpoint
|
||||||
temp#_crit - critical temperature setpoint
|
temp#_max temperature maximum setpoint
|
||||||
temp#_min_hyst - hysteresis for temperature minimum (read-only)
|
temp#_crit critical temperature setpoint
|
||||||
temp#_max_hyst - hysteresis for temperature maximum (read/write)
|
temp#_min_hyst hysteresis for temperature minimum (read-only)
|
||||||
temp#_crit_hyst - hysteresis for critical temperature (read-only)
|
temp#_max_hyst hysteresis for temperature maximum (read/write)
|
||||||
temp#_min_alarm - temperature minimum alarm flag
|
temp#_crit_hyst hysteresis for critical temperature (read-only)
|
||||||
temp#_max_alarm - temperature maximum alarm flag
|
temp#_min_alarm temperature minimum alarm flag
|
||||||
temp#_crit_alarm - critical temperature alarm flag
|
temp#_max_alarm temperature maximum alarm flag
|
||||||
|
temp#_crit_alarm critical temperature alarm flag
|
||||||
|
======================== ====================================================
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver adt7411
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADT7411
|
* Analog Devices ADT7411
|
||||||
|
|
||||||
Prefix: 'adt7411'
|
Prefix: 'adt7411'
|
||||||
|
|
||||||
Addresses scanned: 0x48, 0x4a, 0x4b
|
Addresses scanned: 0x48, 0x4a, 0x4b
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
Author: Wolfram Sang (based on adt7470 by Darrick J. Wong)
|
Author: Wolfram Sang (based on adt7470 by Darrick J. Wong)
|
||||||
|
@ -26,15 +30,19 @@ Check the datasheet for details.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
in0_input - vdd voltage input
|
================ =================
|
||||||
in[1-8]_input - analog 1-8 input
|
in0_input vdd voltage input
|
||||||
temp1_input - temperature input
|
in[1-8]_input analog 1-8 input
|
||||||
|
temp1_input temperature input
|
||||||
|
================ =================
|
||||||
|
|
||||||
Besides standard interfaces, this driver adds (0 = off, 1 = on):
|
Besides standard interfaces, this driver adds (0 = off, 1 = on):
|
||||||
|
|
||||||
adc_ref_vdd - Use vdd as reference instead of 2.25 V
|
============== =======================================================
|
||||||
fast_sampling - Sample at 22.5 kHz instead of 1.4 kHz, but drop filters
|
adc_ref_vdd Use vdd as reference instead of 2.25 V
|
||||||
no_average - Turn off averaging over 16 samples
|
fast_sampling Sample at 22.5 kHz instead of 1.4 kHz, but drop filters
|
||||||
|
no_average Turn off averaging over 16 samples
|
||||||
|
============== =======================================================
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
Kernel driver adt7462
|
Kernel driver adt7462
|
||||||
======================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADT7462
|
* Analog Devices ADT7462
|
||||||
|
|
||||||
Prefix: 'adt7462'
|
Prefix: 'adt7462'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x58, 0x5C
|
Addresses scanned: I2C 0x58, 0x5C
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
Author: Darrick J. Wong
|
Author: Darrick J. Wong
|
||||||
|
@ -57,8 +61,8 @@ Besides standard interfaces driver adds the following:
|
||||||
* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
|
* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
|
||||||
* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
|
* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
|
||||||
|
|
||||||
point1: Set the pwm speed at a lower temperature bound.
|
- point1: Set the pwm speed at a lower temperature bound.
|
||||||
point2: Set the pwm speed at a higher temperature bound.
|
- point2: Set the pwm speed at a higher temperature bound.
|
||||||
|
|
||||||
The ADT7462 will scale the pwm between the lower and higher pwm speed when
|
The ADT7462 will scale the pwm between the lower and higher pwm speed when
|
||||||
the temperature is between the two temperature boundaries. PWM values range
|
the temperature is between the two temperature boundaries. PWM values range
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver adt7470
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADT7470
|
* Analog Devices ADT7470
|
||||||
|
|
||||||
Prefix: 'adt7470'
|
Prefix: 'adt7470'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2C, 0x2E, 0x2F
|
Addresses scanned: I2C 0x2C, 0x2E, 0x2F
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
|
|
||||||
Author: Darrick J. Wong
|
Author: Darrick J. Wong
|
||||||
|
@ -56,8 +60,8 @@ Besides standard interfaces driver adds the following:
|
||||||
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
|
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
|
||||||
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
|
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
|
||||||
|
|
||||||
point1: Set the pwm speed at a lower temperature bound.
|
- point1: Set the pwm speed at a lower temperature bound.
|
||||||
point2: Set the pwm speed at a higher temperature bound.
|
- point2: Set the pwm speed at a higher temperature bound.
|
||||||
|
|
||||||
The ADT7470 will scale the pwm between the lower and higher pwm speed when
|
The ADT7470 will scale the pwm between the lower and higher pwm speed when
|
||||||
the temperature is between the two temperature boundaries. PWM values range
|
the temperature is between the two temperature boundaries. PWM values range
|
||||||
|
|
|
@ -2,28 +2,44 @@ Kernel driver adt7475
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADT7473
|
* Analog Devices ADT7473
|
||||||
|
|
||||||
Prefix: 'adt7473'
|
Prefix: 'adt7473'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||||
|
|
||||||
Datasheet: Publicly available at the On Semiconductors website
|
Datasheet: Publicly available at the On Semiconductors website
|
||||||
|
|
||||||
* Analog Devices ADT7475
|
* Analog Devices ADT7475
|
||||||
|
|
||||||
Prefix: 'adt7475'
|
Prefix: 'adt7475'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2E
|
Addresses scanned: I2C 0x2E
|
||||||
|
|
||||||
Datasheet: Publicly available at the On Semiconductors website
|
Datasheet: Publicly available at the On Semiconductors website
|
||||||
|
|
||||||
* Analog Devices ADT7476
|
* Analog Devices ADT7476
|
||||||
|
|
||||||
Prefix: 'adt7476'
|
Prefix: 'adt7476'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||||
|
|
||||||
Datasheet: Publicly available at the On Semiconductors website
|
Datasheet: Publicly available at the On Semiconductors website
|
||||||
|
|
||||||
* Analog Devices ADT7490
|
* Analog Devices ADT7490
|
||||||
|
|
||||||
Prefix: 'adt7490'
|
Prefix: 'adt7490'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||||
|
|
||||||
Datasheet: Publicly available at the On Semiconductors website
|
Datasheet: Publicly available at the On Semiconductors website
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Jordan Crouse
|
- Jordan Crouse
|
||||||
Hans de Goede
|
- Hans de Goede
|
||||||
Darrick J. Wong (documentation)
|
- Darrick J. Wong (documentation)
|
||||||
Jean Delvare
|
- Jean Delvare
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -82,14 +98,16 @@ ADT7490:
|
||||||
Sysfs Mapping
|
Sysfs Mapping
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
ADT7490 ADT7476 ADT7475 ADT7473
|
==== =========== =========== ========= ==========
|
||||||
------- ------- ------- -------
|
in ADT7490 ADT7476 ADT7475 ADT7473
|
||||||
|
==== =========== =========== ========= ==========
|
||||||
in0 2.5VIN (22) 2.5VIN (22) - -
|
in0 2.5VIN (22) 2.5VIN (22) - -
|
||||||
in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14)
|
in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14)
|
||||||
in2 VCC (4) VCC (4) VCC (4) VCC (3)
|
in2 VCC (4) VCC (4) VCC (4) VCC (3)
|
||||||
in3 5VIN (20) 5VIN (20)
|
in3 5VIN (20) 5VIN (20)
|
||||||
in4 12VIN (21) 12VIN (21)
|
in4 12VIN (21) 12VIN (21)
|
||||||
in5 VTT (8)
|
in5 VTT (8)
|
||||||
|
==== =========== =========== ========= ==========
|
||||||
|
|
||||||
Special Features
|
Special Features
|
||||||
----------------
|
----------------
|
||||||
|
@ -107,8 +125,8 @@ Fan Speed Control
|
||||||
|
|
||||||
The driver exposes two trip points per PWM channel.
|
The driver exposes two trip points per PWM channel.
|
||||||
|
|
||||||
point1: Set the PWM speed at the lower temperature bound
|
- point1: Set the PWM speed at the lower temperature bound
|
||||||
point2: Set the PWM speed at the higher temperature bound
|
- point2: Set the PWM speed at the higher temperature bound
|
||||||
|
|
||||||
The ADT747x will scale the PWM linearly between the lower and higher PWM
|
The ADT747x will scale the PWM linearly between the lower and higher PWM
|
||||||
speed when the temperature is between the two temperature boundaries.
|
speed when the temperature is between the two temperature boundaries.
|
||||||
|
@ -123,12 +141,12 @@ the PWM control exceeds temp#_max.
|
||||||
|
|
||||||
At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the
|
At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the
|
||||||
minimum (i.e. auto_point1_pwm). This behaviour can be configured using the
|
minimum (i.e. auto_point1_pwm). This behaviour can be configured using the
|
||||||
pwm[1-*]_stall_disable sysfs attribute. A value of 0 means the fans will shut
|
`pwm[1-*]_stall_disable sysfs attribute`. A value of 0 means the fans will shut
|
||||||
off. A value of 1 means the fans will run at auto_point1_pwm.
|
off. A value of 1 means the fans will run at auto_point1_pwm.
|
||||||
|
|
||||||
The responsiveness of the ADT747x to temperature changes can be configured.
|
The responsiveness of the ADT747x to temperature changes can be configured.
|
||||||
This allows smoothing of the fan speed transition. To set the transition time
|
This allows smoothing of the fan speed transition. To set the transition time
|
||||||
set the value in ms in the temp[1-*]_smoothing sysfs attribute.
|
set the value in ms in the `temp[1-*]_smoothing` sysfs attribute.
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver amc6821
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
Texas Instruments AMC6821
|
Texas Instruments AMC6821
|
||||||
|
|
||||||
Prefix: 'amc6821'
|
Prefix: 'amc6821'
|
||||||
|
|
||||||
Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
|
Addresses scanned: 0x18, 0x19, 0x1a, 0x2c, 0x2d, 0x2e, 0x4c, 0x4d, 0x4e
|
||||||
|
|
||||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
|
Datasheet: http://focus.ti.com/docs/prod/folders/print/amc6821.html
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
|
@ -21,10 +25,11 @@ The pwm can be controlled either from software or automatically.
|
||||||
|
|
||||||
The driver provides the following sensor accesses in sysfs:
|
The driver provides the following sensor accesses in sysfs:
|
||||||
|
|
||||||
|
======================= == ===============================================
|
||||||
temp1_input ro on-chip temperature
|
temp1_input ro on-chip temperature
|
||||||
temp1_min rw "
|
temp1_min rw "
|
||||||
temp1_max rw "
|
temp1_max rw "
|
||||||
temp1_crit rw "
|
temp1_crit rw "
|
||||||
temp1_min_alarm ro "
|
temp1_min_alarm ro "
|
||||||
temp1_max_alarm ro "
|
temp1_max_alarm ro "
|
||||||
temp1_crit_alarm ro "
|
temp1_crit_alarm ro "
|
||||||
|
@ -32,16 +37,16 @@ temp1_crit_alarm ro "
|
||||||
temp2_input ro remote temperature
|
temp2_input ro remote temperature
|
||||||
temp2_min rw "
|
temp2_min rw "
|
||||||
temp2_max rw "
|
temp2_max rw "
|
||||||
temp2_crit rw "
|
temp2_crit rw "
|
||||||
temp2_min_alarm ro "
|
temp2_min_alarm ro "
|
||||||
temp2_max_alarm ro "
|
temp2_max_alarm ro "
|
||||||
temp2_crit_alarm ro "
|
temp2_crit_alarm ro "
|
||||||
temp2_fault ro "
|
temp2_fault ro "
|
||||||
|
|
||||||
fan1_input ro tachometer speed
|
fan1_input ro tachometer speed
|
||||||
fan1_min rw "
|
fan1_min rw "
|
||||||
fan1_max rw "
|
fan1_max rw "
|
||||||
fan1_fault ro "
|
fan1_fault ro "
|
||||||
fan1_div rw Fan divisor can be either 2 or 4.
|
fan1_div rw Fan divisor can be either 2 or 4.
|
||||||
|
|
||||||
pwm1 rw pwm1
|
pwm1 rw pwm1
|
||||||
|
@ -87,6 +92,7 @@ temp2_auto_point3_temp rw Above this temperature fan runs at maximum
|
||||||
values which depend on temp2_auto_point2_temp
|
values which depend on temp2_auto_point2_temp
|
||||||
and pwm1_auto_point2_pwm. Read it out after
|
and pwm1_auto_point2_pwm. Read it out after
|
||||||
writing to get actual value.
|
writing to get actual value.
|
||||||
|
======================= == ===============================================
|
||||||
|
|
||||||
|
|
||||||
Module parameters
|
Module parameters
|
||||||
|
@ -97,6 +103,7 @@ load the module with: init=0.
|
||||||
|
|
||||||
If your board BIOS doesn't initialize the chip, or you want
|
If your board BIOS doesn't initialize the chip, or you want
|
||||||
different settings, you can set the following parameters:
|
different settings, you can set the following parameters:
|
||||||
init=1,
|
|
||||||
pwminv: 0 default pwm output, 1 inverts pwm output.
|
- init=1,
|
||||||
|
- pwminv: 0 default pwm output, 1 inverts pwm output.
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver asb100
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported Chips:
|
Supported Chips:
|
||||||
|
|
||||||
* Asus ASB100 and ASB100-A "Bach"
|
* Asus ASB100 and ASB100-A "Bach"
|
||||||
|
|
||||||
Prefix: 'asb100'
|
Prefix: 'asb100'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2d
|
Addresses scanned: I2C 0x2d
|
||||||
|
|
||||||
Datasheet: none released
|
Datasheet: none released
|
||||||
|
|
||||||
Author: Mark M. Hoffman <mhoffman@lightlink.com>
|
Author: Mark M. Hoffman <mhoffman@lightlink.com>
|
||||||
|
@ -41,32 +45,30 @@ processor itself. It is a value in volts.
|
||||||
|
|
||||||
Alarms: (TODO question marks indicate may or may not work)
|
Alarms: (TODO question marks indicate may or may not work)
|
||||||
|
|
||||||
0x0001 => in0 (?)
|
- 0x0001 => in0 (?)
|
||||||
0x0002 => in1 (?)
|
- 0x0002 => in1 (?)
|
||||||
0x0004 => in2
|
- 0x0004 => in2
|
||||||
0x0008 => in3
|
- 0x0008 => in3
|
||||||
0x0010 => temp1 (1)
|
- 0x0010 => temp1 [1]_
|
||||||
0x0020 => temp2
|
- 0x0020 => temp2
|
||||||
0x0040 => fan1
|
- 0x0040 => fan1
|
||||||
0x0080 => fan2
|
- 0x0080 => fan2
|
||||||
0x0100 => in4
|
- 0x0100 => in4
|
||||||
0x0200 => in5 (?) (2)
|
- 0x0200 => in5 (?) [2]_
|
||||||
0x0400 => in6 (?) (2)
|
- 0x0400 => in6 (?) [2]_
|
||||||
0x0800 => fan3
|
- 0x0800 => fan3
|
||||||
0x1000 => chassis switch
|
- 0x1000 => chassis switch
|
||||||
0x2000 => temp3
|
- 0x2000 => temp3
|
||||||
|
|
||||||
Alarm Notes:
|
.. [1] This alarm will only trigger if the hysteresis value is 127C.
|
||||||
|
I.e. it behaves the same as w83781d.
|
||||||
|
|
||||||
(1) This alarm will only trigger if the hysteresis value is 127C.
|
.. [2] The min and max registers for these values appear to
|
||||||
I.e. it behaves the same as w83781d.
|
be read-only or otherwise stuck at 0x00.
|
||||||
|
|
||||||
(2) The min and max registers for these values appear to
|
|
||||||
be read-only or otherwise stuck at 0x00.
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
* Experiment with fan divisors > 8.
|
* Experiment with fan divisors > 8.
|
||||||
* Experiment with temp. sensor types.
|
* Experiment with temp. sensor types.
|
||||||
* Are there really 13 voltage inputs? Probably not...
|
* Are there really 13 voltage inputs? Probably not...
|
||||||
* Cleanups, no doubt...
|
* Cleanups, no doubt...
|
||||||
|
|
||||||
|
|
|
@ -2,42 +2,61 @@ Kernel driver ds1621
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Dallas Semiconductor / Maxim Integrated DS1621
|
* Dallas Semiconductor / Maxim Integrated DS1621
|
||||||
|
|
||||||
Prefix: 'ds1621'
|
Prefix: 'ds1621'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available from www.maximintegrated.com
|
Datasheet: Publicly available from www.maximintegrated.com
|
||||||
|
|
||||||
* Dallas Semiconductor DS1625
|
* Dallas Semiconductor DS1625
|
||||||
|
|
||||||
Prefix: 'ds1625'
|
Prefix: 'ds1625'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available from www.datasheetarchive.com
|
Datasheet: Publicly available from www.datasheetarchive.com
|
||||||
|
|
||||||
* Maxim Integrated DS1631
|
* Maxim Integrated DS1631
|
||||||
|
|
||||||
Prefix: 'ds1631'
|
Prefix: 'ds1631'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available from www.maximintegrated.com
|
Datasheet: Publicly available from www.maximintegrated.com
|
||||||
|
|
||||||
* Maxim Integrated DS1721
|
* Maxim Integrated DS1721
|
||||||
|
|
||||||
Prefix: 'ds1721'
|
Prefix: 'ds1721'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available from www.maximintegrated.com
|
Datasheet: Publicly available from www.maximintegrated.com
|
||||||
|
|
||||||
* Maxim Integrated DS1731
|
* Maxim Integrated DS1731
|
||||||
|
|
||||||
Prefix: 'ds1731'
|
Prefix: 'ds1731'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available from www.maximintegrated.com
|
Datasheet: Publicly available from www.maximintegrated.com
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Christian W. Zuckschwerdt <zany@triq.net>
|
- Christian W. Zuckschwerdt <zany@triq.net>
|
||||||
valuable contributions by Jan M. Sendler <sendler@sendler.de>
|
- valuable contributions by Jan M. Sendler <sendler@sendler.de>
|
||||||
ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
|
- ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
|
||||||
with the help of Jean Delvare <jdelvare@suse.de>
|
with the help of Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
* polarity int
|
* polarity int
|
||||||
Output's polarity: 0 = active high, 1 = active low
|
Output's polarity:
|
||||||
|
|
||||||
|
* 0 = active high,
|
||||||
|
* 1 = active low
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -87,28 +106,31 @@ are used internally, however, these flags do get set and cleared as the actual
|
||||||
temperature crosses the min or max settings (which by default are set to 75
|
temperature crosses the min or max settings (which by default are set to 75
|
||||||
and 80 degrees respectively).
|
and 80 degrees respectively).
|
||||||
|
|
||||||
Temperature Conversion:
|
Temperature Conversion
|
||||||
-----------------------
|
----------------------
|
||||||
DS1621 - 750ms (older devices may take up to 1000ms)
|
|
||||||
DS1625 - 500ms
|
- DS1621 - 750ms (older devices may take up to 1000ms)
|
||||||
DS1631 - 93ms..750ms for 9..12 bits resolution, respectively.
|
- DS1625 - 500ms
|
||||||
DS1721 - 93ms..750ms for 9..12 bits resolution, respectively.
|
- DS1631 - 93ms..750ms for 9..12 bits resolution, respectively.
|
||||||
DS1731 - 93ms..750ms for 9..12 bits resolution, respectively.
|
- DS1721 - 93ms..750ms for 9..12 bits resolution, respectively.
|
||||||
|
- DS1731 - 93ms..750ms for 9..12 bits resolution, respectively.
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
On the DS1621, internal access to non-volatile registers may last for 10ms
|
On the DS1621, internal access to non-volatile registers may last for 10ms
|
||||||
or less (unverified on the other devices).
|
or less (unverified on the other devices).
|
||||||
|
|
||||||
Temperature Accuracy:
|
Temperature Accuracy
|
||||||
---------------------
|
--------------------
|
||||||
DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
|
||||||
DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
|
||||||
DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
|
||||||
DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees)
|
|
||||||
DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees)
|
|
||||||
|
|
||||||
Note:
|
- DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
||||||
Please refer to the device datasheets for accuracy at other temperatures.
|
- DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
||||||
|
- DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees)
|
||||||
|
- DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees)
|
||||||
|
- DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees)
|
||||||
|
|
||||||
|
.. Note::
|
||||||
|
|
||||||
|
Please refer to the device datasheets for accuracy at other temperatures.
|
||||||
|
|
||||||
Temperature Resolution:
|
Temperature Resolution:
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -117,60 +139,67 @@ support, which is achieved via the R0 and R1 config register bits, where:
|
||||||
|
|
||||||
R0..R1
|
R0..R1
|
||||||
------
|
------
|
||||||
0 0 => 9 bits, 0.5 degrees Celsius
|
|
||||||
1 0 => 10 bits, 0.25 degrees Celsius
|
|
||||||
0 1 => 11 bits, 0.125 degrees Celsius
|
|
||||||
1 1 => 12 bits, 0.0625 degrees Celsius
|
|
||||||
|
|
||||||
Note:
|
== == ===============================
|
||||||
At initial device power-on, the default resolution is set to 12-bits.
|
R0 R1
|
||||||
|
== == ===============================
|
||||||
|
0 0 9 bits, 0.5 degrees Celsius
|
||||||
|
1 0 10 bits, 0.25 degrees Celsius
|
||||||
|
0 1 11 bits, 0.125 degrees Celsius
|
||||||
|
1 1 12 bits, 0.0625 degrees Celsius
|
||||||
|
== == ===============================
|
||||||
|
|
||||||
|
.. Note::
|
||||||
|
|
||||||
|
At initial device power-on, the default resolution is set to 12-bits.
|
||||||
|
|
||||||
The resolution mode for the DS1631, DS1721, or DS1731 can be changed from
|
The resolution mode for the DS1631, DS1721, or DS1731 can be changed from
|
||||||
userspace, via the device 'update_interval' sysfs attribute. This attribute
|
userspace, via the device 'update_interval' sysfs attribute. This attribute
|
||||||
will normalize the range of input values to the device maximum resolution
|
will normalize the range of input values to the device maximum resolution
|
||||||
values defined in the datasheet as follows:
|
values defined in the datasheet as follows:
|
||||||
|
|
||||||
|
============= ================== ===============
|
||||||
Resolution Conversion Time Input Range
|
Resolution Conversion Time Input Range
|
||||||
(C/LSB) (msec) (msec)
|
(C/LSB) (msec) (msec)
|
||||||
------------------------------------------------
|
============= ================== ===============
|
||||||
0.5 93.75 0....94
|
0.5 93.75 0....94
|
||||||
0.25 187.5 95...187
|
0.25 187.5 95...187
|
||||||
0.125 375 188..375
|
0.125 375 188..375
|
||||||
0.0625 750 376..infinity
|
0.0625 750 376..infinity
|
||||||
------------------------------------------------
|
============= ================== ===============
|
||||||
|
|
||||||
The following examples show how the 'update_interval' attribute can be
|
The following examples show how the 'update_interval' attribute can be
|
||||||
used to change the conversion time:
|
used to change the conversion time::
|
||||||
|
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
750
|
750
|
||||||
$ cat temp1_input
|
$ cat temp1_input
|
||||||
22062
|
22062
|
||||||
$
|
$
|
||||||
$ echo 300 > update_interval
|
$ echo 300 > update_interval
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
375
|
375
|
||||||
$ cat temp1_input
|
$ cat temp1_input
|
||||||
22125
|
22125
|
||||||
$
|
$
|
||||||
$ echo 150 > update_interval
|
$ echo 150 > update_interval
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
188
|
188
|
||||||
$ cat temp1_input
|
$ cat temp1_input
|
||||||
22250
|
22250
|
||||||
$
|
$
|
||||||
$ echo 1 > update_interval
|
$ echo 1 > update_interval
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
94
|
94
|
||||||
$ cat temp1_input
|
$ cat temp1_input
|
||||||
22000
|
22000
|
||||||
$
|
$
|
||||||
$ echo 1000 > update_interval
|
$ echo 1000 > update_interval
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
750
|
750
|
||||||
$ cat temp1_input
|
$ cat temp1_input
|
||||||
22062
|
22062
|
||||||
$
|
$
|
||||||
|
|
||||||
As shown, the ds1621 driver automatically adjusts the 'update_interval'
|
As shown, the ds1621 driver automatically adjusts the 'update_interval'
|
||||||
user input, via a step function. Reading back the 'update_interval' value
|
user input, via a step function. Reading back the 'update_interval' value
|
||||||
|
@ -182,6 +211,7 @@ via the following function:
|
||||||
g(x) = 0.5 * [minimum_conversion_time/x]
|
g(x) = 0.5 * [minimum_conversion_time/x]
|
||||||
|
|
||||||
where:
|
where:
|
||||||
-> 'x' = the output from 'update_interval'
|
|
||||||
-> 'g(x)' = the resolution in degrees C per LSB.
|
- 'x' = the output from 'update_interval'
|
||||||
-> 93.75ms = minimum conversion time
|
- 'g(x)' = the resolution in degrees C per LSB.
|
||||||
|
- 93.75ms = minimum conversion time
|
||||||
|
|
|
@ -2,15 +2,19 @@ Kernel driver ds620
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Dallas Semiconductor DS620
|
* Dallas Semiconductor DS620
|
||||||
|
|
||||||
Prefix: 'ds620'
|
Prefix: 'ds620'
|
||||||
|
|
||||||
Datasheet: Publicly available at the Dallas Semiconductor website
|
Datasheet: Publicly available at the Dallas Semiconductor website
|
||||||
http://www.dalsemi.com/
|
|
||||||
|
http://www.dalsemi.com/
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Roland Stigge <stigge@antcom.de>
|
Roland Stigge <stigge@antcom.de>
|
||||||
based on ds1621.c by
|
based on ds1621.c by
|
||||||
Christian W. Zuckschwerdt <zany@triq.net>
|
Christian W. Zuckschwerdt <zany@triq.net>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,28 +2,48 @@ Kernel driver emc1403
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* SMSC / Microchip EMC1402, EMC1412
|
* SMSC / Microchip EMC1402, EMC1412
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
|
Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
|
||||||
|
|
||||||
Prefix: 'emc1402'
|
Prefix: 'emc1402'
|
||||||
|
|
||||||
Datasheets:
|
Datasheets:
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
|
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
|
||||||
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
|
||||||
|
|
||||||
* SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
|
* SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
|
Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
|
||||||
|
|
||||||
Prefix: 'emc1403', 'emc1404'
|
Prefix: 'emc1403', 'emc1404'
|
||||||
|
|
||||||
Datasheets:
|
Datasheets:
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
|
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
|
||||||
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
|
||||||
|
|
||||||
* SMSC / Microchip EMC1422
|
* SMSC / Microchip EMC1422
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c
|
Addresses scanned: I2C 0x4c
|
||||||
|
|
||||||
Prefix: 'emc1422'
|
Prefix: 'emc1422'
|
||||||
|
|
||||||
Datasheet:
|
Datasheet:
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
|
|
||||||
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
|
||||||
|
|
||||||
* SMSC / Microchip EMC1423, EMC1424
|
* SMSC / Microchip EMC1423, EMC1424
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c
|
Addresses scanned: I2C 0x4c
|
||||||
|
|
||||||
Prefix: 'emc1423', 'emc1424'
|
Prefix: 'emc1423', 'emc1424'
|
||||||
|
|
||||||
Datasheet:
|
Datasheet:
|
||||||
http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
|
|
||||||
|
- http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
Kalhan Trisal <kalhan.trisal@intel.com
|
Kalhan Trisal <kalhan.trisal@intel.com
|
||||||
|
@ -46,6 +66,7 @@ difference between the limit and its hysteresis is always the same for
|
||||||
all three limits.
|
all three limits.
|
||||||
|
|
||||||
This implementation detail implies the following:
|
This implementation detail implies the following:
|
||||||
|
|
||||||
* When setting a limit, its hysteresis will automatically follow, the
|
* When setting a limit, its hysteresis will automatically follow, the
|
||||||
difference staying unchanged. For example, if the old critical limit
|
difference staying unchanged. For example, if the old critical limit
|
||||||
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver emc6w201
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* SMSC EMC6W201
|
* SMSC EMC6W201
|
||||||
|
|
||||||
Prefix: 'emc6w201'
|
Prefix: 'emc6w201'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
Author: Jean Delvare <jdelvare@suse.de>
|
Author: Jean Delvare <jdelvare@suse.de>
|
||||||
|
@ -38,5 +42,6 @@ Known Systems With EMC6W201
|
||||||
|
|
||||||
The EMC6W201 is a rare device, only found on a few systems, made in
|
The EMC6W201 is a rare device, only found on a few systems, made in
|
||||||
2005 and 2006. Known systems with this device:
|
2005 and 2006. Known systems with this device:
|
||||||
|
|
||||||
* Dell Precision 670 workstation
|
* Dell Precision 670 workstation
|
||||||
* Gigabyte 2CEWH mainboard
|
* Gigabyte 2CEWH mainboard
|
||||||
|
|
|
@ -2,17 +2,29 @@ Kernel driver f71805f
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Fintek F71805F/FG
|
* Fintek F71805F/FG
|
||||||
|
|
||||||
Prefix: 'f71805f'
|
Prefix: 'f71805f'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71806F/FG
|
* Fintek F71806F/FG
|
||||||
|
|
||||||
Prefix: 'f71872f'
|
Prefix: 'f71872f'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71872F/FG
|
* Fintek F71872F/FG
|
||||||
|
|
||||||
Prefix: 'f71872f'
|
Prefix: 'f71872f'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
Author: Jean Delvare <jdelvare@suse.de>
|
Author: Jean Delvare <jdelvare@suse.de>
|
||||||
|
@ -64,24 +76,26 @@ you can only set the limits in steps of 32 mV (before scaling).
|
||||||
|
|
||||||
The wirings and resistor values suggested by Fintek are as follow:
|
The wirings and resistor values suggested by Fintek are as follow:
|
||||||
|
|
||||||
pin expected
|
======= ======= =========== ==== ======= ============ ==============
|
||||||
name use R1 R2 divider raw val.
|
in pin expected
|
||||||
|
name use R1 R2 divider raw val.
|
||||||
|
======= ======= =========== ==== ======= ============ ==============
|
||||||
in0 VCC VCC3.3V int. int. 2.00 1.65 V
|
in0 VCC VCC3.3V int. int. 2.00 1.65 V
|
||||||
in1 VIN1 VTT1.2V 10K - 1.00 1.20 V
|
in1 VIN1 VTT1.2V 10K - 1.00 1.20 V
|
||||||
in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V (1)
|
in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V [1]_
|
||||||
in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V (2)
|
in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V [2]_
|
||||||
in4 VIN4 VCC5V 200K 47K 5.25 0.95 V
|
in4 VIN4 VCC5V 200K 47K 5.25 0.95 V
|
||||||
in5 VIN5 +12V 200K 20K 11.00 1.05 V
|
in5 VIN5 +12V 200K 20K 11.00 1.05 V
|
||||||
in6 VIN6 VCC1.5V 10K - 1.00 1.50 V
|
in6 VIN6 VCC1.5V 10K - 1.00 1.50 V
|
||||||
in7 VIN7 VCORE 10K - 1.00 ~1.40 V (1)
|
in7 VIN7 VCORE 10K - 1.00 ~1.40 V [1]_
|
||||||
in8 VIN8 VSB5V 200K 47K 1.00 0.95 V
|
in8 VIN8 VSB5V 200K 47K 1.00 0.95 V
|
||||||
in10 VSB VSB3.3V int. int. 2.00 1.65 V (3)
|
in10 VSB VSB3.3V int. int. 2.00 1.65 V [3]_
|
||||||
in9 VBAT VBATTERY int. int. 2.00 1.50 V (3)
|
in9 VBAT VBATTERY int. int. 2.00 1.50 V [3]_
|
||||||
|
======= ======= =========== ==== ======= ============ ==============
|
||||||
|
|
||||||
(1) Depends on your hardware setup.
|
.. [1] Depends on your hardware setup.
|
||||||
(2) Obviously not correct, swapping R1 and R2 would make more sense.
|
.. [2] Obviously not correct, swapping R1 and R2 would make more sense.
|
||||||
(3) F71872F/FG only.
|
.. [3] F71872F/FG only.
|
||||||
|
|
||||||
These values can be used as hints at best, as motherboard manufacturers
|
These values can be used as hints at best, as motherboard manufacturers
|
||||||
are free to use a completely different setup. As a matter of fact, the
|
are free to use a completely different setup. As a matter of fact, the
|
||||||
|
|
|
@ -2,60 +2,114 @@ Kernel driver f71882fg
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Fintek F71808E
|
* Fintek F71808E
|
||||||
|
|
||||||
Prefix: 'f71808e'
|
Prefix: 'f71808e'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
* Fintek F71808A
|
* Fintek F71808A
|
||||||
|
|
||||||
Prefix: 'f71808a'
|
Prefix: 'f71808a'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
* Fintek F71858FG
|
* Fintek F71858FG
|
||||||
|
|
||||||
Prefix: 'f71858fg'
|
Prefix: 'f71858fg'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71862FG and F71863FG
|
* Fintek F71862FG and F71863FG
|
||||||
|
|
||||||
Prefix: 'f71862fg'
|
Prefix: 'f71862fg'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71869F and F71869E
|
* Fintek F71869F and F71869E
|
||||||
|
|
||||||
Prefix: 'f71869'
|
Prefix: 'f71869'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71869A
|
* Fintek F71869A
|
||||||
|
|
||||||
Prefix: 'f71869a'
|
Prefix: 'f71869a'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
* Fintek F71882FG and F71883FG
|
* Fintek F71882FG and F71883FG
|
||||||
|
|
||||||
Prefix: 'f71882fg'
|
Prefix: 'f71882fg'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71889FG
|
* Fintek F71889FG
|
||||||
|
|
||||||
Prefix: 'f71889fg'
|
Prefix: 'f71889fg'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
* Fintek F71889ED
|
* Fintek F71889ED
|
||||||
|
|
||||||
Prefix: 'f71889ed'
|
Prefix: 'f71889ed'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Should become available on the Fintek website soon
|
Datasheet: Should become available on the Fintek website soon
|
||||||
|
|
||||||
* Fintek F71889A
|
* Fintek F71889A
|
||||||
|
|
||||||
Prefix: 'f71889a'
|
Prefix: 'f71889a'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Should become available on the Fintek website soon
|
Datasheet: Should become available on the Fintek website soon
|
||||||
|
|
||||||
* Fintek F8000
|
* Fintek F8000
|
||||||
|
|
||||||
Prefix: 'f8000'
|
Prefix: 'f8000'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
* Fintek F81801U
|
* Fintek F81801U
|
||||||
|
|
||||||
Prefix: 'f71889fg'
|
Prefix: 'f71889fg'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
Note: This is the 64-pin variant of the F71889FG, they have the
|
|
||||||
|
Note:
|
||||||
|
This is the 64-pin variant of the F71889FG, they have the
|
||||||
same device ID and are fully compatible as far as hardware
|
same device ID and are fully compatible as far as hardware
|
||||||
monitoring is concerned.
|
monitoring is concerned.
|
||||||
|
|
||||||
* Fintek F81865F
|
* Fintek F81865F
|
||||||
|
|
||||||
Prefix: 'f81865f'
|
Prefix: 'f81865f'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: Available from the Fintek website
|
Datasheet: Available from the Fintek website
|
||||||
|
|
||||||
Author: Hans de Goede <hdegoede@redhat.com>
|
Author: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
Kernel driver ftsteutates
|
Kernel driver ftsteutates
|
||||||
=====================
|
=========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* FTS Teutates
|
* FTS Teutates
|
||||||
|
|
||||||
Prefix: 'ftsteutates'
|
Prefix: 'ftsteutates'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x73 (7-Bit)
|
Addresses scanned: I2C 0x73 (7-Bit)
|
||||||
|
|
||||||
Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||||
|
@ -11,6 +14,7 @@ Author: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
The BMC Teutates is the Eleventh generation of Superior System
|
The BMC Teutates is the Eleventh generation of Superior System
|
||||||
monitoring and thermal management solution. It is builds on the basic
|
monitoring and thermal management solution. It is builds on the basic
|
||||||
functionality of the BMC Theseus and contains several new features and
|
functionality of the BMC Theseus and contains several new features and
|
||||||
|
@ -19,9 +23,11 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and
|
||||||
implemented in this driver.
|
implemented in this driver.
|
||||||
|
|
||||||
To clear a temperature or fan alarm, execute the following command with the
|
To clear a temperature or fan alarm, execute the following command with the
|
||||||
correct path to the alarm file:
|
correct path to the alarm file::
|
||||||
|
|
||||||
echo 0 >XXXX_alarm
|
echo 0 >XXXX_alarm
|
||||||
|
|
||||||
Specification of the chip can be found here:
|
Specification of the chip can be found here:
|
||||||
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
|
|
||||||
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
|
- ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
|
||||||
|
- ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver g760a
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Global Mixed-mode Technology Inc. G760A
|
* Global Mixed-mode Technology Inc. G760A
|
||||||
|
|
||||||
Prefix: 'g760a'
|
Prefix: 'g760a'
|
||||||
|
|
||||||
Datasheet: Publicly available at the GMT website
|
Datasheet: Publicly available at the GMT website
|
||||||
|
|
||||||
http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
|
http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
|
||||||
|
|
||||||
Author: Herbert Valerio Riedel <hvr@gnu.org>
|
Author: Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
|
|
|
@ -21,34 +21,43 @@ documented in Documentation/devicetree/bindings/hwmon/g762.txt or
|
||||||
using a specific platform_data structure in board initialization
|
using a specific platform_data structure in board initialization
|
||||||
file (see include/linux/platform_data/g762.h).
|
file (see include/linux/platform_data/g762.h).
|
||||||
|
|
||||||
fan1_target: set desired fan speed. This only makes sense in closed-loop
|
fan1_target:
|
||||||
fan speed control (i.e. when pwm1_enable is set to 2).
|
set desired fan speed. This only makes sense in closed-loop
|
||||||
|
fan speed control (i.e. when pwm1_enable is set to 2).
|
||||||
|
|
||||||
fan1_input: provide current fan rotation value in RPM as reported by
|
fan1_input:
|
||||||
the fan to the device.
|
provide current fan rotation value in RPM as reported by
|
||||||
|
the fan to the device.
|
||||||
|
|
||||||
fan1_div: fan clock divisor. Supported value are 1, 2, 4 and 8.
|
fan1_div:
|
||||||
|
fan clock divisor. Supported value are 1, 2, 4 and 8.
|
||||||
|
|
||||||
fan1_pulses: number of pulses per fan revolution. Supported values
|
fan1_pulses:
|
||||||
are 2 and 4.
|
number of pulses per fan revolution. Supported values
|
||||||
|
are 2 and 4.
|
||||||
|
|
||||||
fan1_fault: reports fan failure, i.e. no transition on fan gear pin for
|
fan1_fault:
|
||||||
about 0.7s (if the fan is not voluntarily set off).
|
reports fan failure, i.e. no transition on fan gear pin for
|
||||||
|
about 0.7s (if the fan is not voluntarily set off).
|
||||||
|
|
||||||
fan1_alarm: in closed-loop control mode, if fan RPM value is 25% out
|
fan1_alarm:
|
||||||
of the programmed value for over 6 seconds 'fan1_alarm' is
|
in closed-loop control mode, if fan RPM value is 25% out
|
||||||
set to 1.
|
of the programmed value for over 6 seconds 'fan1_alarm' is
|
||||||
|
set to 1.
|
||||||
|
|
||||||
pwm1_enable: set current fan speed control mode i.e. 1 for manual fan
|
pwm1_enable:
|
||||||
speed control (open-loop) via pwm1 described below, 2 for
|
set current fan speed control mode i.e. 1 for manual fan
|
||||||
automatic fan speed control (closed-loop) via fan1_target
|
speed control (open-loop) via pwm1 described below, 2 for
|
||||||
above.
|
automatic fan speed control (closed-loop) via fan1_target
|
||||||
|
above.
|
||||||
|
|
||||||
pwm1_mode: set or get fan driving mode: 1 for PWM mode, 0 for DC mode.
|
pwm1_mode:
|
||||||
|
set or get fan driving mode: 1 for PWM mode, 0 for DC mode.
|
||||||
|
|
||||||
pwm1: get or set PWM fan control value in open-loop mode. This is an
|
pwm1:
|
||||||
integer value between 0 and 255. 0 stops the fan, 255 makes
|
get or set PWM fan control value in open-loop mode. This is an
|
||||||
it run at full speed.
|
integer value between 0 and 255. 0 stops the fan, 255 makes
|
||||||
|
it run at full speed.
|
||||||
|
|
||||||
Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0),
|
Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0),
|
||||||
when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
|
when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
|
||||||
|
|
|
@ -2,27 +2,34 @@ Kernel driver gl518sm
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Genesys Logic GL518SM release 0x00
|
* Genesys Logic GL518SM release 0x00
|
||||||
|
|
||||||
Prefix: 'gl518sm'
|
Prefix: 'gl518sm'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c and 0x2d
|
Addresses scanned: I2C 0x2c and 0x2d
|
||||||
|
|
||||||
* Genesys Logic GL518SM release 0x80
|
* Genesys Logic GL518SM release 0x80
|
||||||
|
|
||||||
Prefix: 'gl518sm'
|
Prefix: 'gl518sm'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c and 0x2d
|
Addresses scanned: I2C 0x2c and 0x2d
|
||||||
|
|
||||||
Datasheet: http://www.genesyslogic.com/
|
Datasheet: http://www.genesyslogic.com/
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Kyösti Mälkki <kmalkki@cc.hut.fi>
|
- Kyösti Mälkki <kmalkki@cc.hut.fi>
|
||||||
Hong-Gunn Chew <hglinux@gunnet.org>
|
- Hong-Gunn Chew <hglinux@gunnet.org>
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
IMPORTANT:
|
.. important::
|
||||||
|
|
||||||
For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V,
|
For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V,
|
||||||
and +12V) CANNOT be read. This is a limitation of the chip, not the driver.
|
and +12V) CANNOT be read. This is a limitation of the chip, not the driver.
|
||||||
|
|
||||||
This driver supports the Genesys Logic GL518SM chip. There are at least
|
This driver supports the Genesys Logic GL518SM chip. There are at least
|
||||||
two revision of this chip, which we call revision 0x00 and 0x80. Revision
|
two revision of this chip, which we call revision 0x00 and 0x80. Revision
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver hih6130
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Honeywell HIH-6130 / HIH-6131
|
* Honeywell HIH-6130 / HIH-6131
|
||||||
|
|
||||||
Prefix: 'hih6130'
|
Prefix: 'hih6130'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Honeywell website
|
Datasheet: Publicly available at the Honeywell website
|
||||||
http://sensing.honeywell.com/index.php?ci_id=3106&la_id=1&defId=44872
|
|
||||||
|
http://sensing.honeywell.com/index.php?ci_id=3106&la_id=1&defId=44872
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
Iain Paton <ipaton0@gmail.com>
|
Iain Paton <ipaton0@gmail.com>
|
||||||
|
@ -28,8 +33,11 @@ instantiate I2C devices.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
temp1_input - temperature input
|
temp1_input
|
||||||
humidity1_input - humidity input
|
temperature input
|
||||||
|
|
||||||
|
humidity1_input
|
||||||
|
humidity input
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
The Linux Hardware Monitoring kernel API.
|
The Linux Hardware Monitoring kernel API
|
||||||
=========================================
|
========================================
|
||||||
|
|
||||||
Guenter Roeck
|
Guenter Roeck
|
||||||
|
|
||||||
|
@ -21,33 +21,34 @@ The API
|
||||||
-------
|
-------
|
||||||
Each hardware monitoring driver must #include <linux/hwmon.h> and, in most
|
Each hardware monitoring driver must #include <linux/hwmon.h> and, in most
|
||||||
cases, <linux/hwmon-sysfs.h>. linux/hwmon.h declares the following
|
cases, <linux/hwmon-sysfs.h>. linux/hwmon.h declares the following
|
||||||
register/unregister functions:
|
register/unregister functions::
|
||||||
|
|
||||||
struct device *
|
struct device *
|
||||||
hwmon_device_register_with_groups(struct device *dev, const char *name,
|
hwmon_device_register_with_groups(struct device *dev, const char *name,
|
||||||
void *drvdata,
|
void *drvdata,
|
||||||
const struct attribute_group **groups);
|
const struct attribute_group **groups);
|
||||||
|
|
||||||
struct device *
|
struct device *
|
||||||
devm_hwmon_device_register_with_groups(struct device *dev,
|
devm_hwmon_device_register_with_groups(struct device *dev,
|
||||||
const char *name, void *drvdata,
|
const char *name, void *drvdata,
|
||||||
const struct attribute_group **groups);
|
const struct attribute_group **groups);
|
||||||
|
|
||||||
struct device *
|
struct device *
|
||||||
hwmon_device_register_with_info(struct device *dev,
|
hwmon_device_register_with_info(struct device *dev,
|
||||||
const char *name, void *drvdata,
|
const char *name, void *drvdata,
|
||||||
const struct hwmon_chip_info *info,
|
const struct hwmon_chip_info *info,
|
||||||
const struct attribute_group **extra_groups);
|
const struct attribute_group **extra_groups);
|
||||||
|
|
||||||
struct device *
|
struct device *
|
||||||
devm_hwmon_device_register_with_info(struct device *dev,
|
devm_hwmon_device_register_with_info(struct device *dev,
|
||||||
const char *name,
|
const char *name,
|
||||||
void *drvdata,
|
void *drvdata,
|
||||||
const struct hwmon_chip_info *info,
|
const struct hwmon_chip_info *info,
|
||||||
const struct attribute_group **extra_groups);
|
const struct attribute_group **extra_groups);
|
||||||
|
|
||||||
void hwmon_device_unregister(struct device *dev);
|
void hwmon_device_unregister(struct device *dev);
|
||||||
void devm_hwmon_device_unregister(struct device *dev);
|
|
||||||
|
void devm_hwmon_device_unregister(struct device *dev);
|
||||||
|
|
||||||
hwmon_device_register_with_groups registers a hardware monitoring device.
|
hwmon_device_register_with_groups registers a hardware monitoring device.
|
||||||
The first parameter of this function is a pointer to the parent 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.
|
hwmon_device_register_with_info() registers a hardware monitoring device.
|
||||||
The parameters to this function are
|
The parameters to this function are
|
||||||
|
|
||||||
struct device *dev Pointer to parent device
|
=============================================== ===============================================
|
||||||
const char *name Device name
|
`struct device *dev` Pointer to parent device
|
||||||
void *drvdata Driver private data
|
`const char *name` Device name
|
||||||
const struct hwmon_chip_info *info
|
`void *drvdata` Driver private data
|
||||||
Pointer to chip description.
|
`const struct hwmon_chip_info *info` Pointer to chip description.
|
||||||
const struct attribute_group **extra_groups
|
`const struct attribute_group **extra_groups` Null-terminated list of additional non-standard
|
||||||
Null-terminated list of additional non-standard
|
sysfs attribute groups.
|
||||||
sysfs attribute groups.
|
=============================================== ===============================================
|
||||||
|
|
||||||
This function returns a pointer to the created hardware monitoring device
|
This function returns a pointer to the created hardware monitoring device
|
||||||
on success and a negative error code for failure.
|
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 {
|
struct hwmon_chip_info {
|
||||||
const struct hwmon_ops *ops;
|
const struct hwmon_ops *ops;
|
||||||
const struct hwmon_channel_info **info;
|
const struct hwmon_channel_info **info;
|
||||||
};
|
};
|
||||||
|
|
||||||
It contains the following fields:
|
It contains the following fields:
|
||||||
|
|
||||||
* ops: Pointer to device operations.
|
* ops:
|
||||||
* info: NULL-terminated list of device channel descriptors.
|
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,
|
umode_t (*is_visible)(const void *, enum hwmon_sensor_types type,
|
||||||
u32 attr, int);
|
u32 attr, int);
|
||||||
int (*read)(struct device *, enum hwmon_sensor_types type,
|
int (*read)(struct device *, enum hwmon_sensor_types type,
|
||||||
u32 attr, int, long *);
|
u32 attr, int, long *);
|
||||||
int (*write)(struct device *, enum hwmon_sensor_types type,
|
int (*write)(struct device *, enum hwmon_sensor_types type,
|
||||||
u32 attr, int, long);
|
u32 attr, int, long);
|
||||||
};
|
};
|
||||||
|
|
||||||
It defines the following operations.
|
It defines the following operations.
|
||||||
|
|
||||||
* is_visible: Pointer to a function to return the file mode for each supported
|
* is_visible:
|
||||||
attribute. This function is mandatory.
|
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
|
* read:
|
||||||
is optional, but must be provided if any readable attributes exist.
|
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
|
* write:
|
||||||
optional, but must be provided if any writeable attributes exist.
|
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
|
Each sensor channel is described with struct hwmon_channel_info, which is
|
||||||
defined as follows.
|
defined as follows::
|
||||||
|
|
||||||
struct hwmon_channel_info {
|
struct hwmon_channel_info {
|
||||||
enum hwmon_sensor_types type;
|
enum hwmon_sensor_types type;
|
||||||
u32 *config;
|
u32 *config;
|
||||||
};
|
};
|
||||||
|
|
||||||
It contains following fields:
|
It contains following fields:
|
||||||
|
|
||||||
* type: The hardware monitoring sensor type.
|
* type:
|
||||||
Supported sensor types are
|
The hardware monitoring sensor type.
|
||||||
* 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
|
Supported sensor types are
|
||||||
sensor of the given type. Each value is a combination of bit values
|
|
||||||
describing the attributes supposed by a single sensor.
|
================== ==================================================
|
||||||
|
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
|
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
|
sensor chip. The chip has a single temperature sensor. The driver wants to
|
||||||
|
@ -179,61 +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
|
the update_interval attribute (HWMON_C_UPDATE_INTERVAL). The chip supports
|
||||||
reading the temperature (HWMON_T_INPUT), it has a maximum temperature
|
reading the temperature (HWMON_T_INPUT), it has a maximum temperature
|
||||||
register (HWMON_T_MAX) as well as a maximum temperature hysteresis register
|
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[] = {
|
static const u32 lm75_chip_config[] = {
|
||||||
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL,
|
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct hwmon_channel_info lm75_chip = {
|
static const struct hwmon_channel_info lm75_chip = {
|
||||||
.type = hwmon_chip,
|
.type = hwmon_chip,
|
||||||
.config = lm75_chip_config,
|
.config = lm75_chip_config,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u32 lm75_temp_config[] = {
|
static const u32 lm75_temp_config[] = {
|
||||||
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST,
|
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct hwmon_channel_info lm75_temp = {
|
static const struct hwmon_channel_info lm75_temp = {
|
||||||
.type = hwmon_temp,
|
.type = hwmon_temp,
|
||||||
.config = lm75_temp_config,
|
.config = lm75_temp_config,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct hwmon_channel_info *lm75_info[] = {
|
static const struct hwmon_channel_info *lm75_info[] = {
|
||||||
&lm75_chip,
|
&lm75_chip,
|
||||||
&lm75_temp,
|
&lm75_temp,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
The HWMON_CHANNEL_INFO() macro can and should be used when possible.
|
The HWMON_CHANNEL_INFO() macro can and should be used when possible.
|
||||||
With this macro, the above example can be simplified to
|
With this macro, the above example can be simplified to
|
||||||
|
|
||||||
static const struct hwmon_channel_info *lm75_info[] = {
|
static const struct hwmon_channel_info *lm75_info[] = {
|
||||||
HWMON_CHANNEL_INFO(chip,
|
HWMON_CHANNEL_INFO(chip,
|
||||||
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL),
|
HWMON_C_REGISTER_TZ | HWMON_C_UPDATE_INTERVAL),
|
||||||
HWMON_CHANNEL_INFO(temp,
|
HWMON_CHANNEL_INFO(temp,
|
||||||
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST),
|
HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST),
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
The remaining declarations are as follows.
|
The remaining declarations are as follows.
|
||||||
|
|
||||||
static const struct hwmon_ops lm75_hwmon_ops = {
|
static const struct hwmon_ops lm75_hwmon_ops = {
|
||||||
.is_visible = lm75_is_visible,
|
.is_visible = lm75_is_visible,
|
||||||
.read = lm75_read,
|
.read = lm75_read,
|
||||||
.write = lm75_write,
|
.write = lm75_write,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct hwmon_chip_info lm75_chip_info = {
|
static const struct hwmon_chip_info lm75_chip_info = {
|
||||||
.ops = &lm75_hwmon_ops,
|
.ops = &lm75_hwmon_ops,
|
||||||
.info = lm75_info,
|
.info = lm75_info,
|
||||||
};
|
};
|
||||||
|
|
||||||
A complete list of bit values indicating individual attribute support
|
A complete list of bit values indicating individual attribute support
|
||||||
is defined in include/linux/hwmon.h. Definition prefixes are as follows.
|
is defined in include/linux/hwmon.h. Definition prefixes are as follows.
|
||||||
|
|
||||||
|
=============== =================================================
|
||||||
HWMON_C_xxxx Chip attributes, for use with hwmon_chip.
|
HWMON_C_xxxx Chip attributes, for use with hwmon_chip.
|
||||||
HWMON_T_xxxx Temperature attributes, for use with hwmon_temp.
|
HWMON_T_xxxx Temperature attributes, for use with hwmon_temp.
|
||||||
HWMON_I_xxxx Voltage attributes, for use with hwmon_in.
|
HWMON_I_xxxx Voltage attributes, for use with hwmon_in.
|
||||||
|
@ -244,57 +257,76 @@ HWMON_E_xxxx Energy attributes, for use with hwmon_energy.
|
||||||
HWMON_H_xxxx Humidity attributes, for use with hwmon_humidity.
|
HWMON_H_xxxx Humidity attributes, for use with hwmon_humidity.
|
||||||
HWMON_F_xxxx Fan speed attributes, for use with hwmon_fan.
|
HWMON_F_xxxx Fan speed attributes, for use with hwmon_fan.
|
||||||
HWMON_PWM_xxxx PWM control attributes, for use with hwmon_pwm.
|
HWMON_PWM_xxxx PWM control attributes, for use with hwmon_pwm.
|
||||||
|
=============== =================================================
|
||||||
|
|
||||||
Driver callback functions
|
Driver callback functions
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Each driver provides is_visible, read, and write functions. Parameters
|
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,
|
umode_t is_visible_func(const void *data, enum hwmon_sensor_types type,
|
||||||
u32 attr, int channel)
|
u32 attr, int channel)
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
data: Pointer to device private data structure.
|
data:
|
||||||
type: The sensor type.
|
Pointer to device private data structure.
|
||||||
attr: Attribute identifier associated with a specific attribute.
|
type:
|
||||||
|
The sensor type.
|
||||||
|
attr:
|
||||||
|
Attribute identifier associated with a specific attribute.
|
||||||
For example, the attribute value for HWMON_T_INPUT would be
|
For example, the attribute value for HWMON_T_INPUT would be
|
||||||
hwmon_temp_input. For complete mappings of bit fields to
|
hwmon_temp_input. For complete mappings of bit fields to
|
||||||
attribute values please see include/linux/hwmon.h.
|
attribute values please see include/linux/hwmon.h.
|
||||||
channel:The sensor channel number.
|
channel:
|
||||||
|
The sensor channel number.
|
||||||
|
|
||||||
Return value:
|
Return value:
|
||||||
The file mode for this attribute. Typically, this will be 0 (the
|
The file mode for this attribute. Typically, this will be 0 (the
|
||||||
attribute will not be created), S_IRUGO, or 'S_IRUGO | S_IWUSR'.
|
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:
|
Parameters:
|
||||||
dev: Pointer to the hardware monitoring device.
|
dev:
|
||||||
type: The sensor type.
|
Pointer to the hardware monitoring device.
|
||||||
attr: Attribute identifier associated with a specific attribute.
|
type:
|
||||||
|
The sensor type.
|
||||||
|
attr:
|
||||||
|
Attribute identifier associated with a specific attribute.
|
||||||
For example, the attribute value for HWMON_T_INPUT would be
|
For example, the attribute value for HWMON_T_INPUT would be
|
||||||
hwmon_temp_input. For complete mappings please see
|
hwmon_temp_input. For complete mappings please see
|
||||||
include/linux/hwmon.h.
|
include/linux/hwmon.h.
|
||||||
channel:The sensor channel number.
|
channel:
|
||||||
val: Pointer to attribute value.
|
The sensor channel number.
|
||||||
|
val:
|
||||||
|
Pointer to attribute value.
|
||||||
|
|
||||||
Return value:
|
Return value:
|
||||||
0 on success, a negative error number otherwise.
|
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:
|
Parameters:
|
||||||
dev: Pointer to the hardware monitoring device.
|
dev:
|
||||||
type: The sensor type.
|
Pointer to the hardware monitoring device.
|
||||||
attr: Attribute identifier associated with a specific attribute.
|
type:
|
||||||
|
The sensor type.
|
||||||
|
attr:
|
||||||
|
Attribute identifier associated with a specific attribute.
|
||||||
For example, the attribute value for HWMON_T_INPUT would be
|
For example, the attribute value for HWMON_T_INPUT would be
|
||||||
hwmon_temp_input. For complete mappings please see
|
hwmon_temp_input. For complete mappings please see
|
||||||
include/linux/hwmon.h.
|
include/linux/hwmon.h.
|
||||||
channel:The sensor channel number.
|
channel:
|
||||||
val: The value to write to the chip.
|
The sensor channel number.
|
||||||
|
val:
|
||||||
|
The value to write to the chip.
|
||||||
|
|
||||||
Return value:
|
Return value:
|
||||||
0 on success, a negative error number otherwise.
|
0 on success, a negative error number otherwise.
|
||||||
|
@ -330,25 +362,25 @@ Standard functions, similar to DEVICE_ATTR_{RW,RO,WO}, have _show and _store
|
||||||
appended to the provided function name.
|
appended to the provided function name.
|
||||||
|
|
||||||
SENSOR_DEVICE_ATTR and its variants define a struct sensor_device_attribute
|
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 sensor_device_attribute {
|
||||||
struct device_attribute dev_attr;
|
struct device_attribute dev_attr;
|
||||||
int index;
|
int index;
|
||||||
};
|
};
|
||||||
|
|
||||||
You can use to_sensor_dev_attr to get the pointer to this structure from the
|
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 read or write function. Its parameter is the device to which the
|
||||||
attribute is attached.
|
attribute is attached.
|
||||||
|
|
||||||
SENSOR_DEVICE_ATTR_2 and its variants define a struct sensor_device_attribute_2
|
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 sensor_device_attribute_2 {
|
||||||
struct device_attribute dev_attr;
|
struct device_attribute dev_attr;
|
||||||
u8 index;
|
u8 index;
|
||||||
u8 nr;
|
u8 nr;
|
||||||
};
|
};
|
||||||
|
|
||||||
Use to_sensor_dev_attr_2 to get the pointer to this structure. Its parameter
|
Use to_sensor_dev_attr_2 to get the pointer to this structure. Its parameter
|
||||||
is the device to which the attribute is attached.
|
is the device to which the attribute is attached.
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
Kernel driver ibmaem
|
Kernel driver ibmaem
|
||||||
======================
|
====================
|
||||||
|
|
||||||
This driver talks to the IBM Systems Director Active Energy Manager, known
|
This driver talks to the IBM Systems Director Active Energy Manager, known
|
||||||
henceforth as AEM.
|
henceforth as AEM.
|
||||||
|
|
||||||
Supported systems:
|
Supported systems:
|
||||||
|
|
||||||
* Any recent IBM System X server with AEM support.
|
* Any recent IBM System X server with AEM support.
|
||||||
|
|
||||||
This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2,
|
This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2,
|
||||||
x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades. The IPMI host interface
|
x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades.
|
||||||
|
|
||||||
|
The IPMI host interface
|
||||||
driver ("ipmi-si") needs to be loaded for this driver to do anything.
|
driver ("ipmi-si") needs to be loaded for this driver to do anything.
|
||||||
|
|
||||||
Prefix: 'ibmaem'
|
Prefix: 'ibmaem'
|
||||||
|
|
||||||
Datasheet: Not available
|
Datasheet: Not available
|
||||||
|
|
||||||
Author: Darrick J. Wong
|
Author: Darrick J. Wong
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ina3221
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments INA3221
|
* Texas Instruments INA3221
|
||||||
|
|
||||||
Prefix: 'ina3221'
|
Prefix: 'ina3221'
|
||||||
|
|
||||||
Addresses: I2C 0x40 - 0x43
|
Addresses: I2C 0x40 - 0x43
|
||||||
|
|
||||||
Datasheet: Publicly available at the Texas Instruments website
|
Datasheet: Publicly available at the Texas Instruments website
|
||||||
http://www.ti.com/
|
|
||||||
|
http://www.ti.com/
|
||||||
|
|
||||||
Author: Andrew F. Davis <afd@ti.com>
|
Author: Andrew F. Davis <afd@ti.com>
|
||||||
|
|
||||||
|
@ -21,20 +26,24 @@ and power are calculated host-side from these.
|
||||||
Sysfs entries
|
Sysfs entries
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
======================= =======================================================
|
||||||
in[123]_label Voltage channel labels
|
in[123]_label Voltage channel labels
|
||||||
in[123]_enable Voltage channel enable controls
|
in[123]_enable Voltage channel enable controls
|
||||||
in[123]_input Bus voltage(mV) channels
|
in[123]_input Bus voltage(mV) channels
|
||||||
curr[123]_input Current(mA) measurement channels
|
curr[123]_input Current(mA) measurement channels
|
||||||
shunt[123]_resistor Shunt resistance(uOhm) channels
|
shunt[123]_resistor Shunt resistance(uOhm) channels
|
||||||
curr[123]_crit Critical alert current(mA) setting, activates the
|
curr[123]_crit Critical alert current(mA) setting, activates the
|
||||||
corresponding alarm when the respective current
|
corresponding alarm when the respective current
|
||||||
is above this value
|
is above this value
|
||||||
curr[123]_crit_alarm Critical alert current limit exceeded
|
curr[123]_crit_alarm Critical alert current limit exceeded
|
||||||
curr[123]_max Warning alert current(mA) setting, activates the
|
curr[123]_max Warning alert current(mA) setting, activates the
|
||||||
corresponding alarm when the respective current
|
corresponding alarm when the respective current
|
||||||
average is above this value.
|
average is above this value.
|
||||||
curr[123]_max_alarm Warning alert current limit exceeded
|
curr[123]_max_alarm Warning alert current limit exceeded
|
||||||
in[456]_input Shunt voltage(uV) for channels 1, 2, and 3 respectively
|
in[456]_input Shunt voltage(uV) for channels 1, 2, and 3 respectively
|
||||||
samples Number of samples using in the averaging mode.
|
samples Number of samples using in the averaging mode.
|
||||||
Supports the list of number of samples:
|
|
||||||
|
Supports the list of number of samples:
|
||||||
|
|
||||||
1, 4, 16, 64, 128, 256, 512, 1024
|
1, 4, 16, 64, 128, 256, 512, 1024
|
||||||
|
======================= =======================================================
|
||||||
|
|
|
@ -2,105 +2,179 @@ Kernel driver it87
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* IT8603E/IT8623E
|
* IT8603E/IT8623E
|
||||||
|
|
||||||
Prefix: 'it8603'
|
Prefix: 'it8603'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8620E
|
* IT8620E
|
||||||
|
|
||||||
Prefix: 'it8620'
|
Prefix: 'it8620'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
* IT8628E
|
* IT8628E
|
||||||
|
|
||||||
Prefix: 'it8628'
|
Prefix: 'it8628'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8705F
|
* IT8705F
|
||||||
|
|
||||||
Prefix: 'it87'
|
Prefix: 'it87'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Once publicly available at the ITE website, but no longer
|
Datasheet: Once publicly available at the ITE website, but no longer
|
||||||
|
|
||||||
* IT8712F
|
* IT8712F
|
||||||
|
|
||||||
Prefix: 'it8712'
|
Prefix: 'it8712'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Once publicly available at the ITE website, but no longer
|
Datasheet: Once publicly available at the ITE website, but no longer
|
||||||
|
|
||||||
* IT8716F/IT8726F
|
* IT8716F/IT8726F
|
||||||
|
|
||||||
Prefix: 'it8716'
|
Prefix: 'it8716'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Once publicly available at the ITE website, but no longer
|
Datasheet: Once publicly available at the ITE website, but no longer
|
||||||
|
|
||||||
* IT8718F
|
* IT8718F
|
||||||
|
|
||||||
Prefix: 'it8718'
|
Prefix: 'it8718'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Once publicly available at the ITE website, but no longer
|
Datasheet: Once publicly available at the ITE website, but no longer
|
||||||
|
|
||||||
* IT8720F
|
* IT8720F
|
||||||
|
|
||||||
Prefix: 'it8720'
|
Prefix: 'it8720'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8721F/IT8758E
|
* IT8721F/IT8758E
|
||||||
|
|
||||||
Prefix: 'it8721'
|
Prefix: 'it8721'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8728F
|
* IT8728F
|
||||||
|
|
||||||
Prefix: 'it8728'
|
Prefix: 'it8728'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8732F
|
* IT8732F
|
||||||
|
|
||||||
Prefix: 'it8732'
|
Prefix: 'it8732'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8771E
|
* IT8771E
|
||||||
|
|
||||||
Prefix: 'it8771'
|
Prefix: 'it8771'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8772E
|
* IT8772E
|
||||||
|
|
||||||
Prefix: 'it8772'
|
Prefix: 'it8772'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8781F
|
* IT8781F
|
||||||
|
|
||||||
Prefix: 'it8781'
|
Prefix: 'it8781'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8782F
|
* IT8782F
|
||||||
|
|
||||||
Prefix: 'it8782'
|
Prefix: 'it8782'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8783E/F
|
* IT8783E/F
|
||||||
|
|
||||||
Prefix: 'it8783'
|
Prefix: 'it8783'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8786E
|
* IT8786E
|
||||||
|
|
||||||
Prefix: 'it8786'
|
Prefix: 'it8786'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* IT8790E
|
* IT8790E
|
||||||
|
|
||||||
Prefix: 'it8790'
|
Prefix: 'it8790'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
* SiS950 [clone of IT8705F]
|
* SiS950 [clone of IT8705F]
|
||||||
|
|
||||||
Prefix: 'it87'
|
Prefix: 'it87'
|
||||||
|
|
||||||
Addresses scanned: from Super I/O config space (8 I/O ports)
|
Addresses scanned: from Super I/O config space (8 I/O ports)
|
||||||
|
|
||||||
Datasheet: No longer be available
|
Datasheet: No longer be available
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Christophe Gauthron
|
- Christophe Gauthron
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
* update_vbat: int
|
* update_vbat: int
|
||||||
|
0 if vbat should report power on value, 1 if vbat should be updated after
|
||||||
0 if vbat should report power on value, 1 if vbat should be updated after
|
each read. Default is 0. On some boards the battery voltage is provided
|
||||||
each read. Default is 0. On some boards the battery voltage is provided
|
by either the battery or the onboard power supply. Only the first reading
|
||||||
by either the battery or the onboard power supply. Only the first reading
|
at power on will be the actual battery voltage (which the chip does
|
||||||
at power on will be the actual battery voltage (which the chip does
|
automatically). On other boards the battery voltage is always fed to
|
||||||
automatically). On other boards the battery voltage is always fed to
|
the chip so can be read at any time. Excessive reading may decrease
|
||||||
the chip so can be read at any time. Excessive reading may decrease
|
battery life but no information is given in the datasheet.
|
||||||
battery life but no information is given in the datasheet.
|
|
||||||
|
|
||||||
* fix_pwm_polarity int
|
* fix_pwm_polarity int
|
||||||
|
Force PWM polarity to active high (DANGEROUS). Some chips are
|
||||||
Force PWM polarity to active high (DANGEROUS). Some chips are
|
misconfigured by BIOS - PWM values would be inverted. This option tries
|
||||||
misconfigured by BIOS - PWM values would be inverted. This option tries
|
to fix this. Please contact your BIOS manufacturer and ask him for fix.
|
||||||
to fix this. Please contact your BIOS manufacturer and ask him for fix.
|
|
||||||
|
|
||||||
|
|
||||||
Hardware Interfaces
|
Hardware Interfaces
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver lineage-pem
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Supported devices:
|
Supported devices:
|
||||||
|
|
||||||
* Lineage Compact Power Line Power Entry Modules
|
* Lineage Compact Power Line Power Entry Modules
|
||||||
|
|
||||||
Prefix: 'lineage-pem'
|
Prefix: 'lineage-pem'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
|
|
||||||
|
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
|
||||||
|
|
||||||
Author: Guenter Roeck <linux@roeck-us.net>
|
Author: Guenter Roeck <linux@roeck-us.net>
|
||||||
|
|
||||||
|
@ -31,9 +36,10 @@ which can be safely used to identify the chip. You will have to instantiate
|
||||||
the devices explicitly.
|
the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for a Lineage PEM at address 0x40
|
Example: the following will load the driver for a Lineage PEM at address 0x40
|
||||||
on I2C bus #1:
|
on I2C bus #1::
|
||||||
$ modprobe lineage-pem
|
|
||||||
$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
|
$ modprobe lineage-pem
|
||||||
|
$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
All Lineage CPL power entry modules have a built-in I2C bus master selector
|
All Lineage CPL power entry modules have a built-in I2C bus master selector
|
||||||
(PCA9541). To ensure device access, this driver should only be used as client
|
(PCA9541). To ensure device access, this driver should only be used as client
|
||||||
|
@ -51,6 +57,7 @@ Input voltage, input current, input power, and fan speed measurement is only
|
||||||
supported on newer devices. The driver detects if those attributes are supported,
|
supported on newer devices. The driver detects if those attributes are supported,
|
||||||
and only creates respective sysfs entries if they are.
|
and only creates respective sysfs entries if they are.
|
||||||
|
|
||||||
|
======================= ===============================
|
||||||
in1_input Output voltage (mV)
|
in1_input Output voltage (mV)
|
||||||
in1_min_alarm Output undervoltage alarm
|
in1_min_alarm Output undervoltage alarm
|
||||||
in1_max_alarm Output overvoltage alarm
|
in1_max_alarm Output overvoltage alarm
|
||||||
|
@ -75,3 +82,4 @@ temp1_crit
|
||||||
temp1_alarm
|
temp1_alarm
|
||||||
temp1_crit_alarm
|
temp1_crit_alarm
|
||||||
temp1_fault
|
temp1_fault
|
||||||
|
======================= ===============================
|
||||||
|
|
|
@ -2,26 +2,43 @@ Kernel driver lm63
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM63
|
* National Semiconductor LM63
|
||||||
|
|
||||||
Prefix: 'lm63'
|
Prefix: 'lm63'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c
|
Addresses scanned: I2C 0x4c
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/pf/LM/LM63.html
|
|
||||||
|
http://www.national.com/pf/LM/LM63.html
|
||||||
|
|
||||||
* National Semiconductor LM64
|
* National Semiconductor LM64
|
||||||
|
|
||||||
Prefix: 'lm64'
|
Prefix: 'lm64'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18 and 0x4e
|
Addresses scanned: I2C 0x18 and 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/pf/LM/LM64.html
|
|
||||||
|
http://www.national.com/pf/LM/LM64.html
|
||||||
|
|
||||||
* National Semiconductor LM96163
|
* National Semiconductor LM96163
|
||||||
|
|
||||||
Prefix: 'lm96163'
|
Prefix: 'lm96163'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c
|
Addresses scanned: I2C 0x4c
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/pf/LM/LM96163.html
|
|
||||||
|
http://www.national.com/pf/LM/LM96163.html
|
||||||
|
|
||||||
|
|
||||||
Author: Jean Delvare <jdelvare@suse.de>
|
Author: Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Thanks go to Tyan and especially Alex Buckingham for setting up a remote
|
Thanks go to Tyan and especially Alex Buckingham for setting up a remote
|
||||||
access to their S4882 test platform for this driver.
|
access to their S4882 test platform for this driver.
|
||||||
|
|
||||||
http://www.tyan.com/
|
http://www.tyan.com/
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -32,6 +49,7 @@ and control.
|
||||||
|
|
||||||
The LM63 is basically an LM86 with fan speed monitoring and control
|
The LM63 is basically an LM86 with fan speed monitoring and control
|
||||||
capabilities added. It misses some of the LM86 features though:
|
capabilities added. It misses some of the LM86 features though:
|
||||||
|
|
||||||
- No low limit for local temperature.
|
- No low limit for local temperature.
|
||||||
- No critical limit for local temperature.
|
- No critical limit for local temperature.
|
||||||
- Critical limit for remote temperature can be changed only once. We
|
- Critical limit for remote temperature can be changed only once. We
|
||||||
|
|
|
@ -2,19 +2,30 @@ Kernel driver lm70
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM70
|
* National Semiconductor LM70
|
||||||
|
|
||||||
Datasheet: http://www.national.com/pf/LM/LM70.html
|
Datasheet: http://www.national.com/pf/LM/LM70.html
|
||||||
|
|
||||||
* Texas Instruments TMP121/TMP123
|
* Texas Instruments TMP121/TMP123
|
||||||
|
|
||||||
Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
|
Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
|
||||||
|
|
||||||
* Texas Instruments TMP122/TMP124
|
* Texas Instruments TMP122/TMP124
|
||||||
|
|
||||||
Information: http://www.ti.com/product/tmp122
|
Information: http://www.ti.com/product/tmp122
|
||||||
|
|
||||||
* National Semiconductor LM71
|
* National Semiconductor LM71
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/product/LM71
|
Datasheet: http://www.ti.com/product/LM71
|
||||||
|
|
||||||
* National Semiconductor LM74
|
* National Semiconductor LM74
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/product/LM74
|
Datasheet: http://www.ti.com/product/LM74
|
||||||
|
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
Kaiwan N Billimoria <kaiwan@designergraphix.com>
|
Kaiwan N Billimoria <kaiwan@designergraphix.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,13 +2,20 @@ Kernel driver lm73
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments LM73
|
* Texas Instruments LM73
|
||||||
|
|
||||||
Prefix: 'lm73'
|
Prefix: 'lm73'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
|
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Texas Instruments website
|
Datasheet: Publicly available at the Texas Instruments website
|
||||||
http://www.ti.com/product/lm73
|
|
||||||
|
http://www.ti.com/product/lm73
|
||||||
|
|
||||||
|
|
||||||
Author: Guillaume Ligneul <guillaume.ligneul@gmail.com>
|
Author: Guillaume Ligneul <guillaume.ligneul@gmail.com>
|
||||||
|
|
||||||
Documentation: Chris Verges <kg4ysn@gmail.com>
|
Documentation: Chris Verges <kg4ysn@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,17 +36,18 @@ conversion time via the 'update_interval' sysfs attribute for the
|
||||||
device. This attribute will normalize ranges of input values to the
|
device. This attribute will normalize ranges of input values to the
|
||||||
maximum times defined for the resolution in the datasheet.
|
maximum times defined for the resolution in the datasheet.
|
||||||
|
|
||||||
|
============= ============= ============
|
||||||
Resolution Conv. Time Input Range
|
Resolution Conv. Time Input Range
|
||||||
(C/LSB) (msec) (msec)
|
(C/LSB) (msec) (msec)
|
||||||
--------------------------------------
|
============= ============= ============
|
||||||
0.25 14 0..14
|
0.25 14 0..14
|
||||||
0.125 28 15..28
|
0.125 28 15..28
|
||||||
0.0625 56 29..56
|
0.0625 56 29..56
|
||||||
0.03125 112 57..infinity
|
0.03125 112 57..infinity
|
||||||
--------------------------------------
|
============= ============= ============
|
||||||
|
|
||||||
The following examples show how the 'update_interval' attribute can be
|
The following examples show how the 'update_interval' attribute can be
|
||||||
used to change the conversion time:
|
used to change the conversion time::
|
||||||
|
|
||||||
$ echo 0 > update_interval
|
$ echo 0 > update_interval
|
||||||
$ cat update_interval
|
$ cat update_interval
|
||||||
|
|
|
@ -2,68 +2,130 @@ Kernel driver lm75
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM75
|
* National Semiconductor LM75
|
||||||
|
|
||||||
Prefix: 'lm75'
|
Prefix: 'lm75'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48 - 0x4f
|
Addresses scanned: I2C 0x48 - 0x4f
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/
|
|
||||||
|
http://www.national.com/
|
||||||
|
|
||||||
* National Semiconductor LM75A
|
* National Semiconductor LM75A
|
||||||
|
|
||||||
Prefix: 'lm75a'
|
Prefix: 'lm75a'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48 - 0x4f
|
Addresses scanned: I2C 0x48 - 0x4f
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/
|
|
||||||
|
http://www.national.com/
|
||||||
|
|
||||||
* Dallas Semiconductor (now Maxim) DS75, DS1775, DS7505
|
* Dallas Semiconductor (now Maxim) DS75, DS1775, DS7505
|
||||||
|
|
||||||
Prefixes: 'ds75', 'ds1775', 'ds7505'
|
Prefixes: 'ds75', 'ds1775', 'ds7505'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://www.maximintegrated.com/
|
|
||||||
|
http://www.maximintegrated.com/
|
||||||
|
|
||||||
* Maxim MAX6625, MAX6626, MAX31725, MAX31726
|
* Maxim MAX6625, MAX6626, MAX31725, MAX31726
|
||||||
|
|
||||||
Prefixes: 'max6625', 'max6626', 'max31725', 'max31726'
|
Prefixes: 'max6625', 'max6626', 'max31725', 'max31726'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://www.maxim-ic.com/
|
|
||||||
|
http://www.maxim-ic.com/
|
||||||
|
|
||||||
* Microchip (TelCom) TCN75
|
* Microchip (TelCom) TCN75
|
||||||
|
|
||||||
Prefix: 'tcn75'
|
Prefix: 'tcn75'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Microchip website
|
Datasheet: Publicly available at the Microchip website
|
||||||
http://www.microchip.com/
|
|
||||||
|
http://www.microchip.com/
|
||||||
|
|
||||||
* Microchip MCP9800, MCP9801, MCP9802, MCP9803
|
* Microchip MCP9800, MCP9801, MCP9802, MCP9803
|
||||||
|
|
||||||
Prefix: 'mcp980x'
|
Prefix: 'mcp980x'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Microchip website
|
Datasheet: Publicly available at the Microchip website
|
||||||
http://www.microchip.com/
|
|
||||||
|
http://www.microchip.com/
|
||||||
|
|
||||||
* Analog Devices ADT75
|
* Analog Devices ADT75
|
||||||
|
|
||||||
Prefix: 'adt75'
|
Prefix: 'adt75'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Analog Devices website
|
Datasheet: Publicly available at the Analog Devices website
|
||||||
http://www.analog.com/adt75
|
|
||||||
|
http://www.analog.com/adt75
|
||||||
|
|
||||||
* ST Microelectronics STDS75
|
* ST Microelectronics STDS75
|
||||||
|
|
||||||
Prefix: 'stds75'
|
Prefix: 'stds75'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the ST website
|
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
|
* ST Microelectronics STLM75
|
||||||
|
|
||||||
Prefix: 'stlm75'
|
Prefix: 'stlm75'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the ST website
|
Datasheet: Publicly available at the ST website
|
||||||
|
|
||||||
https://www.st.com/resource/en/datasheet/stlm75.pdf
|
https://www.st.com/resource/en/datasheet/stlm75.pdf
|
||||||
|
|
||||||
* Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
|
* Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
|
||||||
|
|
||||||
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
|
Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Texas Instruments website
|
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/tmp100
|
||||||
http://www.ti.com/product/tmp105
|
|
||||||
http://www.ti.com/product/tmp112
|
http://www.ti.com/product/tmp101
|
||||||
http://www.ti.com/product/tmp75
|
|
||||||
http://www.ti.com/product/tmp75c
|
http://www.ti.com/product/tmp105
|
||||||
http://www.ti.com/product/tmp175
|
|
||||||
http://www.ti.com/product/tmp275
|
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
|
||||||
|
|
||||||
* NXP LM75B
|
* NXP LM75B
|
||||||
|
|
||||||
Prefix: 'lm75b'
|
Prefix: 'lm75b'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the NXP website
|
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>
|
Author: Frodo Looijaard <frodol@dds.nl>
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,17 @@ Kernel driver lm77
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM77
|
* National Semiconductor LM77
|
||||||
|
|
||||||
Prefix: 'lm77'
|
Prefix: 'lm77'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48 - 0x4b
|
Addresses scanned: I2C 0x48 - 0x4b
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/
|
|
||||||
|
http://www.national.com/
|
||||||
|
|
||||||
|
|
||||||
Author: Andras BALI <drewie@freemail.hu>
|
Author: Andras BALI <drewie@freemail.hu>
|
||||||
|
|
||||||
|
@ -25,6 +31,7 @@ register on the chip, which means that the relative difference between
|
||||||
the limit and its hysteresis is always the same for all 3 limits.
|
the limit and its hysteresis is always the same for all 3 limits.
|
||||||
|
|
||||||
This implementation detail implies the following:
|
This implementation detail implies the following:
|
||||||
|
|
||||||
* When setting a limit, its hysteresis will automatically follow, the
|
* When setting a limit, its hysteresis will automatically follow, the
|
||||||
difference staying unchanged. For example, if the old critical limit
|
difference staying unchanged. For example, if the old critical limit
|
||||||
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
|
||||||
|
|
|
@ -2,19 +2,31 @@ Kernel driver lm78
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
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>
|
* National Semiconductor LM78 / LM78-J
|
||||||
Jean Delvare <jdelvare@suse.de>
|
|
||||||
|
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
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,20 +2,31 @@ Kernel driver lm80
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM80
|
* National Semiconductor LM80
|
||||||
|
|
||||||
Prefix: 'lm80'
|
Prefix: 'lm80'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x28 - 0x2f
|
Addresses scanned: I2C 0x28 - 0x2f
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/
|
|
||||||
|
http://www.national.com/
|
||||||
|
|
||||||
* National Semiconductor LM96080
|
* National Semiconductor LM96080
|
||||||
|
|
||||||
Prefix: 'lm96080'
|
Prefix: 'lm96080'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x28 - 0x2f
|
Addresses scanned: I2C 0x28 - 0x2f
|
||||||
|
|
||||||
Datasheet: Publicly available at the National Semiconductor website
|
Datasheet: Publicly available at the National Semiconductor website
|
||||||
http://www.national.com/
|
|
||||||
|
http://www.national.com/
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Philip Edelbrock <phil@netroedge.com>
|
- Philip Edelbrock <phil@netroedge.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,16 +2,24 @@ Kernel driver lm83
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
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>
|
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.
|
contact us. Note that the LM90 can easily be misdetected as a LM83.
|
||||||
|
|
||||||
Confirmed motherboards:
|
Confirmed motherboards:
|
||||||
|
=== =====
|
||||||
SBS P014
|
SBS P014
|
||||||
SBS PSL09
|
SBS PSL09
|
||||||
|
=== =====
|
||||||
|
|
||||||
Unconfirmed motherboards:
|
Unconfirmed motherboards:
|
||||||
|
=========== ==========
|
||||||
Gigabyte GA-8IK1100
|
Gigabyte GA-8IK1100
|
||||||
Iwill MPX2
|
Iwill MPX2
|
||||||
Soltek SL-75DRV5
|
Soltek SL-75DRV5
|
||||||
|
=========== ==========
|
||||||
|
|
||||||
The LM82 is confirmed to have been found on most AMD Geode reference
|
The LM82 is confirmed to have been found on most AMD Geode reference
|
||||||
designs and test platforms.
|
designs and test platforms.
|
||||||
|
|
|
@ -2,49 +2,85 @@ Kernel driver lm85
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM85 (B and C versions)
|
* National Semiconductor LM85 (B and C versions)
|
||||||
|
|
||||||
Prefix: 'lm85b' or 'lm85c'
|
Prefix: 'lm85b' or 'lm85c'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.national.com/pf/LM/LM85.html
|
Datasheet: http://www.national.com/pf/LM/LM85.html
|
||||||
|
|
||||||
* Texas Instruments LM96000
|
* Texas Instruments LM96000
|
||||||
|
|
||||||
Prefix: 'lm9600'
|
Prefix: 'lm9600'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/lit/ds/symlink/lm96000.pdf
|
Datasheet: http://www.ti.com/lit/ds/symlink/lm96000.pdf
|
||||||
|
|
||||||
* Analog Devices ADM1027
|
* Analog Devices ADM1027
|
||||||
|
|
||||||
Prefix: 'adm1027'
|
Prefix: 'adm1027'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
|
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
|
||||||
|
|
||||||
* Analog Devices ADT7463
|
* Analog Devices ADT7463
|
||||||
|
|
||||||
Prefix: 'adt7463'
|
Prefix: 'adt7463'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
|
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
|
||||||
|
|
||||||
* Analog Devices ADT7468
|
* Analog Devices ADT7468
|
||||||
|
|
||||||
Prefix: 'adt7468'
|
Prefix: 'adt7468'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7468
|
Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7468
|
||||||
|
|
||||||
* SMSC EMC6D100, SMSC EMC6D101
|
* SMSC EMC6D100, SMSC EMC6D101
|
||||||
|
|
||||||
Prefix: 'emc6d100'
|
Prefix: 'emc6d100'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
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
|
* SMSC EMC6D102
|
||||||
|
|
||||||
Prefix: 'emc6d102'
|
Prefix: 'emc6d102'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.smsc.com/main/catalog/emc6d102.html
|
Datasheet: http://www.smsc.com/main/catalog/emc6d102.html
|
||||||
|
|
||||||
* SMSC EMC6D103
|
* SMSC EMC6D103
|
||||||
|
|
||||||
Prefix: 'emc6d103'
|
Prefix: 'emc6d103'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.smsc.com/main/catalog/emc6d103.html
|
Datasheet: http://www.smsc.com/main/catalog/emc6d103.html
|
||||||
|
|
||||||
* SMSC EMC6D103S
|
* SMSC EMC6D103S
|
||||||
|
|
||||||
Prefix: 'emc6d103s'
|
Prefix: 'emc6d103s'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
Addresses scanned: I2C 0x2c, 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html
|
Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Philip Pokorny <ppokorny@penguincomputing.com>,
|
- Philip Pokorny <ppokorny@penguincomputing.com>,
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Richard Barrington <rich_b_nz@clear.net.nz>,
|
- Richard Barrington <rich_b_nz@clear.net.nz>,
|
||||||
Margit Schubert-While <margitsw@t-online.de>,
|
- Margit Schubert-While <margitsw@t-online.de>,
|
||||||
Justin Thiessen <jthiessen@penguincomputing.com>
|
- Justin Thiessen <jthiessen@penguincomputing.com>
|
||||||
|
|
||||||
Description
|
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
|
sensors and therefore three zones (# 1, 2 and 3). Each zone has the following
|
||||||
temperature configuration points:
|
temperature configuration points:
|
||||||
|
|
||||||
* temp#_auto_temp_off - temperature below which fans should be off or spinning very low.
|
* temp#_auto_temp_off
|
||||||
* temp#_auto_temp_min - temperature over which fans start to spin.
|
- temperature below which fans should be off or spinning very low.
|
||||||
* temp#_auto_temp_max - temperature when fans spin at full speed.
|
* temp#_auto_temp_min
|
||||||
* temp#_auto_temp_crit - temperature when all fans will run full speed.
|
- 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
|
There are three PWM outputs. The LM85 datasheet suggests that the
|
||||||
pwm3 output control both fan3 and fan4. Each PWM can be individually
|
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 and assigned to a zone for its control value. Each PWM can be
|
||||||
configured individually according to the following options.
|
configured individually according to the following options.
|
||||||
|
|
||||||
* pwm#_auto_pwm_min - this specifies the PWM value for temp#_auto_temp_off
|
* pwm#_auto_pwm_min
|
||||||
temperature. (PWM value from 0 to 255)
|
- 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
|
* pwm#_auto_pwm_minctl
|
||||||
the behaviour of fans. Write 1 to let fans spinning at
|
- this flags selects for temp#_auto_temp_off temperature
|
||||||
pwm#_auto_pwm_min or write 0 to let them off.
|
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
|
.. note::
|
||||||
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 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:
|
Configuration choices:
|
||||||
|
|
||||||
Value Meaning
|
========== =============================================
|
||||||
------ ------------------------------------------------
|
Value Meaning
|
||||||
|
========== =============================================
|
||||||
1 Controlled by Zone 1
|
1 Controlled by Zone 1
|
||||||
2 Controlled by Zone 2
|
2 Controlled by Zone 2
|
||||||
3 Controlled by Zone 3
|
3 Controlled by Zone 3
|
||||||
|
@ -217,6 +265,7 @@ Configuration choices:
|
||||||
0 PWM always 0% (off)
|
0 PWM always 0% (off)
|
||||||
-1 PWM always 100% (full on)
|
-1 PWM always 100% (full on)
|
||||||
-2 Manual control (write to 'pwm#' to set)
|
-2 Manual control (write to 'pwm#' to set)
|
||||||
|
========== =============================================
|
||||||
|
|
||||||
The National LM85's have two vendor specific configuration
|
The National LM85's have two vendor specific configuration
|
||||||
features. Tach. mode and Spinup Control. For more details on these,
|
features. Tach. mode and Spinup Control. For more details on these,
|
||||||
|
|
|
@ -2,23 +2,32 @@ Kernel driver lm87
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM87
|
* National Semiconductor LM87
|
||||||
|
|
||||||
Prefix: 'lm87'
|
Prefix: 'lm87'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2e
|
Addresses scanned: I2C 0x2c - 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.national.com/pf/LM/LM87.html
|
Datasheet: http://www.national.com/pf/LM/LM87.html
|
||||||
|
|
||||||
* Analog Devices ADM1024
|
* Analog Devices ADM1024
|
||||||
|
|
||||||
Prefix: 'adm1024'
|
Prefix: 'adm1024'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2e
|
Addresses scanned: I2C 0x2c - 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.analog.com/en/prod/0,2877,ADM1024,00.html
|
Datasheet: http://www.analog.com/en/prod/0,2877,ADM1024,00.html
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Frodo Looijaard <frodol@dds.nl>,
|
- Frodo Looijaard <frodol@dds.nl>,
|
||||||
Philip Edelbrock <phil@netroedge.com>,
|
- Philip Edelbrock <phil@netroedge.com>,
|
||||||
Mark Studebaker <mdsxyz123@yahoo.com>,
|
- Mark Studebaker <mdsxyz123@yahoo.com>,
|
||||||
Stephen Rousset <stephen.rousset@rocketlogix.com>,
|
- Stephen Rousset <stephen.rousset@rocketlogix.com>,
|
||||||
Dan Eaton <dan.eaton@rocketlogix.com>,
|
- Dan Eaton <dan.eaton@rocketlogix.com>,
|
||||||
Jean Delvare <jdelvare@suse.de>,
|
- Jean Delvare <jdelvare@suse.de>,
|
||||||
Original 2.6 port Jeff Oliver
|
- Original 2.6 port Jeff Oliver
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,132 +2,256 @@ Kernel driver lm90
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
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>
|
Author: Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
|
|
|
@ -2,22 +2,35 @@ Kernel driver lm92
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM92
|
* National Semiconductor LM92
|
||||||
|
|
||||||
Prefix: 'lm92'
|
Prefix: 'lm92'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48 - 0x4b
|
Addresses scanned: I2C 0x48 - 0x4b
|
||||||
|
|
||||||
Datasheet: http://www.national.com/pf/LM/LM92.html
|
Datasheet: http://www.national.com/pf/LM/LM92.html
|
||||||
|
|
||||||
* National Semiconductor LM76
|
* National Semiconductor LM76
|
||||||
|
|
||||||
Prefix: 'lm92'
|
Prefix: 'lm92'
|
||||||
|
|
||||||
Addresses scanned: none, force parameter needed
|
Addresses scanned: none, force parameter needed
|
||||||
|
|
||||||
Datasheet: http://www.national.com/pf/LM/LM76.html
|
Datasheet: http://www.national.com/pf/LM/LM76.html
|
||||||
|
|
||||||
* Maxim MAX6633/MAX6634/MAX6635
|
* Maxim MAX6633/MAX6634/MAX6635
|
||||||
|
|
||||||
Prefix: 'max6635'
|
Prefix: 'max6635'
|
||||||
|
|
||||||
Addresses scanned: none, force parameter needed
|
Addresses scanned: none, force parameter needed
|
||||||
|
|
||||||
Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3074
|
Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3074
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Abraham van der Merwe <abraham@2d3d.co.za>
|
- Abraham van der Merwe <abraham@2d3d.co.za>
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,20 +2,29 @@ Kernel driver lm93
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor LM93
|
* National Semiconductor LM93
|
||||||
|
|
||||||
Prefix 'lm93'
|
Prefix 'lm93'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c-0x2e
|
Addresses scanned: I2C 0x2c-0x2e
|
||||||
|
|
||||||
Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf
|
Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf
|
||||||
|
|
||||||
* National Semiconductor LM94
|
* National Semiconductor LM94
|
||||||
|
|
||||||
Prefix 'lm94'
|
Prefix 'lm94'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c-0x2e
|
Addresses scanned: I2C 0x2c-0x2e
|
||||||
|
|
||||||
Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf
|
Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Mark M. Hoffman <mhoffman@lightlink.com>
|
- Mark M. Hoffman <mhoffman@lightlink.com>
|
||||||
Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com>
|
- Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com>
|
||||||
Adapted to 2.6.20 by Carsten Emde <ce@osadl.org>
|
- Adapted to 2.6.20 by Carsten Emde <ce@osadl.org>
|
||||||
Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de>
|
- Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de>
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -67,7 +76,8 @@ LM94 are not supported.
|
||||||
User Interface
|
User Interface
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
#PROCHOT:
|
#PROCHOT
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
The LM93 can monitor two #PROCHOT signals. The results are found in the
|
The LM93 can monitor two #PROCHOT signals. The results are found in the
|
||||||
sysfs files prochot1, prochot2, prochot1_avg, prochot2_avg, prochot1_max,
|
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
|
list will cause the driver to use the next largest interval. The available
|
||||||
intervals are (in seconds):
|
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
|
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
|
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
|
the override function is enabled. This value ranges from 0 to 15, with 0
|
||||||
indicating minimum duty cycle and 15 indicating maximum.
|
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
|
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
|
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
|
which 1 indicates #VRD_HOT is asserted and 0 indicates it is negated. These
|
||||||
files are read-only.
|
files are read-only.
|
||||||
|
|
||||||
Smart Tach Mode:
|
Smart Tach Mode (from the datasheet)::
|
||||||
|
|
||||||
(from the datasheet)
|
|
||||||
|
|
||||||
If a fan is driven using a low-side drive PWM, the tachometer
|
If a fan is driven using a low-side drive PWM, the tachometer
|
||||||
output of the fan is corrupted. The LM93 includes smart 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
|
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).
|
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
|
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
|
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
|
PWM mode is disabled, the value of pwm1 and pwm2 indicates the current duty
|
||||||
cycle chosen by the h/w.
|
cycle chosen by the h/w.
|
||||||
|
|
||||||
PWM Output Frequency:
|
PWM Output Frequency
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The LM93 supports several different frequencies for the PWM output channels.
|
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
|
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
|
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).
|
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
|
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
|
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
|
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).
|
a "0" disables it. The h/w default is 0x0f (all temperatures bound).
|
||||||
|
|
||||||
0x01 - Temp 1
|
====== ===========
|
||||||
0x02 - Temp 2
|
0x01 Temp 1
|
||||||
0x04 - Temp 3
|
0x02 Temp 2
|
||||||
0x08 - Temp 4
|
0x04 Temp 3
|
||||||
0x10 - #PROCHOT 1
|
0x08 Temp 4
|
||||||
0x20 - #PROCHOT 2
|
0x10 #PROCHOT 1
|
||||||
0x40 - #VRDHOT 1
|
0x20 #PROCHOT 2
|
||||||
0x80 - #VRDHOT 2
|
0x40 #VRDHOT 1
|
||||||
|
0x80 #VRDHOT 2
|
||||||
|
====== ===========
|
||||||
|
|
||||||
The function y = f(x) takes a source temperature x to a PWM output y. This
|
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
|
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
|
contained in the file temp<n>_auto_offset<i>. E.g. if the base temperature
|
||||||
is 40C:
|
is 40C:
|
||||||
|
|
||||||
|
========== ======================= =============== =======
|
||||||
offset # temp<n>_auto_offset<i> range pwm
|
offset # temp<n>_auto_offset<i> range pwm
|
||||||
|
========== ======================= =============== =======
|
||||||
1 0 - 25.00%
|
1 0 - 25.00%
|
||||||
2 0 - 28.57%
|
2 0 - 28.57%
|
||||||
3 1 40C - 41C 32.14%
|
3 1 40C - 41C 32.14%
|
||||||
|
@ -193,7 +211,8 @@ is 40C:
|
||||||
10 2 54C - 56C 57.14%
|
10 2 54C - 56C 57.14%
|
||||||
11 2 56C - 58C 71.43%
|
11 2 56C - 58C 71.43%
|
||||||
12 2 58C - 60C 85.71%
|
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.
|
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
|
and temp[34]. Therefore, any change to e.g. temp1_auto_pwm_min will also
|
||||||
affect temp2_auto_pwm_min.
|
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
|
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
|
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
|
the hardware. Selecting a value which is not available will cause the driver
|
||||||
to use the next largest value.
|
to use the next largest value.
|
||||||
|
|
||||||
Spin-up Durations: 0 (disabled, h/w default), 0.1, 0.25, 0.4, 0.7, 1.0,
|
Spin-up Durations:
|
||||||
2.0, 4.0
|
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
|
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
|
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
|
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.
|
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
|
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%.
|
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
|
the boost function is disabled. This temperature is also expressed in degrees
|
||||||
C in the sysfs files temp<n>_auto_boost_hyst.
|
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
|
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.
|
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
|
LM93 Unique sysfs Files
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
file description
|
=========================== ===============================================
|
||||||
-------------------------------------------------------------
|
file description
|
||||||
|
=========================== ===============================================
|
||||||
prochot<n> current #PROCHOT %
|
prochot<n> current #PROCHOT %
|
||||||
|
prochot<n>_avg moving average #PROCHOT %
|
||||||
prochot<n>_avg moving average #PROCHOT %
|
prochot<n>_max limit #PROCHOT %
|
||||||
|
prochot_short enable or disable logical #PROCHOT pin short
|
||||||
prochot<n>_max limit #PROCHOT %
|
prochot<n>_override force #PROCHOT assertion as PWM
|
||||||
|
prochot_override_duty_cycle duty cycle for the PWM signal used when
|
||||||
prochot_short enable or disable logical #PROCHOT pin short
|
#PROCHOT is overridden
|
||||||
|
prochot<n>_interval #PROCHOT PWM sampling interval
|
||||||
prochot<n>_override force #PROCHOT assertion as PWM
|
vrdhot<n> 0 means negated, 1 means asserted
|
||||||
|
fan<n>_smart_tach enable or disable smart tach mode
|
||||||
prochot_override_duty_cycle
|
pwm<n>_auto_channels select control sources for PWM outputs
|
||||||
duty cycle for the PWM signal used when
|
pwm<n>_auto_spinup_min minimum duty cycle during spin-up
|
||||||
#PROCHOT is overridden
|
pwm<n>_auto_spinup_time duration of spin-up
|
||||||
|
pwm_auto_prochot_ramp ramp time per step when #PROCHOT asserted
|
||||||
prochot<n>_interval #PROCHOT PWM sampling interval
|
pwm_auto_vrdhot_ramp ramp time per step when #VRDHOT asserted
|
||||||
|
temp<n>_auto_base temperature channel base
|
||||||
vrdhot<n> 0 means negated, 1 means asserted
|
temp<n>_auto_offset[1-12] temperature channel offsets
|
||||||
|
temp<n>_auto_offset_hyst temperature channel offset hysteresis
|
||||||
fan<n>_smart_tach enable or disable smart tach mode
|
temp<n>_auto_boost temperature channel boost (PWMs to 100%)
|
||||||
|
limit
|
||||||
pwm<n>_auto_channels select control sources for PWM outputs
|
temp<n>_auto_boost_hyst temperature channel boost hysteresis
|
||||||
|
gpio input state of 8 GPIO pins; read-only
|
||||||
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
|
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,23 @@
|
||||||
Kernel driver lm95245
|
Kernel driver lm95245
|
||||||
==================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
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>
|
Author: Alexander Stein <alexander.stein@systec-electronic.com>
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ltc2945
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC2945
|
* Linear Technology LTC2945
|
||||||
|
|
||||||
Prefix: 'ltc2945'
|
Prefix: 'ltc2945'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet:
|
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>
|
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.
|
the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for an LTC2945 at address 0x10
|
Example: the following will load the driver for an LTC2945 at address 0x10
|
||||||
on I2C bus #1:
|
on I2C bus #1::
|
||||||
$ modprobe ltc2945
|
|
||||||
$ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
$ modprobe ltc2945
|
||||||
|
$ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
|
|
||||||
Sysfs entries
|
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
|
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.
|
current by dividing the reported value by the sense resistor value in mOhm.
|
||||||
|
|
||||||
|
======================= ========================================================
|
||||||
in1_input VIN voltage (mV). Voltage is measured either at
|
in1_input VIN voltage (mV). Voltage is measured either at
|
||||||
SENSE+ or VDD pin depending on chip configuration.
|
SENSE+ or VDD pin depending on chip configuration.
|
||||||
in1_min Undervoltage threshold
|
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_reset_history Write 1 to reset power1 history
|
||||||
power1_min_alarm Low power alarm
|
power1_min_alarm Low power alarm
|
||||||
power1_max_alarm High power alarm
|
power1_max_alarm High power alarm
|
||||||
|
======================= ========================================================
|
||||||
|
|
|
@ -1,14 +1,23 @@
|
||||||
Kernel driver ltc2990
|
Kernel driver ltc2990
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC2990
|
* Linear Technology LTC2990
|
||||||
|
|
||||||
Prefix: 'ltc2990'
|
Prefix: 'ltc2990'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: http://www.linear.com/product/ltc2990
|
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
|
Description
|
||||||
|
@ -31,17 +40,21 @@ devices explicitly.
|
||||||
Sysfs attributes
|
Sysfs attributes
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
|
============= ==================================================
|
||||||
in0_input Voltage at Vcc pin in millivolt (range 2.5V to 5V)
|
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
|
A subset of the following attributes are visible, depending on the measurement
|
||||||
mode of the chip.
|
mode of the chip.
|
||||||
|
|
||||||
|
============= ==========================================================
|
||||||
in[1-4]_input Voltage at V[1-4] pin in millivolt
|
in[1-4]_input Voltage at V[1-4] pin in millivolt
|
||||||
temp2_input External temperature sensor TR1 in millidegrees Celcius
|
temp2_input External temperature sensor TR1 in millidegrees Celsius
|
||||||
temp3_input External temperature sensor TR2 in millidegrees Celcius
|
temp3_input External temperature sensor TR2 in millidegrees Celsius
|
||||||
curr1_input Current in mA across V1-V2 assuming a 1mOhm sense resistor
|
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
|
curr2_input Current in mA across V3-V4 assuming a 1mOhm sense resistor
|
||||||
|
============= ==========================================================
|
||||||
|
|
||||||
The "curr*_input" measurements actually report the voltage drop across the
|
The "curr*_input" measurements actually report the voltage drop across the
|
||||||
input pins in microvolts. This is equivalent to the current through a 1mOhm
|
input pins in microvolts. This is equivalent to the current through a 1mOhm
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ltc4151
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC4151
|
* Linear Technology LTC4151
|
||||||
|
|
||||||
Prefix: 'ltc4151'
|
Prefix: 'ltc4151'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet:
|
Datasheet:
|
||||||
http://www.linear.com/docs/Datasheet/4151fc.pdf
|
|
||||||
|
http://www.linear.com/docs/Datasheet/4151fc.pdf
|
||||||
|
|
||||||
Author: Per Dalen <per.dalen@appeartv.com>
|
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.
|
the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for an LTC4151 at address 0x6f
|
Example: the following will load the driver for an LTC4151 at address 0x6f
|
||||||
on I2C bus #0:
|
on I2C bus #0::
|
||||||
# modprobe ltc4151
|
|
||||||
# echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device
|
# modprobe ltc4151
|
||||||
|
# echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
|
||||||
|
|
||||||
Sysfs entries
|
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
|
Sense register. The reported value assumes that a 1 mOhm sense resistor is
|
||||||
installed.
|
installed.
|
||||||
|
|
||||||
|
======================= ==================
|
||||||
in1_input VDIN voltage (mV)
|
in1_input VDIN voltage (mV)
|
||||||
|
|
||||||
in2_input ADIN voltage (mV)
|
in2_input ADIN voltage (mV)
|
||||||
|
|
||||||
curr1_input SENSE current (mA)
|
curr1_input SENSE current (mA)
|
||||||
|
======================= ==================
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ltc4215
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC4215
|
* Linear Technology LTC4215
|
||||||
|
|
||||||
Prefix: 'ltc4215'
|
Prefix: 'ltc4215'
|
||||||
|
|
||||||
Addresses scanned: 0x44
|
Addresses scanned: 0x44
|
||||||
|
|
||||||
Datasheet:
|
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>
|
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.
|
instantiate the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for an LTC4215 at address 0x44
|
Example: the following will load the driver for an LTC4215 at address 0x44
|
||||||
on I2C bus #0:
|
on I2C bus #0::
|
||||||
$ modprobe ltc4215
|
|
||||||
$ echo ltc4215 0x44 > /sys/bus/i2c/devices/i2c-0/new_device
|
$ modprobe ltc4215
|
||||||
|
$ echo ltc4215 0x44 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
|
||||||
|
|
||||||
Sysfs entries
|
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
|
undercurrent warnings. This makes it very likely that the reference
|
||||||
circuit will be used.
|
circuit will be used.
|
||||||
|
|
||||||
|
======================= =========================
|
||||||
in1_input input voltage
|
in1_input input voltage
|
||||||
in2_input output voltage
|
in2_input output voltage
|
||||||
|
|
||||||
|
@ -49,3 +56,4 @@ curr1_max_alarm overcurrent alarm
|
||||||
|
|
||||||
power1_input power usage
|
power1_input power usage
|
||||||
power1_alarm power bad alarm
|
power1_alarm power bad alarm
|
||||||
|
======================= =========================
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ltc4245
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC4245
|
* Linear Technology LTC4245
|
||||||
|
|
||||||
Prefix: 'ltc4245'
|
Prefix: 'ltc4245'
|
||||||
|
|
||||||
Addresses scanned: 0x20-0x3f
|
Addresses scanned: 0x20-0x3f
|
||||||
|
|
||||||
Datasheet:
|
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>
|
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.
|
instantiate the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for an LTC4245 at address 0x23
|
Example: the following will load the driver for an LTC4245 at address 0x23
|
||||||
on I2C bus #1:
|
on I2C bus #1::
|
||||||
$ modprobe ltc4245
|
|
||||||
$ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device
|
$ modprobe ltc4245
|
||||||
|
$ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
|
|
||||||
Sysfs entries
|
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
|
into the values specified in the sysfs-interface document. The current readings
|
||||||
rely on the sense resistors listed in Table 2: "Sense Resistor Values".
|
rely on the sense resistors listed in Table 2: "Sense Resistor Values".
|
||||||
|
|
||||||
|
======================= =======================================================
|
||||||
in1_input 12v input voltage (mV)
|
in1_input 12v input voltage (mV)
|
||||||
in2_input 5v input voltage (mV)
|
in2_input 5v input voltage (mV)
|
||||||
in3_input 3v 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)
|
power2_input 5v power usage (mW)
|
||||||
power3_input 3v power usage (mW)
|
power3_input 3v power usage (mW)
|
||||||
power4_input Vee (-12v) power usage (mW)
|
power4_input Vee (-12v) power usage (mW)
|
||||||
|
======================= =======================================================
|
||||||
|
|
||||||
|
|
||||||
Note 1
|
Note 1
|
||||||
|
@ -96,6 +104,7 @@ slowly, -EAGAIN will be returned when you read the sysfs attribute containing
|
||||||
the sensor reading.
|
the sensor reading.
|
||||||
|
|
||||||
The LTC4245 chip can be configured to sample all GPIO pins with two methods:
|
The LTC4245 chip can be configured to sample all GPIO pins with two methods:
|
||||||
|
|
||||||
1) platform data -- see include/linux/platform_data/ltc4245.h
|
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) OF device tree -- add the "ltc4245,use-extra-gpios" property to each chip
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,16 @@ Kernel driver ltc4260
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Linear Technology LTC4260
|
* Linear Technology LTC4260
|
||||||
|
|
||||||
Prefix: 'ltc4260'
|
Prefix: 'ltc4260'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet:
|
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>
|
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.
|
the devices explicitly.
|
||||||
|
|
||||||
Example: the following will load the driver for an LTC4260 at address 0x10
|
Example: the following will load the driver for an LTC4260 at address 0x10
|
||||||
on I2C bus #1:
|
on I2C bus #1::
|
||||||
$ modprobe ltc4260
|
|
||||||
$ echo ltc4260 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
$ modprobe ltc4260
|
||||||
|
$ echo ltc4260 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
|
|
||||||
|
|
||||||
Sysfs entries
|
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
|
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.
|
current by dividing the reported value by the sense resistor value in mOhm.
|
||||||
|
|
||||||
|
======================= =======================
|
||||||
in1_input SOURCE voltage (mV)
|
in1_input SOURCE voltage (mV)
|
||||||
in1_min_alarm Undervoltage alarm
|
in1_min_alarm Undervoltage alarm
|
||||||
in1_max_alarm Overvoltage alarm
|
in1_max_alarm Overvoltage alarm
|
||||||
|
@ -54,3 +61,4 @@ in2_alarm Power bad alarm
|
||||||
|
|
||||||
curr1_input SENSE current (mA)
|
curr1_input SENSE current (mA)
|
||||||
curr1_alarm SENSE overcurrent alarm
|
curr1_alarm SENSE overcurrent alarm
|
||||||
|
======================= =======================
|
||||||
|
|
|
@ -2,15 +2,20 @@ Kernel driver max1619
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX1619
|
* Maxim MAX1619
|
||||||
|
|
||||||
Prefix: 'max1619'
|
Prefix: 'max1619'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18-0x1a, 0x29-0x2b, 0x4c-0x4e
|
Addresses scanned: I2C 0x18-0x1a, 0x29-0x2b, 0x4c-0x4e
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf
|
|
||||||
|
http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Oleksij Rempel <bug-track@fisher-privat.net>,
|
- Oleksij Rempel <bug-track@fisher-privat.net>,
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,12 +2,17 @@ Kernel driver max1668
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX1668, MAX1805 and MAX1989
|
* Maxim MAX1668, MAX1805 and MAX1989
|
||||||
|
|
||||||
Prefix: 'max1668'
|
Prefix: 'max1668'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
|
Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
|
||||||
|
|
||||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX1668-MAX1989.pdf
|
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX1668-MAX1989.pdf
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
David George <david.george@ska.ac.za>
|
David George <david.george@ska.ac.za>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -23,8 +28,9 @@ two ICs.
|
||||||
The driver is able to distinguish between the devices and creates sysfs
|
The driver is able to distinguish between the devices and creates sysfs
|
||||||
entries as follows:
|
entries as follows:
|
||||||
|
|
||||||
MAX1805, MAX1668 and MAX1989:
|
- MAX1805, MAX1668 and MAX1989:
|
||||||
|
|
||||||
|
=============== == ============================================================
|
||||||
temp1_input ro local (ambient) temperature
|
temp1_input ro local (ambient) temperature
|
||||||
temp1_max rw local temperature maximum threshold for alarm
|
temp1_max rw local temperature maximum threshold for alarm
|
||||||
temp1_max_alarm ro local temperature maximum threshold 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_max_alarm ro remote temperature 2 maximum threshold alarm
|
||||||
temp3_min rw remote temperature 2 minimum threshold for alarm
|
temp3_min rw remote temperature 2 minimum threshold for alarm
|
||||||
temp3_min_alarm ro remote temperature 2 minimum threshold 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_input ro remote temperature 3
|
||||||
temp4_max rw remote temperature 3 maximum threshold for alarm
|
temp4_max rw remote temperature 3 maximum threshold for alarm
|
||||||
temp4_max_alarm ro remote temperature 3 maximum threshold 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_max_alarm ro remote temperature 4 maximum threshold alarm
|
||||||
temp5_min rw remote temperature 4 minimum threshold for alarm
|
temp5_min rw remote temperature 4 minimum threshold for alarm
|
||||||
temp5_min_alarm ro remote temperature 4 minimum threshold alarm
|
temp5_min_alarm ro remote temperature 4 minimum threshold alarm
|
||||||
|
=============== == ============================================================
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
|
@ -1,16 +1,22 @@
|
||||||
Maxim MAX197 driver
|
Kernel driver max197
|
||||||
===================
|
====================
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
* Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
* Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX197
|
* Maxim MAX197
|
||||||
|
|
||||||
Prefix: 'max197'
|
Prefix: 'max197'
|
||||||
|
|
||||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf
|
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf
|
||||||
|
|
||||||
* Maxim MAX199
|
* Maxim MAX199
|
||||||
|
|
||||||
Prefix: 'max199'
|
Prefix: 'max199'
|
||||||
|
|
||||||
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf
|
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -26,7 +32,7 @@ Platform data
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The MAX197 platform data (defined in linux/platform_data/max197.h) should be
|
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);
|
int convert(u8 ctrl);
|
||||||
|
|
||||||
|
@ -36,25 +42,29 @@ or a negative error code otherwise.
|
||||||
|
|
||||||
Control byte format:
|
Control byte format:
|
||||||
|
|
||||||
|
======= ========== ============================================
|
||||||
Bit Name Description
|
Bit Name Description
|
||||||
7,6 PD1,PD0 Clock and Power-Down modes
|
7,6 PD1,PD0 Clock and Power-Down modes
|
||||||
5 ACQMOD Internal or External Controlled Acquisition
|
5 ACQMOD Internal or External Controlled Acquisition
|
||||||
4 RNG Full-scale voltage magnitude at the input
|
4 RNG Full-scale voltage magnitude at the input
|
||||||
3 BIP Unipolar or Bipolar conversion mode
|
3 BIP Unipolar or Bipolar conversion mode
|
||||||
2,1,0 A2,A1,A0 Channel
|
2,1,0 A2,A1,A0 Channel
|
||||||
|
======= ========== ============================================
|
||||||
|
|
||||||
Sysfs interface
|
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.
|
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 MAX197, it will be adjusted to -10000, -5000, or 0.
|
||||||
For the MAX199, it will be adjusted to -4000, -2000, or 0.
|
For the MAX199, it will be adjusted to -4000, -2000, or 0.
|
||||||
RW
|
RW
|
||||||
|
|
||||||
* in[0-7]_max: The higher limit (in mV) for the corresponding channel.
|
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 MAX197, it will be adjusted to 0, 5000, or 10000.
|
||||||
For the MAX199, it will be adjusted to 0, 2000, or 4000.
|
For the MAX199, it will be adjusted to 0, 2000, or 4000.
|
||||||
RW
|
RW
|
||||||
|
============== ==============================================================
|
||||||
|
|
|
@ -2,15 +2,25 @@ Kernel driver max31722
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim Integrated MAX31722
|
* Maxim Integrated MAX31722
|
||||||
|
|
||||||
Prefix: 'max31722'
|
Prefix: 'max31722'
|
||||||
|
|
||||||
ACPI ID: MAX31722
|
ACPI ID: MAX31722
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
||||||
|
|
||||||
* Maxim Integrated MAX31723
|
* Maxim Integrated MAX31723
|
||||||
|
|
||||||
Prefix: 'max31723'
|
Prefix: 'max31723'
|
||||||
|
|
||||||
ACPI ID: MAX31723
|
ACPI ID: MAX31723
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf
|
||||||
|
|
||||||
Author: Tiberiu Breana <tiberiu.a.breana@intel.com>
|
Author: Tiberiu Breana <tiberiu.a.breana@intel.com>
|
||||||
|
@ -31,4 +41,6 @@ Sysfs entries
|
||||||
|
|
||||||
The following attribute is supported:
|
The following attribute is supported:
|
||||||
|
|
||||||
|
======================= =======================================================
|
||||||
temp1_input Measured temperature. Read-only.
|
temp1_input Measured temperature. Read-only.
|
||||||
|
======================= =======================================================
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver max31790
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX31790
|
* Maxim MAX31790
|
||||||
|
|
||||||
Prefix: 'max31790'
|
Prefix: 'max31790'
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: http://pdfserv.maximintegrated.com/en/ds/MAX31790.pdf
|
Datasheet: http://pdfserv.maximintegrated.com/en/ds/MAX31790.pdf
|
||||||
|
|
||||||
Author: Il Han <corone.il.han@gmail.com>
|
Author: Il Han <corone.il.han@gmail.com>
|
||||||
|
@ -30,8 +34,10 @@ also be configured to serve as tachometer inputs.
|
||||||
Sysfs entries
|
Sysfs entries
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
================== === =======================================================
|
||||||
fan[1-12]_input RO fan tachometer speed in RPM
|
fan[1-12]_input RO fan tachometer speed in RPM
|
||||||
fan[1-12]_fault RO fan experienced fault
|
fan[1-12]_fault RO fan experienced fault
|
||||||
fan[1-6]_target RW desired fan speed in RPM
|
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]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode
|
||||||
pwm[1-6] RW fan target duty cycle (0-255)
|
pwm[1-6] RW fan target duty cycle (0-255)
|
||||||
|
================== === =======================================================
|
||||||
|
|
|
@ -2,14 +2,18 @@ Kernel driver max6639
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX6639
|
* Maxim MAX6639
|
||||||
|
|
||||||
Prefix: 'max6639'
|
Prefix: 'max6639'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c, 0x2e, 0x2f
|
Addresses scanned: I2C 0x2c, 0x2e, 0x2f
|
||||||
|
|
||||||
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6639.pdf
|
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6639.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
He Changqing <hechangqing@semptian.com>
|
- He Changqing <hechangqing@semptian.com>
|
||||||
Roland Stigge <stigge@antcom.de>
|
- Roland Stigge <stigge@antcom.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -21,19 +25,20 @@ diode-connected transistors.
|
||||||
|
|
||||||
The following device attributes are implemented via sysfs:
|
The following device attributes are implemented via sysfs:
|
||||||
|
|
||||||
|
====================== ==== ===================================================
|
||||||
Attribute R/W Contents
|
Attribute R/W Contents
|
||||||
----------------------------------------------------------------------------
|
====================== ==== ===================================================
|
||||||
temp1_input R Temperature channel 1 input (0..150 C)
|
temp1_input R Temperature channel 1 input (0..150 C)
|
||||||
temp2_input R Temperature channel 2 input (0..150 C)
|
temp2_input R Temperature channel 2 input (0..150 C)
|
||||||
temp1_fault R Temperature channel 1 diode fault
|
temp1_fault R Temperature channel 1 diode fault
|
||||||
temp2_fault R Temperature channel 2 diode fault
|
temp2_fault R Temperature channel 2 diode fault
|
||||||
temp1_max RW Set THERM temperature for input 1
|
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
|
temp2_max RW Set THERM temperature for input 2
|
||||||
temp1_crit RW Set ALERT temperature for input 1
|
temp1_crit RW Set ALERT temperature for input 1
|
||||||
temp2_crit RW Set ALERT temperature for input 2
|
temp2_crit RW Set ALERT temperature for input 2
|
||||||
temp1_emergency RW Set OT temperature for input 1
|
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
|
temp2_emergency RW Set OT temperature for input 2
|
||||||
pwm1 RW Fan 1 target duty cycle (0..255)
|
pwm1 RW Fan 1 target duty cycle (0..255)
|
||||||
pwm2 RW Fan 2 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
|
temp2_crit_alarm R Alarm on ALERT temperature on channel 2
|
||||||
temp1_emergency_alarm R Alarm on OT temperature on channel 1
|
temp1_emergency_alarm R Alarm on OT temperature on channel 1
|
||||||
temp2_emergency_alarm R Alarm on OT temperature on channel 2
|
temp2_emergency_alarm R Alarm on OT temperature on channel 2
|
||||||
|
====================== ==== ===================================================
|
||||||
|
|
|
@ -2,14 +2,20 @@ Kernel driver max6642
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX6642
|
* Maxim MAX6642
|
||||||
|
|
||||||
Prefix: 'max6642'
|
Prefix: 'max6642'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x48-0x4f
|
Addresses scanned: I2C 0x48-0x4f
|
||||||
|
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
|
|
||||||
|
http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Per Dalen <per.dalen@appeartv.com>
|
|
||||||
|
Per Dalen <per.dalen@appeartv.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,19 +2,27 @@ Kernel driver max6650
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Maxim MAX6650
|
* Maxim MAX6650
|
||||||
|
|
||||||
Prefix: 'max6650'
|
Prefix: 'max6650'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
|
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
|
||||||
|
|
||||||
* Maxim MAX6651
|
* Maxim MAX6651
|
||||||
|
|
||||||
Prefix: 'max6651'
|
Prefix: 'max6651'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
|
Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Hans J. Koch <hjk@hansjkoch.de>
|
- Hans J. Koch <hjk@hansjkoch.de>
|
||||||
John Morris <john.morris@spirentcom.com>
|
- John Morris <john.morris@spirentcom.com>
|
||||||
Claus Gindhart <claus.gindhart@kontron.com>
|
- Claus Gindhart <claus.gindhart@kontron.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -28,6 +36,7 @@ The driver is not able to distinguish between the 2 devices.
|
||||||
|
|
||||||
The driver provides the following sensor accesses in sysfs:
|
The driver provides the following sensor accesses in sysfs:
|
||||||
|
|
||||||
|
=============== ======= =======================================================
|
||||||
fan1_input ro fan tachometer speed in RPM
|
fan1_input ro fan tachometer speed in RPM
|
||||||
fan2_input ro "
|
fan2_input ro "
|
||||||
fan3_input ro "
|
fan3_input ro "
|
||||||
|
@ -40,6 +49,7 @@ pwm1 rw relative speed (0-255), 255=max. speed.
|
||||||
fan1_div rw sets the speed range the inputs can handle. Legal
|
fan1_div rw sets the speed range the inputs can handle. Legal
|
||||||
values are 1, 2, 4, and 8. Use lower values for
|
values are 1, 2, 4, and 8. Use lower values for
|
||||||
faster fans.
|
faster fans.
|
||||||
|
=============== ======= =======================================================
|
||||||
|
|
||||||
Usage notes
|
Usage notes
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,16 +2,25 @@ Kernel driver mc13783-adc
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Freescale MC13783
|
* Freescale MC13783
|
||||||
|
|
||||||
Prefix: 'mc13783'
|
Prefix: 'mc13783'
|
||||||
|
|
||||||
Datasheet: https://www.nxp.com/docs/en/data-sheet/MC13783.pdf
|
Datasheet: https://www.nxp.com/docs/en/data-sheet/MC13783.pdf
|
||||||
|
|
||||||
* Freescale MC13892
|
* Freescale MC13892
|
||||||
|
|
||||||
Prefix: 'mc13892'
|
Prefix: 'mc13892'
|
||||||
|
|
||||||
Datasheet: https://www.nxp.com/docs/en/data-sheet/MC13892.pdf
|
Datasheet: https://www.nxp.com/docs/en/data-sheet/MC13892.pdf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Sascha Hauer <s.hauer@pengutronix.de>
|
|
||||||
Luotao Fu <l.fu@pengutronix.de>
|
- Sascha Hauer <s.hauer@pengutronix.de>
|
||||||
|
- Luotao Fu <l.fu@pengutronix.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -30,9 +39,11 @@ the General Purpose inputs and touchscreen.
|
||||||
See the following tables for the meaning of the different channels and their
|
See the following tables for the meaning of the different channels and their
|
||||||
chip internal scaling:
|
chip internal scaling:
|
||||||
|
|
||||||
MC13783:
|
- MC13783:
|
||||||
|
|
||||||
|
======= =============================================== =============== =======
|
||||||
Channel Signal Input Range Scaling
|
Channel Signal Input Range Scaling
|
||||||
-------------------------------------------------------------------------------
|
======= =============================================== =============== =======
|
||||||
0 Battery Voltage (BATT) 2.50 - 4.65V -2.40V
|
0 Battery Voltage (BATT) 2.50 - 4.65V -2.40V
|
||||||
1 Battery Current (BATT - BATTISNS) -50 - 50 mV x20
|
1 Battery Current (BATT - BATTISNS) -50 - 50 mV x20
|
||||||
2 Application Supply (BP) 2.50 - 4.65V -2.40V
|
2 Application Supply (BP) 2.50 - 4.65V -2.40V
|
||||||
|
@ -52,10 +63,13 @@ Channel Signal Input Range Scaling
|
||||||
13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.30V No
|
13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.30V No
|
||||||
14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.30V No
|
14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.30V No
|
||||||
15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.30V No
|
15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.30V No
|
||||||
|
======= =============================================== =============== =======
|
||||||
|
|
||||||
MC13892:
|
- MC13892:
|
||||||
|
|
||||||
|
======= =============================================== =============== =======
|
||||||
Channel Signal Input Range Scaling
|
Channel Signal Input Range Scaling
|
||||||
-------------------------------------------------------------------------------
|
======= =============================================== =============== =======
|
||||||
0 Battery Voltage (BATT) 0 - 4.8V /2
|
0 Battery Voltage (BATT) 0 - 4.8V /2
|
||||||
1 Battery Current (BATT - BATTISNSCC) -60 - 60 mV x20
|
1 Battery Current (BATT - BATTISNSCC) -60 - 60 mV x20
|
||||||
2 Application Supply (BPSNS) 0 - 4.8V /2
|
2 Application Supply (BPSNS) 0 - 4.8V /2
|
||||||
|
@ -72,3 +86,4 @@ Channel Signal Input Range Scaling
|
||||||
13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.4V No
|
13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.4V No
|
||||||
14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.4V No
|
14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.4V No
|
||||||
15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.4V No
|
15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.4V No
|
||||||
|
======= =============================================== =============== =======
|
||||||
|
|
|
@ -1,17 +1,26 @@
|
||||||
Kernel driver MCP3021
|
Kernel driver MCP3021
|
||||||
======================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Microchip Technology MCP3021
|
* Microchip Technology MCP3021
|
||||||
|
|
||||||
Prefix: 'mcp3021'
|
Prefix: 'mcp3021'
|
||||||
|
|
||||||
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf
|
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf
|
||||||
|
|
||||||
* Microchip Technology MCP3221
|
* Microchip Technology MCP3221
|
||||||
|
|
||||||
Prefix: 'mcp3221'
|
Prefix: 'mcp3221'
|
||||||
|
|
||||||
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21732c.pdf
|
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21732c.pdf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Mingkai Hu
|
|
||||||
Sven Schuchmann <schuchmann@schleissheimer.de>
|
- Mingkai Hu
|
||||||
|
- Sven Schuchmann <schuchmann@schleissheimer.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,32 +2,38 @@ Kernel driver mlxreg-fan
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Provides FAN control for the next Mellanox systems:
|
Provides FAN control for the next Mellanox systems:
|
||||||
QMB700, equipped with 40x200GbE InfiniBand ports;
|
|
||||||
MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;
|
- QMB700, equipped with 40x200GbE InfiniBand ports;
|
||||||
MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;
|
- MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;
|
||||||
MSN3800, equipped with 64x1000GbE Ethernet ports;
|
- MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;
|
||||||
|
- MSN3800, equipped with 64x1000GbE Ethernet ports;
|
||||||
|
|
||||||
|
Author: Vadim Pasternak <vadimp@mellanox.com>
|
||||||
|
|
||||||
These are the Top of the Rack systems, equipped with Mellanox switch
|
These are the Top of the Rack systems, equipped with Mellanox switch
|
||||||
board with Mellanox Quantum or Spectrume-2 devices.
|
board with Mellanox Quantum or Spectrume-2 devices.
|
||||||
FAN controller is implemented by the programmable device logic.
|
FAN controller is implemented by the programmable device logic.
|
||||||
|
|
||||||
The default registers offsets set within the programmable device is as
|
The default registers offsets set within the programmable device is as
|
||||||
following:
|
following:
|
||||||
- pwm1 0xe3
|
|
||||||
- fan1 (tacho1) 0xe4
|
|
||||||
- fan2 (tacho2) 0xe5
|
|
||||||
- fan3 (tacho3) 0xe6
|
|
||||||
- fan4 (tacho4) 0xe7
|
|
||||||
- fan5 (tacho5) 0xe8
|
|
||||||
- fan6 (tacho6) 0xe9
|
|
||||||
- fan7 (tacho7) 0xea
|
|
||||||
- fan8 (tacho8) 0xeb
|
|
||||||
- fan9 (tacho9) 0xec
|
|
||||||
- fan10 (tacho10) 0xed
|
|
||||||
- fan11 (tacho11) 0xee
|
|
||||||
- fan12 (tacho12) 0xef
|
|
||||||
This setup can be re-programmed with other registers.
|
|
||||||
|
|
||||||
Author: Vadim Pasternak <vadimp@mellanox.com>
|
======================= ====
|
||||||
|
pwm1 0xe3
|
||||||
|
fan1 (tacho1) 0xe4
|
||||||
|
fan2 (tacho2) 0xe5
|
||||||
|
fan3 (tacho3) 0xe6
|
||||||
|
fan4 (tacho4) 0xe7
|
||||||
|
fan5 (tacho5) 0xe8
|
||||||
|
fan6 (tacho6) 0xe9
|
||||||
|
fan7 (tacho7) 0xea
|
||||||
|
fan8 (tacho8) 0xeb
|
||||||
|
fan9 (tacho9) 0xec
|
||||||
|
fan10 (tacho10) 0xed
|
||||||
|
fan11 (tacho11) 0xee
|
||||||
|
fan12 (tacho12) 0xef
|
||||||
|
======================= ====
|
||||||
|
|
||||||
|
This setup can be re-programmed with other registers.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -48,13 +54,17 @@ thermal's sysfs interfaces.
|
||||||
/sys files in hwmon subsystem
|
/sys files in hwmon subsystem
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
fan[1-12]_fault - RO files for tachometers TACH1-TACH12 fault indication
|
================= == ===================================================
|
||||||
fan[1-12]_input - RO files for tachometers TACH1-TACH12 input (in RPM)
|
fan[1-12]_fault RO files for tachometers TACH1-TACH12 fault indication
|
||||||
pwm1 - RW file for fan[1-12] target duty cycle (0..255)
|
fan[1-12]_input RO files for tachometers TACH1-TACH12 input (in RPM)
|
||||||
|
pwm1 RW file for fan[1-12] target duty cycle (0..255)
|
||||||
|
================= == ===================================================
|
||||||
|
|
||||||
/sys files in thermal subsystem
|
/sys files in thermal subsystem
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
cur_state - RW file for current cooling state of the cooling device
|
================= == ====================================================
|
||||||
(0..max_state)
|
cur_state RW file for current cooling state of the cooling device
|
||||||
max_state - RO file for maximum cooling state of the cooling device
|
(0..max_state)
|
||||||
|
max_state RO file for maximum cooling state of the cooling device
|
||||||
|
================= == ====================================================
|
||||||
|
|
|
@ -2,13 +2,18 @@ Kernel driver nct6683
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Nuvoton NCT6683D
|
* Nuvoton NCT6683D
|
||||||
|
|
||||||
Prefix: 'nct6683'
|
Prefix: 'nct6683'
|
||||||
|
|
||||||
Addresses scanned: ISA address retrieved from Super I/O registers
|
Addresses scanned: ISA address retrieved from Super I/O registers
|
||||||
|
|
||||||
Datasheet: Available from Nuvoton upon request
|
Datasheet: Available from Nuvoton upon request
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Guenter Roeck <linux@roeck-us.net>
|
|
||||||
|
Guenter Roeck <linux@roeck-us.net>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -50,8 +55,10 @@ Tested Boards and Firmware Versions
|
||||||
The driver has been reported to work with the following boards and
|
The driver has been reported to work with the following boards and
|
||||||
firmware versions.
|
firmware versions.
|
||||||
|
|
||||||
|
=============== ===============================================
|
||||||
Board Firmware version
|
Board Firmware version
|
||||||
---------------------------------------------------------------
|
=============== ===============================================
|
||||||
Intel DH87RL NCT6683D EC firmware version 1.0 build 04/03/13
|
Intel DH87RL NCT6683D EC firmware version 1.0 build 04/03/13
|
||||||
Intel DH87MC NCT6683D EC firmware version 1.0 build 04/03/13
|
Intel DH87MC NCT6683D EC firmware version 1.0 build 04/03/13
|
||||||
Intel DB85FL NCT6683D EC firmware version 1.0 build 04/03/13
|
Intel DB85FL NCT6683D EC firmware version 1.0 build 04/03/13
|
||||||
|
=============== ===============================================
|
||||||
|
|
|
@ -2,13 +2,18 @@ Kernel driver nct7802
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Nuvoton NCT7802Y
|
* Nuvoton NCT7802Y
|
||||||
|
|
||||||
Prefix: 'nct7802'
|
Prefix: 'nct7802'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x28..0x2f
|
Addresses scanned: I2C 0x28..0x2f
|
||||||
|
|
||||||
Datasheet: Available from Nuvoton web site
|
Datasheet: Available from Nuvoton web site
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Guenter Roeck <linux@roeck-us.net>
|
|
||||||
|
Guenter Roeck <linux@roeck-us.net>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -25,7 +30,9 @@ Tested Boards and BIOS Versions
|
||||||
The driver has been reported to work with the following boards and
|
The driver has been reported to work with the following boards and
|
||||||
BIOS versions.
|
BIOS versions.
|
||||||
|
|
||||||
|
======================= ===============================================
|
||||||
Board BIOS version
|
Board BIOS version
|
||||||
---------------------------------------------------------------
|
======================= ===============================================
|
||||||
Kontron COMe-bSC2 CHR2E934.001.GGO
|
Kontron COMe-bSC2 CHR2E934.001.GGO
|
||||||
Kontron COMe-bIP2 CCR2E212
|
Kontron COMe-bIP2 CCR2E212
|
||||||
|
======================= ===============================================
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
Kernel driver nct7904
|
Kernel driver nct7904
|
||||||
====================
|
=====================
|
||||||
|
|
||||||
Supported chip:
|
Supported chip:
|
||||||
|
|
||||||
* Nuvoton NCT7904D
|
* Nuvoton NCT7904D
|
||||||
|
|
||||||
Prefix: nct7904
|
Prefix: nct7904
|
||||||
|
|
||||||
Addresses: I2C 0x2d, 0x2e
|
Addresses: I2C 0x2d, 0x2e
|
||||||
|
|
||||||
Datasheet: Publicly available at Nuvoton website
|
Datasheet: Publicly available at Nuvoton website
|
||||||
|
|
||||||
http://www.nuvoton.com/
|
http://www.nuvoton.com/
|
||||||
|
|
||||||
Author: Vadim V. Vlasov <vvlasov@dev.rtsoft.ru>
|
Author: Vadim V. Vlasov <vvlasov@dev.rtsoft.ru>
|
||||||
|
@ -25,6 +30,7 @@ Sysfs entries
|
||||||
|
|
||||||
Currently, the driver supports only the following features:
|
Currently, the driver supports only the following features:
|
||||||
|
|
||||||
|
======================= =======================================================
|
||||||
in[1-20]_input Input voltage measurements (mV)
|
in[1-20]_input Input voltage measurements (mV)
|
||||||
|
|
||||||
fan[1-12]_input Fan tachometer measurements (rpm)
|
fan[1-12]_input Fan tachometer measurements (rpm)
|
||||||
|
@ -40,6 +46,7 @@ pwm[1-4]_enable R/W, 1/2 for manual or SmartFan mode
|
||||||
previously configured by BIOS (or configuration EEPROM)
|
previously configured by BIOS (or configuration EEPROM)
|
||||||
|
|
||||||
pwm[1-4] R/O in SmartFan mode, R/W in manual control mode
|
pwm[1-4] R/O in SmartFan mode, R/W in manual control mode
|
||||||
|
======================= =======================================================
|
||||||
|
|
||||||
The driver checks sensor control registers and does not export the sensors
|
The driver checks sensor control registers and does not export the sensors
|
||||||
that are not enabled. Anyway, a sensor that is enabled may actually be not
|
that are not enabled. Anyway, a sensor that is enabled may actually be not
|
||||||
|
|
|
@ -2,9 +2,11 @@ Kernel driver npcm750-pwm-fan
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
NUVOTON NPCM750/730/715/705
|
NUVOTON NPCM750/730/715/705
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
|
|
||||||
<tomer.maimon@nuvoton.com>
|
<tomer.maimon@nuvoton.com>
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
@ -15,8 +17,10 @@ controller supports up to 16 tachometer inputs.
|
||||||
|
|
||||||
The driver provides the following sensor accesses in sysfs:
|
The driver provides the following sensor accesses in sysfs:
|
||||||
|
|
||||||
|
=============== ======= =====================================================
|
||||||
fanX_input ro provide current fan rotation value in RPM as reported
|
fanX_input ro provide current fan rotation value in RPM as reported
|
||||||
by the fan to the device.
|
by the fan to the device.
|
||||||
|
|
||||||
pwmX rw get or set PWM fan control value. This is an integer
|
pwmX rw get or set PWM fan control value. This is an integer
|
||||||
value between 0(off) and 255(full speed).
|
value between 0(off) and 255(full speed).
|
||||||
|
=============== ======= =====================================================
|
||||||
|
|
|
@ -2,14 +2,23 @@ Kernel driver nsa320_hwmon
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Holtek HT46R065 microcontroller with onboard firmware that configures
|
* Holtek HT46R065 microcontroller with onboard firmware that configures
|
||||||
|
|
||||||
it to act as a hardware monitor.
|
it to act as a hardware monitor.
|
||||||
|
|
||||||
Prefix: 'nsa320'
|
Prefix: 'nsa320'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Not available, driver was reverse engineered based upon the
|
Datasheet: Not available, driver was reverse engineered based upon the
|
||||||
|
|
||||||
Zyxel kernel source
|
Zyxel kernel source
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
Adam Baker <linux@baker-net.org.uk>
|
Adam Baker <linux@baker-net.org.uk>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -31,8 +40,10 @@ tenths of a degree.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
temp1_input - temperature input
|
============= =================
|
||||||
fan1_input - fan speed
|
temp1_input temperature input
|
||||||
|
fan1_input fan speed
|
||||||
|
============= =================
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -1,22 +1,29 @@
|
||||||
Kernel driver ntc_thermistor
|
Kernel driver ntc_thermistor
|
||||||
=================
|
============================
|
||||||
|
|
||||||
Supported thermistors from Murata:
|
Supported thermistors from Murata:
|
||||||
|
|
||||||
* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
|
* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
|
||||||
NCP15WL333, NCP03WF104, NCP15XH103
|
NCP15WL333, NCP03WF104, NCP15XH103
|
||||||
|
|
||||||
Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
|
Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
|
||||||
'ncp15wl333', 'ncp03wf104', 'ncp15xh103'
|
'ncp15wl333', 'ncp03wf104', 'ncp15xh103'
|
||||||
|
|
||||||
Datasheet: Publicly available at Murata
|
Datasheet: Publicly available at Murata
|
||||||
|
|
||||||
Supported thermistors from EPCOS:
|
Supported thermistors from EPCOS:
|
||||||
|
|
||||||
* EPCOS NTC Thermistors B57330V2103
|
* EPCOS NTC Thermistors B57330V2103
|
||||||
|
|
||||||
Prefixes: b57330v2103
|
Prefixes: b57330v2103
|
||||||
|
|
||||||
Datasheet: Publicly available at EPCOS
|
Datasheet: Publicly available at EPCOS
|
||||||
|
|
||||||
Other NTC thermistors can be supported simply by adding compensation
|
Other NTC thermistors can be supported simply by adding compensation
|
||||||
tables; e.g., NCP15WL333 support is added by the table ncpXXwl333.
|
tables; e.g., NCP15WL333 support is added by the table ncpXXwl333.
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
|
|
||||||
MyungJoo Ham <myungjoo.ham@samsung.com>
|
MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -29,57 +36,60 @@ compensation table to get the temperature input.
|
||||||
The NTC driver provides lookup tables with a linear approximation function
|
The NTC driver provides lookup tables with a linear approximation function
|
||||||
and four circuit models with an option not to use any of the four models.
|
and four circuit models with an option not to use any of the four models.
|
||||||
|
|
||||||
|
Using the following convention::
|
||||||
|
|
||||||
|
$ resistor
|
||||||
|
[TH] the thermistor
|
||||||
|
|
||||||
The four circuit models provided are:
|
The four circuit models provided are:
|
||||||
|
|
||||||
$: resister, [TH]: the thermistor
|
1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0::
|
||||||
|
|
||||||
1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0
|
[pullup_uV]
|
||||||
|
| |
|
||||||
|
[TH] $ (pullup_ohm)
|
||||||
|
| |
|
||||||
|
+----+-----------------------[read_uV]
|
||||||
|
|
|
||||||
|
$ (pulldown_ohm)
|
||||||
|
|
|
||||||
|
-+- (ground)
|
||||||
|
|
||||||
[pullup_uV]
|
2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)::
|
||||||
| |
|
|
||||||
[TH] $ (pullup_ohm)
|
|
||||||
| |
|
|
||||||
+----+-----------------------[read_uV]
|
|
||||||
|
|
|
||||||
$ (pulldown_ohm)
|
|
||||||
|
|
|
||||||
--- (ground)
|
|
||||||
|
|
||||||
2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)
|
[pullup_uV]
|
||||||
|
|
|
||||||
|
[TH]
|
||||||
|
|
|
||||||
|
+----------------------------[read_uV]
|
||||||
|
|
|
||||||
|
$ (pulldown_ohm)
|
||||||
|
|
|
||||||
|
-+- (ground)
|
||||||
|
|
||||||
[pullup_uV]
|
3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0::
|
||||||
|
|
|
||||||
[TH]
|
|
||||||
|
|
|
||||||
+----------------------------[read_uV]
|
|
||||||
|
|
|
||||||
$ (pulldown_ohm)
|
|
||||||
|
|
|
||||||
--- (ground)
|
|
||||||
|
|
||||||
3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0
|
[pullup_uV]
|
||||||
|
|
|
||||||
|
$ (pullup_ohm)
|
||||||
|
|
|
||||||
|
+----+-----------------------[read_uV]
|
||||||
|
| |
|
||||||
|
[TH] $ (pulldown_ohm)
|
||||||
|
| |
|
||||||
|
-+----+- (ground)
|
||||||
|
|
||||||
[pullup_uV]
|
4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)::
|
||||||
|
|
|
||||||
$ (pullup_ohm)
|
|
||||||
|
|
|
||||||
+----+-----------------------[read_uV]
|
|
||||||
| |
|
|
||||||
[TH] $ (pulldown_ohm)
|
|
||||||
| |
|
|
||||||
-------- (ground)
|
|
||||||
|
|
||||||
4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)
|
[pullup_uV]
|
||||||
|
|
|
||||||
[pullup_uV]
|
$ (pullup_ohm)
|
||||||
|
|
|
|
||||||
$ (pullup_ohm)
|
+----------------------------[read_uV]
|
||||||
|
|
|
|
||||||
+----------------------------[read_uV]
|
[TH]
|
||||||
|
|
|
|
||||||
[TH]
|
-+- (ground)
|
||||||
|
|
|
||||||
--- (ground)
|
|
||||||
|
|
||||||
When one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
|
When one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
|
||||||
pulldown_ohm, and connect should be provided. When none of the four models
|
pulldown_ohm, and connect should be provided. When none of the four models
|
||||||
|
@ -88,13 +98,14 @@ provide read_ohm and _not_ provide the others.
|
||||||
|
|
||||||
Sysfs Interface
|
Sysfs Interface
|
||||||
---------------
|
---------------
|
||||||
name the mandatory global attribute, the thermistor name.
|
|
||||||
|
|
||||||
temp1_type always 4 (thermistor)
|
=============== == =============================================================
|
||||||
RO
|
name the mandatory global attribute, the thermistor name.
|
||||||
|
=============== == =============================================================
|
||||||
|
temp1_type RO always 4 (thermistor)
|
||||||
|
|
||||||
temp1_input measure the temperature and provide the measured value.
|
temp1_input RO measure the temperature and provide the measured value.
|
||||||
(reading this file initiates the reading procedure.)
|
(reading this file initiates the reading procedure.)
|
||||||
RO
|
=============== == =============================================================
|
||||||
|
|
||||||
Note that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.
|
Note that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.
|
||||||
|
|
|
@ -2,6 +2,7 @@ Kernel driver occ-hwmon
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* POWER8
|
* POWER8
|
||||||
* POWER9
|
* POWER9
|
||||||
|
|
||||||
|
@ -37,53 +38,87 @@ Some entries are only present with certain OCC sensor versions or only on
|
||||||
certain OCCs in the system. The version number is not exported to the user
|
certain OCCs in the system. The version number is not exported to the user
|
||||||
but can be inferred.
|
but can be inferred.
|
||||||
|
|
||||||
temp[1-n]_label OCC sensor ID.
|
temp[1-n]_label
|
||||||
|
OCC sensor ID.
|
||||||
|
|
||||||
[with temperature sensor version 1]
|
[with temperature sensor version 1]
|
||||||
temp[1-n]_input Measured temperature of the component in millidegrees
|
|
||||||
|
temp[1-n]_input
|
||||||
|
Measured temperature of the component in millidegrees
|
||||||
Celsius.
|
Celsius.
|
||||||
|
|
||||||
[with temperature sensor version >= 2]
|
[with temperature sensor version >= 2]
|
||||||
temp[1-n]_type The FRU (Field Replaceable Unit) type
|
|
||||||
|
temp[1-n]_type
|
||||||
|
The FRU (Field Replaceable Unit) type
|
||||||
(represented by an integer) for the component
|
(represented by an integer) for the component
|
||||||
that this sensor measures.
|
that this sensor measures.
|
||||||
temp[1-n]_fault Temperature sensor fault boolean; 1 to indicate
|
temp[1-n]_fault
|
||||||
|
Temperature sensor fault boolean; 1 to indicate
|
||||||
that a fault is present or 0 to indicate that
|
that a fault is present or 0 to indicate that
|
||||||
no fault is present.
|
no fault is present.
|
||||||
|
|
||||||
[with type == 3 (FRU type is VRM)]
|
[with type == 3 (FRU type is VRM)]
|
||||||
temp[1-n]_alarm VRM temperature alarm boolean; 1 to indicate
|
|
||||||
|
temp[1-n]_alarm
|
||||||
|
VRM temperature alarm boolean; 1 to indicate
|
||||||
alarm, 0 to indicate no alarm
|
alarm, 0 to indicate no alarm
|
||||||
|
|
||||||
[else]
|
[else]
|
||||||
temp[1-n]_input Measured temperature of the component in
|
|
||||||
|
temp[1-n]_input
|
||||||
|
Measured temperature of the component in
|
||||||
millidegrees Celsius.
|
millidegrees Celsius.
|
||||||
|
|
||||||
freq[1-n]_label OCC sensor ID.
|
freq[1-n]_label
|
||||||
freq[1-n]_input Measured frequency of the component in MHz.
|
OCC sensor ID.
|
||||||
|
freq[1-n]_input
|
||||||
power[1-n]_input Latest measured power reading of the component in
|
Measured frequency of the component in MHz.
|
||||||
|
power[1-n]_input
|
||||||
|
Latest measured power reading of the component in
|
||||||
microwatts.
|
microwatts.
|
||||||
power[1-n]_average Average power of the component in microwatts.
|
power[1-n]_average
|
||||||
power[1-n]_average_interval The amount of time over which the power average
|
Average power of the component in microwatts.
|
||||||
|
power[1-n]_average_interval
|
||||||
|
The amount of time over which the power average
|
||||||
was taken in microseconds.
|
was taken in microseconds.
|
||||||
|
|
||||||
[with power sensor version < 2]
|
[with power sensor version < 2]
|
||||||
power[1-n]_label OCC sensor ID.
|
|
||||||
|
power[1-n]_label
|
||||||
|
OCC sensor ID.
|
||||||
|
|
||||||
[with power sensor version >= 2]
|
[with power sensor version >= 2]
|
||||||
power[1-n]_label OCC sensor ID + function ID + channel in the form
|
|
||||||
|
power[1-n]_label
|
||||||
|
OCC sensor ID + function ID + channel in the form
|
||||||
of a string, delimited by underscores, i.e. "0_15_1".
|
of a string, delimited by underscores, i.e. "0_15_1".
|
||||||
Both the function ID and channel are integers that
|
Both the function ID and channel are integers that
|
||||||
further identify the power sensor.
|
further identify the power sensor.
|
||||||
|
|
||||||
[with power sensor version 0xa0]
|
[with power sensor version 0xa0]
|
||||||
power[1-n]_label OCC sensor ID + sensor type in the form of a string,
|
|
||||||
|
power[1-n]_label
|
||||||
|
OCC sensor ID + sensor type in the form of a string,
|
||||||
delimited by an underscore, i.e. "0_system". Sensor
|
delimited by an underscore, i.e. "0_system". Sensor
|
||||||
type will be one of "system", "proc", "vdd" or "vdn".
|
type will be one of "system", "proc", "vdd" or "vdn".
|
||||||
For this sensor version, OCC sensor ID will be the same
|
For this sensor version, OCC sensor ID will be the same
|
||||||
for all power sensors.
|
for all power sensors.
|
||||||
|
|
||||||
[present only on "master" OCC; represents the whole system power; only one of
|
[present only on "master" OCC; represents the whole system power; only one of
|
||||||
this type of power sensor will be present]
|
this type of power sensor will be present]
|
||||||
power[1-n]_label "system"
|
|
||||||
power[1-n]_input Latest system output power in microwatts.
|
power[1-n]_label
|
||||||
power[1-n]_cap Current system power cap in microwatts.
|
"system"
|
||||||
power[1-n]_cap_not_redundant System power cap in microwatts when
|
power[1-n]_input
|
||||||
there is not redundant power.
|
Latest system output power in microwatts.
|
||||||
power[1-n]_cap_max Maximum power cap that the OCC can enforce in
|
power[1-n]_cap
|
||||||
|
Current system power cap in microwatts.
|
||||||
|
power[1-n]_cap_not_redundant
|
||||||
|
System power cap in microwatts when
|
||||||
|
there is not redundant power.
|
||||||
|
power[1-n]_cap_max
|
||||||
|
Maximum power cap that the OCC can enforce in
|
||||||
microwatts.
|
microwatts.
|
||||||
power[1-n]_cap_min Minimum power cap that the OCC can enforce in
|
power[1-n]_cap_min Minimum power cap that the OCC can enforce in
|
||||||
microwatts.
|
microwatts.
|
||||||
|
@ -94,8 +129,11 @@ power[1-n]_average_interval The amount of time over which the power average
|
||||||
ignored, i.e. requesting a power cap of
|
ignored, i.e. requesting a power cap of
|
||||||
500900000 microwatts will result in a power cap
|
500900000 microwatts will result in a power cap
|
||||||
request of 500 watts.
|
request of 500 watts.
|
||||||
|
|
||||||
[with caps sensor version > 1]
|
[with caps sensor version > 1]
|
||||||
power[1-n]_cap_user_source Indicates how the user power cap was
|
|
||||||
|
power[1-n]_cap_user_source
|
||||||
|
Indicates how the user power cap was
|
||||||
set. This is an integer that maps to
|
set. This is an integer that maps to
|
||||||
system or firmware components that can
|
system or firmware components that can
|
||||||
set the user power cap.
|
set the user power cap.
|
||||||
|
@ -104,9 +142,12 @@ The following "extn" sensors are exported as a way for the OCC to provide data
|
||||||
that doesn't fit anywhere else. The meaning of these sensors is entirely
|
that doesn't fit anywhere else. The meaning of these sensors is entirely
|
||||||
dependent on their data, and cannot be statically defined.
|
dependent on their data, and cannot be statically defined.
|
||||||
|
|
||||||
extn[1-n]_label ASCII ID or OCC sensor ID.
|
extn[1-n]_label
|
||||||
extn[1-n]_flags This is one byte hexadecimal value. Bit 7 indicates the
|
ASCII ID or OCC sensor ID.
|
||||||
|
extn[1-n]_flags
|
||||||
|
This is one byte hexadecimal value. Bit 7 indicates the
|
||||||
type of the label attribute; 1 for sensor ID, 0 for
|
type of the label attribute; 1 for sensor ID, 0 for
|
||||||
ASCII ID. Other bits are reserved.
|
ASCII ID. Other bits are reserved.
|
||||||
extn[1-n]_input 6 bytes of hexadecimal data, with a meaning defined by
|
extn[1-n]_input
|
||||||
|
6 bytes of hexadecimal data, with a meaning defined by
|
||||||
the sensor ID.
|
the sensor ID.
|
||||||
|
|
|
@ -2,9 +2,13 @@ Kernel driver pc87427
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* National Semiconductor PC87427
|
* National Semiconductor PC87427
|
||||||
|
|
||||||
Prefix: 'pc87427'
|
Prefix: 'pc87427'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: No longer available
|
Datasheet: No longer available
|
||||||
|
|
||||||
Author: Jean Delvare <jdelvare@suse.de>
|
Author: Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
|
@ -2,16 +2,21 @@ Kernel driver pcf8591
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Philips/NXP PCF8591
|
* Philips/NXP PCF8591
|
||||||
|
|
||||||
Prefix: 'pcf8591'
|
Prefix: 'pcf8591'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the NXP website
|
Datasheet: Publicly available at the NXP website
|
||||||
http://www.nxp.com/pip/PCF8591_6.html
|
|
||||||
|
http://www.nxp.com/pip/PCF8591_6.html
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Aurelien Jarno <aurelien@aurel32.net>
|
- Aurelien Jarno <aurelien@aurel32.net>
|
||||||
valuable contributions by Jan M. Sendler <sendler@sendler.de>,
|
- valuable contributions by Jan M. Sendler <sendler@sendler.de>,
|
||||||
Jean Delvare <jdelvare@suse.de>
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -22,24 +27,25 @@ analog output) for the I2C bus produced by Philips Semiconductors (now NXP).
|
||||||
It is designed to provide a byte I2C interface to up to 4 separate devices.
|
It is designed to provide a byte I2C interface to up to 4 separate devices.
|
||||||
|
|
||||||
The PCF8591 has 4 analog inputs programmable as single-ended or
|
The PCF8591 has 4 analog inputs programmable as single-ended or
|
||||||
differential inputs :
|
differential inputs:
|
||||||
|
|
||||||
- mode 0 : four single ended inputs
|
- mode 0 : four single ended inputs
|
||||||
Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3
|
Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3
|
||||||
|
|
||||||
- mode 1 : three differential inputs
|
- mode 1 : three differential inputs
|
||||||
Pins AIN3 is the common negative differential input
|
Pins AIN3 is the common negative differential input
|
||||||
Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2
|
Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2
|
||||||
|
|
||||||
- mode 2 : single ended and differential mixed
|
- mode 2 : single ended and differential mixed
|
||||||
Pins AIN0 and AIN1 are single ended inputs for channels 0 and 1
|
Pins AIN0 and AIN1 are single ended inputs for channels 0 and 1
|
||||||
Pins AIN2 is the positive differential input for channel 3
|
Pins AIN2 is the positive differential input for channel 3
|
||||||
Pins AIN3 is the negative differential input for channel 3
|
Pins AIN3 is the negative differential input for channel 3
|
||||||
|
|
||||||
- mode 3 : two differential inputs
|
- mode 3 : two differential inputs
|
||||||
Pins AIN0 is the positive differential input for channel 0
|
Pins AIN0 is the positive differential input for channel 0
|
||||||
Pins AIN1 is the negative differential input for channel 0
|
Pins AIN1 is the negative differential input for channel 0
|
||||||
Pins AIN2 is the positive differential input for channel 1
|
Pins AIN2 is the positive differential input for channel 1
|
||||||
Pins AIN3 is the negative differential input for channel 1
|
Pins AIN3 is the negative differential input for channel 1
|
||||||
|
|
||||||
See the datasheet for details.
|
See the datasheet for details.
|
||||||
|
|
||||||
|
@ -49,10 +55,11 @@ Module parameters
|
||||||
* input_mode int
|
* input_mode int
|
||||||
|
|
||||||
Analog input mode:
|
Analog input mode:
|
||||||
0 = four single ended inputs
|
|
||||||
1 = three differential inputs
|
- 0 = four single ended inputs
|
||||||
2 = single ended and differential mixed
|
- 1 = three differential inputs
|
||||||
3 = two differential inputs
|
- 2 = single ended and differential mixed
|
||||||
|
- 3 = two differential inputs
|
||||||
|
|
||||||
|
|
||||||
Accessing PCF8591 via /sys interface
|
Accessing PCF8591 via /sys interface
|
||||||
|
@ -67,11 +74,12 @@ for details.
|
||||||
Directories are being created for each instantiated PCF8591:
|
Directories are being created for each instantiated PCF8591:
|
||||||
|
|
||||||
/sys/bus/i2c/devices/<0>-<1>/
|
/sys/bus/i2c/devices/<0>-<1>/
|
||||||
where <0> is the bus the chip is connected to (e. g. i2c-0)
|
where <0> is the bus the chip is connected to (e. g. i2c-0)
|
||||||
and <1> the chip address ([48..4f])
|
and <1> the chip address ([48..4f])
|
||||||
|
|
||||||
Inside these directories, there are such files:
|
Inside these directories, there are such files:
|
||||||
in0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, name
|
|
||||||
|
in0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, name
|
||||||
|
|
||||||
Name contains chip name.
|
Name contains chip name.
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
Kernel driver powr1220
|
Kernel driver powr1220
|
||||||
==================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Lattice POWR1220AT8
|
* Lattice POWR1220AT8
|
||||||
|
|
||||||
Prefix: 'powr1220'
|
Prefix: 'powr1220'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Lattice website
|
Datasheet: Publicly available at the Lattice website
|
||||||
http://www.latticesemi.com/
|
|
||||||
|
http://www.latticesemi.com/
|
||||||
|
|
||||||
Author: Scott Kanowitz <scott.kanowitz@gmail.com>
|
Author: Scott Kanowitz <scott.kanowitz@gmail.com>
|
||||||
|
|
||||||
|
@ -26,7 +31,9 @@ value over the low measurement range maximum of 2 V.
|
||||||
|
|
||||||
The input naming convention is as follows:
|
The input naming convention is as follows:
|
||||||
|
|
||||||
|
============== ========
|
||||||
driver name pin name
|
driver name pin name
|
||||||
|
============== ========
|
||||||
in0 VMON1
|
in0 VMON1
|
||||||
in1 VMON2
|
in1 VMON2
|
||||||
in2 VMON3
|
in2 VMON3
|
||||||
|
@ -41,5 +48,6 @@ in10 VMON11
|
||||||
in11 VMON12
|
in11 VMON12
|
||||||
in12 VCCA
|
in12 VCCA
|
||||||
in13 VCCINP
|
in13 VCCINP
|
||||||
|
============== ========
|
||||||
|
|
||||||
The ADC readings are updated on request with a minimum period of 1s.
|
The ADC readings are updated on request with a minimum period of 1s.
|
||||||
|
|
|
@ -2,6 +2,7 @@ Kernel driver raspberrypi-hwmon
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
Supported boards:
|
Supported boards:
|
||||||
|
|
||||||
* Raspberry Pi A+ (via GPIO on SoC)
|
* Raspberry Pi A+ (via GPIO on SoC)
|
||||||
* Raspberry Pi B+ (via GPIO on SoC)
|
* Raspberry Pi B+ (via GPIO on SoC)
|
||||||
* Raspberry Pi 2 B (via GPIO on SoC)
|
* Raspberry Pi 2 B (via GPIO on SoC)
|
||||||
|
@ -19,4 +20,6 @@ undervoltage conditions.
|
||||||
Sysfs entries
|
Sysfs entries
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
======================= ==================
|
||||||
in0_lcrit_alarm Undervoltage alarm
|
in0_lcrit_alarm Undervoltage alarm
|
||||||
|
======================= ==================
|
||||||
|
|
|
@ -2,8 +2,11 @@ Kernel driver sch5636
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* SMSC SCH5636
|
* SMSC SCH5636
|
||||||
|
|
||||||
Prefix: 'sch5636'
|
Prefix: 'sch5636'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Author: Hans de Goede <hdegoede@redhat.com>
|
Author: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
|
|
@ -2,8 +2,11 @@ Kernel driver scpi-hwmon
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Chips based on ARM System Control Processor Interface
|
* Chips based on ARM System Control Processor Interface
|
||||||
|
|
||||||
Addresses scanned: -
|
Addresses scanned: -
|
||||||
|
|
||||||
Datasheet: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0922b/index.html
|
Datasheet: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0922b/index.html
|
||||||
|
|
||||||
Author: Punit Agrawal <punit.agrawal@arm.com>
|
Author: Punit Agrawal <punit.agrawal@arm.com>
|
||||||
|
@ -14,7 +17,7 @@ Description
|
||||||
This driver supports hardware monitoring for SoC's based on the ARM
|
This driver supports hardware monitoring for SoC's based on the ARM
|
||||||
System Control Processor (SCP) implementing the System Control
|
System Control Processor (SCP) implementing the System Control
|
||||||
Processor Interface (SCPI). The following sensor types are supported
|
Processor Interface (SCPI). The following sensor types are supported
|
||||||
by the SCP -
|
by the SCP:
|
||||||
|
|
||||||
* temperature
|
* temperature
|
||||||
* voltage
|
* voltage
|
||||||
|
@ -30,4 +33,4 @@ Usage Notes
|
||||||
The driver relies on device tree node to indicate the presence of SCPI
|
The driver relies on device tree node to indicate the presence of SCPI
|
||||||
support in the kernel. See
|
support in the kernel. See
|
||||||
Documentation/devicetree/bindings/arm/arm,scpi.txt for details of the
|
Documentation/devicetree/bindings/arm/arm,scpi.txt for details of the
|
||||||
devicetree node.
|
devicetree node.
|
||||||
|
|
|
@ -2,29 +2,37 @@ Kernel driver sht15
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
|
|
||||||
* Wouter Horre
|
* Wouter Horre
|
||||||
* Jonathan Cameron
|
* Jonathan Cameron
|
||||||
* Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
* Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
||||||
* Jerome Oufella <jerome.oufella@savoirfairelinux.com>
|
* Jerome Oufella <jerome.oufella@savoirfairelinux.com>
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Sensirion SHT10
|
* Sensirion SHT10
|
||||||
|
|
||||||
Prefix: 'sht10'
|
Prefix: 'sht10'
|
||||||
|
|
||||||
* Sensirion SHT11
|
* Sensirion SHT11
|
||||||
|
|
||||||
Prefix: 'sht11'
|
Prefix: 'sht11'
|
||||||
|
|
||||||
* Sensirion SHT15
|
* Sensirion SHT15
|
||||||
|
|
||||||
Prefix: 'sht15'
|
Prefix: 'sht15'
|
||||||
|
|
||||||
* Sensirion SHT71
|
* Sensirion SHT71
|
||||||
|
|
||||||
Prefix: 'sht71'
|
Prefix: 'sht71'
|
||||||
|
|
||||||
* Sensirion SHT75
|
* Sensirion SHT75
|
||||||
|
|
||||||
Prefix: 'sht75'
|
Prefix: 'sht75'
|
||||||
|
|
||||||
Datasheet: Publicly available at the Sensirion website
|
Datasheet: Publicly available at the Sensirion website
|
||||||
http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf
|
|
||||||
|
http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -63,11 +71,13 @@ Platform data
|
||||||
Sysfs interface
|
Sysfs interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
* temp1_input: temperature input
|
================== ==========================================================
|
||||||
* humidity1_input: humidity input
|
temp1_input temperature input
|
||||||
* heater_enable: write 1 in this attribute to enable the on-chip heater,
|
humidity1_input humidity input
|
||||||
0 to disable it. Be careful not to enable the heater
|
heater_enable write 1 in this attribute to enable the on-chip heater,
|
||||||
for too long.
|
0 to disable it. Be careful not to enable the heater
|
||||||
* temp1_fault: if 1, this means that the voltage is low (below 2.47V) and
|
for too long.
|
||||||
measurement may be invalid.
|
temp1_fault if 1, this means that the voltage is low (below 2.47V) and
|
||||||
* humidity1_fault: same as temp1_fault.
|
measurement may be invalid.
|
||||||
|
humidity1_fault same as temp1_fault.
|
||||||
|
================== ==========================================================
|
||||||
|
|
|
@ -2,19 +2,33 @@ Kernel driver sht21
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Sensirion SHT21
|
* Sensirion SHT21
|
||||||
|
|
||||||
Prefix: 'sht21'
|
Prefix: 'sht21'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Sensirion website
|
Datasheet: Publicly available at the Sensirion website
|
||||||
|
|
||||||
http://www.sensirion.com/file/datasheet_sht21
|
http://www.sensirion.com/file/datasheet_sht21
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Sensirion SHT25
|
* Sensirion SHT25
|
||||||
|
|
||||||
Prefix: 'sht25'
|
Prefix: 'sht25'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Publicly available at the Sensirion website
|
Datasheet: Publicly available at the Sensirion website
|
||||||
|
|
||||||
http://www.sensirion.com/file/datasheet_sht25
|
http://www.sensirion.com/file/datasheet_sht25
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
Urs Fleisch <urs.fleisch@sensirion.com>
|
Urs Fleisch <urs.fleisch@sensirion.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -33,9 +47,13 @@ in the board setup code.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
temp1_input - temperature input
|
temp1_input
|
||||||
humidity1_input - humidity input
|
- temperature input
|
||||||
eic - Electronic Identification Code
|
|
||||||
|
humidity1_input
|
||||||
|
- humidity input
|
||||||
|
eic
|
||||||
|
- Electronic Identification Code
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -2,14 +2,19 @@ Kernel driver sht3x
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Sensirion SHT3x-DIS
|
* Sensirion SHT3x-DIS
|
||||||
|
|
||||||
Prefix: 'sht3x'
|
Prefix: 'sht3x'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: https://www.sensirion.com/file/datasheet_sht3x_digital
|
Datasheet: https://www.sensirion.com/file/datasheet_sht3x_digital
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
David Frey <david.frey@sensirion.com>
|
|
||||||
Pascal Sachs <pascal.sachs@sensirion.com>
|
- David Frey <david.frey@sensirion.com>
|
||||||
|
- Pascal Sachs <pascal.sachs@sensirion.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -24,6 +29,7 @@ addresses 0x44 or 0x45, depending on the wiring. See
|
||||||
Documentation/i2c/instantiating-devices for methods to instantiate the device.
|
Documentation/i2c/instantiating-devices for methods to instantiate the device.
|
||||||
|
|
||||||
There are two options configurable by means of sht3x_platform_data:
|
There are two options configurable by means of sht3x_platform_data:
|
||||||
|
|
||||||
1. blocking (pull the I2C clock line down while performing the measurement) or
|
1. blocking (pull the I2C clock line down while performing the measurement) or
|
||||||
non-blocking mode. Blocking mode will guarantee the fastest result but
|
non-blocking mode. Blocking mode will guarantee the fastest result but
|
||||||
the I2C bus will be busy during that time. By default, non-blocking mode
|
the I2C bus will be busy during that time. By default, non-blocking mode
|
||||||
|
@ -35,12 +41,15 @@ There are two options configurable by means of sht3x_platform_data:
|
||||||
The sht3x sensor supports a single shot mode as well as 5 periodic measure
|
The sht3x sensor supports a single shot mode as well as 5 periodic measure
|
||||||
modes, which can be controlled with the update_interval sysfs interface.
|
modes, which can be controlled with the update_interval sysfs interface.
|
||||||
The allowed update_interval in milliseconds are as follows:
|
The allowed update_interval in milliseconds are as follows:
|
||||||
* 0 single shot mode
|
|
||||||
* 2000 0.5 Hz periodic measurement
|
===== ======= ====================
|
||||||
* 1000 1 Hz periodic measurement
|
0 single shot mode
|
||||||
* 500 2 Hz periodic measurement
|
2000 0.5 Hz periodic measurement
|
||||||
* 250 4 Hz periodic measurement
|
1000 1 Hz periodic measurement
|
||||||
* 100 10 Hz periodic measurement
|
500 2 Hz periodic measurement
|
||||||
|
250 4 Hz periodic measurement
|
||||||
|
100 10 Hz periodic measurement
|
||||||
|
===== ======= ====================
|
||||||
|
|
||||||
In the periodic measure mode, the sensor automatically triggers a measurement
|
In the periodic measure mode, the sensor automatically triggers a measurement
|
||||||
with the configured update interval on the chip. When a temperature or humidity
|
with the configured update interval on the chip. When a temperature or humidity
|
||||||
|
@ -53,6 +62,7 @@ low.
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
=================== ============================================================
|
||||||
temp1_input: temperature input
|
temp1_input: temperature input
|
||||||
humidity1_input: humidity input
|
humidity1_input: humidity input
|
||||||
temp1_max: temperature max value
|
temp1_max: temperature max value
|
||||||
|
@ -64,13 +74,15 @@ temp1_min_hyst: temperature hysteresis value for min limit
|
||||||
humidity1_min: humidity min value
|
humidity1_min: humidity min value
|
||||||
humidity1_min_hyst: humidity hysteresis value for min limit
|
humidity1_min_hyst: humidity hysteresis value for min limit
|
||||||
temp1_alarm: alarm flag is set to 1 if the temperature is outside the
|
temp1_alarm: alarm flag is set to 1 if the temperature is outside the
|
||||||
configured limits. Alarm only works in periodic measure mode
|
configured limits. Alarm only works in periodic measure mode
|
||||||
humidity1_alarm: alarm flag is set to 1 if the humidity is outside the
|
humidity1_alarm: alarm flag is set to 1 if the humidity is outside the
|
||||||
configured limits. Alarm only works in periodic measure mode
|
configured limits. Alarm only works in periodic measure mode
|
||||||
heater_enable: heater enable, heating element removes excess humidity from
|
heater_enable: heater enable, heating element removes excess humidity from
|
||||||
sensor
|
sensor:
|
||||||
0: turned off
|
|
||||||
1: turned on
|
- 0: turned off
|
||||||
|
- 1: turned on
|
||||||
update_interval: update interval, 0 for single shot, interval in msec
|
update_interval: update interval, 0 for single shot, interval in msec
|
||||||
for periodic measurement. If the interval is not supported
|
for periodic measurement. If the interval is not supported
|
||||||
by the sensor, the next faster interval is chosen
|
by the sensor, the next faster interval is chosen
|
||||||
|
=================== ============================================================
|
||||||
|
|
|
@ -2,17 +2,29 @@ Kernel driver shtc1
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Sensirion SHTC1
|
* Sensirion SHTC1
|
||||||
|
|
||||||
Prefix: 'shtc1'
|
Prefix: 'shtc1'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: http://www.sensirion.com/file/datasheet_shtc1
|
Datasheet: http://www.sensirion.com/file/datasheet_shtc1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Sensirion SHTW1
|
* Sensirion SHTW1
|
||||||
|
|
||||||
Prefix: 'shtw1'
|
Prefix: 'shtw1'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: Not publicly available
|
Datasheet: Not publicly available
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
Johannes Winkelmann <johannes.winkelmann@sensirion.com>
|
Johannes Winkelmann <johannes.winkelmann@sensirion.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -28,6 +40,7 @@ address 0x70. See Documentation/i2c/instantiating-devices for methods to
|
||||||
instantiate the device.
|
instantiate the device.
|
||||||
|
|
||||||
There are two options configurable by means of shtc1_platform_data:
|
There are two options configurable by means of shtc1_platform_data:
|
||||||
|
|
||||||
1. blocking (pull the I2C clock line down while performing the measurement) or
|
1. blocking (pull the I2C clock line down while performing the measurement) or
|
||||||
non-blocking mode. Blocking mode will guarantee the fastest result but
|
non-blocking mode. Blocking mode will guarantee the fastest result but
|
||||||
the I2C bus will be busy during that time. By default, non-blocking mode
|
the I2C bus will be busy during that time. By default, non-blocking mode
|
||||||
|
@ -39,5 +52,7 @@ There are two options configurable by means of shtc1_platform_data:
|
||||||
sysfs-Interface
|
sysfs-Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
temp1_input - temperature input
|
temp1_input
|
||||||
humidity1_input - humidity input
|
- temperature input
|
||||||
|
humidity1_input
|
||||||
|
- humidity input
|
||||||
|
|
|
@ -2,49 +2,67 @@ Kernel driver sis5595
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Silicon Integrated Systems Corp. SiS5595 Southbridge Hardware Monitor
|
* Silicon Integrated Systems Corp. SiS5595 Southbridge Hardware Monitor
|
||||||
|
|
||||||
Prefix: 'sis5595'
|
Prefix: 'sis5595'
|
||||||
|
|
||||||
Addresses scanned: ISA in PCI-space encoded address
|
Addresses scanned: ISA in PCI-space encoded address
|
||||||
|
|
||||||
Datasheet: Publicly available at the Silicon Integrated Systems Corp. site.
|
Datasheet: Publicly available at the Silicon Integrated Systems Corp. site.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Kyösti Mälkki <kmalkki@cc.hut.fi>,
|
|
||||||
Mark D. Studebaker <mdsxyz123@yahoo.com>,
|
- Kyösti Mälkki <kmalkki@cc.hut.fi>,
|
||||||
Aurelien Jarno <aurelien@aurel32.net> 2.6 port
|
- Mark D. Studebaker <mdsxyz123@yahoo.com>,
|
||||||
|
- Aurelien Jarno <aurelien@aurel32.net> 2.6 port
|
||||||
|
|
||||||
SiS southbridge has a LM78-like chip integrated on the same IC.
|
SiS southbridge has a LM78-like chip integrated on the same IC.
|
||||||
This driver is a customized copy of lm78.c
|
This driver is a customized copy of lm78.c
|
||||||
|
|
||||||
Supports following revisions:
|
Supports following revisions:
|
||||||
|
|
||||||
|
=============== =============== ==============
|
||||||
Version PCI ID PCI Revision
|
Version PCI ID PCI Revision
|
||||||
|
=============== =============== ==============
|
||||||
1 1039/0008 AF or less
|
1 1039/0008 AF or less
|
||||||
2 1039/0008 B0 or greater
|
2 1039/0008 B0 or greater
|
||||||
|
=============== =============== ==============
|
||||||
|
|
||||||
Note: these chips contain a 0008 device which is incompatible with the
|
Note: these chips contain a 0008 device which is incompatible with the
|
||||||
5595. We recognize these by the presence of the listed
|
5595. We recognize these by the presence of the listed
|
||||||
"blacklist" PCI ID and refuse to load.
|
"blacklist" PCI ID and refuse to load.
|
||||||
|
|
||||||
|
=================== =============== ================
|
||||||
NOT SUPPORTED PCI ID BLACKLIST PCI ID
|
NOT SUPPORTED PCI ID BLACKLIST PCI ID
|
||||||
540 0008 0540
|
=================== =============== ================
|
||||||
550 0008 0550
|
540 0008 0540
|
||||||
|
550 0008 0550
|
||||||
5513 0008 5511
|
5513 0008 5511
|
||||||
5581 0008 5597
|
5581 0008 5597
|
||||||
5582 0008 5597
|
5582 0008 5597
|
||||||
5597 0008 5597
|
5597 0008 5597
|
||||||
630 0008 0630
|
630 0008 0630
|
||||||
645 0008 0645
|
645 0008 0645
|
||||||
730 0008 0730
|
730 0008 0730
|
||||||
735 0008 0735
|
735 0008 0735
|
||||||
|
=================== =============== ================
|
||||||
|
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
======================= =====================================================
|
||||||
force_addr=0xaddr Set the I/O base address. Useful for boards
|
force_addr=0xaddr Set the I/O base address. Useful for boards
|
||||||
that don't set the address in the BIOS. Does not do a
|
that don't set the address in the BIOS. Does not do a
|
||||||
PCI force; the device must still be present in lspci.
|
PCI force; the device must still be present in lspci.
|
||||||
Don't use this unless the driver complains that the
|
Don't use this unless the driver complains that the
|
||||||
base address is not set.
|
base address is not set.
|
||||||
|
|
||||||
Example: 'modprobe sis5595 force_addr=0x290'
|
Example: 'modprobe sis5595 force_addr=0x290'
|
||||||
|
======================= =====================================================
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,29 +2,38 @@ Kernel driver smsc47b397
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* SMSC LPC47B397-NC
|
* SMSC LPC47B397-NC
|
||||||
|
|
||||||
* SMSC SCH5307-NS
|
* SMSC SCH5307-NS
|
||||||
|
|
||||||
* SMSC SCH5317
|
* SMSC SCH5317
|
||||||
|
|
||||||
Prefix: 'smsc47b397'
|
Prefix: 'smsc47b397'
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Datasheet: In this file
|
Datasheet: In this file
|
||||||
|
|
||||||
Authors: Mark M. Hoffman <mhoffman@lightlink.com>
|
Authors:
|
||||||
Utilitek Systems, Inc.
|
|
||||||
|
- Mark M. Hoffman <mhoffman@lightlink.com>
|
||||||
|
- Utilitek Systems, Inc.
|
||||||
|
|
||||||
November 23, 2004
|
November 23, 2004
|
||||||
|
|
||||||
The following specification describes the SMSC LPC47B397-NC[1] sensor chip
|
The following specification describes the SMSC LPC47B397-NC [1]_ sensor chip
|
||||||
(for which there is no public datasheet available). This document was
|
(for which there is no public datasheet available). This document was
|
||||||
provided by Craig Kelly (In-Store Broadcast Network) and edited/corrected
|
provided by Craig Kelly (In-Store Broadcast Network) and edited/corrected
|
||||||
by Mark M. Hoffman <mhoffman@lightlink.com>.
|
by Mark M. Hoffman <mhoffman@lightlink.com>.
|
||||||
|
|
||||||
[1] And SMSC SCH5307-NS and SCH5317, which have different device IDs but are
|
.. [1] And SMSC SCH5307-NS and SCH5317, which have different device IDs but are
|
||||||
otherwise compatible.
|
otherwise compatible.
|
||||||
|
|
||||||
* * * * *
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
Methods for detecting the HP SIO and reading the thermal data on a dc7100.
|
Methods for detecting the HP SIO and reading the thermal data on a dc7100
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
The thermal information on the dc7100 is contained in the SIO Hardware Monitor
|
The thermal information on the dc7100 is contained in the SIO Hardware Monitor
|
||||||
(HWM). The information is accessed through an index/data pair. The index/data
|
(HWM). The information is accessed through an index/data pair. The index/data
|
||||||
|
@ -35,18 +44,22 @@ and 0x61 (LSB). Currently we are using 0x480 for the HWM Base Address and
|
||||||
|
|
||||||
Reading temperature information.
|
Reading temperature information.
|
||||||
The temperature information is located in the following registers:
|
The temperature information is located in the following registers:
|
||||||
|
|
||||||
|
=============== ======= =======================================================
|
||||||
Temp1 0x25 (Currently, this reflects the CPU temp on all systems).
|
Temp1 0x25 (Currently, this reflects the CPU temp on all systems).
|
||||||
Temp2 0x26
|
Temp2 0x26
|
||||||
Temp3 0x27
|
Temp3 0x27
|
||||||
Temp4 0x80
|
Temp4 0x80
|
||||||
|
=============== ======= =======================================================
|
||||||
|
|
||||||
Programming Example
|
Programming Example
|
||||||
The following is an example of how to read the HWM temperature registers:
|
The following is an example of how to read the HWM temperature registers::
|
||||||
MOV DX,480H
|
|
||||||
MOV AX,25H
|
MOV DX,480H
|
||||||
OUT DX,AL
|
MOV AX,25H
|
||||||
MOV DX,481H
|
OUT DX,AL
|
||||||
IN AL,DX
|
MOV DX,481H
|
||||||
|
IN AL,DX
|
||||||
|
|
||||||
AL contains the data in hex, the temperature in Celsius is the decimal
|
AL contains the data in hex, the temperature in Celsius is the decimal
|
||||||
equivalent.
|
equivalent.
|
||||||
|
@ -55,25 +68,32 @@ Ex: If AL contains 0x2A, the temperature is 42 degrees C.
|
||||||
|
|
||||||
Reading tach information.
|
Reading tach information.
|
||||||
The fan speed information is located in the following registers:
|
The fan speed information is located in the following registers:
|
||||||
|
|
||||||
|
=============== ======= ======= =================================
|
||||||
LSB MSB
|
LSB MSB
|
||||||
Tach1 0x28 0x29 (Currently, this reflects the CPU
|
Tach1 0x28 0x29 (Currently, this reflects the CPU
|
||||||
fan speed on all systems).
|
fan speed on all systems).
|
||||||
Tach2 0x2A 0x2B
|
Tach2 0x2A 0x2B
|
||||||
Tach3 0x2C 0x2D
|
Tach3 0x2C 0x2D
|
||||||
Tach4 0x2E 0x2F
|
Tach4 0x2E 0x2F
|
||||||
|
=============== ======= ======= =================================
|
||||||
|
|
||||||
Important!!!
|
.. Important::
|
||||||
Reading the tach LSB locks the tach MSB.
|
|
||||||
The LSB Must be read first.
|
Reading the tach LSB locks the tach MSB.
|
||||||
|
The LSB Must be read first.
|
||||||
|
|
||||||
|
How to convert the tach reading to RPM
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
How to convert the tach reading to RPM.
|
|
||||||
The tach reading (TCount) is given by: (Tach MSB * 256) + (Tach LSB)
|
The tach reading (TCount) is given by: (Tach MSB * 256) + (Tach LSB)
|
||||||
The SIO counts the number of 90kHz (11.111us) pulses per revolution.
|
The SIO counts the number of 90kHz (11.111us) pulses per revolution.
|
||||||
RPM = 60/(TCount * 11.111us)
|
RPM = 60/(TCount * 11.111us)
|
||||||
|
|
||||||
Example:
|
Example::
|
||||||
Reg 0x28 = 0x9B
|
|
||||||
Reg 0x29 = 0x08
|
Reg 0x28 = 0x9B
|
||||||
|
Reg 0x29 = 0x08
|
||||||
|
|
||||||
TCount = 0x89B = 2203
|
TCount = 0x89B = 2203
|
||||||
|
|
||||||
|
@ -81,21 +101,28 @@ RPM = 60 / (2203 * 11.11111 E-6) = 2451 RPM
|
||||||
|
|
||||||
Obtaining the SIO version.
|
Obtaining the SIO version.
|
||||||
|
|
||||||
CONFIGURATION SEQUENCE
|
Configuration Sequence
|
||||||
|
----------------------
|
||||||
|
|
||||||
To program the configuration registers, the following sequence must be followed:
|
To program the configuration registers, the following sequence must be followed:
|
||||||
1. Enter Configuration Mode
|
1. Enter Configuration Mode
|
||||||
2. Configure the Configuration Registers
|
2. Configure the Configuration Registers
|
||||||
3. Exit Configuration Mode.
|
3. Exit Configuration Mode.
|
||||||
|
|
||||||
Enter Configuration Mode
|
Enter Configuration Mode
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
To place the chip into the Configuration State The config key (0x55) is written
|
To place the chip into the Configuration State The config key (0x55) is written
|
||||||
to the CONFIG PORT (0x2E).
|
to the CONFIG PORT (0x2E).
|
||||||
|
|
||||||
Configuration Mode
|
Configuration Mode
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
In configuration mode, the INDEX PORT is located at the CONFIG PORT address and
|
In configuration mode, the INDEX PORT is located at the CONFIG PORT address and
|
||||||
the DATA PORT is at INDEX PORT address + 1.
|
the DATA PORT is at INDEX PORT address + 1.
|
||||||
|
|
||||||
The desired configuration registers are accessed in two steps:
|
The desired configuration registers are accessed in two steps:
|
||||||
|
|
||||||
a. Write the index of the Logical Device Number Configuration Register
|
a. Write the index of the Logical Device Number Configuration Register
|
||||||
(i.e., 0x07) to the INDEX PORT and then write the number of the
|
(i.e., 0x07) to the INDEX PORT and then write the number of the
|
||||||
desired logical device to the DATA PORT.
|
desired logical device to the DATA PORT.
|
||||||
|
@ -104,30 +131,35 @@ b. Write the address of the desired configuration register within the
|
||||||
logical device to the INDEX PORT and then write or read the config-
|
logical device to the INDEX PORT and then write or read the config-
|
||||||
uration register through the DATA PORT.
|
uration register through the DATA PORT.
|
||||||
|
|
||||||
Note: If accessing the Global Configuration Registers, step (a) is not required.
|
Note:
|
||||||
|
If accessing the Global Configuration Registers, step (a) is not required.
|
||||||
|
|
||||||
Exit Configuration Mode
|
Exit Configuration Mode
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
To exit the Configuration State the write 0xAA to the CONFIG PORT (0x2E).
|
To exit the Configuration State the write 0xAA to the CONFIG PORT (0x2E).
|
||||||
The chip returns to the RUN State. (This is important).
|
The chip returns to the RUN State. (This is important).
|
||||||
|
|
||||||
Programming Example
|
Programming Example
|
||||||
The following is an example of how to read the SIO Device ID located at 0x20
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
; ENTER CONFIGURATION MODE
|
The following is an example of how to read the SIO Device ID located at 0x20:
|
||||||
MOV DX,02EH
|
|
||||||
MOV AX,055H
|
; ENTER CONFIGURATION MODE
|
||||||
OUT DX,AL
|
MOV DX,02EH
|
||||||
; GLOBAL CONFIGURATION REGISTER
|
MOV AX,055H
|
||||||
MOV DX,02EH
|
OUT DX,AL
|
||||||
MOV AL,20H
|
; GLOBAL CONFIGURATION REGISTER
|
||||||
OUT DX,AL
|
MOV DX,02EH
|
||||||
; READ THE DATA
|
MOV AL,20H
|
||||||
MOV DX,02FH
|
OUT DX,AL
|
||||||
IN AL,DX
|
; READ THE DATA
|
||||||
; EXIT CONFIGURATION MODE
|
MOV DX,02FH
|
||||||
MOV DX,02EH
|
IN AL,DX
|
||||||
MOV AX,0AAH
|
; EXIT CONFIGURATION MODE
|
||||||
OUT DX,AL
|
MOV DX,02EH
|
||||||
|
MOV AX,0AAH
|
||||||
|
OUT DX,AL
|
||||||
|
|
||||||
The registers of interest for identifying the SIO on the dc7100 are Device ID
|
The registers of interest for identifying the SIO on the dc7100 are Device ID
|
||||||
(0x20) and Device Rev (0x21).
|
(0x20) and Device Rev (0x21).
|
||||||
|
@ -135,29 +167,31 @@ The registers of interest for identifying the SIO on the dc7100 are Device ID
|
||||||
The Device ID will read 0x6F (0x81 for SCH5307-NS, and 0x85 for SCH5317)
|
The Device ID will read 0x6F (0x81 for SCH5307-NS, and 0x85 for SCH5317)
|
||||||
The Device Rev currently reads 0x01
|
The Device Rev currently reads 0x01
|
||||||
|
|
||||||
Obtaining the HWM Base Address.
|
Obtaining the HWM Base Address
|
||||||
The following is an example of how to read the HWM Base Address located in
|
------------------------------
|
||||||
Logical Device 8.
|
|
||||||
|
|
||||||
; ENTER CONFIGURATION MODE
|
The following is an example of how to read the HWM Base Address located in
|
||||||
MOV DX,02EH
|
Logical Device 8::
|
||||||
MOV AX,055H
|
|
||||||
OUT DX,AL
|
; ENTER CONFIGURATION MODE
|
||||||
; CONFIGURE REGISTER CRE0,
|
MOV DX,02EH
|
||||||
; LOGICAL DEVICE 8
|
MOV AX,055H
|
||||||
MOV DX,02EH
|
OUT DX,AL
|
||||||
MOV AL,07H
|
; CONFIGURE REGISTER CRE0,
|
||||||
OUT DX,AL ;Point to LD# Config Reg
|
; LOGICAL DEVICE 8
|
||||||
MOV DX,02FH
|
MOV DX,02EH
|
||||||
MOV AL, 08H
|
MOV AL,07H
|
||||||
OUT DX,AL;Point to Logical Device 8
|
OUT DX,AL ;Point to LD# Config Reg
|
||||||
;
|
MOV DX,02FH
|
||||||
MOV DX,02EH
|
MOV AL, 08H
|
||||||
MOV AL,60H
|
OUT DX,AL;Point to Logical Device 8
|
||||||
OUT DX,AL ; Point to HWM Base Addr MSB
|
;
|
||||||
MOV DX,02FH
|
MOV DX,02EH
|
||||||
IN AL,DX ; Get MSB of HWM Base Addr
|
MOV AL,60H
|
||||||
; EXIT CONFIGURATION MODE
|
OUT DX,AL ; Point to HWM Base Addr MSB
|
||||||
MOV DX,02EH
|
MOV DX,02FH
|
||||||
MOV AX,0AAH
|
IN AL,DX ; Get MSB of HWM Base Addr
|
||||||
OUT DX,AL
|
; EXIT CONFIGURATION MODE
|
||||||
|
MOV DX,02EH
|
||||||
|
MOV AX,0AAH
|
||||||
|
OUT DX,AL
|
||||||
|
|
|
@ -2,30 +2,53 @@ Kernel driver smsc47m1
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* SMSC LPC47B27x, LPC47M112, LPC47M10x, LPC47M13x, LPC47M14x,
|
* SMSC LPC47B27x, LPC47M112, LPC47M10x, LPC47M13x, LPC47M14x,
|
||||||
|
|
||||||
LPC47M15x and LPC47M192
|
LPC47M15x and LPC47M192
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Prefix: 'smsc47m1'
|
Prefix: 'smsc47m1'
|
||||||
|
|
||||||
Datasheets:
|
Datasheets:
|
||||||
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf
|
|
||||||
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf
|
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf
|
||||||
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf
|
|
||||||
http://www.smsc.com/
|
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf
|
||||||
|
|
||||||
|
http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf
|
||||||
|
|
||||||
|
http://www.smsc.com/
|
||||||
|
|
||||||
* SMSC LPC47M292
|
* SMSC LPC47M292
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Prefix: 'smsc47m2'
|
Prefix: 'smsc47m2'
|
||||||
|
|
||||||
Datasheet: Not public
|
Datasheet: Not public
|
||||||
|
|
||||||
* SMSC LPC47M997
|
* SMSC LPC47M997
|
||||||
|
|
||||||
Addresses scanned: none, address read from Super I/O config space
|
Addresses scanned: none, address read from Super I/O config space
|
||||||
|
|
||||||
Prefix: 'smsc47m1'
|
Prefix: 'smsc47m1'
|
||||||
|
|
||||||
Datasheet: none
|
Datasheet: none
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Mark D. Studebaker <mdsxyz123@yahoo.com>,
|
|
||||||
With assistance from Bruce Allen <ballen@uwm.edu>, and his
|
- Mark D. Studebaker <mdsxyz123@yahoo.com>,
|
||||||
fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/
|
- With assistance from Bruce Allen <ballen@uwm.edu>, and his
|
||||||
Gabriele Gorla <gorlik@yahoo.com>,
|
fan.c program:
|
||||||
Jean Delvare <jdelvare@suse.de>
|
|
||||||
|
- http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/
|
||||||
|
|
||||||
|
- Gabriele Gorla <gorlik@yahoo.com>,
|
||||||
|
- Jean Delvare <jdelvare@suse.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -57,7 +80,7 @@ hardware registers are read whenever any data is read (unless it is less
|
||||||
than 1.5 seconds since the last update). This means that you can easily
|
than 1.5 seconds since the last update). This means that you can easily
|
||||||
miss once-only alarms.
|
miss once-only alarms.
|
||||||
|
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
**********************
|
|
||||||
The lm_sensors project gratefully acknowledges the support of
|
The lm_sensors project gratefully acknowledges the support of
|
||||||
Intel in the development of this driver.
|
Intel in the development of this driver.
|
||||||
|
|
|
@ -2,17 +2,28 @@ Kernel driver smsc47m192
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
* SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997
|
|
||||||
Prefix: 'smsc47m192'
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2d
|
|
||||||
Datasheet: The datasheet for LPC47M192 is publicly available from
|
|
||||||
http://www.smsc.com/
|
|
||||||
The LPC47M15x, LPC47M292 and LPC47M997 are compatible for
|
|
||||||
hardware monitoring.
|
|
||||||
|
|
||||||
Author: Hartmut Rick <linux@rick.claranet.de>
|
* SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997
|
||||||
Special thanks to Jean Delvare for careful checking
|
|
||||||
of the code and many helpful comments and suggestions.
|
Prefix: 'smsc47m192'
|
||||||
|
|
||||||
|
Addresses scanned: I2C 0x2c - 0x2d
|
||||||
|
|
||||||
|
Datasheet: The datasheet for LPC47M192 is publicly available from
|
||||||
|
|
||||||
|
http://www.smsc.com/
|
||||||
|
|
||||||
|
The LPC47M15x, LPC47M292 and LPC47M997 are compatible for
|
||||||
|
|
||||||
|
hardware monitoring.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Author:
|
||||||
|
- Hartmut Rick <linux@rick.claranet.de>
|
||||||
|
|
||||||
|
- Special thanks to Jean Delvare for careful checking
|
||||||
|
of the code and many helpful comments and suggestions.
|
||||||
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -52,52 +63,54 @@ Reading them more often repeats the same values.
|
||||||
sysfs interface
|
sysfs interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
in0_input - +2.5V voltage input
|
===================== ==========================================================
|
||||||
in1_input - CPU voltage input (nominal 2.25V)
|
in0_input +2.5V voltage input
|
||||||
in2_input - +3.3V voltage input
|
in1_input CPU voltage input (nominal 2.25V)
|
||||||
in3_input - +5V voltage input
|
in2_input +3.3V voltage input
|
||||||
in4_input - +12V voltage input (may be missing if used as VID4)
|
in3_input +5V voltage input
|
||||||
in5_input - Vcc voltage input (nominal 3.3V)
|
in4_input +12V voltage input (may be missing if used as VID4)
|
||||||
This is the supply voltage of the sensor chip itself.
|
in5_input Vcc voltage input (nominal 3.3V)
|
||||||
in6_input - +1.5V voltage input
|
This is the supply voltage of the sensor chip itself.
|
||||||
in7_input - +1.8V voltage input
|
in6_input +1.5V voltage input
|
||||||
|
in7_input +1.8V voltage input
|
||||||
|
|
||||||
in[0-7]_min,
|
in[0-7]_min,
|
||||||
in[0-7]_max - lower and upper alarm thresholds for in[0-7]_input reading
|
in[0-7]_max lower and upper alarm thresholds for in[0-7]_input reading
|
||||||
|
|
||||||
All voltages are read and written in mV.
|
All voltages are read and written in mV.
|
||||||
|
|
||||||
in[0-7]_alarm - alarm flags for voltage inputs
|
in[0-7]_alarm alarm flags for voltage inputs
|
||||||
These files read '1' in case of alarm, '0' otherwise.
|
These files read '1' in case of alarm, '0' otherwise.
|
||||||
|
|
||||||
temp1_input - chip temperature measured by on-chip diode
|
temp1_input chip temperature measured by on-chip diode
|
||||||
temp[2-3]_input - temperature measured by external diodes (one of these would
|
temp[2-3]_input temperature measured by external diodes (one of these
|
||||||
typically be wired to the diode inside the CPU)
|
would typically be wired to the diode inside the CPU)
|
||||||
|
|
||||||
temp[1-3]_min,
|
temp[1-3]_min,
|
||||||
temp[1-3]_max - lower and upper alarm thresholds for temperatures
|
temp[1-3]_max lower and upper alarm thresholds for temperatures
|
||||||
|
|
||||||
temp[1-3]_offset - temperature offset registers
|
temp[1-3]_offset temperature offset registers
|
||||||
The chip adds the offsets stored in these registers to
|
The chip adds the offsets stored in these registers to
|
||||||
the corresponding temperature readings.
|
the corresponding temperature readings.
|
||||||
Note that temp1 and temp2 offsets share the same register,
|
Note that temp1 and temp2 offsets share the same register,
|
||||||
they cannot both be different from zero at the same time.
|
they cannot both be different from zero at the same time.
|
||||||
Writing a non-zero number to one of them will reset the other
|
Writing a non-zero number to one of them will reset the other
|
||||||
offset to zero.
|
offset to zero.
|
||||||
|
|
||||||
All temperatures and offsets are read and written in
|
All temperatures and offsets are read and written in
|
||||||
units of 0.001 degC.
|
units of 0.001 degC.
|
||||||
|
|
||||||
temp[1-3]_alarm - alarm flags for temperature inputs, '1' in case of alarm,
|
temp[1-3]_alarm alarm flags for temperature inputs, '1' in case of alarm,
|
||||||
'0' otherwise.
|
'0' otherwise.
|
||||||
temp[2-3]_input_fault - diode fault flags for temperature inputs 2 and 3.
|
temp[2-3]_input_fault diode fault flags for temperature inputs 2 and 3.
|
||||||
A fault is detected if the two pins for the corresponding
|
A fault is detected if the two pins for the corresponding
|
||||||
sensor are open or shorted, or any of the two is shorted
|
sensor are open or shorted, or any of the two is shorted
|
||||||
to ground or Vcc. '1' indicates a diode fault.
|
to ground or Vcc. '1' indicates a diode fault.
|
||||||
|
|
||||||
cpu0_vid - CPU voltage as received from the CPU
|
cpu0_vid CPU voltage as received from the CPU
|
||||||
|
|
||||||
vrm - CPU VID standard used for decoding CPU voltage
|
vrm CPU VID standard used for decoding CPU voltage
|
||||||
|
===================== ==========================================================
|
||||||
|
|
||||||
The *_min, *_max, *_offset and vrm files can be read and
|
The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written,
|
||||||
written, all others are read-only.
|
all others are read-only.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
How to Get Your Patch Accepted Into the Hwmon Subsystem
|
How to Get Your Patch Accepted Into the Hwmon Subsystem
|
||||||
-------------------------------------------------------
|
=======================================================
|
||||||
|
|
||||||
This text is a collection of suggestions for people writing patches or
|
This text is a collection of suggestions for people writing patches or
|
||||||
drivers for the hwmon subsystem. Following these suggestions will greatly
|
drivers for the hwmon subsystem. Following these suggestions will greatly
|
||||||
|
@ -9,11 +9,12 @@ increase the chances of your change being accepted.
|
||||||
1. General
|
1. General
|
||||||
----------
|
----------
|
||||||
|
|
||||||
* It should be unnecessary to mention, but please read and follow
|
* It should be unnecessary to mention, but please read and follow:
|
||||||
Documentation/process/submit-checklist.rst
|
|
||||||
Documentation/process/submitting-drivers.rst
|
- Documentation/process/submit-checklist.rst
|
||||||
Documentation/process/submitting-patches.rst
|
- Documentation/process/submitting-drivers.rst
|
||||||
Documentation/process/coding-style.rst
|
- Documentation/process/submitting-patches.rst
|
||||||
|
- Documentation/process/coding-style.rst
|
||||||
|
|
||||||
* Please run your patch through 'checkpatch --strict'. There should be no
|
* Please run your patch through 'checkpatch --strict'. There should be no
|
||||||
errors, no warnings, and few if any check messages. If there are any
|
errors, no warnings, and few if any check messages. If there are any
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,13 +2,16 @@ Kernel driver tc654
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Microchip TC654 and TC655
|
* Microchip TC654 and TC655
|
||||||
|
|
||||||
Prefix: 'tc654'
|
Prefix: 'tc654'
|
||||||
Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/20001734C.pdf
|
Datasheet: http://ww1.m
|
||||||
|
icrochip.com/downloads/en/DeviceDoc/20001734C.pdf
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Chris Packham <chris.packham@alliedtelesis.co.nz>
|
- Chris Packham <chris.packham@alliedtelesis.co.nz>
|
||||||
Masahiko Iwamoto <iwamoto@allied-telesis.co.jp>
|
- Masahiko Iwamoto <iwamoto@allied-telesis.co.jp>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -2,8 +2,11 @@ Kernel driver tc74
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Microchip TC74
|
* Microchip TC74
|
||||||
|
|
||||||
Prefix: 'tc74'
|
Prefix: 'tc74'
|
||||||
|
|
||||||
Datasheet: Publicly available at Microchip website.
|
Datasheet: Publicly available at Microchip website.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,30 +2,41 @@ Kernel driver thmc50
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Analog Devices ADM1022
|
* Analog Devices ADM1022
|
||||||
|
|
||||||
Prefix: 'adm1022'
|
Prefix: 'adm1022'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2e
|
Addresses scanned: I2C 0x2c - 0x2e
|
||||||
|
|
||||||
Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html
|
Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html
|
||||||
|
|
||||||
* Texas Instruments THMC50
|
* Texas Instruments THMC50
|
||||||
|
|
||||||
Prefix: 'thmc50'
|
Prefix: 'thmc50'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2c - 0x2e
|
Addresses scanned: I2C 0x2c - 0x2e
|
||||||
Datasheet: http://www.ti.com/
|
|
||||||
|
Datasheet: http://www.ti.com/
|
||||||
|
|
||||||
|
|
||||||
Author: Krzysztof Helt <krzysztof.h1@wp.pl>
|
Author: Krzysztof Helt <krzysztof.h1@wp.pl>
|
||||||
|
|
||||||
This driver was derived from the 2.4 kernel thmc50.c source file.
|
This driver was derived from the 2.4 kernel thmc50.c source file.
|
||||||
|
|
||||||
Credits:
|
Credits:
|
||||||
|
|
||||||
thmc50.c (2.4 kernel):
|
thmc50.c (2.4 kernel):
|
||||||
Frodo Looijaard <frodol@dds.nl>
|
|
||||||
Philip Edelbrock <phil@netroedge.com>
|
- Frodo Looijaard <frodol@dds.nl>
|
||||||
|
- Philip Edelbrock <phil@netroedge.com>
|
||||||
|
|
||||||
Module Parameters
|
Module Parameters
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
* adm1022_temp3: short array
|
* adm1022_temp3: short array
|
||||||
List of adapter,address pairs to force chips into ADM1022 mode with
|
List of adapter,address pairs to force chips into ADM1022 mode with
|
||||||
second remote temperature. This does not work for original THMC50 chips.
|
second remote temperature. This does not work for original THMC50 chips.
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
@ -59,12 +70,17 @@ Driver Features
|
||||||
|
|
||||||
The driver provides up to three temperatures:
|
The driver provides up to three temperatures:
|
||||||
|
|
||||||
temp1 -- internal
|
temp1
|
||||||
temp2 -- remote
|
- internal
|
||||||
temp3 -- 2nd remote only for ADM1022
|
temp2
|
||||||
|
- remote
|
||||||
|
temp3
|
||||||
|
- 2nd remote only for ADM1022
|
||||||
|
|
||||||
pwm1 -- fan speed (0 = stop, 255 = full)
|
pwm1
|
||||||
pwm1_mode -- always 0 (DC mode)
|
- fan speed (0 = stop, 255 = full)
|
||||||
|
pwm1_mode
|
||||||
|
- always 0 (DC mode)
|
||||||
|
|
||||||
The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
|
The value of 0 for pwm1 also forces FAN_OFF signal from the chip,
|
||||||
so it stops fans even if the value 0 into the ANALOG_OUT register does not.
|
so it stops fans even if the value 0 into the ANALOG_OUT register does not.
|
||||||
|
|
|
@ -2,12 +2,17 @@ Kernel driver tmp102
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments TMP102
|
* Texas Instruments TMP102
|
||||||
|
|
||||||
Prefix: 'tmp102'
|
Prefix: 'tmp102'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp102.html
|
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp102.html
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
Steven King <sfking@fdwdc.com>
|
Steven King <sfking@fdwdc.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,12 +2,17 @@ Kernel driver tmp103
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments TMP103
|
* Texas Instruments TMP103
|
||||||
|
|
||||||
Prefix: 'tmp103'
|
Prefix: 'tmp103'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Product info and datasheet: http://www.ti.com/product/tmp103
|
Product info and datasheet: http://www.ti.com/product/tmp103
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
Heiko Schocher <hs@denx.de>
|
Heiko Schocher <hs@denx.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,12 +2,17 @@ Kernel driver tmp108
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments TMP108
|
* Texas Instruments TMP108
|
||||||
|
|
||||||
Prefix: 'tmp108'
|
Prefix: 'tmp108'
|
||||||
|
|
||||||
Addresses scanned: none
|
Addresses scanned: none
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/product/tmp108
|
Datasheet: http://www.ti.com/product/tmp108
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
John Muir <john@jmuir.com>
|
John Muir <john@jmuir.com>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
|
@ -2,28 +2,49 @@ Kernel driver tmp421
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments TMP421
|
* Texas Instruments TMP421
|
||||||
|
|
||||||
Prefix: 'tmp421'
|
Prefix: 'tmp421'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2a, 0x4c, 0x4d, 0x4e and 0x4f
|
Addresses scanned: I2C 0x2a, 0x4c, 0x4d, 0x4e and 0x4f
|
||||||
|
|
||||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
||||||
|
|
||||||
* Texas Instruments TMP422
|
* Texas Instruments TMP422
|
||||||
|
|
||||||
Prefix: 'tmp422'
|
Prefix: 'tmp422'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c, 0x4d, 0x4e and 0x4f
|
Addresses scanned: I2C 0x4c, 0x4d, 0x4e and 0x4f
|
||||||
|
|
||||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
||||||
|
|
||||||
* Texas Instruments TMP423
|
* Texas Instruments TMP423
|
||||||
|
|
||||||
Prefix: 'tmp423'
|
Prefix: 'tmp423'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c and 0x4d
|
Addresses scanned: I2C 0x4c and 0x4d
|
||||||
|
|
||||||
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp421.html
|
||||||
|
|
||||||
* Texas Instruments TMP441
|
* Texas Instruments TMP441
|
||||||
|
|
||||||
Prefix: 'tmp441'
|
Prefix: 'tmp441'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x2a, 0x4c, 0x4d, 0x4e and 0x4f
|
Addresses scanned: I2C 0x2a, 0x4c, 0x4d, 0x4e and 0x4f
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/product/tmp441
|
Datasheet: http://www.ti.com/product/tmp441
|
||||||
|
|
||||||
* Texas Instruments TMP442
|
* Texas Instruments TMP442
|
||||||
|
|
||||||
Prefix: 'tmp442'
|
Prefix: 'tmp442'
|
||||||
|
|
||||||
Addresses scanned: I2C 0x4c and 0x4d
|
Addresses scanned: I2C 0x4c and 0x4d
|
||||||
|
|
||||||
Datasheet: http://www.ti.com/product/tmp442
|
Datasheet: http://www.ti.com/product/tmp442
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
|
|
||||||
Andre Prendel <andre.prendel@gmx.de>
|
Andre Prendel <andre.prendel@gmx.de>
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
@ -40,5 +61,6 @@ for both the local and remote channels is 0.0625 degree C.
|
||||||
The chips support only temperature measurement. The driver exports
|
The chips support only temperature measurement. The driver exports
|
||||||
the temperature values via the following sysfs files:
|
the temperature values via the following sysfs files:
|
||||||
|
|
||||||
temp[1-4]_input
|
**temp[1-4]_input**
|
||||||
temp[2-4]_fault
|
|
||||||
|
**temp[2-4]_fault**
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
Kernel driver twl4030-madc
|
Kernel driver twl4030-madc
|
||||||
=========================
|
==========================
|
||||||
|
|
||||||
Supported chips:
|
Supported chips:
|
||||||
|
|
||||||
* Texas Instruments TWL4030
|
* Texas Instruments TWL4030
|
||||||
|
|
||||||
Prefix: 'twl4030-madc'
|
Prefix: 'twl4030-madc'
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,8 +21,9 @@ channels which can be used in different modes.
|
||||||
|
|
||||||
See this table for the meaning of the different channels
|
See this table for the meaning of the different channels
|
||||||
|
|
||||||
|
======= ==========================================================
|
||||||
Channel Signal
|
Channel Signal
|
||||||
------------------------------------------
|
======= ==========================================================
|
||||||
0 Battery type(BTYPE)
|
0 Battery type(BTYPE)
|
||||||
1 BCI: Battery temperature (BTEMP)
|
1 BCI: Battery temperature (BTEMP)
|
||||||
2 GP analog input
|
2 GP analog input
|
||||||
|
@ -37,6 +40,7 @@ Channel Signal
|
||||||
13 Reserved
|
13 Reserved
|
||||||
14 Reserved
|
14 Reserved
|
||||||
15 VRUSB Supply/Speaker left/Speaker right polarization level
|
15 VRUSB Supply/Speaker left/Speaker right polarization level
|
||||||
|
======= ==========================================================
|
||||||
|
|
||||||
|
|
||||||
The Sysfs nodes will represent the voltage in the units of mV,
|
The Sysfs nodes will represent the voltage in the units of mV,
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
Userspace tools
|
||||||
|
===============
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue