1 Kernel driver occ-hwmon
2 =======================
9 Author: Eddie James <eajames@linux.ibm.com>
14 This driver supports hardware monitoring for the On-Chip Controller (OCC)
15 embedded on POWER processors. The OCC is a device that collects and aggregates
16 sensor data from the processor and the system. The OCC can provide the raw
17 sensor data as well as perform thermal and power management on the system.
19 The P8 version of this driver is a client driver of I2C. It may be probed
20 manually if an "ibm,p8-occ-hwmon" compatible device is found under the
21 appropriate I2C bus node in the device-tree.
23 The P9 version of this driver is a client driver of the FSI-based OCC driver.
24 It will be probed automatically by the FSI-based OCC driver.
29 The following attributes are supported. All attributes are read-only unless
32 The OCC sensor ID is an integer that represents the unique identifier of the
33 sensor with respect to the OCC. For example, a temperature sensor for the third
34 DIMM slot in the system may have a sensor ID of 7. This mapping is unavailable
35 to the device driver, which must therefore export the sensor ID as-is.
37 Some entries are only present with certain OCC sensor versions or only on
38 certain OCCs in the system. The version number is not exported to the user
44 [with temperature sensor version 1]
47 Measured temperature of the component in millidegrees
50 [with temperature sensor version >= 2]
53 The FRU (Field Replaceable Unit) type
54 (represented by an integer) for the component
55 that this sensor measures.
57 Temperature sensor fault boolean; 1 to indicate
58 that a fault is present or 0 to indicate that
61 [with type == 3 (FRU type is VRM)]
64 VRM temperature alarm boolean; 1 to indicate
65 alarm, 0 to indicate no alarm
70 Measured temperature of the component in
76 Measured frequency of the component in MHz.
78 Latest measured power reading of the component in
81 Average power of the component in microwatts.
82 power[1-n]_average_interval
83 The amount of time over which the power average
84 was taken in microseconds.
86 [with power sensor version < 2]
91 [with power sensor version >= 2]
94 OCC sensor ID + function ID + channel in the form
95 of a string, delimited by underscores, i.e. "0_15_1".
96 Both the function ID and channel are integers that
97 further identify the power sensor.
99 [with power sensor version 0xa0]
102 OCC sensor ID + sensor type in the form of a string,
103 delimited by an underscore, i.e. "0_system". Sensor
104 type will be one of "system", "proc", "vdd" or "vdn".
105 For this sensor version, OCC sensor ID will be the same
106 for all power sensors.
108 [present only on "master" OCC; represents the whole system power; only one of
109 this type of power sensor will be present]
114 Latest system output power in microwatts.
116 Current system power cap in microwatts.
117 power[1-n]_cap_not_redundant
118 System power cap in microwatts when
119 there is not redundant power.
121 Maximum power cap that the OCC can enforce in
123 power[1-n]_cap_min Minimum power cap that the OCC can enforce in
125 power[1-n]_cap_user The power cap set by the user, in microwatts.
126 This attribute will return 0 if no user power
127 cap has been set. This attribute is read-write,
128 but writing any precision below watts will be
129 ignored, i.e. requesting a power cap of
130 500900000 microwatts will result in a power cap
131 request of 500 watts.
133 [with caps sensor version > 1]
135 power[1-n]_cap_user_source
136 Indicates how the user power cap was
137 set. This is an integer that maps to
138 system or firmware components that can
139 set the user power cap.
141 The following "extn" sensors are exported as a way for the OCC to provide data
142 that doesn't fit anywhere else. The meaning of these sensors is entirely
143 dependent on their data, and cannot be statically defined.
146 ASCII ID or OCC sensor ID.
148 This is one byte hexadecimal value. Bit 7 indicates the
149 type of the label attribute; 1 for sensor ID, 0 for
150 ASCII ID. Other bits are reserved.
152 6 bytes of hexadecimal data, with a meaning defined by