xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/ibmpowernv.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel Driver IBMPOWERNV
2*4882a593Smuzhiyun========================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported systems:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * Any recent IBM P servers based on POWERNV platform
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunAuthor: Neelesh Gupta
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunDescription
11*4882a593Smuzhiyun-----------
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThis driver implements reading the platform sensors data like temperature/fan/
14*4882a593Smuzhiyunvoltage/power for 'POWERNV' platform.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunThe driver uses the platform device infrastructure. It probes the device tree
17*4882a593Smuzhiyunfor sensor devices during the __init phase and registers them with the 'hwmon'.
18*4882a593Smuzhiyun'hwmon' populates the 'sysfs' tree having attribute files, each for a given
19*4882a593Smuzhiyunsensor type and its attribute data.
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunAll the nodes in the DT appear under "/ibm,opal/sensors" and each valid node in
22*4882a593Smuzhiyunthe DT maps to an attribute file in 'sysfs'. The node exports unique 'sensor-id'
23*4882a593Smuzhiyunwhich the driver uses to make an OPAL call to the firmware.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunUsage notes
26*4882a593Smuzhiyun-----------
27*4882a593SmuzhiyunThe driver is built statically with the kernel by enabling the config
28*4882a593SmuzhiyunCONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'.
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunSysfs attributes
31*4882a593Smuzhiyun----------------
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun======================= =======================================================
34*4882a593SmuzhiyunfanX_input		Measured RPM value.
35*4882a593SmuzhiyunfanX_min		Threshold RPM for alert generation.
36*4882a593SmuzhiyunfanX_fault		- 0: No fail condition
37*4882a593Smuzhiyun			- 1: Failing fan
38*4882a593Smuzhiyun
39*4882a593SmuzhiyuntempX_input		Measured ambient temperature.
40*4882a593SmuzhiyuntempX_max		Threshold ambient temperature for alert generation.
41*4882a593SmuzhiyuntempX_highest		Historical maximum temperature
42*4882a593SmuzhiyuntempX_lowest		Historical minimum temperature
43*4882a593SmuzhiyuntempX_enable		Enable/disable all temperature sensors belonging to the
44*4882a593Smuzhiyun			sub-group. In POWER9, this attribute corresponds to
45*4882a593Smuzhiyun			each OCC. Using this attribute each OCC can be asked to
46*4882a593Smuzhiyun			disable/enable all of its temperature sensors.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun			- 1: Enable
49*4882a593Smuzhiyun			- 0: Disable
50*4882a593Smuzhiyun
51*4882a593SmuzhiyuninX_input		Measured power supply voltage (millivolt)
52*4882a593SmuzhiyuninX_fault		- 0: No fail condition.
53*4882a593Smuzhiyun			- 1: Failing power supply.
54*4882a593SmuzhiyuninX_highest		Historical maximum voltage
55*4882a593SmuzhiyuninX_lowest		Historical minimum voltage
56*4882a593SmuzhiyuninX_enable		Enable/disable all voltage sensors belonging to the
57*4882a593Smuzhiyun			sub-group. In POWER9, this attribute corresponds to
58*4882a593Smuzhiyun			each OCC. Using this attribute each OCC can be asked to
59*4882a593Smuzhiyun			disable/enable all of its voltage sensors.
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun			- 1: Enable
62*4882a593Smuzhiyun			- 0: Disable
63*4882a593Smuzhiyun
64*4882a593SmuzhiyunpowerX_input		Power consumption (microWatt)
65*4882a593SmuzhiyunpowerX_input_highest	Historical maximum power
66*4882a593SmuzhiyunpowerX_input_lowest	Historical minimum power
67*4882a593SmuzhiyunpowerX_enable		Enable/disable all power sensors belonging to the
68*4882a593Smuzhiyun			sub-group. In POWER9, this attribute corresponds to
69*4882a593Smuzhiyun			each OCC. Using this attribute each OCC can be asked to
70*4882a593Smuzhiyun			disable/enable all of its power sensors.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun			- 1: Enable
73*4882a593Smuzhiyun			- 0: Disable
74*4882a593Smuzhiyun
75*4882a593SmuzhiyuncurrX_input		Measured current (milliampere)
76*4882a593SmuzhiyuncurrX_highest		Historical maximum current
77*4882a593SmuzhiyuncurrX_lowest		Historical minimum current
78*4882a593SmuzhiyuncurrX_enable		Enable/disable all current sensors belonging to the
79*4882a593Smuzhiyun			sub-group. In POWER9, this attribute corresponds to
80*4882a593Smuzhiyun			each OCC. Using this attribute each OCC can be asked to
81*4882a593Smuzhiyun			disable/enable all of its current sensors.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun			- 1: Enable
84*4882a593Smuzhiyun			- 0: Disable
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunenergyX_input		Cumulative energy (microJoule)
87*4882a593Smuzhiyun======================= =======================================================
88