内核驱动 smsc47m192¶
支持的芯片
SMSC LPC47M192、LPC47M15x、LPC47M292 和 LPC47M997
前缀:'smsc47m192'
扫描地址:I2C 0x2c - 0x2d
数据手册:LPC47M192 的数据手册可从以下网址公开获取
- 作者
Hartmut Rick <linux@rick.claranet.de>
特别感谢 Jean Delvare 仔细检查代码,并提供了许多有用的评论和建议。
描述¶
此驱动程序实现了对 SMSC LPC47M192 和兼容的 Super-I/O 芯片的硬件传感器功能的支持。
这些芯片支持 3 个温度通道和 8 个电压输入,以及 CPU 电压 VID 输入。
它们还具有风扇监控和控制功能,但这些功能通过 ISA 总线访问,此驱动程序不支持。使用“smsc47m1”驱动程序进行风扇监控和控制。
电压和温度由 8 位 ADC 测量,温度的分辨率为每摄氏度 1 位。电压的缩放比例为标称电压对应于 192 个计数,即满量程的 3/4。因此,每个电压通道的可用范围为 0V ... 255/192 *(标称电压),分辨率为每(标称电压)/192 1 位。电压和温度值都按 1000 缩放,sys 文件以 mV 为单位显示电压,以 0.001 摄氏度为单位显示温度。
+12V 模拟电压输入通道(in4_input)与编码 CPU 电压的位 4 复用。这意味着你要么获得 +12V 电压测量值,要么获得 5 位 CPU VID,但不能同时获得两者。默认设置是将引脚用作 12V 输入,并且仅使用 4 位 VID。此驱动程序假定配置寄存器中的信息正确,即如果主板将此输入连接到 VID4,则 BIOS 已更新了配置。
温度和电压读数每 1.5 秒更新一次。更频繁地读取它们会重复相同的值。
sysfs 接口¶
in0_input |
+2.5V 电压输入 |
in1_input |
CPU 电压输入(标称 2.25V) |
in2_input |
+3.3V 电压输入 |
in3_input |
+5V 电压输入 |
in4_input |
+12V 电压输入(如果用作 VID4,则可能丢失) |
in5_input |
Vcc 电压输入(标称 3.3V)这是传感器芯片本身的供电电压。 |
in6_input |
+1.5V 电压输入 |
in7_input |
+1.8V 电压输入 |
in[0-7]_min, |
|
in[0-7]_max |
in[0-7]_input 读数的下限和上限报警阈值 所有电压均以 mV 为单位读取和写入。 |
in[0-7]_alarm |
电压输入的报警标志。如果发生报警,这些文件读取“1”,否则读取“0”。 |
temp1_input |
片上二极管测量的芯片温度 |
temp[2-3]_input |
外部二极管测量的温度(其中一个通常连接到 CPU 内部的二极管) |
temp[1-3]_min, |
|
temp[1-3]_max |
温度的下限和上限报警阈值 |
temp[1-3]_offset |
温度偏移寄存器。芯片将这些寄存器中存储的偏移量添加到相应的温度读数中。请注意,temp1 和 temp2 偏移量共享同一个寄存器,它们不能同时不为零。向其中一个写入非零数字会将另一个偏移量重置为零。 所有温度和偏移量均以 0.001 摄氏度为单位读取和写入。 |
temp[1-3]_alarm |
温度输入的报警标志,如果发生报警,则为“1”,否则为“0”。 |
temp[2-3]_input_fault |
温度输入 2 和 3 的二极管故障标志。如果相应传感器的两个引脚开路或短路,或者两个引脚中的任何一个短路到地或 Vcc,则会检测到故障。“1”表示二极管故障。 |
cpu0_vid |
从 CPU 收到的 CPU 电压 |
vrm |
用于解码 CPU 电压的 CPU VID 标准 |
可以读取和写入 *_min、 *_max、 *_offset 和 vrm 文件,所有其他文件均为只读。