1 .. SPDX-License-Identifier: GPL-2.0-or-later
8 * Sideband Remote Management Interface (SB-RMI) compliant AMD SoC
9 device connected to the BMC via the APML.
13 Addresses scanned: This driver doesn't support address scanning.
15 To instantiate this driver on an AMD CPU with SB-RMI
16 support, the i2c bus number would be the bus connected from the board
17 management controller (BMC) to the CPU.
18 The SMBus address is really 7 bits. Some vendors and the SMBus
19 specification show the address as 8 bits, left justified with the R/W
20 bit as a write (0) making bit 0. Some vendors use only the 7 bits
21 to describe the address.
22 As mentioned in AMD's APML specification, The SB-RMI address is
23 normally 78h(0111 100W) or 3Ch(011 1100) for socket 0 and 70h(0111 000W)
24 or 38h(011 1000) for socket 1, but it could vary based on hardware
27 Datasheet: The SB-RMI interface and protocol along with the Advanced
28 Platform Management Link (APML) Specification is available
29 as part of the open source SoC register reference at:
31 https://www.amd.com/en/support/tech-docs?keyword=55898
33 Author: Akshay Gupta <akshay.gupta@amd.com>
38 The APML provides a way to communicate with the SB Remote Management interface
39 (SB-RMI) module from the external SMBus master that can be used to report socket
40 power on AMD platforms using mailbox command and resembles a typical 8-pin remote
41 power sensor's I2C interface to BMC.
43 This driver implements current power with power cap and power cap max.
47 Power sensors can be queried and set via the standard ``hwmon`` interface
48 on ``sysfs``, under the directory ``/sys/class/hwmon/hwmonX`` for some value
49 of ``X`` (search for the ``X`` such that ``/sys/class/hwmon/hwmonX/name`` has
52 ================ ===== ========================================================
54 ================ ===== ========================================================
55 power1_input RO Current Power consumed
56 power1_cap RW Power limit can be set between 0 and power1_cap_max
57 power1_cap_max RO Maximum powerlimit calculated and reported by the SMU FW
58 ================ ===== ========================================================
60 The following example show how the 'Power' attribute from the i2c-addresses
61 can be monitored using the userspace utilities like ``sensors`` binary::
65 Adapter: bcm2835 I2C adapter
66 power1: 61.00 W (cap = 225.00 W)
69 Adapter: bcm2835 I2C adapter
70 power1: 28.39 W (cap = 224.77 W)
73 Also, Below shows how get and set the values from sysfs entries individually::
74 # cat /sys/class/hwmon/hwmon1/power1_cap_max
77 # echo 180000000 > /sys/class/hwmon/hwmon1/power1_cap
78 # cat /sys/class/hwmon/hwmon1/power1_cap