103 lines · plain
1.. SPDX-License-Identifier: GPL-2.0-only2 3Kernel driver Ampere(R)'s Altra(R) SMpro hwmon4==============================================5 6Supported chips:7 8 * Ampere(R) Altra(R)9 10 Prefix: ``smpro``11 12 Reference: `Altra SoC BMC Interface Specification`13 14Author: Thu Nguyen <thu@os.amperecomputing.com>15 16Description17-----------18The smpro-hwmon driver supports hardware monitoring for Ampere(R) Altra(R)19SoCs based on the SMpro co-processor (SMpro). The following sensor metrics20are supported by the driver:21 22 * temperature23 * voltage24 * current25 * power26 27The interface provides the registers to query the various sensors and28their values which are then exported to userspace by this driver.29 30Usage Notes31-----------32 33The driver creates at least two sysfs files for each sensor.34 35* ``<sensor_type><idx>_label`` reports the sensor label.36* ``<sensor_type><idx>_input`` returns the sensor value.37 38The sysfs files are allocated in the SMpro rootfs folder, with one root39directory for each instance.40 41When the SoC is turned off, the driver will fail to read registers and42return ``-ENXIO``.43 44Sysfs entries45-------------46 47The following sysfs files are supported:48 49* Ampere(R) Altra(R):50 51 ============ ============= ====== ===============================================52 Name Unit Perm Description53 ============ ============= ====== ===============================================54 temp1_input millicelsius RO SoC temperature55 temp2_input millicelsius RO Max temperature reported among SoC VRDs56 temp2_crit millicelsius RO SoC VRD HOT Threshold temperature57 temp3_input millicelsius RO Max temperature reported among DIMM VRDs58 temp4_input millicelsius RO Max temperature reported among Core VRDs59 temp5_input millicelsius RO Temperature of DIMM0 on CH060 temp5_crit millicelsius RO MEM HOT Threshold for all DIMMs61 temp6_input millicelsius RO Temperature of DIMM0 on CH162 temp6_crit millicelsius RO MEM HOT Threshold for all DIMMs63 temp7_input millicelsius RO Temperature of DIMM0 on CH264 temp7_crit millicelsius RO MEM HOT Threshold for all DIMMs65 temp8_input millicelsius RO Temperature of DIMM0 on CH366 temp8_crit millicelsius RO MEM HOT Threshold for all DIMMs67 temp9_input millicelsius RO Temperature of DIMM0 on CH468 temp9_crit millicelsius RO MEM HOT Threshold for all DIMMs69 temp10_input millicelsius RO Temperature of DIMM0 on CH570 temp10_crit millicelsius RO MEM HOT Threshold for all DIMMs71 temp11_input millicelsius RO Temperature of DIMM0 on CH672 temp11_crit millicelsius RO MEM HOT Threshold for all DIMMs73 temp12_input millicelsius RO Temperature of DIMM0 on CH774 temp12_crit millicelsius RO MEM HOT Threshold for all DIMMs75 temp13_input millicelsius RO Max temperature reported among RCA VRDs76 in0_input millivolts RO Core voltage77 in1_input millivolts RO SoC voltage78 in2_input millivolts RO DIMM VRD1 voltage79 in3_input millivolts RO DIMM VRD2 voltage80 in4_input millivolts RO RCA VRD voltage81 cur1_input milliamperes RO Core VRD current82 cur2_input milliamperes RO SoC VRD current83 cur3_input milliamperes RO DIMM VRD1 current84 cur4_input milliamperes RO DIMM VRD2 current85 cur5_input milliamperes RO RCA VRD current86 power1_input microwatts RO Core VRD power87 power2_input microwatts RO SoC VRD power88 power3_input microwatts RO DIMM VRD1 power89 power4_input microwatts RO DIMM VRD2 power90 power5_input microwatts RO RCA VRD power91 ============ ============= ====== ===============================================92 93 Example::94 95 # cat in0_input96 83097 # cat temp1_input98 3700099 # cat curr1_input100 9000101 # cat power5_input102 19500000103