On Thu, Apr 22, 2021 at 04:08:43PM +0700, Quan Nguyen wrote: > Add documentation for the Ampere(R)'s Altra(R) SMpro hwmon driver. > > Signed-off-by: Thu Nguyen <thu@xxxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Quan Nguyen <quan@xxxxxxxxxxxxxxxxxxxxxx> > --- For my reference: Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Guenter > 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 48bfa7887dd4..3e3631b253b6 100644 > --- a/Documentation/hwmon/index.rst > +++ b/Documentation/hwmon/index.rst > @@ -166,6 +166,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@xxxxxxxxxxxxxxxxxxxxxx> > + > +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