Kernel driver asc7621

支援的晶片

Andigilog aSC7621 和 aSC7621a

字首: ‘asc7621’

掃描的地址: I2C 0x2c, 0x2d, 0x2e

資料手冊: http://www.fairview5.com/linux/asc7621/asc7621.pdf

作者

George Joseph

Dave Pivin @ Andigilog 提供的描述

Andigilog 擁有 Heceta-6 的 PECI 和 pre-PECI 版本,正如 Intel 所稱。Heceta-6e 具有高頻 PWM,而 Heceta-6p 添加了 PECI 和第 4 個熱區。Andigilog aSC7611 是 Heceta-6e 部件,而 aSC7621 是 Heceta-6p 部件。它們都已批次生產,並運送給 Intel 及其子公司。

相對於 Intel 的主要規範,我們增強了這兩個部件。第一個增強功能是溫度讀取解析度。除了 Intel 指定的供應商範圍之外,我們還在 20h 以下的暫存器中使用了供應商特定的功能。

我們的轉換過程產生一個結果,該結果報告為兩個位元組。風扇速度控制使用這個更精細的值來產生“無級”風扇 PWM 輸出。這兩個位元組是“讀取鎖定”的,以保證一旦讀取高位元組或低位元組,另一個位元組將被鎖定,直到下次讀取任何暫存器之後。因此,要獲得原子讀取,請讀取高位元組或低位元組,然後緊接著的下一次讀取應為相反的位元組。我們的資料表表明解析度為 10 位,儘管您可能會發現較低位處於活動狀態,但它們不一定是可靠的或對外部有用的。我們選擇不遮蔽它們。

我們採用了顯著的濾波,使用者可以對其進行調整,如資料表中所述。除了更高的解析度溫度報告之外,與競爭對手相比,我們的溫度報告和風扇 PWM 輸出非常平滑。更平滑的 PWM 輸出不需要使用者干預。

我們在之前的 VID 引腳上提供 GPIO 功能。這些是開漏輸出或輸入,可以用作通用 I/O 或基於溫度限制的警報輸出。這些在 19h 和 1Ah 中。

我們提供溫度讀數到熱區的靈活對映。任何溫度都可以對映到任何區域,該區域具有遵循 Intel 規範的預設分配。

由於存在一個風扇到區域的分配,允許一組區域中“較熱”的區域控制單個風扇的 PWM,但沒有向用戶指示,因此我們添加了一個指示器,顯示哪個區域當前正在控制給定風扇的 PWM。這在暫存器 00h 中。

可以為兩個遠端二極體溫度讀數提供一個偏移值,以便可以將報告的讀數以及用於確定 PWM 的溫度偏移以用於系統校準目的。

PECI 擴充套件配置允許每個 PECI 地址擁有兩個以上的域,並且還為每個 PECI 地址提供了一個啟用功能。可以使用我們靈活的區域分配將一個區域分配給最多 4 個 PECI 地址。這在預設的 Intel 配置中是不可能的。這在具有單個風扇的每個 CPU 上的多 CPU 系統中可能很有用,這將受益於單獨的風扇控制。這在暫存器 0Eh 中。

轉速計測量系統是靈活的,並且能夠適應許多風扇型別。我們還可以支援脈衝拉伸 PWM,以便可以使用 3 線風扇。這些特性在暫存器 04h 到 07h 中。

最後,我們添加了一個轉速停用功能,該功能關閉單個轉速計的轉速測量系統,以節省電力。這在暫存器 75h 中。


aSC7621 產品描述

aSC7621 具有與 SMBus 2.0 相容的兩線數字介面。aSC7621 使用 10 位 ADC 測量兩個遠端二極體連線電晶體以及其自身晶片的溫度。包括對平臺環境控制介面 (PECI) 的支援。

利用來自這四個區域的溫度資訊,採用自動風扇速度控制演算法,以在不同的操作負載下最大限度地減少聲學影響,同時達到建議的 CPU 溫度。

為了設定風扇速度,aSC7621 具有三個獨立的脈衝寬度調製 (PWM) 輸出,這些輸出由一個或三個溫度區域的組合控制。支援高頻和低頻 PWM 範圍。

aSC7621 還包括一個數字濾波器,可以呼叫該濾波器來平滑溫度讀數,從而更好地控制風扇速度並最大限度地減少聲學影響。

aSC7621 具有轉速計輸入,可以測量多達四個風扇的風扇速度。包括所有測量值的限制和狀態暫存器,以警告系統主機任何測量值都超出透過狀態暫存器程式設計的限制。

使用內部比例電阻器可以有效地監控 VCCP、2.5V、3.3V、5.0V 和 12V 主機板電源的系統電壓。

