核心驅動 bt1-pvt

支援的晶片

  • Baikal-T1 PVT 感測器 (片上系統內建)

    字首: ‘bt1-pvt’

    掃描地址: -

    資料手冊: 根據請求並遵守 NDA 由 BAIKAL ELECTRONICS 提供

作者

Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru> Serge Semin <Sergey.Semin@baikalelectronics.ru>

描述

此驅動程式實現了對 Baikal-T1 內建的工藝、電壓和溫度感測器的硬體監控功能的支援。PVT IP 核由一個溫度感測器和四個電壓感測器組成,可用於監控晶片內部環境,如發熱、電源電壓和電晶體效能。驅動程式可以選擇性地為 PVT 控制器支援的每個感測器提供 hwmon 警報。警報功能在編譯時可配置,這是由於硬體介面實現的特殊性,即一次只能轉換一個感測器的資料。另一個限制是控制器在資料轉換過程同步執行閾值檢查。因此,為了自動檢測 hwmon 警報,驅動程式程式碼必須在感測器之間切換,讀取轉換後的資料並手動檢查閾值狀態位。根據測量超時設定(update_interval sysfs 節點值),這種設計可能會給系統性能帶來額外負擔。因此,如果您的系統設計不需要警報,建議停用它們以防止 PVT 中斷週期性地被觸發,從而保持資料快取/警報狀態最新。預設情況下,在無警報配置中,資料轉換在透過相應的 _input 檔案請求讀取操作時由驅動程式按需執行。

溫度監控

溫度以 10 位解析度測量,並以毫攝氏度報告。驅動程式自行執行所有縮放,因此報告的真實溫度不需要任何使用者空間調整。雖然資料轉換公式不是線性的,這導致非線性離散度,但它接近線性,但在更高溫度下提供更好的精度。溫度輸入對映如下(最後一列表示輸入範圍)

temp1: CPU embedded diode       -48.38C - +147.438C

如果驅動程式中啟用了警報核心配置,則溫度輸入具有關聯的最小和最大限制,當超過這些限制時會觸發警報。

電壓監控

電壓輸入也以 10 位解析度取樣,並以毫伏報告。但在這種情況下,資料轉換公式是線性的,這提供了恆定的測量離散度。資料縮放也由驅動程式執行,因此返回真實的毫伏值。電壓輸入對映如下(最後一列表示輸入範圍)

in0: VDD                (processor core)                0.62V - 1.168V
in1: Low-Vt             (low voltage threshold)         0.62V - 1.168V
in2: High-Vt            (high voltage threshold)        0.62V - 1.168V
in3: Standard-Vt        (standard voltage threshold)    0.62V - 1.168V

如果驅動程式中啟用了警報配置,則電壓輸入具有關聯的最小和最大限制,當超過這些限制時會觸發警報。

Sysfs 屬性

以下是驅動程式提供的所有 sysfs 屬性列表、它們的許可權和簡短描述

名稱

許可權

描述

update_interval

讀寫

每個感測器的測量更新間隔。

temp1_type

只讀

感測器型別(始終為 1,作為 CPU 內建二極體)。

temp1_label

只讀

CPU 核心溫度感測器。

temp1_input

只讀

測量的溫度,單位毫攝氏度。

temp1_min

讀寫

溫度輸入的下限。

temp1_max

讀寫

溫度輸入的上限。

temp1_min_alarm

只讀

溫度輸入警報。如果溫度輸入低於下限,則返回 1,否則返回 0。

temp1_max_alarm

只讀

溫度輸入警報。如果溫度輸入高於上限,則返回 1,否則返回 0。

temp1_offset

讀寫

晶片在溫度讀數中新增的溫度偏移量,單位毫攝氏度。它可用於手動調整溫度測量值,範圍在 7.130 攝氏度以內。

in[0-3]_label

只讀

CPU 電壓感測器(核心或低/高/標準閾值)。

in[0-3]_input

只讀

測量的電壓,單位毫伏。

in[0-3]_min

讀寫

電壓輸入的下限。

in[0-3]_max

讀寫

電壓輸入的上限。

in[0-3]_min_alarm

只讀

電壓輸入警報。如果電壓輸入低於下限,則返回 1,否則返回 0。

in[0-3]_max_alarm

只讀

電壓輸入警報。如果電壓輸入高於上限,則返回 1,否則返回 0。