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驅動程式被修補之前,該驅動程式可能無法找到該晶片。