Merge tag 'for-linus-5.7-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[platform/kernel/linux-starfive.git] / Documentation / hwmon / ibmpowernv.rst
1 Kernel Driver IBMPOWERNV
2 ========================
3
4 Supported systems:
5
6   * Any recent IBM P servers based on POWERNV platform
7
8 Author: Neelesh Gupta
9
10 Description
11 -----------
12
13 This driver implements reading the platform sensors data like temperature/fan/
14 voltage/power for 'POWERNV' platform.
15
16 The driver uses the platform device infrastructure. It probes the device tree
17 for sensor devices during the __init phase and registers them with the 'hwmon'.
18 'hwmon' populates the 'sysfs' tree having attribute files, each for a given
19 sensor type and its attribute data.
20
21 All the nodes in the DT appear under "/ibm,opal/sensors" and each valid node in
22 the DT maps to an attribute file in 'sysfs'. The node exports unique 'sensor-id'
23 which the driver uses to make an OPAL call to the firmware.
24
25 Usage notes
26 -----------
27 The driver is built statically with the kernel by enabling the config
28 CONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'.
29
30 Sysfs attributes
31 ----------------
32
33 ======================= =======================================================
34 fanX_input              Measured RPM value.
35 fanX_min                Threshold RPM for alert generation.
36 fanX_fault              - 0: No fail condition
37                         - 1: Failing fan
38
39 tempX_input             Measured ambient temperature.
40 tempX_max               Threshold ambient temperature for alert generation.
41 tempX_highest           Historical maximum temperature
42 tempX_lowest            Historical minimum temperature
43 tempX_enable            Enable/disable all temperature sensors belonging to the
44                         sub-group. In POWER9, this attribute corresponds to
45                         each OCC. Using this attribute each OCC can be asked to
46                         disable/enable all of its temperature sensors.
47
48                         - 1: Enable
49                         - 0: Disable
50
51 inX_input               Measured power supply voltage (millivolt)
52 inX_fault               - 0: No fail condition.
53                         - 1: Failing power supply.
54 inX_highest             Historical maximum voltage
55 inX_lowest              Historical minimum voltage
56 inX_enable              Enable/disable all voltage sensors belonging to the
57                         sub-group. In POWER9, this attribute corresponds to
58                         each OCC. Using this attribute each OCC can be asked to
59                         disable/enable all of its voltage sensors.
60
61                         - 1: Enable
62                         - 0: Disable
63
64 powerX_input            Power consumption (microWatt)
65 powerX_input_highest    Historical maximum power
66 powerX_input_lowest     Historical minimum power
67 powerX_enable           Enable/disable all power sensors belonging to the
68                         sub-group. In POWER9, this attribute corresponds to
69                         each OCC. Using this attribute each OCC can be asked to
70                         disable/enable all of its power sensors.
71
72                         - 1: Enable
73                         - 0: Disable
74
75 currX_input             Measured current (milliampere)
76 currX_highest           Historical maximum current
77 currX_lowest            Historical minimum current
78 currX_enable            Enable/disable all current sensors belonging to the
79                         sub-group. In POWER9, this attribute corresponds to
80                         each OCC. Using this attribute each OCC can be asked to
81                         disable/enable all of its current sensors.
82
83                         - 1: Enable
84                         - 0: Disable
85
86 energyX_input           Cumulative energy (microJoule)
87 ======================= =======================================================