[PATCH v5 4/4] docs: hwmon: (smpro-hwmon) Add documentation

Quan Nguyen
2021-07-13T06:00:31Z

Add documentation for the Ampere(R)'s Altra(R) SMpro hwmon driver.

Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
Signed-off-by: Quan Nguyen <quan@os.amperecomputing.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
---
Changes in v5:
+ None

Changes in v4:
+ None

Changes in v3:
+ None

Changes in v2:
+ Removed "virtual" sensors [Guenter]
+ Fixed typo "mili" to "milli", "nanoWatt" to "microWatt" [Guenter]
+ Reported SOC_TDP as "Socket TDP" using max attributes [Guenter]
+ Clarified "highest" meaning in documentation [Guenter]
+ Reported MEM HOT Threshold for all DIMMs as temp*_crit [Guenter]
+ Removed Socket TDP sensor [Quan]
+ Included sensor type and channel in labels [Quan]

Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/smpro-hwmon.rst | 101 ++++++++++++++++++++++++++++
2 files changed, 102 insertions(+)
create mode 100644 Documentation/hwmon/smpro-hwmon.rst

diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst
index bc01601ea81a..b6579882f51b 100644
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
@@ -172,6 +172,7 @@ Hardware Monitoring Kernel Drivers
sis5595
sl28cpld
smm665
+ smpro-hwmon
smsc47b397
smsc47m192
smsc47m1
diff --git a/Documentation/hwmon/smpro-hwmon.rst b/Documentation/hwmon/smpro-hwmon.rst
new file mode 100644
index 000000000000..f978b1370e16
--- /dev/null
+++ b/Documentation/hwmon/smpro-hwmon.rst
@@ -0,0 +1,101 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+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
+-----------
+This driver supports hardware monitoring for Ampere(R) Altra(R) SoC's based on the
+SMpro co-processor (SMpro).
+The following sensor types are supported by the driver:
+
+ * temperature
+ * voltage
+ * current
+ * power
+
+The SMpro interface provides the registers to query the various sensors and
+their values which are then exported to userspace by this driver.
+
+Usage Notes
+-----------
+
+SMpro hwmon driver creates at least two sysfs files for each sensor.
+
+* File ``<sensor_type><idx>_label`` reports the sensor label.
+* File ``<sensor_type><idx>_input`` returns the sensor value.
+
+The sysfs files are allocated in the SMpro root fs folder.
+There is one root folder for each SMpro 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 milli Celsius RO SoC temperature
+temp2_input milli Celsius RO Max temperature reported among SoC VRDs
+temp2_crit milli Celsius RO SoC VRD HOT Threshold temperature
+temp3_input milli Celsius RO Max temperature reported among DIMM VRDs
+temp4_input milli Celsius RO Max temperature reported among Core VRDs
+temp5_input milli Celsius RO Temperature of DIMM0 on CH0
+temp5_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp6_input milli Celsius RO Temperature of DIMM0 on CH1
+temp6_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp7_input milli Celsius RO Temperature of DIMM0 on CH2
+temp7_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp8_input milli Celsius RO Temperature of DIMM0 on CH3
+temp8_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp9_input milli Celsius RO Temperature of DIMM0 on CH4
+temp9_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp10_input milli Celsius RO Temperature of DIMM0 on CH5
+temp10_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp11_input milli Celsius RO Temperature of DIMM0 on CH6
+temp11_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp12_input milli Celsius RO Temperature of DIMM0 on CH7
+temp12_crit milli Celsius RO MEM HOT Threshold for all DIMMs
+temp13_input milli Celsius RO Max temperature reported among RCA VRDs
+in0_input milli Volts RO Core voltage
+in1_input milli Volts RO SoC voltage
+in2_input milli Volts RO DIMM VRD1 voltage
+in3_input milli Volts RO DIMM VRD2 voltage
+in4_input milli Volts RO RCA VRD voltage
+cur1_input milli Amperes RO Core VRD current
+cur2_input milli Amperes RO SoC VRD current
+cur3_input milli Amperes RO DIMM VRD1 current
+cur4_input milli Amperes RO DIMM VRD2 current
+cur5_input milli Amperes RO RCA VRD current
+power1_input micro Watts RO Core VRD power
+power2_input micro Watts RO SoC VRD power
+power3_input micro Watts RO DIMM VRD1 power
+power4_input micro Watts RO DIMM VRD2 power
+power5_input micro Watts RO RCA VRD power
+============ ============= ====== ===============================================
+
+Example::
+
+ # cat in0_input
+ 830
+ # cat temp1_input
+ 37000
+ # cat curr1_input
+ 9000
+ # cat power5_input
+ 19500000
--
2.28.0