€•\{Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/translations/zh_CN/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/zh_TW/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/it_IT/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ja_JP/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ko_KR/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/pt_BR/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/sp_SP/hwmon/occ”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒKernel driver occ-hwmon”h]”hŒKernel driver occ-hwmon”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ7/var/lib/git/docbuild/linux/Documentation/hwmon/occ.rst”h´KubhŒ paragraph”“”)�”}”(hŒSupported chips:”h]”hŒSupported chips:”…”�”}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒ block_quote”“”)�”}”(hŒ* POWER8 * POWER9 ”h]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒPOWER8”h]”hÌ)�”}”(hhêh]”hŒPOWER8”…”�”}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khhèubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubhç)�”}”(hŒPOWER9 ”h]”hÌ)�”}”(hŒPOWER9”h]”hŒPOWER9”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khhÿubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1háh³hÊh´KhhÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´Khh·h²hubhÌ)�”}”(hŒ+Author: Eddie James ”h]”(hŒAuthor: Eddie James <”…”�”}”(hj%h²hh³Nh´NubhŒ reference”“”)�”}”(hŒeajames@linux.ibm.com”h]”hŒeajames@linux.ibm.com”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:eajames@linux.ibm.com”uh1j-hj%ubhŒ>”…”�”}”(hj%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjIh²hh³hÊh´K ubhÌ)�”}”(hX.This driver supports hardware monitoring for the On-Chip Controller (OCC) embedded on POWER processors. The OCC is a device that collects and aggregates sensor data from the processor and the system. The OCC can provide the raw sensor data as well as perform thermal and power management on the system.”h]”hX.This driver supports hardware monitoring for the On-Chip Controller (OCC) embedded on POWER processors. The OCC is a device that collects and aggregates sensor data from the processor and the system. The OCC can provide the raw sensor data as well as perform thermal and power management on the system.”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjIh²hubhÌ)�”}”(hŒ½The P8 version of this driver is a client driver of I2C. It may be probed manually if an "ibm,p8-occ-hwmon" compatible device is found under the appropriate I2C bus node in the device-tree.”h]”hŒÁThe P8 version of this driver is a client driver of I2C. It may be probed manually if an “ibm,p8-occ-hwmonâ€� compatible device is found under the appropriate I2C bus node in the device-tree.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjIh²hubhÌ)�”}”(hŒŠThe P9 version of this driver is a client driver of the FSI-based OCC driver. It will be probed automatically by the FSI-based OCC driver.”h]”hŒŠThe P9 version of this driver is a client driver of the FSI-based OCC driver. It will be probed automatically by the FSI-based OCC driver.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjIh²hubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hµhh·h²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒ Sysfs entries”h]”hŒ Sysfs entries”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjŒh²hh³hÊh´KubhÌ)�”}”(hŒVThe following attributes are supported. All attributes are read-only unless specified.”h]”hŒVThe following attributes are supported. All attributes are read-only unless specified.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjŒh²hubhÌ)�”}”(hX2The OCC sensor ID is an integer that represents the unique identifier of the sensor with respect to the OCC. For example, a temperature sensor for the third DIMM slot in the system may have a sensor ID of 7. This mapping is unavailable to the device driver, which must therefore export the sensor ID as-is.”h]”hX2The OCC sensor ID is an integer that represents the unique identifier of the sensor with respect to the OCC. For example, a temperature sensor for the third DIMM slot in the system may have a sensor ID of 7. This mapping is unavailable to the device driver, which must therefore export the sensor ID as-is.”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjŒh²hubhÌ)�”}”(hŒ©Some entries are only present with certain OCC sensor versions or only on certain OCCs in the system. The version number is not exported to the user but can be inferred.”h]”hŒ©Some entries are only present with certain OCC sensor versions or only on certain OCCs in the system. The version number is not exported to the user but can be inferred.”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K%hjŒh²hubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒtemp[1-n]_label OCC sensor ID. ”h]”(hŒterm”“”)�”}”(hŒtemp[1-n]_label”h]”hŒtemp[1-n]_label”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K*hjÎubhŒ definition”“”)�”}”(hhh]”hÌ)�”}”(hŒOCC sensor ID.”h]”hŒOCC sensor ID.”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K*hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K*hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjŒh²hh³hÊh´NubhÌ)�”}”(hŒ#[with temperature sensor version 1]”h]”hŒ#[with temperature sensor version 1]”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K,hjŒh²hubhÜ)�”}”(hŒwtemp[1-n]_input Measured temperature of the component in millidegrees Celsius. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒOtemp[1-n]_input Measured temperature of the component in millidegrees Celsius. ”h]”(jÓ)�”}”(hŒtemp[1-n]_input”h]”hŒtemp[1-n]_input”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K0hjubjã)�”}”(hhh]”hÌ)�”}”(hŒ>Measured temperature of the component in millidegrees Celsius.”h]”hŒ>Measured temperature of the component in millidegrees Celsius.”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K/hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K0hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K.hjŒh²hubhÌ)�”}”(hŒ&[with temperature sensor version >= 2]”h]”hŒ&[with temperature sensor version >= 2]”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K2hjŒh²hubhÜ)�”}”(hXùtemp[1-n]_type The FRU (Field Replaceable Unit) type (represented by an integer) for the component that this sensor measures. temp[1-n]_fault Temperature sensor fault boolean; 1 to indicate that a fault is present or 0 to indicate that no fault is present. [with type == 3 (FRU type is VRM)] temp[1-n]_alarm VRM temperature alarm boolean; 1 to indicate alarm, 0 to indicate no alarm [else] temp[1-n]_input Measured temperature of the component in millidegrees Celsius. ”h]”(jÈ)�”}”(hhh]”(jÍ)�”}”(hŒ}temp[1-n]_type The FRU (Field Replaceable Unit) type (represented by an integer) for the component that this sensor measures.”h]”(jÓ)�”}”(hŒtemp[1-n]_type”h]”hŒtemp[1-n]_type”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K6hjlubjã)�”}”(hhh]”hÌ)�”}”(hŒnThe FRU (Field Replaceable Unit) type (represented by an integer) for the component that this sensor measures.”h]”hŒnThe FRU (Field Replaceable Unit) type (represented by an integer) for the component that this sensor measures.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K5hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K6hjiubjÍ)�”}”(hŒƒtemp[1-n]_fault Temperature sensor fault boolean; 1 to indicate that a fault is present or 0 to indicate that no fault is present. ”h]”(jÓ)�”}”(hŒtemp[1-n]_fault”h]”hŒtemp[1-n]_fault”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K;hj›ubjã)�”}”(hhh]”hÌ)�”}”(hŒrTemperature sensor fault boolean; 1 to indicate that a fault is present or 0 to indicate that no fault is present.”h]”hŒrTemperature sensor fault boolean; 1 to indicate that a fault is present or 0 to indicate that no fault is present.”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K9hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K;hjiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjeubhÌ)�”}”(hŒ"[with type == 3 (FRU type is VRM)]”h]”hŒ"[with type == 3 (FRU type is VRM)]”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K=hjeubhÜ)�”}”(hŒ‹temp[1-n]_alarm VRM temperature alarm boolean; 1 to indicate alarm, 0 to indicate no alarm ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒ[temp[1-n]_alarm VRM temperature alarm boolean; 1 to indicate alarm, 0 to indicate no alarm ”h]”(jÓ)�”}”(hŒtemp[1-n]_alarm”h]”hŒtemp[1-n]_alarm”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KAhjåubjã)�”}”(hhh]”hÌ)�”}”(hŒJVRM temperature alarm boolean; 1 to indicate alarm, 0 to indicate no alarm”h]”hŒJVRM temperature alarm boolean; 1 to indicate alarm, 0 to indicate no alarm”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K@hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjåubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KAhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K?hjeubhÌ)�”}”(hŒ[else]”h]”hŒ[else]”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KChjeubhÜ)�”}”(hŒtemp[1-n]_input Measured temperature of the component in millidegrees Celsius. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒOtemp[1-n]_input Measured temperature of the component in millidegrees Celsius. ”h]”(jÓ)�”}”(hŒtemp[1-n]_input”h]”hŒtemp[1-n]_input”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KGhj5ubjã)�”}”(hhh]”hÌ)�”}”(hŒ>Measured temperature of the component in millidegrees Celsius.”h]”hŒ>Measured temperature of the component in millidegrees Celsius.”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KGhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KEhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K4hjŒh²hubjÈ)�”}”(hhh]”(jÍ)�”}”(hŒfreq[1-n]_label OCC sensor ID.”h]”(jÓ)�”}”(hŒfreq[1-n]_label”h]”hŒfreq[1-n]_label”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KIhjyubjã)�”}”(hhh]”hÌ)�”}”(hŒOCC sensor ID.”h]”hŒOCC sensor ID.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KJhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KIhjvubjÍ)�”}”(hŒ;freq[1-n]_input Measured frequency of the component in MHz.”h]”(jÓ)�”}”(hŒfreq[1-n]_input”h]”hŒfreq[1-n]_input”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KKhj¨ubjã)�”}”(hhh]”hÌ)�”}”(hŒ+Measured frequency of the component in MHz.”h]”hŒ+Measured frequency of the component in MHz.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KLhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KKhjvh²hubjÍ)�”}”(hŒNpower[1-n]_input Latest measured power reading of the component in microwatts.”h]”(jÓ)�”}”(hŒpower[1-n]_input”h]”hŒpower[1-n]_input”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KNhj×ubjã)�”}”(hhh]”hÌ)�”}”(hŒ=Latest measured power reading of the component in microwatts.”h]”hŒ=Latest measured power reading of the component in microwatts.”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KNhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KNhjvh²hubjÍ)�”}”(hŒ@power[1-n]_average Average power of the component in microwatts.”h]”(jÓ)�”}”(hŒpower[1-n]_average”h]”hŒpower[1-n]_average”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KPhjubjã)�”}”(hhh]”hÌ)�”}”(hŒ-Average power of the component in microwatts.”h]”hŒ-Average power of the component in microwatts.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KQhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KPhjvh²hubjÍ)�”}”(hŒgpower[1-n]_average_interval The amount of time over which the power average was taken in microseconds. ”h]”(jÓ)�”}”(hŒpower[1-n]_average_interval”h]”hŒpower[1-n]_average_interval”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KThj5ubjã)�”}”(hhh]”hÌ)�”}”(hŒJThe amount of time over which the power average was taken in microseconds.”h]”hŒJThe amount of time over which the power average was taken in microseconds.”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KShjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KThjvh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjŒh²hh³hÊh´NubhÌ)�”}”(hŒ[with power sensor version < 2]”h]”hŒ[with power sensor version < 2]”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KVhjŒh²hubhÜ)�”}”(hŒ4power[1-n]_label OCC sensor ID. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒ power[1-n]_label OCC sensor ID. ”h]”(jÓ)�”}”(hŒpower[1-n]_label”h]”hŒpower[1-n]_label”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KYhjubjã)�”}”(hhh]”hÌ)�”}”(hŒOCC sensor ID.”h]”hŒOCC sensor ID.”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KYhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KYhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KXhjŒh²hubhÌ)�”}”(hŒ [with power sensor version >= 2]”h]”hŒ [with power sensor version >= 2]”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K[hjŒh²hubhÜ)�”}”(hXpower[1-n]_label OCC sensor ID + function ID + channel in the form of a string, delimited by underscores, i.e. "0_15_1". Both the function ID and channel are integers that further identify the power sensor. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒÏpower[1-n]_label OCC sensor ID + function ID + channel in the form of a string, delimited by underscores, i.e. "0_15_1". Both the function ID and channel are integers that further identify the power sensor. ”h]”(jÓ)�”}”(hŒpower[1-n]_label”h]”hŒpower[1-n]_label”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KahjÏubjã)�”}”(hhh]”hÌ)�”}”(hŒ½OCC sensor ID + function ID + channel in the form of a string, delimited by underscores, i.e. "0_15_1". Both the function ID and channel are integers that further identify the power sensor.”h]”hŒÁOCC sensor ID + function ID + channel in the form of a string, delimited by underscores, i.e. “0_15_1â€�. Both the function ID and channel are integers that further identify the power sensor.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K^hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KahjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K]hjŒh²hubhÌ)�”}”(hŒ [with power sensor version 0xa0]”h]”hŒ [with power sensor version 0xa0]”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KchjŒh²hubhÜ)�”}”(hXcpower[1-n]_label OCC sensor ID + sensor type in the form of a string, delimited by an underscore, i.e. "0_system". Sensor type will be one of "system", "proc", "vdd" or "vdn". For this sensor version, OCC sensor ID will be the same for all power sensors. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒÿpower[1-n]_label OCC sensor ID + sensor type in the form of a string, delimited by an underscore, i.e. "0_system". Sensor type will be one of "system", "proc", "vdd" or "vdn". For this sensor version, OCC sensor ID will be the same for all power sensors. ”h]”(jÓ)�”}”(hŒpower[1-n]_label”h]”hŒpower[1-n]_label”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kjhjubjã)�”}”(hhh]”hÌ)�”}”(hŒíOCC sensor ID + sensor type in the form of a string, delimited by an underscore, i.e. "0_system". Sensor type will be one of "system", "proc", "vdd" or "vdn". For this sensor version, OCC sensor ID will be the same for all power sensors.”h]”hXOCC sensor ID + sensor type in the form of a string, delimited by an underscore, i.e. “0_systemâ€�. Sensor type will be one of “systemâ€�, “procâ€�, “vddâ€� or “vdnâ€�. For this sensor version, OCC sensor ID will be the same for all power sensors.”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kfhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´Kjhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KehjŒh²hubhÌ)�”}”(hŒx[present only on "master" OCC; represents the whole system power; only one of this type of power sensor will be present]”h]”hŒ|[present only on “masterâ€� OCC; represents the whole system power; only one of this type of power sensor will be present]”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KlhjŒh²hubhÜ)�”}”(hX³power[1-n]_label "system" power[1-n]_input Latest system output power in microwatts. power[1-n]_cap Current system power cap in microwatts. power[1-n]_cap_not_redundant System power cap in microwatts when there is not redundant power. power[1-n]_cap_max Maximum power cap that the OCC can enforce in microwatts. power[1-n]_cap_min Minimum power cap that the OCC can enforce in microwatts. power[1-n]_cap_user The power cap set by the user, in microwatts. This attribute will return 0 if no user power cap has been set. This attribute is read-write, but writing any precision below watts will be ignored, i.e. requesting a power cap of 500900000 microwatts will result in a power cap request of 500 watts. [with caps sensor version > 1] power[1-n]_cap_user_source Indicates how the user power cap was set. This is an integer that maps to system or firmware components that can set the user power cap. ”h]”(jÈ)�”}”(hhh]”(jÍ)�”}”(hŒpower[1-n]_label "system"”h]”(jÓ)�”}”(hŒpower[1-n]_label”h]”hŒpower[1-n]_label”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kohjoubjã)�”}”(hhh]”hÌ)�”}”(hŒ"system"”h]”hŒ “systemâ€�”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kphj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KohjlubjÍ)�”}”(hŒ:power[1-n]_input Latest system output power in microwatts.”h]”(jÓ)�”}”(hŒpower[1-n]_input”h]”hŒpower[1-n]_input”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kqhjžubjã)�”}”(hhh]”hÌ)�”}”(hŒ)Latest system output power in microwatts.”h]”hŒ)Latest system output power in microwatts.”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Krhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KqhjlubjÍ)�”}”(hŒ6power[1-n]_cap Current system power cap in microwatts.”h]”(jÓ)�”}”(hŒpower[1-n]_cap”h]”hŒpower[1-n]_cap”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´KshjÍubjã)�”}”(hhh]”hÌ)�”}”(hŒ'Current system power cap in microwatts.”h]”hŒ'Current system power cap in microwatts.”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kthjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KshjlubjÍ)�”}”(hŒ^power[1-n]_cap_not_redundant System power cap in microwatts when there is not redundant power.”h]”(jÓ)�”}”(hŒpower[1-n]_cap_not_redundant”h]”hŒpower[1-n]_cap_not_redundant”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kvhjüubjã)�”}”(hhh]”hÌ)�”}”(hŒASystem power cap in microwatts when there is not redundant power.”h]”hŒASystem power cap in microwatts when there is not redundant power.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kvhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KvhjlubjÍ)�”}”(hŒLpower[1-n]_cap_max Maximum power cap that the OCC can enforce in microwatts.”h]”(jÓ)�”}”(hŒpower[1-n]_cap_max”h]”hŒpower[1-n]_cap_max”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kyhj+ubjã)�”}”(hhh]”hÌ)�”}”(hŒ9Maximum power cap that the OCC can enforce in microwatts.”h]”hŒ9Maximum power cap that the OCC can enforce in microwatts.”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kyhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´KyhjlubjÍ)�”}”(hŒUpower[1-n]_cap_min Minimum power cap that the OCC can enforce in microwatts.”h]”(jÓ)�”}”(hŒIpower[1-n]_cap_min Minimum power cap that the OCC can enforce in”h]”hŒIpower[1-n]_cap_min Minimum power cap that the OCC can enforce in”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K{hjZubjã)�”}”(hhh]”hÌ)�”}”(hŒ microwatts.”h]”hŒ microwatts.”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K|hjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K{hjlubjÍ)�”}”(hXDpower[1-n]_cap_user The power cap set by the user, in microwatts. This attribute will return 0 if no user power cap has been set. This attribute is read-write, but writing any precision below watts will be ignored, i.e. requesting a power cap of 500900000 microwatts will result in a power cap request of 500 watts. ”h]”(jÓ)�”}”(hŒIpower[1-n]_cap_user The power cap set by the user, in microwatts.”h]”hŒIpower[1-n]_cap_user The power cap set by the user, in microwatts.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´Kƒhj‰ubjã)�”}”(hhh]”hÌ)�”}”(hŒùThis attribute will return 0 if no user power cap has been set. This attribute is read-write, but writing any precision below watts will be ignored, i.e. requesting a power cap of 500900000 microwatts will result in a power cap request of 500 watts.”h]”hŒùThis attribute will return 0 if no user power cap has been set. This attribute is read-write, but writing any precision below watts will be ignored, i.e. requesting a power cap of 500900000 microwatts will result in a power cap request of 500 watts.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K~hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´Kƒhjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjhubhÌ)�”}”(hŒ[with caps sensor version > 1]”h]”hŒ[with caps sensor version > 1]”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K…hjhubhÜ)�”}”(hX$power[1-n]_cap_user_source Indicates how the user power cap was set. This is an integer that maps to system or firmware components that can set the user power cap. ”h]”jÈ)�”}”(hhh]”jÍ)�”}”(hŒ¤power[1-n]_cap_user_source Indicates how the user power cap was set. This is an integer that maps to system or firmware components that can set the user power cap. ”h]”(jÓ)�”}”(hŒpower[1-n]_cap_user_source”h]”hŒpower[1-n]_cap_user_source”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K‹hjÓubjã)�”}”(hhh]”hÌ)�”}”(hŒˆIndicates how the user power cap was set. This is an integer that maps to system or firmware components that can set the user power cap.”h]”hŒˆIndicates how the user power cap was set. This is an integer that maps to system or firmware components that can set the user power cap.”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kˆhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K‹hjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K‡hjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KohjŒh²hubhÌ)�”}”(hŒÒThe following "extn" sensors are exported as a way for the OCC to provide data that doesn't fit anywhere else. The meaning of these sensors is entirely dependent on their data, and cannot be statically defined.”h]”hŒØThe following “extnâ€� sensors are exported as a way for the OCC to provide data that doesn’t fit anywhere else. The meaning of these sensors is entirely dependent on their data, and cannot be statically defined.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K�hjŒh²hubjÈ)�”}”(hhh]”(jÍ)�”}”(hŒ*extn[1-n]_label ASCII ID or OCC sensor ID.”h]”(jÓ)�”}”(hŒextn[1-n]_label”h]”hŒextn[1-n]_label”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K‘hj%ubjã)�”}”(hhh]”hÌ)�”}”(hŒASCII ID or OCC sensor ID.”h]”hŒASCII ID or OCC sensor ID.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K’hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K‘hj"ubjÍ)�”}”(hŒžextn[1-n]_flags This is one byte hexadecimal value. Bit 7 indicates the type of the label attribute; 1 for sensor ID, 0 for ASCII ID. Other bits are reserved.”h]”(jÓ)�”}”(hŒextn[1-n]_flags”h]”hŒextn[1-n]_flags”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K•hjTubjã)�”}”(hhh]”hÌ)�”}”(hŒŽThis is one byte hexadecimal value. Bit 7 indicates the type of the label attribute; 1 for sensor ID, 0 for ASCII ID. Other bits are reserved.”h]”hŒŽThis is one byte hexadecimal value. Bit 7 indicates the type of the label attribute; 1 for sensor ID, 0 for ASCII ID. Other bits are reserved.”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K”hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K•hj"h²hubjÍ)�”}”(hŒUextn[1-n]_input 6 bytes of hexadecimal data, with a meaning defined by the sensor ID.”h]”(jÓ)�”}”(hŒextn[1-n]_input”h]”hŒextn[1-n]_input”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÒh³hÊh´K˜hjƒubjã)�”}”(hhh]”hÌ)�”}”(hŒE6 bytes of hexadecimal data, with a meaning defined by the sensor ID.”h]”hŒE6 bytes of hexadecimal data, with a meaning defined by the sensor ID.”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K˜hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌh³hÊh´K˜hj"h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÇhjŒh²hh³hÊh´Nubeh}”(h]”Œ sysfs-entries”ah ]”h"]”Œ sysfs entries”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubeh}”(h]”Œkernel-driver-occ-hwmon”ah ]”h"]”Œkernel driver occ-hwmon”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jëŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jÅjÂj‰j†j½jºuŒ nametypes”}”(jʼnj‰‰j½‰uh}”(jÂh·j†jIjºjŒuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.