核心驅動程式 sbrmi

支援的硬體

  • 透過 APML 連線到 BMC 的符合邊帶遠端管理介面 (SB-RMI) 的 AMD SoC 裝置。

    字首: ‘sbrmi’

    掃描地址: 此驅動程式不支援地址掃描。

    要在支援 SB-RMI 的 AMD CPU 上例項化此驅動程式,i2c 匯流排號將是從板管理控制器 (BMC) 連線到 CPU 的匯流排。SMBus 地址實際上是 7 位。一些供應商和 SMBus 規範將地址顯示為 8 位,左對齊,R/W 位作為寫入 (0) 時使第 0 位。一些供應商僅使用 7 位來描述地址。如 AMD 的 APML 規範所述,對於插槽 0,SB-RMI 地址通常為 78h(0111 100W) 或 3Ch(011 1100);對於插槽 1,通常為 70h(0111 000W) 或 38h(011 1000),但它可能會根據硬體地址選擇引腳而變化。

    資料手冊: SB-RMI 介面和協議以及高階

    平臺管理鏈路 (APML) 規範可在開源 SoC 暫存器參考中找到,網址為

    https://www.amd.com/en/support/tech-docs?keyword=55898

作者: Akshay Gupta <akshay.gupta@amd.com>

描述

APML 提供了一種與外部 SMBus 主機上的 SB 遠端管理介面 (SB-RMI) 模組通訊的方式,該方式可用於透過郵箱命令報告 AMD 平臺上的插槽功耗,並且類似於典型的 8 引腳遠端電源感測器的 I2C 介面到 BMC。

此驅動程式實現了帶功耗上限和最大功耗上限的當前功耗報告功能。

sysfs 介面

電源感測器可以透過 sysfs 上的標準 hwmon 介面進行查詢和設定,位於 /sys/class/hwmon/hwmonX 目錄下,其中 X 為某個值(查詢 X,使得 /sys/class/hwmon/hwmonX/name 的內容為 sbrmi

名稱

許可權

描述

power1_input

只讀

當前功耗

power1_cap

讀寫

功耗限制可設定在 0 到 power1_cap_max 之間

power1_cap_max

只讀

由 SMU 韌體計算並報告的最大功耗限制

以下示例展示瞭如何使用 sensors 二進位制檔案等使用者空間工具來監控來自 i2c 地址的“Power”屬性

# sensors
sbrmi-i2c-1-38
Adapter: bcm2835 I2C adapter
power1:       61.00 W (cap = 225.00 W)

sbrmi-i2c-1-3c
Adapter: bcm2835 I2C adapter
power1:       28.39 W (cap = 224.77 W)
#
此外,下面展示瞭如何單獨獲取和設定 sysfs 條目的值:

# cat /sys/class/hwmon/hwmon1/power1_cap_max 225000000

# echo 180000000 > /sys/class/hwmon/hwmon1/power1_cap # cat /sys/class/hwmon/hwmon1/power1_cap 180000000