内核驱动 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` 文件可读写,其余均为只读。