Kernel 驅動 NCT6775¶
注意
該驅動程式取代了 W83627EHF 驅動程式中對 NCT6775F 和 NCT6776F 的支援。
支援的晶片
Nuvoton NCT6102D/NCT6104D/NCT6106D
字首:‘nct6106’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可從 Nuvoton 網站獲得
Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I
字首:‘nct6775’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT5573D/NCT5577D/NCT6776D/NCT6776F
字首:‘nct6776’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT5532D/NCT6779D
字首:‘nct6779’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6791D
字首:‘nct6791’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6792D
字首:‘nct6792’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6793D
字首:‘nct6793’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6795D
字首:‘nct6795’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6796D
字首:‘nct6796’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
Nuvoton NCT6796D-S/NCT6799D-R
字首:‘nct6799’
掃描的地址:從 Super I/O 暫存器檢索到的 ISA 地址
資料表:可根據要求從 Nuvoton 獲得
作者
Guenter Roeck <linux@roeck-us.net>
描述¶
該驅動程式實現了對 Nuvoton NCT6775F、NCT6776F 和 NCT6779D 以及相容的 super I/O 晶片的支援。
這些晶片支援多達 25 個溫度監控源。 其中最多 6 個是直接溫度感測器輸入,其餘是特殊來源,例如 PECI、PCH 和 SMBUS。 根據晶片型別,可以監控 2 到 6 個溫度源,並將其與最小、最大和臨界溫度進行比較。 該驅動程式向用戶報告最多 10 個溫度。 有 4 到 5 個風扇轉速感測器、8 到 15 個模擬電壓感測器、一個 VID、帶蜂鳴器警告的警報(控制未實現)以及一些自動風扇調節策略(加上手動風扇控制模式)。
所有晶片上的溫度感測器源都是可配置的。 每個溫度感測器配置的來源在 tempX_label 中提供。
溫度以攝氏度為單位測量,測量解析度為 1 攝氏度或 0.5 攝氏度,具體取決於溫度源和配置。 當溫度高於上限時,會觸發警報; 它會一直保持開啟狀態,直到溫度降至滯後值以下。 警報僅支援 temp1 到 temp6,具體取決於晶片型別。
風扇轉速以 RPM(每分鐘轉數)報告。 如果轉速已降至可程式設計限制以下,則會觸發警報。 在 NCT6775F 上,風扇讀數可以除以可程式設計的分頻器(1、2、4、8、16、32、64 或 128),以使讀數具有更大的範圍或精度; 其他晶片沒有風扇速度分頻器。 驅動程式會自行設定最合適的風扇分頻器; 具體來說,每次風扇速度讀數返回無效值時,它都會增加分頻器值,如果風扇速度讀數低於最佳值,則會降低分頻器值。 某些風扇可能不存在,因為它們與其他功能共享引腳。
電壓感測器(也稱為 IN 感測器)以毫伏為單位報告其值。 如果電壓已超過可程式設計的最小值或最大值限制,則會觸發警報。
該驅動程式支援稱為熱巡航的自動風扇控制模式。 在此模式下,晶片嘗試將測量的溫度保持在預定義的溫度範圍內。 如果溫度超出範圍,則風扇會減速/加速以再次達到預定義的範圍。
該模式適用於 fan1-fan5。
sysfs 屬性¶
- pwm[1-7]
此檔案儲存 PWM 佔空比或 DC 值(風扇速度),範圍為
0(最低速度)到 255(全速)
- pwm[1-7]_enable
此檔案控制風扇/溫度控制的模式
0 風扇控制已停用(風扇設定為最高速度)
1 手動模式,將任何值 0-255 寫入 pwm[0-5]
2 “熱巡航”模式
3 “風扇速度巡航”模式
4 “智慧風扇 III”模式(僅限 NCT6775F)
5 “智慧風扇 IV”模式
- pwm[1-7]_mode
控制輸出是 PWM 還是 DC 電平
0 DC 輸出
1 PWM 輸出
通用風扇控制屬性¶
- pwm[1-7]_temp_sel
溫度源。 該值是溫度感測器索引。 例如,為 temp1_input 選擇“1”。
- pwm[1-7]_weight_temp_sel
輔助溫度源。 該值是溫度感測器索引。 例如,為 temp1_input 選擇“1”。 設定為 0 以停用輔助溫度控制。
如果啟用了輔助溫度功能,則使用以下屬性進行控制。
- pwm[1-7]_weight_duty_step
佔空比步長大小。
- pwm[1-7]_weight_temp_step
溫度步長大小。 對於超過 temp_step_base 的每個步長,weight_duty_step 的值將新增到當前 pwm 值。
- pwm[1-7]_weight_temp_step_base
輔助溫度控制開始起作用的溫度。
- pwm[1-7]_weight_temp_step_tol
溫度步長容差。
熱巡航模式 (2)¶
如果溫度在以下定義的範圍內
- pwm[1-7]_target_temp
目標溫度,單位為千分之一攝氏度(範圍 0 - 127000)
- pwm[1-7]_temp_tolerance
目標溫度容差,單位為千分之一攝氏度
風扇速度沒有變化。 一旦溫度離開該區間,風扇速度就會增加(如果溫度高於所需溫度)或降低(如果溫度低於所需溫度),使用以下限制和時間間隔。
- pwm[1-7]_start
風扇 pwm 起始值(範圍 1 - 255),以便在溫度高於定義的範圍時啟動風扇。
- pwm[1-7]_floor
如果溫度低於定義的範圍,則為最低風扇 pwm(範圍 0 - 255)。 如果設定為 0,則當溫度低於定義的範圍時,風扇預計會停止。
- pwm[1-7]_step_up_time
增加風扇速度之前的毫秒數
- pwm[1-7]_step_down_time
降低風扇速度之前的毫秒數
- pwm[1-7]_stop_time
必須經過多少毫秒才能關閉相應的風扇(當溫度低於定義的範圍時)。
速度巡航模式 (3)¶
此模式嘗試保持風扇速度恆定。
- fan[1-7]_target
目標風扇速度
- fan[1-7]_tolerance
目標速度容差
未經測試; 使用風險自負。
智慧風扇 IV 模式 (5)¶
此模式提供多個斜率來控制風扇速度。 可以透過設定 pwm 和溫度屬性來控制斜率。 當溫度升高時,晶片將根據當前斜率計算 DC/PWM 輸出。 根據晶片型別,最多有七個資料點。 後續資料點應設定為更高的溫度和更高的 pwm 值,以便在溫度升高時實現更高的風扇速度。 最後一個數據點反映了臨界溫度模式,在該模式下,風扇應全速執行。
- pwm[1-7]_auto_point[1-7]_pwm
如果溫度達到匹配的溫度範圍,則要設定的 pwm 值。
- pwm[1-7]_auto_point[1-7]_temp
啟用匹配 pwm 的溫度。
- pwm[1-7]_temp_tolerance
溫度容差,單位為千分之一攝氏度
- pwm[1-7]_crit_temp_tolerance
臨界溫度的溫度容差,單位為千分之一攝氏度
- pwm[1-7]_step_up_time
增加風扇速度之前的毫秒數
- pwm[1-7]_step_down_time
降低風扇速度之前的毫秒數
使用說明¶
在具有 NCT6776F 的各種 ASUS 主機板上,CPUTIN 似乎沒有真正連線到任何東西並且浮動,或者它連線到一些非標準的溫度測量裝置。 因此,CPUTIN 上報告的溫度不會反映可用的值。 它通常會報告不合理的高溫,並且在某些情況下,如果實際溫度升高,報告的溫度會下降(類似於原始 PECI 溫度值 - 有關詳細資訊,請參閱 PECI 規範)。 因此,在 ASUS 主機板上應忽略 CPUTIN。 ASUS 主機板上的 CPU 溫度從 PECI 0 或 TSI 0 報告。
NCT6796D-S 和 NCT6799D-R 晶片非常相似,它們的 chip_id 表明它們是不同的版本。 此驅動程式以相同的方式對待它們。