| .. SPDX-License-Identifier: GPL-2.0-only | |
| Kernel driver Ampere(R)'s Altra(R) SMpro hwmon | |
| ============================================== | |
| Supported chips: | |
| * Ampere(R) Altra(R) | |
| Prefix: ``smpro`` | |
| Reference: `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>_label`` reports the sensor label. | |
| * ``<sensor_type><idx>_input`` returns 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 |