内核驱动 nsa320_hwmon

支持的芯片

  • Holtek HT46R065 微控制器,带板载固件,配置为

    硬件监控器。

    前缀:“nsa320”

    扫描地址:无

    数据手册:不可用,驱动程序是基于合勤(Zyxel)内核源代码

    逆向工程而来

作者

描述

已知此芯片用于合勤(Zyxel)NSA320 和 NSA325 NAS 设备以及 NSA310 的某些变体中,但此驱动程序仅在 NSA320 上测试过。在所有这些设备中,它都连接到相同的 3 根 GPIO 线,用于提供片选、时钟和数据线。该接口的行为类似于 SPI,但速度远低于 SPI 通常使用的速度。

每次片选脉冲后,芯片将生成一个 32 位字,其中包含 0x55 作为标记,指示数据正在正确读取,后跟一个 8 位的风扇速度(以 100 RPM 为单位)和一个 16 位的温度(以十分之一度为单位)。

sysfs 接口

temp1_input

温度输入

fan1_input

风扇速度

注意事项

驱动程序中使用的访问时序与合勤(Zyxel)提供的内核中使用的时序相同。测试表明,如果片选到第一个时钟脉冲之间的延迟从 100 毫秒减少到略低于 10 毫秒,则芯片将不会产生任何输出。如果时钟的任一相的持续时间从 100 微秒减少到小于 15 微秒,则数据脉冲很可能被读取两次,从而损坏输出。上述分析基于一个单元的样本,但表明合勤(Zyxel)提供的延迟值包含合理的容差。

该驱动程序包含一个限制,即它不会以快于每秒一次的速度检查更新值。这是因为硬件从设备读取数据需要相对较长的时间,并且在读取时会同时读取温度和风扇速度。由于两次快速连续访问最可能的情况是读取这两个值,因此避免第二次读取延迟是可取的。