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