Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[platform/kernel/linux-rpi.git] / Documentation / hwmon / smpro-hwmon.rst
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