核心驅動 nsa320_hwmon¶
支援的晶片
Holtek HT46R065 微控制器,帶板載韌體,配置為
硬體監控器。
字首:“nsa320”
掃描地址:無
資料手冊:不可用,驅動程式是基於合勤(Zyxel)核心原始碼
逆向工程而來
作者
Adam Baker <linux@baker-net.org.uk>
描述¶
已知此晶片用於合勤(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)提供的延遲值包含合理的容差。
該驅動程式包含一個限制,即它不會以快於每秒一次的速度檢查更新值。這是因為硬體從裝置讀取資料需要相對較長的時間,並且在讀取時會同時讀取溫度和風扇速度。由於兩次快速連續訪問最可能的情況是讀取這兩個值,因此避免第二次讀取延遲是可取的。