History log of /openbmc/phosphor-power/phosphor-power-sequencer/src/meson.build (Results 1 – 23 of 23)
Revision Date Author Comments
# 516e22fe 01-Feb-2025 Patrick Williams <patrick@stwcx.xyz>

meson: reformat with meson formatter

Apply the `meson format` results.

Change-Id: Ie0fb147f556c18eb226736dd9b688afba5636a9b
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>


# 1f8b1103 21-Jun-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Switch to new pgood isolation support

Switch to the new C++ implementation of pgood isolation support. When a
pgood fault occurs, this support attempts to find the voltage rail that
caused th

pseq: Switch to new pgood isolation support

Switch to the new C++ implementation of pgood isolation support. When a
pgood fault occurs, this support attempts to find the voltage rail that
caused the fault.

The new implementation includes the following:
* PowerSequencerDevice class hierarchy
* Rail class
* Services class
* CompatibleSystemTypesFinder class
* DeviceFinder class
* config_file_parser functions
* New JSON configuration files

Tested:
* Verified all automated tests ran successfully.
* Verified all new/modified code in this commit via manual testing.
* Tested on Rainier and Everest systems
* Verified system powered on and off without errors.
* Tested with pgood injection in every rail both during and after the
power on sequence. Verified rail was identified and correct error
was logged.

Change-Id: I83d7fdc45bd0a000a31d98f67ecdd5a54f24b939
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 452de22e 30-May-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create class for finding devices

Create class for finding power sequencer devices in the system.

Tested:
* See test plan at
https://gist.github.com/smccarney/115a90a26a04e28c226d4e86eaf84cb

pseq: Create class for finding devices

Create class for finding power sequencer devices in the system.

Tested:
* See test plan at
https://gist.github.com/smccarney/115a90a26a04e28c226d4e86eaf84cbf

Change-Id: I024eb6ccf82ea30c08c558194c19afcba8dcf5a2
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# b5451447 03-May-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create UCD90160Device class

Create the UCD90160Device class in the phosphor-power-sequencer
application.

This class represents the UCD90160 power sequencer device.

Change-Id: If61ccef83b5262

pseq: Create UCD90160Device class

Create the UCD90160Device class in the phosphor-power-sequencer
application.

This class represents the UCD90160 power sequencer device.

Change-Id: If61ccef83b52625f3ebe9fdea88f5f80a5e61f9f
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# fec38334 02-May-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create UCD90320Device class

Create the UCD90320Device class in the phosphor-power-sequencer
application.

This class represents the UCD90320 power sequencer device.

Change-Id: I697644d4c52019

pseq: Create UCD90320Device class

Create the UCD90320Device class in the phosphor-power-sequencer
application.

This class represents the UCD90320 power sequencer device.

Change-Id: I697644d4c52019be045286a5598023602b7fc4d6
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 71d7fe43 02-May-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create UCD90xDevice class

Create the UCD90xDevice class in the phosphor-power-sequencer
application.

This is a base class for the UCD90x family of power sequencer devices.

Tested:
* Performe

pseq: Create UCD90xDevice class

Create the UCD90xDevice class in the phosphor-power-sequencer
application.

This is a base class for the UCD90x family of power sequencer devices.

Tested:
* Performed the following tests on Rainier and Everest systems
* MFR_STATUS value obtained successfully
* Verified error paths and exceptions thrown

Change-Id: I430ffb95d96e228ce0245ae1c9cb63db72d590c5
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# b89395b1 23-Apr-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create PMBusDriverDevice class

Create the PMBusDriverDevice class in the phosphor-power-sequencer
application.

This class is used for power sequencer devices that are bound to a PMBus
device

pseq: Create PMBusDriverDevice class

Create the PMBusDriverDevice class in the phosphor-power-sequencer
application.

This class is used for power sequencer devices that are bound to a PMBus
device driver. It obtains PMBus information from sysfs/hwmon files
created by the driver.

Tested:
* Performed all of the following tests on Rainier and Everest systems
* Correct sysfs/hwmon files and directories found
* GPIO values obtained successfully
* STATUS_WORD values obtained successfully
* STATUS_VOUT values obtained successfully
* READ_VOUT values obtained successfully
* VOUT_UV_FAULT_LIMIT values obtained successfully
* Mapping built from PMBus PAGE numbers to hwmon file numbers
* Verified error paths and exceptions thrown

Change-Id: I2efd3146fa08d3584857c94c2bbbf691b1e2ad7d
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 472101c5 17-Apr-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Standard pgood fault detection algorithm

Create a StandardDevice class for the phosphor-power-sequencer
application. This class implements the standard pgood (power good)
fault detection algo

pseq: Standard pgood fault detection algorithm

Create a StandardDevice class for the phosphor-power-sequencer
application. This class implements the standard pgood (power good)
fault detection algorithm.

