内核驱动 adt7475¶
支持的芯片
Analog Devices ADT7473
前缀:‘adt7473’
扫描地址:I2C 0x2C, 0x2D, 0x2E
数据手册:在 On Semiconductors 网站上公开提供
Analog Devices ADT7475
前缀:‘adt7475’
扫描地址:I2C 0x2E
数据手册:在 On Semiconductors 网站上公开提供
Analog Devices ADT7476
前缀:‘adt7476’
扫描地址:I2C 0x2C, 0x2D, 0x2E
数据手册:在 On Semiconductors 网站上公开提供
Analog Devices ADT7490
前缀:‘adt7490’
扫描地址:I2C 0x2C, 0x2D, 0x2E
数据手册:在 On Semiconductors 网站上公开提供
- 作者
Jordan Crouse
Hans de Goede
Darrick J. Wong(文档)
Jean Delvare
描述¶
此驱动程序实现了对 Analog Devices ADT7473、ADT7475、ADT7476 和 ADT7490 芯片系列的支持。ADT7473 和 ADT7475 仅在细微之处有所不同。ADT7476 具有额外的功能,包括额外的电压测量输入和 VID 支持。ADT7490 也具有额外的功能,包括额外的电压测量输入和 PECI 支持。在本文档的其余部分中,所有受支持的芯片都将统称为“ADT747x”。
ADT747x 使用与 SMBus 2.0 规范兼容的 2 线接口。它使用模数转换器测量三个 (3) 温度和两个 (2) 或更多电压。它有四个 (4) 16 位计数器用于测量风扇速度。有三个 (3) PWM 输出可用于控制风扇速度。
ADT747x 中设计了一个用于 PWM 输出的复杂控制系统,该系统允许根据三个温度传感器中的任何一个自动调整风扇速度。每个 PWM 输出都是单独可调和可编程的。配置完成后,ADT747x 将响应测量的温度调整 PWM 输出,而无需主机进一步干预。此功能也可以禁用,以手动控制 PWM。
每个测量的输入(电压、温度、风扇速度)都有相应的高/低限值。如果任何测量值超过任一限值,ADT747x 将发出 ALARM 信号。
ADT747x 连续采样所有输入。驱动程序读取寄存器的频率不会高于每隔一秒一次。此外,配置数据每分钟只读取一次。
芯片差异摘要¶
- ADT7473
2 个电压输入
系统声学优化(未实现)
- ADT7475
2 个电压输入
- ADT7476
5 个电压输入
VID 支持
- ADT7490
6 个电压输入
1 个 Imon 输入
PECI 支持(未实现)
2 个 GPIO 引脚(未实现)
系统声学优化(未实现)
Sysfs 映射¶
in |
ADT7490 |
ADT7476 |
ADT7475 |
ADT7473 |
---|---|---|---|---|
in0 |
2.5VIN (22) |
2.5VIN (22) |
||
in1 |
VCCP (23) |
VCCP (23) |
VCCP (14) |
VCCP (14) |
in2 |
VCC (4) |
VCC (4) |
VCC (4) |
VCC (3) |
in3 |
5VIN (20) |
5VIN (20) |
||
in4 |
12VIN (21) |
12VIN (21) |
||
in5 |
VTT (8) |
|||
in6 |
Imon (19) |
特殊功能¶
ADT747x 具有 10 位 ADC,因此可以测量分辨率为 0.25 摄氏度的温度。温度读数可以配置为二进制补码格式或“偏移 64”格式,其中从原始值中减去 64 以获得温度值。
数据手册非常详细,并描述了用于确定自动 PWM 控制的最佳配置的步骤。
风扇速度控制¶
驱动程序为每个 PWM 通道公开两个跳变点。
point1:在较低温度边界设置 PWM 速度
point2:在较高温度边界设置 PWM 速度
当温度在两个温度边界之间时,ADT747x 将在较低和较高 PWM 速度之间线性缩放 PWM。温度边界与温度通道相关联,而不是与 PWM 输出相关联,并且给定的 PWM 输出可以由多个温度通道控制。因此,ADT747x 可能在给定时间为通道计算多个 PWM 值,在这种情况下,应用最大值(最快的风扇速度)。PWM 值范围从 0(关闭)到 255(全速)。
当与 PWM 控制相关的温度传感器超过 temp#_max 时,风扇速度可以设置为最大值。
在 Tmin - 滞后处,PWM 输出可以关闭(0% 占空比)或在最小值(即 auto_point1_pwm)。可以使用 pwm[1-*]_stall_disable sysfs 属性 配置此行为。值 0 表示风扇将关闭。值 1 表示风扇将以 auto_point1_pwm 运行。
可以配置 ADT747x 对温度变化的响应速度。这允许平滑风扇速度过渡。要在 temp[1-*]_smoothing sysfs 属性中设置过渡时间(以毫秒为单位)。
注释¶
nVidia 二进制驱动程序通过板载 i2c 总线呈现 ADT7473 芯片。不幸的是,他们未能设置 i2c 适配器类,因此在修补 nvidia 驱动程序之前,此驱动程序可能无法找到芯片。