| .. 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 |