linux/Documentation/hwmon/ibmpowernv.rst

Kernel Driver IBMPOWERNV
========================

Supported systems:

  * Any recent IBM P servers based on POWERNV platform

Author: Neelesh Gupta

Description
-----------

This driver implements reading the platform sensors data like temperature/fan/
voltage/power for 'POWERNV' platform.

The driver uses the platform device infrastructure. It probes the device tree
for sensor devices during the __init phase and registers them with the 'hwmon'.
'hwmon' populates the 'sysfs' tree having attribute files, each for a given
sensor type and its attribute data.

All the nodes in the DT appear under "/ibm,opal/sensors" and each valid node in
the DT maps to an attribute file in 'sysfs'. The node exports unique 'sensor-id'
which the driver uses to make an OPAL call to the firmware.

Usage notes
-----------
The driver is built statically with the kernel by enabling the config
CONFIG_SENSORS_IBMPOWERNV. It can also be built as module 'ibmpowernv'.

Sysfs attributes
----------------

======================= =======================================================
fanX_input		Measured RPM value.
fanX_min		Threshold RPM for alert generation.
fanX_fault		- 0: No fail condition
			- 1: Failing fan

tempX_input		Measured ambient temperature.
tempX_max		Threshold ambient temperature for alert generation.
tempX_highest		Historical maximum temperature
tempX_lowest		Historical minimum temperature
tempX_enable		Enable/disable all temperature sensors belonging to the
			sub-group. In POWER9, this attribute corresponds to
			each OCC. Using this attribute each OCC can be asked to
			disable/enable all of its temperature sensors.

			- 1: Enable
			- 0: Disable

inX_input		Measured power supply voltage (millivolt)
inX_fault		- 0: No fail condition.
			- 1: Failing power supply.
inX_highest		Historical maximum voltage
inX_lowest		Historical minimum voltage
inX_enable		Enable/disable all voltage sensors belonging to the
			sub-group. In POWER9, this attribute corresponds to
			each OCC. Using this attribute each OCC can be asked to
			disable/enable all of its voltage sensors.

			- 1: Enable
			- 0: Disable

powerX_input		Power consumption (microWatt)
powerX_input_highest	Historical maximum power
powerX_input_lowest	Historical minimum power
powerX_enable		Enable/disable all power sensors belonging to the
			sub-group. In POWER9, this attribute corresponds to
			each OCC. Using this attribute each OCC can be asked to
			disable/enable all of its power sensors.

			- 1: Enable
			- 0: Disable

currX_input		Measured current (milliampere)
currX_highest		Historical maximum current
currX_lowest		Historical minimum current
currX_enable		Enable/disable all current sensors belonging to the
			sub-group. In POWER9, this attribute corresponds to
			each OCC. Using this attribute each OCC can be asked to
			disable/enable all of its current sensors.

			- 1: Enable
			- 0: Disable

energyX_input		Cumulative energy (microJoule)
======================= =======================================================