特性

  • 支援 PECI 介面並監控內部和遠端熱二極體

  • 2 線、符合 SMBus 2.0 的序列介面

  • 10 位 ADC

  • 監控 VCCP、2.5V、3.3V、5.0V 和 12V 主機板/處理器電源

  • 基於溫度讀數的可程式設計自主風扇控制

  • 用於風扇速度控制的溫度讀數噪聲濾波

  • 0.25C 數字溫度感測器解析度

  • 3 個 PWM 風扇速度控制輸出,用於 2 線、3 線或 4 線風扇,以及最多 4 個風扇轉速計輸入

  • 增強的測量溫度到溫度區域分配。

  • 提供高頻和低頻 PWM 範圍

  • 3 個 GPIO 引腳,用於自定義使用

  • 24 引腳 QSOP 封裝

配置說明

除非下文另有說明,否則此驅動程式建立的 sysfs 條目遵循“sysfs-interface”中定義的標準。

temp1_source

0

(預設) peci_legacy = 0, 遠端 1 溫度 peci_legacy = 1, PECI 處理器溫度 0

1

遠端 1 溫度

2

遠端 2 溫度

3

內部溫度

4

PECI 處理器溫度 0

5

PECI 處理器溫度 1

6

PECI 處理器溫度 2

7

PECI 處理器溫度 3

temp2_source

0

(預設) 內部溫度

1

遠端 1 溫度

2

遠端 2 溫度

3

內部溫度

4

PECI 處理器溫度 0

5

PECI 處理器溫度 1

6

PECI 處理器溫度 2

7

PECI 處理器溫度 3

temp3_source

0

(預設) 遠端 2 溫度

1

遠端 1 溫度

2

遠端 2 溫度

3

內部溫度

4

PECI 處理器溫度 0

5

PECI 處理器溫度 1

6

PECI 處理器溫度 2

7

PECI 處理器溫度 3

temp4_source

0

(預設) peci_legacy = 0, PECI 處理器溫度 0 peci_legacy = 1, 遠端 1 溫度

1

遠端 1 溫度

2

遠端 2 溫度

3

內部溫度

4

PECI 處理器溫度 0

5

PECI 處理器溫度 1

6

PECI 處理器溫度 2

7

PECI 處理器溫度 3

temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time

平滑由噪聲引起的溫度讀數中的尖峰。有效值(以毫秒為單位)為

  • 35000

  • 17600

  • 11800

  • 7000

  • 4400

  • 3000

  • 1600

  • 800

temp[1-4]_crit

當相應的區域溫度達到此值時,所有 pwm 輸出將變為 100%。

temp[5-8]_input / temp[5-8]_enable

aSC7621 還可以讀取處理器透過 PECI 匯流排提供的溫度。通常,這些是“核心”溫度,並且相對於自動熱控制電路開始節流的點。這意味著這些通常是負數。

pwm[1-3]_enable

0

風扇關閉。

1

風扇開啟手動控制。

2

風扇開啟自動控制,如果區域的溫度低於最小值,將以最小 pwm 執行。

3

風扇開啟自動控制,但如果區域的溫度低於最小值,則將關閉。

4-254

忽略。

255

風扇全速執行。

pwm[1-3]_auto_channels

sysctl-interface 中描述的點陣圖,但有以下例外...

只有以下區域組合(及其對應的掩碼)有效

  • 1

  • 2

  • 3

  • 2,3

  • 1,2,3

  • 4

  • 1,2,3,4

  • 特殊值

    0

    已停用。

    16

    風扇開啟手動控制。

    31

    風扇全速執行。

pwm[1-3]_invert

設定後,反轉 pwm[1-3] 的含義。即,當 pwm = 0 時,風扇將全速執行,當 pwm = 255 時,風扇將關閉。

pwm[1-3]_freq

PWM 頻率,單位為 Hz。有效值(以 Hz 為單位)為

  • 10

  • 15

  • 23

  • 30 (預設)

  • 38

  • 47

  • 62

  • 94

  • 23000

  • 24000

  • 25000

  • 26000

  • 27000

  • 28000

  • 29000

  • 30000

設定任何其他值將被忽略。

peci_enable

啟用或停用 PECI

peci_avg

輸入濾波器平均時間。

  • 0 0 秒(無平滑)(預設)

  • 1 0.25 秒

  • 2 0.5 秒

  • 3 1.0 秒

  • 4 2.0 秒

  • 5 4.0 秒

  • 6 8.0 秒

  • 7 0.0 秒

peci_legacy

0

標準模式(預設)遠端二極體 1 讀數與溫度區域 1 相關聯,PECI 與區域 4 相關聯

1

傳統模式 PECI 與溫度區域 1 相關聯,遠端二極體 1 與區域 4 相關聯

peci_diode

二極體濾波器

0

0.25 秒

1

1.1 秒

2

2.4 秒 (預設)

3

3.4 秒

4

5.0 秒

5

6.8 秒

6

10.2 秒

7

16.4 秒

peci_4domain

四域啟用

0

已啟用處理器的 1 或 2 個域(預設)

1

已啟用處理器的 3 或 4 個域

peci_domain

0

處理器包含單個域 (0)(預設)

1

處理器包含兩個域 (0,1)