When adding support for a new power sequencer device type, a sub-class
of StandardDevice should be created if possible. This will ensure that
pgood fault detection works consistently across device types.

Tested:
* Verified all new and existing gtests ran successfully

Change-Id: I80c0b36429f1d84fa1e317889803429927797fdc
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# df4e0e7e 12-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Fix local meson build

Currently local meson build fails with the error message:
"""
In file included from ../phosphor-power-sequencer/src/services.cpp:17:
../phosphor-power-sequencer/src/serv

meson: Fix local meson build

Currently local meson build fails with the error message:
"""
In file included from ../phosphor-power-sequencer/src/services.cpp:17:
../phosphor-power-sequencer/src/services.hpp:19:10: fatal error:
xyz/openbmc_project/Logging/Entry/server.hpp: No such file or directory
19 | #include "xyz/openbmc_project/Logging/Entry/server.hpp"
"""
Provide missing meson dependency to fix the issue.

Tested:
"meson setup build && cd build && meson compile" finishes successfully.

Change-Id: I0c13a6bfc8014d201b2cf6364c87059726d0c464
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 24956598 19-Feb-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Add pgood fault detection to Rail class

Add power good (pgood) fault detection to the Rail class in the
phosphor-power-sequencer application.

Implement the checking defined in the JSON config

pseq: Add pgood fault detection to Rail class

Add power good (pgood) fault detection to the Rail class in the
phosphor-power-sequencer application.

Implement the checking defined in the JSON configuration file:
* Check for fault bits set in STATUS_VOUT
* Check for a GPIO with the wrong value
* Check if the output voltage (READ_VOUT) is below the undervoltage
limit (VOUT_UV_FAULT_LIMIT)

If a pgood fault is detected, capture the relevant debug information
such as the rail name and STATUS_WORD value.

Tested:
* Added gtests for the new code
* Ran all gtests and verified they passed

Change-Id: I09c3ed6c504fe907a7854a4ac462a2bc4a8b806f
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# e4fef0fc 05-Apr-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow oper

pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 906cc3f3 01-Feb-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Add Services class for automated testing

Add a Services class hierarchy to enable mocking and automated testing.
The class methods provide a high level abstraction for system services
like err

pseq: Add Services class for automated testing

Add a Services class hierarchy to enable mocking and automated testing.
The class methods provide a high level abstraction for system services
like error logging and presence detection.

* Services: Abstract base class
* BMCServices: Sub-class with real implementation using BMC services
* MockServices: Sub-class with mock implementation for automated testing

* Tested:
* Tested all methods in BMCServices class
* When method succeeds
* When method fails; verify all error paths
* The detailed test plan is available in a gist:
* https://gist.github.com/smccarney/e7a250011133c7e3040a8bce240705c5

Change-Id: If17ef8c4540b3ee07cced947bc49a950141b38ae
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 6a957f6f 10-Jan-2024 Shawn McCarney <shawnmm@us.ibm.com>

pseq: Create standalone config file parser

Create a standalone JSON configuration file parser for the
phosphor-power-sequencer application. Support the new config file
properties in the parser.

Se

pseq: Create standalone config file parser

Create a standalone JSON configuration file parser for the
phosphor-power-sequencer application. Support the new config file
properties in the parser.

Separating the config file parser from the rest of the code makes it
easier to implement and test.

Create automated test cases to verify the parser functions.

Change-Id: Ia753ffadf395359899964a612e479b00377ad495
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# c48551ab 22-Dec-2022 Jim Wright <jlwright@us.ibm.com>

pseq: Add support for UCD90160 device

Refactor power sequencer class hierarchy to add support for the UCD90160
device.

Tested:
* Verify UCD information is obtained successfully from EntityManager
*

pseq: Add support for UCD90160 device

Refactor power sequencer class hierarchy to add support for the UCD90160
device.

Tested:
* Verify UCD information is obtained successfully from EntityManager
* Verify JSON configuration file is found and parsed successfully
* Test where no pgood error occurs
* During power on
* Verify power on continues
* Verify no error is logged
* After chassis is powered on
* Verify chassis remains powered on
* Verify no error is logged
* Test where pgood error occurs
* During power on
* Verify power on stops and chassis is powered off
* Verify correct error is logged
* Verify callouts and additional data in error log are correct
* Detected via rail
* Detected via pin
* After chassis is powered on
* Verify chassis is powered off
* Verify correct error is logged
* Verify callouts and additional data in error log are correct
* Detected via rail
* Detected via pin

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: Ib00bc1ea34b504c245a4f0cb3979a86e51507f3c
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


# 888bebde 31-May-2023 Patrick Williams <patrick@stwcx.xyz>

meson: add necessary subprojects

Add subprojects for all the direct dependencies of the project such
that the project can be built outside of a Yocto SDK on a typical
Linux development system.

-

meson: add necessary subprojects

Add subprojects for all the direct dependencies of the project such
that the project can be built outside of a Yocto SDK on a typical
Linux development system.

- Update the .gitignore to ignore the subproject source directories.
- Update the .gitignore to ignore alternative build subdirectory
names as is typical with most projects in the openbmc organization.
- Add wrap files for direct dependencies, copied from other
repositories that already have the same dependencies.
- Modify the meson.build dependency for libgpiod so that the C++
bindings are included.
- Add many missing dependencies throughout.
- Sort all dependencies alphabetically for consistency.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I0feb6f0f175e6dba0b00a2c2b666eb0801575734

show more ...


# 930458c2 24-Jan-2022 Jim Wright <jlwright@us.ibm.com>

pseq: Add generic failure handling to base class

Use the power sequencer base class to handle failure cases where the
device is not found or a device specific failure can not determined. Add
a error

pseq: Add generic failure handling to base class

Use the power sequencer base class to handle failure cases where the
device is not found or a device specific failure can not determined. Add
a error logging convience method. Move the D-Bus object to the base
class.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I6f7c2951e83cb892ec0c63018d65d5e241ebe6f0

show more ...


# 7945dd27 06-Apr-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Add base and UCD90320 device monitor classes

Add a power sequencer device monitoring base class and a UCD90320
subclass. Update power controller class to construct and pass device
information

pseq: Add base and UCD90320 device monitor classes

Add a power sequencer device monitoring base class and a UCD90320
subclass. Update power controller class to construct and pass device
information to device class. Update build file to support.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: Idf3ef53011b23f15841d93795f9f0995892b10b9

show more ...


# 2d99bf7d 19-Nov-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Retrieve device info from entity manager

Retrieve power sequencer device information from entity manager using
appropriate DBUS methods.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change

pseq: Retrieve device info from entity manager

Retrieve power sequencer device information from entity manager using
appropriate DBUS methods.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I4b0f821345fa9be9146e1a480d2b4e8aabd2c267

show more ...


# 7a5dd99b 31-Aug-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Add GPIOs to power control application

Add power control GPIOs for power on / off control and chassis power
good monitoring. Use libgpiod and make neccessary meson changes.

Signed-off-by: Jim

pseq: Add GPIOs to power control application

Add power control GPIOs for power on / off control and chassis power
good monitoring. Use libgpiod and make neccessary meson changes.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I4f44552e855547fea466a98cb71acdb315aa26f5

show more ...


# 1992083a 25-Aug-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Add power control dbus server interface

Add the PowerInterface class which provides a server interface for the
"org.openbmc.control.Power" dbus service.

Update meson.build file to support.

T

pseq: Add power control dbus server interface

Add the PowerInterface class which provides a server interface for the
"org.openbmc.control.Power" dbus service.

Update meson.build file to support.

The "org.openbmc.control.Power" interface is currently used by the
Chassis component to control power on and off as well as by a number of
other OBMC applications which use the pgood property and associated
signals to determine the power state of the system. Some desire to
move to a "xyz.openbmc_project.control.Power" interface has been
expressed. The following is a proposed plan to accomplish this:
1. Create a compatible "org.openbmc.control.Power" application (this
commit).
2. Add "xyz..." interface to this application (future commit).
3. Begin transition of existing applications to new interface (future
commits).

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: Ia9a6bbb58b5e439623d3931426cb91cb8948da7a

show more ...


# 539b608f 02-Aug-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Begin power control implementation

Fill in the power control main method. Introduce the power control
class and header file. Introduce the power good polling loop. Update
meson file to support

pseq: Begin power control implementation

Fill in the power control main method. Introduce the power control
class and header file. Introduce the power good polling loop. Update
meson file to support.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I9a5f9d71a65fa4916c701e3aad334be2989b1b16

show more ...


# 10eb00f6 21-Jul-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Create phosphor-power-control application

Create the initial version of the phosphor-power-control application.

Update meson.build file to support.

Signed-off-by: Jim Wright <jlwright@us.ibm

pseq: Create phosphor-power-control application

Create the initial version of the phosphor-power-control application.

Update meson.build file to support.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I07e1389672236856deadf3452c2485b152d6b57d

show more ...


# 1553cd9a 31-Mar-2021 Jim Wright <jlwright@us.ibm.com>

pseq: Create phosphor-power-sequencer application

Create the initial version of the phosphor-power-sequencer application.

Update or create meson and README files to support.

Signed-off-by: Jim Wri

pseq: Create phosphor-power-sequencer application

Create the initial version of the phosphor-power-sequencer application.

Update or create meson and README files to support.

Signed-off-by: Jim Wright <jlwright@us.ibm.com>
Change-Id: I385358cc601448a35b3aae9bfa1c6488f1512c59

show more ...