diff mbox series

[v4,4/4] docs: hwmon: (smpro-hwmon) Add documentation

Message ID 20210422090843.4614-5-quan@os.amperecomputing.com
State Superseded
Headers show
Series Add Ampere's Altra SMPro hwmon driver | expand

Commit Message

Quan Nguyen April 22, 2021, 9:08 a.m. UTC
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>
---
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

Comments

Guenter Roeck April 23, 2021, 2:28 p.m. UTC | #1
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@os.amperecomputing.com>

> Signed-off-by: Quan Nguyen <quan@os.amperecomputing.com>

> ---


For my reference:

Reviewed-by: Guenter Roeck <linux@roeck-us.net>


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@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
diff mbox series

Patch

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