Ampere Computing Introducing New SMpro Co-Processor Drivers With Linux 6.2
Ampere's SMpro is a system control processor uses an Arm Cortex-M3 processor running up to 400MHz and handles interfacing with the BMC, error handling, system booting, power fail detection, and other tasks. The SMpro is found starting with Ampere Computing's current Ampere Altra server processors and presumably with their upcoming AmpereOne processors. The previously reported Ampere SMpro HWMON driver allows for the temperature, power, voltages, and current information from this co-processor to be exposed to Linux user-space.
In addition to the HWMON driver, there is the smpro-misc driver now queued for introduction in Linux 6.2. The Ampere SMpro misc driver is used for reporting various information from the co-processor. This driver can report the boot status and other information. Of some interest it also allows setting the SoC power limit. Via /sys/bus/platform/devices/smpro-misc*/soc_power_limit the SoC power limit for Ampere processors can be set as well as reading the current power limit. The soc_power_limit control allows manipulating the range from 120 Watts up to the maximum socket TDP power limit.
The other new driver is smpro-error. This smpro-error driver is used for error monitoring and reporting. This driver will communicate RAS-related errors from the co-processor
The smpro-misc and smpro-error drivers were picked up this past week by Greg Kroah-Hartman in his char-misc-next branch ahead of the upcoming Linux 6.2 merge window in December.