f5402197 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I7b90380845efee6bf6a1fe342a793d71aa9ff181 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
3828e951 | 07-Aug-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
Move format_utils.hpp to root directory
Move format_utils.hpp to the root directory of this repository so that it serves as common code. Change the namespace to reflect the directory change. Move
Move format_utils.hpp to root directory
Move format_utils.hpp to the root directory of this repository so that it serves as common code. Change the namespace to reflect the directory change. Move automated tests to the test directory for common code.
Change-Id: Id1af4b8f6da3e3b4f86231599a19d70ca6164f12 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
cde5b16c | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix MD041 warnings
The following warnings are generated by using markdownlint analysis: ``` phosphor-power-sequencer/docs/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file shou
Fix MD041 warnings
The following warnings are generated by using markdownlint analysis: ``` phosphor-power-sequencer/docs/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"] phosphor-power-sequencer/docs/testing.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"] phosphor-power-sequencer/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"] phosphor-power-supply/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "OpenBMC power supply monitoring..."] phosphor-regulators/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"] README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"] ``` Refer to markdown-lint [1] to fix MD041 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/041-first-line-h1.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Ia96bbcb17800cdccfd7de2a85da1dc01cef87303
show more ...
|
6151c286 | 05-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
Fix MD040 warnings
The following warnings are generated by using markdownlint analysis: ``` MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] ``` Refer
Fix MD040 warnings
The following warnings are generated by using markdownlint analysis: ``` MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"] ``` Refer to markdown-lint [1] to fix MD040 [1]: https://github.com/updownpress/markdown-lint/blob/master/rules/040-fenced-code-language.md
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: I456b41fe5f368798cd1d1e78cd83d29b5bb7e236
show more ...
|
b9d4fb71 | 29-Jul-2024 |
Andrew Geissler <geissonator@yahoo.com> |
gcc14: continue dangling-reference workaround
The latest yocto is moving to gcc14 and the workaround to ignore dangling references is still needed with gcc14.
Tested: - Confirmed phosphor-power bui
gcc14: continue dangling-reference workaround
The latest yocto is moving to gcc14 and the workaround to ignore dangling references is still needed with gcc14.
Tested: - Confirmed phosphor-power builds with latest yocto rebase
Change-Id: I900cb11d66730a74bb5860769214dfa93f83a40d Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
768d2269 | 09-Jul-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
Move to std::format
The OpenBMC project is moving from the fmt project to the built-in std::format() support.
Update source files and meson files to move to std::format().
Tested: * Verified build
Move to std::format
The OpenBMC project is moving from the fmt project to the built-in std::format() support.
Update source files and meson files to move to std::format().
Tested: * Verified builds cleanly in local CI * Verified all automated tests run successfully * Verified builds cleanly in bitbake * Verified an affected phosphor-psu-monitor journal message still works correctly. * Verified an affected phosphor-power-sequencer journal message still works correctly.
Change-Id: I97b63cf9d132e2b6f173afb30953a9083d68133f Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
dd6c3661 | 03-Jul-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Update documentation
Update the phosphor-power-sequencer documentation to reflect recent enhancements: * New JSON configuration file format * PowerSequencerDevice class hierarchy * Enhanced pg
pseq: Update documentation
Update the phosphor-power-sequencer documentation to reflect recent enhancements: * New JSON configuration file format * PowerSequencerDevice class hierarchy * Enhanced pgood isolation support * Automated tests
Change-Id: I8a7b76f4685cf9d55f1147658cc703b6d558f94b Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
d1b8b1b0 | 28-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Remove deprecated files
Remove C++ and JSON files that are no longer needed by the phosphor-power-sequencer application.
Over the past few months, several large enhancements have been impleme
pseq: Remove deprecated files
Remove C++ and JSON files that are no longer needed by the phosphor-power-sequencer application.
Over the past few months, several large enhancements have been implemented in this application: * New JSON file format that merges pin and rail elements, defines power on sequence order of rails, defines PMBus PAGEs, and provides an additional type of pgood fault checking based on output voltage. * New pgood fault detection algorithm that is device independent, checks rails in power on sequence order, ignores PAGEs that are not voltage rails, and checks for faults using new output voltage method. * New Device class hierarchy and Rail class that support automated testing.
Remove the old C++ classes that are no longer used. Also remove the configuration files that use the old JSON format.
Tested: * Verified repository builds without errors * Verified automated tests run without errors * Verified application can successfully power the system on and off without errors
Change-Id: I4473c01a30cfd898ffd11c75d537c2c3c95e945f Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
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 ...
|
ce1aaddd | 27-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Update STATUS_VOUT checks in config files
Update the phosphor-power-sequencer JSON configuration files for the following systems: * Rainier * BlueRidge * Everest * Fuji
Add STATUS_VOUT checki
pseq: Update STATUS_VOUT checks in config files
Update the phosphor-power-sequencer JSON configuration files for the following systems: * Rainier * BlueRidge * Everest * Fuji
Add STATUS_VOUT checking for voltage rails connected to digital monitors (DMONs) on the UCD90320 power sequencer. Checking STATUS_VOUT is more accurate than other methods in some scenarios.
Also remove STATUS_VOUT and READ_VOUT checking for the PSU rails on Everest and Fuji. PMBus information is not available for the PSU rail due to the way it is configured in the power sequencer device.
Change-Id: If5e630b2c17e0a34e240b1df512a9662a5370289 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
16275831 | 27-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Check STATUS_VOUT first to find pgood fault
Enhance the support for finding the correct voltage rail when a pgood fault occurs.
First check the PMBus STATUS_VOUT register for all rails. Chec
pseq: Check STATUS_VOUT first to find pgood fault
Enhance the support for finding the correct voltage rail when a pgood fault occurs.
First check the PMBus STATUS_VOUT register for all rails. Check the rails in power-on-sequence order.
Checking STATUS_VOUT is usually the most accurate method. For example, if a pgood fault occurs, the power sequencer device may automatically shut off related rails. Ideally the device will only set fault bits in STATUS_VOUT for the rail with the pgood fault. However, all the related rails will likely appear to be faulted by the other methods.
If no fault is found by checking STATUS_VOUT, then check the GPIOs and output voltage for all rails. Check the rails in power-on-sequence order.
Tested: * Verified all automated test cases run successfully.
Change-Id: Ida8732db573013f1b72edac8ed54e3cfc38da146 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
ab73001a | 20-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Add config files for BlueRidge systems
Add phosphor-power-sequencer JSON configuration files for BlueRidge systems.
Add config files in both the old and new JSON formats. The old format will
pseq: Add config files for BlueRidge systems
Add phosphor-power-sequencer JSON configuration files for BlueRidge systems.
Add config files in both the old and new JSON formats. The old format will be removed soon, but that has not occurred yet.
Tested: * Tested in simulation environment * Verified BlueRidge JSON files present in /usr/share/phosphor-power-sequencer directory in firmware image * Verified old format BlueRidge JSON file was found and loaded successfully * Powered on chassis * Verified powered on successfully and chassis pgood was true * Verified no errors logged * Verified phosphor-power-control did not write any errors to the journal * Powered off chassis * Verified powered off successfully and chassis pgood was false * Verified no errors logged * Verified phosphor-power-control did not write any errors to the journal
Change-Id: I92f8feb58557c3eabacbf3e9d7690c80c426b0a1 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
726e1cad | 21-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Add config files for Fuji systems
Add phosphor-power-sequencer JSON configuration files for Fuji systems.
Add config files in both the old and new JSON formats. The old format will be remove
pseq: Add config files for Fuji systems
Add phosphor-power-sequencer JSON configuration files for Fuji systems.
Add config files in both the old and new JSON formats. The old format will be removed soon, but that has not occurred yet.
Tested: * Tested in simulation environment * Verified Fuji JSON files present in /usr/share/phosphor-power-sequencer directory in firmware image * Verified old format Fuji JSON file was found and loaded successfully * Powered on chassis * Verified powered on successfully and chassis pgood was true * Verified no errors logged * Verified phosphor-power-control did not write any errors to the journal * Powered off chassis * Verified powered off successfully and chassis pgood was false * Verified no errors logged * Verified phosphor-power-control did not write any errors to the journal
Change-Id: I739ca7d387af07fc0659d0e28ba366b01342a1b2 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
1838dbf9 | 05-Jun-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
Move D-Bus finder class constructors
Three classes in this repository search for D-Bus interfaces and call a callback when interfaces are found: - DBusInterfacesFinder - CompatibleSystemTypesFinder
Move D-Bus finder class constructors
Three classes in this repository search for D-Bus interfaces and call a callback when interfaces are found: - DBusInterfacesFinder - CompatibleSystemTypesFinder - DeviceFinder
The constructors of these three classes may immediately call the callback. For this reason, these constructors should not be used in the initialization list of constructors in other classes. Otherwise the callback may be called before the other class is fully initialized, leading to unpredictable behavior.
Move usage of these three constructors from initialization lists to constructor bodies.
Tested: + CompatibleSystemTypesFinder + Test where compatible system types interface already exists on D-Bus + Verify callback is called immediately + Test where compatible system types interface does not already exist on D-Bus + Verify callback is called later when interface is added + Verify callback is passed the correct data + DeviceFinder + Test where device interface already exists on D-Bus + Verify callback is called immediately + Test where device interface does not already exist on D-Bus + Verify callback is called later when interface is added + Verify callback is passed the correct data
Change-Id: If089f4720012d837b464137b5d3c8fba5dbdc335 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 ...
|
3a11d632 | 23-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Add BMC dump method to Services class
Add a method to the Services class to create a BMC dump.
Tested: * Delete all BMC dumps on system * Verify no BMC dumps exist * Call method to create a B
pseq: Add BMC dump method to Services class
Add a method to the Services class to create a BMC dump.
Tested: * Delete all BMC dumps on system * Verify no BMC dumps exist * Call method to create a BMC dump * Verify dump is created * Expand dump * Verify dump has expected contents * Call method to create a BMC dump again * Verify a second dump is created
Change-Id: Ia4b9753e9ba15ed61bf5446006713875e738b3dd Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
e9144ab4 | 22-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Find config file using new compatible intf
Add support for finding the JSON configuration file using a list of compatible names from the new xyz.openbmc_project.Inventory.Decorator.Compatible
pseq: Find config file using new compatible intf
Add support for finding the JSON configuration file using a list of compatible names from the new xyz.openbmc_project.Inventory.Decorator.Compatible D-Bus interface.
Change-Id: Ic24bafd1d77413015aa8eac7b312dbd604a10995 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
04471bb2 | 17-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Create Bonnell JSON cfg file in new format
Create an Bonnell JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented in
pseq: Create Bonnell JSON cfg file in new format
Create an Bonnell JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented in the phosphor-power-sequencer/docs/config_file directory.
When all of the new C++ code and JSON config files are in place, the old C++ code and JSON config files will be deleted.
Change-Id: I36b0b7b869d93016d0da2ef52397ca1f0244d3f9 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
530bd660 | 15-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Create Everest JSON cfg file in new format
Create an Everest JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented in
pseq: Create Everest JSON cfg file in new format
Create an Everest JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented in the phosphor-power-sequencer/docs/config_file directory.
When all of the new C++ code and JSON config files are in place, the old C++ code and JSON config files will be deleted.
Change-Id: Id255ba3b6d99baf605aafa938e41dba239488dd4 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
2d068dc7 | 09-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Create Rainier JSON config file in new format
Create a Rainier JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented i
pseq: Create Rainier JSON config file in new format
Create a Rainier JSON configuration file in the new format for the phosphor-power-sequencer application.
The new JSON file format is documented in the phosphor-power-sequencer/docs/config_file directory.
When all of the new C++ code and JSON config files are in place, the old C++ code and JSON config files will be deleted.
Change-Id: I15155f5d40e741f292fc2562bc3fddadcacbab7b 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 ...
|
fe78c178 | 02-May-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Refactor storage of debug data
After a pgood fault is detected, debug data is collected from the power sequencer device. This data is stored in the additional data map used to log an error.
pseq: Refactor storage of debug data
After a pgood fault is detected, debug data is collected from the power sequencer device. This data is stored in the additional data map used to log an error. The data is also written to the journal.
Previously the debug data was stored by one virtual method declared in the StandardDevice class. This method stored all the debug data including the GPIO values.
GPIO values are device-specific, so it is likely that subclasses will need to override this method to provide better formatting of the GPIO values. However, this means they will also be overriding other data storage performed by an ancestor class. This will likely lead to duplicated code.
Refactor the storage of GPIO values to a separate virtual method. This will allow child classes to override just that functionality while inheriting and reusing other data storage from ancestor classes.
Tested: * Verified automated tests ran successfully
Change-Id: I654a6a6a2f5386e06f9e7887cecfbb74523b715f 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 ...
|