内核驱动 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 获取

作者

描述

此驱动程序实现了对 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

标记为

  • EHF 的“测试寄存器”

  • DHG 的“保留寄存器”

DHG 还支持 PECI,其中 DHG 查询 Intel CPU 温度,ICH8 南桥通过 PECI 从 DHG 获取该数据,以便南桥驱动风扇。DHG 还支持 SST,一个单线串行总线。

DHG-P 具有一个名为智能风扇 (TM) III+ 的附加自动风扇速度控制模式。驱动程序尚不支持此模式。