|
| 1 | +.. SPDX-License-Identifier: GPL-2.0-only |
| 2 | +
|
| 3 | +Kernel driver Ampere(R)'s Altra(R) SMpro hwmon |
| 4 | +============================================== |
| 5 | + |
| 6 | +Supported chips: |
| 7 | + |
| 8 | + * Ampere(R) Altra(R) |
| 9 | + |
| 10 | + Prefix: ``smpro`` |
| 11 | + |
| 12 | + Reference: `Altra SoC BMC Interface Specification` |
| 13 | + |
| 14 | +Author: Thu Nguyen <thu@os.amperecomputing.com> |
| 15 | + |
| 16 | +Description |
| 17 | +----------- |
| 18 | +The smpro-hwmon driver supports hardware monitoring for Ampere(R) Altra(R) |
| 19 | +SoCs based on the SMpro co-processor (SMpro). The following sensor metrics |
| 20 | +are supported by the driver: |
| 21 | + |
| 22 | + * temperature |
| 23 | + * voltage |
| 24 | + * current |
| 25 | + * power |
| 26 | + |
| 27 | +The interface provides the registers to query the various sensors and |
| 28 | +their values which are then exported to userspace by this driver. |
| 29 | + |
| 30 | +Usage Notes |
| 31 | +----------- |
| 32 | + |
| 33 | +The 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 | + |
| 38 | +The sysfs files are allocated in the SMpro rootfs folder, with one root |
| 39 | +directory for each instance. |
| 40 | + |
| 41 | +When the SoC is turned off, the driver will fail to read registers and |
| 42 | +return ``-ENXIO``. |
| 43 | + |
| 44 | +Sysfs entries |
| 45 | +------------- |
| 46 | + |
| 47 | +The following sysfs files are supported: |
| 48 | + |
| 49 | +* Ampere(R) Altra(R): |
| 50 | + |
| 51 | + ============ ============= ====== =============================================== |
| 52 | + Name Unit Perm Description |
| 53 | + ============ ============= ====== =============================================== |
| 54 | + temp1_input millicelsius RO SoC temperature |
| 55 | + temp2_input millicelsius RO Max temperature reported among SoC VRDs |
| 56 | + temp2_crit millicelsius RO SoC VRD HOT Threshold temperature |
| 57 | + temp3_input millicelsius RO Max temperature reported among DIMM VRDs |
| 58 | + temp4_input millicelsius RO Max temperature reported among Core VRDs |
| 59 | + temp5_input millicelsius RO Temperature of DIMM0 on CH0 |
| 60 | + temp5_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 61 | + temp6_input millicelsius RO Temperature of DIMM0 on CH1 |
| 62 | + temp6_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 63 | + temp7_input millicelsius RO Temperature of DIMM0 on CH2 |
| 64 | + temp7_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 65 | + temp8_input millicelsius RO Temperature of DIMM0 on CH3 |
| 66 | + temp8_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 67 | + temp9_input millicelsius RO Temperature of DIMM0 on CH4 |
| 68 | + temp9_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 69 | + temp10_input millicelsius RO Temperature of DIMM0 on CH5 |
| 70 | + temp10_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 71 | + temp11_input millicelsius RO Temperature of DIMM0 on CH6 |
| 72 | + temp11_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 73 | + temp12_input millicelsius RO Temperature of DIMM0 on CH7 |
| 74 | + temp12_crit millicelsius RO MEM HOT Threshold for all DIMMs |
| 75 | + temp13_input millicelsius RO Max temperature reported among RCA VRDs |
| 76 | + in0_input millivolts RO Core voltage |
| 77 | + in1_input millivolts RO SoC voltage |
| 78 | + in2_input millivolts RO DIMM VRD1 voltage |
| 79 | + in3_input millivolts RO DIMM VRD2 voltage |
| 80 | + in4_input millivolts RO RCA VRD voltage |
| 81 | + cur1_input milliamperes RO Core VRD current |
| 82 | + cur2_input milliamperes RO SoC VRD current |
| 83 | + cur3_input milliamperes RO DIMM VRD1 current |
| 84 | + cur4_input milliamperes RO DIMM VRD2 current |
| 85 | + cur5_input milliamperes RO RCA VRD current |
| 86 | + power1_input microwatts RO Core VRD power |
| 87 | + power2_input microwatts RO SoC VRD power |
| 88 | + power3_input microwatts RO DIMM VRD1 power |
| 89 | + power4_input microwatts RO DIMM VRD2 power |
| 90 | + power5_input microwatts RO RCA VRD power |
| 91 | + ============ ============= ====== =============================================== |
| 92 | + |
| 93 | + Example:: |
| 94 | + |
| 95 | + # cat in0_input |
| 96 | + 830 |
| 97 | + # cat temp1_input |
| 98 | + 37000 |
| 99 | + # cat curr1_input |
| 100 | + 9000 |
| 101 | + # cat power5_input |
| 102 | + 19500000 |
0 commit comments