Kernel driver Ampere(R)’s Altra(R) SMpro hwmon¶
Supported chips:
Ampere(R) Altra(R)
Prefix:
smproReference: Altra SoC BMC Interface Specification
Author: Thu Nguyen <thu@os.amperecomputing.com>
Description¶
The smpro-hwmon driver supports hardware monitoring for Ampere(R) Altra(R) SoCs based on the SMpro co-processor (SMpro). The following sensor metrics are supported by the driver:
temperature
voltage
current
power
The interface provides the registers to query the various sensors and their values which are then exported to userspace by this driver.
Usage Notes¶
The driver creates at least two sysfs files for each sensor.
- <sensor_type><idx>_labelreports the sensor label.
- <sensor_type><idx>_inputreturns the sensor value.
The sysfs files are allocated in the SMpro rootfs folder, with one root directory for each instance.
When the SoC is turned off, the driver will fail to read registers and
return -ENXIO.
Sysfs entries¶
The following sysfs files are supported:
- Ampere(R) Altra(R): - Name - Unit - Perm - Description - temp1_input - millicelsius - RO - SoC temperature - temp2_input - millicelsius - RO - Max temperature reported among SoC VRDs - temp2_crit - millicelsius - RO - SoC VRD HOT Threshold temperature - temp3_input - millicelsius - RO - Max temperature reported among DIMM VRDs - temp4_input - millicelsius - RO - Max temperature reported among Core VRDs - temp5_input - millicelsius - RO - Temperature of DIMM0 on CH0 - temp5_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp6_input - millicelsius - RO - Temperature of DIMM0 on CH1 - temp6_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp7_input - millicelsius - RO - Temperature of DIMM0 on CH2 - temp7_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp8_input - millicelsius - RO - Temperature of DIMM0 on CH3 - temp8_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp9_input - millicelsius - RO - Temperature of DIMM0 on CH4 - temp9_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp10_input - millicelsius - RO - Temperature of DIMM0 on CH5 - temp10_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp11_input - millicelsius - RO - Temperature of DIMM0 on CH6 - temp11_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp12_input - millicelsius - RO - Temperature of DIMM0 on CH7 - temp12_crit - millicelsius - RO - MEM HOT Threshold for all DIMMs - temp13_input - millicelsius - RO - Max temperature reported among RCA VRDs - in0_input - millivolts - RO - Core voltage - in1_input - millivolts - RO - SoC voltage - in2_input - millivolts - RO - DIMM VRD1 voltage - in3_input - millivolts - RO - DIMM VRD2 voltage - in4_input - millivolts - RO - RCA VRD voltage - cur1_input - milliamperes - RO - Core VRD current - cur2_input - milliamperes - RO - SoC VRD current - cur3_input - milliamperes - RO - DIMM VRD1 current - cur4_input - milliamperes - RO - DIMM VRD2 current - cur5_input - milliamperes - RO - RCA VRD current - power1_input - microwatts - RO - Core VRD power - power2_input - microwatts - RO - SoC VRD power - power3_input - microwatts - RO - DIMM VRD1 power - power4_input - microwatts - RO - DIMM VRD2 power - power5_input - microwatts - RO - RCA VRD power - Example: - # cat in0_input 830 # cat temp1_input 37000 # cat curr1_input 9000 # cat power5_input 19500000