[PATCH 0/6] misc: add amd side-band functionality
From: Akshay Gupta
Date: Thu Jul 04 2024 - 07:17:11 EST
AMD's APML interface provides system management functionality accessed by
the BMC. Sbrmi driver under hwmon subsystem, which is probed as an i2c
driver and reports power using APML specified protocol.
However, APML interface defines few other protocols to support
full system management functionality out-of-band.
This patchset is an attempt to add all APML core functionality in one place
and provide hwmon and user interface
1. Move the i2c client probe and sbrmi core functionality from drivers/hwmon
to drivers/misc/
2. Add a platform device, which probes the hwmon/sbrmi and continues to
report power using the symbol exported by the misc/sbrmi-core.
3. Convert i2c to regmap which provides multiple benefits
over direct smbus APIs.
4. Register a misc device which provides
a. An ioctl interface through node /dev/sbrmiX
b. Open-sourced and widely used https://github.com/amd/esmi_oob_library
will continue to provide user-space programmable API.
Akshay Gupta (6):
hwmon/misc sbrmi: Move core sbrmi from hwmon to misc
misc: sbrmi: Add platform device add to create platform device
misc: sbrmi: Use regmap subsystem
misc: sbrmi: Clear sbrmi status register bit SwAlertSts
misc/hwmon: sbrmi: Add support for APML protocols
misc: sbrmi: Add support for EPYC platform Family: 0x1A and Model:
0x0~0x1F
drivers/hwmon/Kconfig | 1 +
drivers/hwmon/sbrmi.c | 271 ++------------
drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/amd-sb/Kconfig | 9 +
drivers/misc/amd-sb/Makefile | 3 +
drivers/misc/amd-sb/sbrmi-core.c | 617 +++++++++++++++++++++++++++++++
drivers/misc/amd-sb/sbrmi-core.h | 36 ++
drivers/misc/amd-sb/sbrmi-i2c.c | 239 ++++++++++++
include/misc/amd-sb.h | 57 +++
include/uapi/linux/amd-apml.h | 74 ++++
11 files changed, 1072 insertions(+), 237 deletions(-)
create mode 100644 drivers/misc/amd-sb/Kconfig
create mode 100644 drivers/misc/amd-sb/Makefile
create mode 100644 drivers/misc/amd-sb/sbrmi-core.c
create mode 100644 drivers/misc/amd-sb/sbrmi-core.h
create mode 100644 drivers/misc/amd-sb/sbrmi-i2c.c
create mode 100644 include/misc/amd-sb.h
create mode 100644 include/uapi/linux/amd-apml.h
--
2.25.1