Kernel driver adt7475¶
支援的晶片
Analog Devices ADT7473
字首: ‘adt7473’
掃描地址: I2C 0x2C, 0x2D, 0x2E
資料手冊: 可在安森美半導體網站上公開獲取
Analog Devices ADT7475
字首: ‘adt7475’
掃描地址: I2C 0x2E
資料手冊: 可在安森美半導體網站上公開獲取
Analog Devices ADT7476
字首: ‘adt7476’
掃描地址: I2C 0x2C, 0x2D, 0x2E
資料手冊: 可在安森美半導體網站上公開獲取
Analog Devices ADT7490
字首: ‘adt7490’
掃描地址: I2C 0x2C, 0x2D, 0x2E
資料手冊: 可在安森美半導體網站上公開獲取
- 作者
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輸出相關聯,因此,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驅動程式被修補之前,該驅動程式可能無法找到該晶片。