内核驱动 w83627ehf¶
支持的芯片
Winbond W83627EHF/EHG (仅限 ISA 访问)
前缀:‘w83627ehf’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:不可用
Winbond W83627DHG
前缀:‘w83627dhg’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:不可用
Winbond W83627DHG-P
前缀:‘w83627dhg’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:不可用
Winbond W83627UHG
前缀:‘w83627uhg’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:可从 www.nuvoton.com 获取
Winbond W83667HG
前缀:‘w83667hg’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:不可用
Winbond W83667HG-B
前缀:‘w83667hg’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:可根据要求从 Nuvoton 获取
Nuvoton NCT6775F/W83667HG-I
前缀:‘nct6775’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:可根据要求从 Nuvoton 获取
Nuvoton NCT6776F
前缀:‘nct6776’
扫描地址:从 Super I/O 寄存器检索的 ISA 地址
数据手册:可根据要求从 Nuvoton 获取
作者
Jean Delvare <jdelvare@suse.de>
Yuan Mu (Winbond)
Rudolf Marek <r.marek@assembler.cz>
David Hubbard <david.c.hubbard@gmail.com>
Gong Jun <JGong@nuvoton.com>
描述¶
此驱动程序实现了对 Winbond W83627EHF、W83627EHG、W83627DHG、W83627DHG-P、W83627UHG、W83667HG、W83667HG-B、W83667HG-I (NCT6775F) 和 NCT6776F 超级 I/O 芯片的支持。我们将其统称为 Winbond 芯片。
这些芯片实现了 3 到 4 个温度传感器(NCT6775F 和 NCT6776F 为 9 个)、2 到 5 个风扇转速传感器、8 到 10 个模拟电压传感器、一个 VID(627UHG 除外)、带有蜂鸣警告的警报(控制未实现)和一些自动风扇调节策略(加上手动风扇控制模式)。
W82677HG-B、NCT6775F 和 NCT6776F 上的温度传感器源是可配置的。只有当 temp4 和更高属性的温度源与已报告的温度传感器的温度源不同时,才会报告这些属性。每个温度传感器的配置源在 tempX_label 中提供。
温度以摄氏度测量,temp1 的测量分辨率为 1 摄氏度,temp2 和 temp3 的测量分辨率为 0.5 摄氏度。对于 temp4 和更高属性,W83667HG-B 的分辨率为 1 摄氏度,NCT6775F 和 NCT6776F 的分辨率为 0.0 摄氏度。当温度高于上限时会触发警报;它会一直保持开启,直到温度降至滞后值以下。警报仅支持 temp1、temp2 和 temp3。
风扇转速以 RPM(每分钟转数)报告。如果转速已降至可编程限值以下,则会触发警报。风扇读数可以除以可编程除数(1、2、4、8、16、32、64 或 128)以提供更大的读数范围或精度。驱动程序会自行设置最合适的风扇除数。某些风扇可能不存在,因为它们与其他功能共享引脚。
电压传感器(也称为 IN 传感器)以毫伏为单位报告其值。如果电压已超过可编程的最小值或最大值限制,则会触发警报。
该驱动程序支持称为热巡航的自动风扇控制模式。在此模式下,芯片会尝试将测得的温度保持在预定义的温度范围内。如果温度超出范围,风扇会减慢/加快以再次达到预定义的范围。
该模式适用于风扇 1-风扇 4。温度到 pwm 输出的映射如下
temp1 -> pwm1
temp2 -> pwm2
temp3 -> pwm3 (not on 627UHG)
prog -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not
supported by the driver)
/sys 文件¶
- 名称
这是一个标准的 hwmon 设备条目,它包含设备的名称(请参阅此文件顶部支持的设备列表中的前缀)
- pwm[1-4]
此文件以范围存储 PWM 占空比或 DC 值(风扇速度)
0(停止)到 255(全速)
- pwm[1-4]_enable
此文件控制风扇/温度控制的模式
1 手动模式,将任何值 0-255(全速)写入 pwm 文件
2 “热巡航”模式
3 “风扇速度巡航”模式
4 “智能风扇 III”模式
5 “智能风扇 IV”模式
NCT6776F 不支持智能风扇 III 模式。
仅当在系统启动时配置了智能风扇 IV 模式时,它才是可配置的,并且仅支持 W83677HG-B、NCT6775F 和 NCT6776F。此时无法配置智能风扇 IV 运行参数,并且各种 pwm 属性在智能风扇 IV 模式下不使用。这些属性可以写入,如果您计划为不同的 pwm 模式配置系统,这将很有用。但是,读取 pwm 属性时返回的信息与智能风扇 IV 操作无关。
- pwm[1-4]_mode
控制输出是 PWM 还是 DC 电平
0 DC 输出 (0 - 12v)
1 PWM 输出
热巡航模式¶
如果温度在以下定义的范围内
- pwm[1-4]_target
设置目标温度,单位为毫摄氏度(范围 0 - 127000)
- pwm[1-4]_tolerance
容差,单位为毫摄氏度(范围 0 - 15000)
风扇速度没有变化。一旦温度离开区间,风扇速度就会增加(温度较高),如果低于所需温度则会降低。定义了步骤和时间,但驱动程序尚未导出它们。
- pwm[1-4]_min_output
当温度低于定义范围时,最低风扇速度(范围 1 - 255)。
- pwm[1-4]_stop_time
关闭相应风扇必须经过的毫秒数 [ms]。(当温度低于定义范围时)。
- pwm[1-4]_start_output
启动时的最低风扇速度(范围 1 - 255)
- pwm[1-4]_step_output
风扇速度变化率 (1 - 255)
- pwm[1-4]_stop_output
减速时的最低风扇速度(范围 1 - 255)
- pwm[1-4]_max_output
当温度高于定义范围时,最高风扇速度(范围 1 - 255)。
- 注意:最后六个功能受其他控制位的影响,驱动程序尚未导出它们
,因此更改可能没有任何效果。
实现细节¶
未来的驱动程序开发应牢记,以下寄存器在 627EHF 和 627DHG 上具有不同的功能。某些寄存器还具有不同的上电默认值,但 BIOS 应该已经在加载适当的默认值。请注意,对于所有寄存器地址,必须按照驱动程序中当前的做法执行存储体选择。
寄存器 |
含义 |
---|---|
0x49 |
仅在 DHG 上,选择 AUX 风扇、CPU 风扇 0 的温度源 |
0x4a |
对于 EHF 没有完全记录,并且 DHG 文档为位 7 和 6 分配了不同的行为,包括将温度输入选择扩展到智能风扇 I,而不仅仅是智能风扇 III。在 EHF 上的测试将揭示它们是否兼容。 |
0x58 |
芯片 ID:0xa1=EHF 0xc1=DHG |
0x5e |
仅在 DHG 上,具有启用“电流模式”温度检测和临界温度保护的位 |
0x45b |
仅在 EHF 上,位 3,vin4 警报(EHF 支持 10 个输入,DHG 上只有 9 个) |
0x552 |
仅在 EHF 上,vin4 |
0x558 |
仅在 EHF 上,vin4 上限 |
0x559 |
仅在 EHF 上,vin4 下限 |
0x6b |
仅在 DHG 上,SYS 风扇临界温度 |
0x6c |
仅在 DHG 上,CPU 风扇 0 临界温度 |
0x6d |
仅在 DHG 上,AUX 风扇临界温度 |
0x6e |
仅在 DHG 上,CPU 风扇 1 临界温度 |
0x50-0x55 和 0x650-0x657 |
标记为
|
DHG 还支持 PECI,其中 DHG 查询 Intel CPU 温度,ICH8 南桥通过 PECI 从 DHG 获取该数据,以便南桥驱动风扇。DHG 还支持 SST,一个单线串行总线。
DHG-P 具有一个名为智能风扇 (TM) III+ 的附加自动风扇速度控制模式。驱动程序尚不支持此模式。