commit | ff0ce4091655037839782e253775e63553d6541f | [log] [tgz] |
---|---|---|
author | Chris Cain <cjcain@us.ibm.com> | Fri Jan 17 10:54:55 2025 -0600 |
committer | Chris Cain <cjcain@us.ibm.com> | Mon Feb 10 19:40:56 2025 +0000 |
tree | 360d2bdd8ae01b7529f8f1a98f6fc8a5fc0bc121 | |
parent | 601cea4cbfa2e8d2cd9021e87d9d79736e4d95c3 [diff] |
Add SensorPurpose for total_power sensor Change will allow users to find the total system/chassis power sensor by querying the SensorPurpose for TotalPower. The total_power chassis association is being removed, since the SensorPurpose will be used in its place. Tested on Rainier. ''' $ busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTree sias "/" 0 1 "xyz.openbmc_project.Sensor.Purpose" a{sa{sas}} 1 "/xyz/openbmc_project/sensors/power/total_power" 1 "org.open_power.OCC.Control" 6 "org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" "xyz.openbmc_project.Sensor.Purpose" "xyz.openbmc_project.Sensor.Value" "xyz.openbmc_project.State.Decorator.OperationalStatus" $ busctl -l introspect org.open_power.OCC.Control /xyz/openbmc_project/sensors/power/total_power NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Association.Definitions interface - - - .Associations property a(sss) 1 "chassis" "all_sensors" "/xyz/openbmc_project/inventory/system/chassis" emits-change writable B xyz.openbmc_project.Sensor.Purpose interface - - - .Purpose property as 1 "xyz.openbmc_project.Sensor.Purpose.SensorPurpose.TotalPower" emits-change xyz.openbmc_project.Sensor.Value interface - - - .MaxValue property d inf emits-change writable .MinValue property d -inf emits-change writable .Unit property s "xyz.openbmc_project.Sensor.Value.Unit.Watts" emits-change writable .Value property d 419 emits-change writable xyz.openbmc_project.State.Decorator.OperationalStatus interface - - - .Functional property b true emits-change writable ''' Change-Id: I414c01e81cbb965d9ab68bafa06565d997abbe0f Signed-off-by: Chris Cain <cjcain@us.ibm.com>
This service will handle communications to the On-Chip Controller (OCC) on Power processors. The OCC provides processor and memory temperatures, power readings, power cap support, system power mode support, and idle power saver support. OCC Control will be interfacing with the OCC to collect the temperatures and power readings, updating the system power mode, setting power caps, and idle power save parameters.
The service is started automatically when the BMC is started.
This project can be built with meson. The typical meson workflow is: meson builddir && ninja -C builddir.
The server will start automatically after BMC is powered on.
Server status: systemctl status org.open_power.OCC.Control.service
To restart the service: systemctl restart org.open_power.OCC.Control.service
Service files are located in service_files subdirectory.
IBM EnergyScale for Power10 Processor-Based Systems whitepaper: https://www.ibm.com/downloads/cas/E7RL9N4E
OCC Firmware Interface Spec for Power10: https://github.com/open-power/docs/blob/P10/occ/OCC_P10_FW_Interfaces_v1_17.pdf
OCC Firmware: https://github.com/open-power/occ/tree/master-p10
IBM EnergyScale for POWER9 Processor-Based Systems: https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=49019149USEN&
OCC Firmware Interface Spec for POWER9: https://github.com/open-power/docs/blob/P9/occ/OCC_P9_FW_Interfaces.pdf