History log of /openbmc/phosphor-power/ (Results 1 – 25 of 825)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
23dee38311-Nov-2024 Shawn McCarney <shawnmm@us.ibm.com>

psutils: Move functions from updater to utils

Move common, utility functions from updater.*pp to utils.*pp. This will
enable those functions to be used by other command line options in the
psutils

psutils: Move functions from updater to utils

Move common, utility functions from updater.*pp to utils.*pp. This will
enable those functions to be used by other command line options in the
psutils tool.

Modify --get-version and --get-model to use the new utility functions.

Also update --get-version to provide a single getVersion() function that
handles the existence of the psu.json file as a low-level implementation
detail.

Tested:
* Verified all automated tests run successfully
* Verified --get-version still works
* With psu.json file
* Without psu.json file
* Verified --get-model still works
* With psu.json file
* Without psu.json file
* Verified --update still gets correct device path, device name, and I2C
bus/address from functions that moved to utils.*pp
* The complete test plan is available at
https://gist.github.com/smccarney/c049e24655d32e22cab9d521d145774a

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

show more ...

0fbc2f6a05-Nov-2024 Shawn McCarney <shawnmm@us.ibm.com>

psutils: Add --get-model option

Add a --get-model command line option to the psutils tool. This option
obtains the PSU model using information in sysfs.

Supports both methods of obtaining informat

psutils: Add --get-model option

Add a --get-model command line option to the psutils tool. This option
obtains the PSU model using information in sysfs.

Supports both methods of obtaining information about a PSU:
* psu.json file
* D-Bus

Tested:
* Verified --get-version still works
* With psu.json file
* Without psu.json file
* Verified new --get-model property works
* With psu.json file
* Without psu.json file
* Tested all error paths
* See the following gist for the complete test plan:
https://gist.github.com/smccarney/859ffaaa94ce12992af1b24e6c899962

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

show more ...

14572cf406-Nov-2024 Shawn McCarney <shawnmm@us.ibm.com>

psutils: Move utility functions to utils.*pp

The files named version.hpp and version.cpp implement the --get-version
option of the psutils tool.

However, the files also contain some utility functio

psutils: Move utility functions to utils.*pp

The files named version.hpp and version.cpp implement the --get-version
option of the psutils tool.

However, the files also contain some utility functions that would be
helpful for implementing other command line options, such as --update or
the planned new option --get-model.

Move the utility functions into new files named utils.hpp and utils.cpp.
The functions will be defined within a namespace named 'utils'.

Tested:
* Verified automated testcases ran successfully
* Verified --get-version option worked correctly
* When using a psu.json file
* When using D-Bus information

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

show more ...

ec61bbd704-Nov-2024 Faisal Awada <faisal@us.ibm.com>

Utility functions for download firmware

Added set of utility functions to be used within the classes for
managing the PSU firmware updates. Here is a breakdown of the key
functions:

- getDevicePath

Utility functions for download firmware

Added set of utility functions to be used within the classes for
managing the PSU firmware updates. Here is a breakdown of the key
functions:

- getDevicePath():
Construct the PSU device path using I2C bus and address.

- getClassInstance():
Determines the appropriate updater class to use based on PSU model
number.

- getFWFilenamePath():
Searches a directory for a firmware file matching a specified prefix
and file extension (.bin or .hex).

- calculateCRC8():
Computes the CRC-8 checksum for transferred data.

- delay():
Pauses execution for a specified number of milliseconds.

- bigEndianToLittleEndian():
Converts a 32-bit value from big-endian to little-endian.

- validateFWFile():
Checks if a firmware file exists and is non-empty.

- openFirmwareFile():
Opens a firmware file in binary mode, returning a file stream if
successful.

- readFirmwareBytes():
Reads specified number of data bytes from a firmware file into a
buffer. Return data read or null to the caller.

- usePsuJsonFile():
Wrapper to check the existence of the PSU JSON file.

- Class accessors to private data:
getPsuInventoryPath(): Accessor for PSU inventory path.
getDevPath(): Accessor for device path.
getDevName(): Accessor for device name.
getImageDir(): Accessor for image directory.
getI2C(): I2C interface accessor.

Tested every function manually:

- getDevicePath() (using busctl):
- Validate I2C bus and address values through psuInventoryPath
validate expected result
- Modified psuInventoryPath to invalid path
validate returned invalid path.

- getClassInstance():
- Validate with matching model number the function instantiate
appropriate class.
- Validate the default class instantiated.

- getFWFilenamePath():
- Validate return of the correct file name in the PSU FW directory
- Validate null returns when FW files don't exist

- calculaterCRC8():
- Validate single byte 0x0 result 0x0, single byte 0x01 result 0x07

- delay():
- Verified the task suspend execution.

- bigEndianToLittleEndian():
- Verified input 0x12345678 resulted in 0x78563412

- validateFWFile():
- Validate the existence of the file otherwise an error is logged
- Validate the file size is greater than 0 otherwise an error is
logged.

- openFirmwareFile():
- Validate ifstream object is returned and was able to read from.
- Validate error logged if the file name is null
- validate error logged when unable to open the file

- readFirmwareBytes():
- Validate data read from FW file
- Validate number of bytes read.

- usePsuJsonFile():
- Added JSON file to simulator and validated true return.

Change-Id: I0b8b24ae7d37724dab608d2c4977c1b42d4e1632
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

37c2612b24-Oct-2024 Shawn McCarney <shawnmm@us.ibm.com>

psutils: Do not pad PSU version with blanks

When `psutils --get-version <inventory_path>` is run, it returns the
firmware version for the specified PSU inventory path.

If no psu.json file is found,

psutils: Do not pad PSU version with blanks

When `psutils --get-version <inventory_path>` is run, it returns the
firmware version for the specified PSU inventory path.

If no psu.json file is found, the PSU I2C bus and address are obtained
from D-Bus. The PSU version is then obtained from a file in sysfs.

The contents of the sysfs file are currently treated as VPD. Invalid
characters are replaced with spaces, and the value is padded with spaces
if needed to reach an expected VPD length.

If an error occurs trying to read the sysfs file, the version is
initially set to "". However, since it is being treated as VPD it is
later padded with blanks. Since the version is not an empty string, it
is treated as valid by psutils and the PSU code update application.
This causes subsequent code update issues.

Modify psutils so that the contents of the sysfs file are treated as a
simple string. If an error occurs, set the version to "". This will
cause psutils and the PSU code update application to correctly conclude
that an error occurred and the version is not valid.

Tested:
* psutils --get-version
* psu.json file exists
* Test where getting the version works
* Verify file contents are obtained
* Verify psutils prints out the version
* Verify psutils exits with a return code of 0
* Test where getting the version fails
* Verify exception is written to the journal
* Verify psutils prints out an empty string
* Verify psutils exits with a return code of 1
* psu.json file does not exist; PSU information is obtained from D-Bus
* Test where getting the version works
* Verify file contents are obtained
* Verify psutils prints out the version
* Verify psutils exits with a return code of 0
* Test where getting the version fails
* Verify exception is written to the journal
* Verify psutils prints out an empty string
* Verify psutils exits with a return code of 1

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

show more ...

a3ff7e7115-Oct-2024 Shawn McCarney <shawnmm@us.ibm.com>

I2CInterface: Add process call methods

Add C++ methods to perform the following SMBus commands:
* Process Call
* Block Write-Block Read Process Call

For Block Write-Block Read Process Call, impleme

I2CInterface: Add process call methods

Add C++ methods to perform the following SMBus commands:
* Process Call
* Block Write-Block Read Process Call

For Block Write-Block Read Process Call, implement support for writes up
to 255 bytes. SMBus 2.0 supported a maximum of 32 bytes, and SMBus 3.0
supports a maximum of 255 bytes. The current Linux SMBus function only
supports 32 byte writes. Provide an alternate implementation using the
lower level I2C_RDWR ioctl() to support up to 255 bytes.

Tested:
* Verified Process Call worked correctly
* Verified Block Write-Block Read Process Call worked correctly
* When using SMBus function
* When using I2C_RDWR ioctl()
* Tested error cases
* See complete test plan at
https://gist.github.com/smccarney/96eda4c7c11fe4f89e4491c768f76047

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

show more ...

df2f4cb803-Sep-2024 Patrick Williams <patrick@stwcx.xyz>

meson: switch code dependency to libsystemd

For a while now systemd has packaged a separate `libsystemd`. For
meson dependency, `systemd` should be used when looking for systemd
service file paths

meson: switch code dependency to libsystemd

For a while now systemd has packaged a separate `libsystemd`. For
meson dependency, `systemd` should be used when looking for systemd
service file paths and `libsystemd` should be used for `sd_*` functions.

Update the dependency accordingly.

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

show more ...

5dce1a7419-Aug-2024 Faisal Awada <faisal@us.ibm.com>

power-utils: Retrieve Firmware Version from sysfs

Added support to retrieve firmware version from sysfs. This required the
following code additions and modifications:

1 - Locate the target PSU obje

power-utils: Retrieve Firmware Version from sysfs

Added support to retrieve firmware version from sysfs. This required the
following code additions and modifications:

1 - Locate the target PSU object and retrieve 'i2cBus' and 'i2cAddress'.
2 - Obtain PMBus interface access.
3 - Read the firmware version from sysfs.

Tested:
The new code was loaded onto a system, and the firmware version was
successfully read from sysfs. Verified getVersion using psu.json file
did not change.

Change-Id: I791788f45e4d682578efbed33e3832a833644dad
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

f540219716-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 ...


.clang-format
cold-redundancy/cold_redundancy.cpp
compatible_system_types_finder.cpp
dbus_interfaces_finder.cpp
dbus_interfaces_finder.hpp
elog-errors.hpp
phosphor-power-sequencer/src/device_finder.cpp
phosphor-power-sequencer/src/pmbus_driver_device.cpp
phosphor-power-sequencer/src/pmbus_driver_device.hpp
phosphor-power-sequencer/src/power_control.cpp
phosphor-power-sequencer/src/power_interface.cpp
phosphor-power-sequencer/src/power_interface.hpp
phosphor-power-sequencer/src/rail.hpp
phosphor-power-sequencer/src/services.hpp
phosphor-power-sequencer/src/standard_device.cpp
phosphor-power-sequencer/src/standard_device.hpp
phosphor-power-sequencer/src/ucd90320_device.cpp
phosphor-power-sequencer/test/pmbus_driver_device_tests.cpp
phosphor-power-sequencer/test/standard_device_tests.cpp
phosphor-power-sequencer/test/ucd90160_device_tests.cpp
phosphor-power-sequencer/test/ucd90320_device_tests.cpp
phosphor-power-sequencer/test/ucd90x_device_tests.cpp
phosphor-power-supply/power_supply.cpp
phosphor-power-supply/psu_manager.cpp
phosphor-power-supply/test/power_supply_tests.cpp
phosphor-power-supply/util.cpp
phosphor-power-supply/util.hpp
phosphor-power-supply/util_base.hpp
phosphor-regulators/src/actions/action_environment.hpp
phosphor-regulators/src/actions/compare_vpd_action.hpp
phosphor-regulators/src/actions/i2c_compare_byte_action.hpp
phosphor-regulators/src/actions/i2c_compare_bytes_action.hpp
phosphor-regulators/src/actions/i2c_write_byte_action.hpp
phosphor-regulators/src/actions/i2c_write_bytes_action.hpp
phosphor-regulators/src/actions/pmbus_read_sensor_action.cpp
phosphor-regulators/src/actions/pmbus_read_sensor_action.hpp
phosphor-regulators/src/actions/pmbus_write_vout_command_action.cpp
phosphor-regulators/src/actions/pmbus_write_vout_command_action.hpp
phosphor-regulators/src/chassis.cpp
phosphor-regulators/src/chassis.hpp
phosphor-regulators/src/config_file_parser.cpp
phosphor-regulators/src/configuration.hpp
phosphor-regulators/src/dbus_sensor.cpp
phosphor-regulators/src/dbus_sensor.hpp
phosphor-regulators/src/dbus_sensors.cpp
phosphor-regulators/src/device.hpp
phosphor-regulators/src/ffdc_file.cpp
phosphor-regulators/src/id_map.cpp
phosphor-regulators/src/id_map.hpp
phosphor-regulators/src/journal.cpp
phosphor-regulators/src/journal.hpp
phosphor-regulators/src/manager.cpp
phosphor-regulators/src/phase_fault_detection.cpp
phosphor-regulators/src/phase_fault_detection.hpp
phosphor-regulators/src/pmbus_error.hpp
phosphor-regulators/src/presence_detection.cpp
phosphor-regulators/src/rail.hpp
phosphor-regulators/src/regsctl/main.cpp
phosphor-regulators/src/regsctl/utility.hpp
phosphor-regulators/src/rule.hpp
phosphor-regulators/src/system.hpp
phosphor-regulators/src/write_verification_error.hpp
phosphor-regulators/test/actions/compare_vpd_action_tests.cpp
phosphor-regulators/test/actions/i2c_compare_bit_action_tests.cpp
phosphor-regulators/test/actions/set_device_action_tests.cpp
phosphor-regulators/test/chassis_tests.cpp
phosphor-regulators/test/device_tests.cpp
phosphor-regulators/test/id_map_tests.cpp
phosphor-regulators/test/phase_fault_detection_tests.cpp
phosphor-regulators/test/system_tests.cpp
phosphor-regulators/test/test_utils.hpp
pmbus.cpp
pmbus.hpp
power-sequencer/pgood_monitor.hpp
power-sequencer/runtime_monitor.hpp
power-supply/main.cpp
power-supply/power_supply.cpp
temporary_file.cpp
temporary_subdirectory.cpp
tools/i2c/i2c.cpp
tools/i2c/i2c.hpp
tools/i2c/i2c_interface.hpp
tools/power-utils/updater.cpp
tools/power-utils/version.cpp
utility.cpp
cee2e20a02-Aug-2024 Shawn McCarney <shawnmm@us.ibm.com>

regs: Use new compatible interface

Enhance the phosphor-regulators application to use the new D-Bus
interface xyz.openbmc_project.Inventory.Decorator.Compatible.

The list of compatible system type

regs: Use new compatible interface

Enhance the phosphor-regulators application to use the new D-Bus
interface xyz.openbmc_project.Inventory.Decorator.Compatible.

The list of compatible system type names from this interface is used to
find the configuration file for the current system.

Rename the configuration files to match the system type names in the new
D-Bus interface.

Tested:
* Verified phosphor-regulators loaded correct config file
* When interface was available before app started
* When interface was available after app started
* When interface was available after configure action started
* When interface was never available but default config file exists
* On Rainier, Everest, and Fuji systems
* Verified system could be powered on and off without error
* Verified app waited up to 5 minutes during configure action for
interface to become available. Verified critical error logged and
power on failed if interface not found within 5 minutes.

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

show more ...

3828e95107-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 ...

8b098b9705-Aug-2024 Shawn McCarney <shawnmm@us.ibm.com>

Add support for re-finding interfaces/system types

The DBusInterfacesFinder class simplifies the task of finding interface
instances on D-Bus. Similarly, the CompatibleSystemTypesFinder class
simpl

Add support for re-finding interfaces/system types

The DBusInterfacesFinder class simplifies the task of finding interface
instances on D-Bus. Similarly, the CompatibleSystemTypesFinder class
simplifies the task of finding the list of compatible system types for
the current system.

Both classes initially find the D-Bus objects that already exist at the
time the classes are constructed. They use InterfacesAdded listeners to
find new D-Bus objects that are created later.

This behavior handles most use cases. However, sometimes a caller may
not be receiving D-Bus signals, but they still need to find new D-Bus
objects that have been created. For example, the caller may be looping
within a timeout period waiting for a D-Bus object to be created.

To handle this use case, add `refind()` methods to both classes that
will re-find all matching D-Bus objects that now exist, including those
created since the classes were constructed.

Tested:
* DBusInterfacesFinder
* Verify finds all interface instances that exist at time class is
constructed
* None found
* Instances found
* Verify finds new interface instances via InterfacesAdded listener
* Verify refind() finds all interface instances, including those that
were created after the class was constructed.
* None found
* Instances found
* CompatibleSystemTypesFinder
* Verify finds all compatible system type lists that exist at time
class is constructed
* None found
* Lists found
* Verify finds new compatible system type lists via InterfacesAdded
listener
* Verify refind() finds all compatible system type lists, including
those that were created after the class was constructed.
* None found
* Lists found

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

show more ...

716366ae05-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD034 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-supply/README.md:4:1 MD034/no-bare-urls Bare URL used [Context: "https://github.com/openbmc

Fix MD034 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-supply/README.md:4:1 MD034/no-bare-urls Bare URL used [Context: "https://github.com/openbmc/doc..."]
```
Refer to markdown-lint [1] to fix MD034
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/034-no-bare-urls.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I3b7451b50ae2ed3ba9d9374f869025f947e01ce2

show more ...

a6c6953405-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD033 warnings

The following warnings are generated by using markdownlint analysis:
```
README.md:67:24 MD033/no-inline-html Inline HTML [Element: driver]
README.md:67:33 MD033/no-inline-html In

Fix MD033 warnings

The following warnings are generated by using markdownlint analysis:
```
README.md:67:24 MD033/no-inline-html Inline HTML [Element: driver]
README.md:67:33 MD033/no-inline-html Inline HTML [Element: instance]
```
Refer to markdown-lint [1] to fix MD033
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/033-no-inline-html.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Ib9ede70d1b126910a702b829f8890084b5c3c1e0

show more ...

cde5b16c05-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 ...

6151c28605-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 ...


README.md
phosphor-power-sequencer/docs/config_file/config_file.md
phosphor-power-sequencer/docs/config_file/gpio.md
phosphor-power-sequencer/docs/config_file/rail.md
phosphor-regulators/docs/config_file/README.md
phosphor-regulators/docs/config_file/action.md
phosphor-regulators/docs/config_file/and.md
phosphor-regulators/docs/config_file/chassis.md
phosphor-regulators/docs/config_file/compare_presence.md
phosphor-regulators/docs/config_file/compare_vpd.md
phosphor-regulators/docs/config_file/config_file.md
phosphor-regulators/docs/config_file/configuration.md
phosphor-regulators/docs/config_file/device.md
phosphor-regulators/docs/config_file/i2c_capture_bytes.md
phosphor-regulators/docs/config_file/i2c_compare_bit.md
phosphor-regulators/docs/config_file/i2c_compare_byte.md
phosphor-regulators/docs/config_file/i2c_compare_bytes.md
phosphor-regulators/docs/config_file/i2c_interface.md
phosphor-regulators/docs/config_file/i2c_write_bit.md
phosphor-regulators/docs/config_file/i2c_write_byte.md
phosphor-regulators/docs/config_file/i2c_write_bytes.md
phosphor-regulators/docs/config_file/if.md
phosphor-regulators/docs/config_file/log_phase_fault.md
phosphor-regulators/docs/config_file/not.md
phosphor-regulators/docs/config_file/or.md
phosphor-regulators/docs/config_file/phase_fault_detection.md
phosphor-regulators/docs/config_file/pmbus_read_sensor.md
phosphor-regulators/docs/config_file/pmbus_write_vout_command.md
phosphor-regulators/docs/config_file/presence_detection.md
phosphor-regulators/docs/config_file/rail.md
phosphor-regulators/docs/config_file/rule.md
phosphor-regulators/docs/config_file/run_rule.md
phosphor-regulators/docs/config_file/sensor_monitoring.md
phosphor-regulators/docs/config_file/set_device.md
4afafc8a01-Aug-2024 Shawn McCarney <shawnmm@us.ibm.com>

regs: Document usage of new compatible intf

Update the phosphor-regulators configuration file documentation.
Explain how the new xyz.openbmc_project.Inventory.Decorator.Compatible
D-Bus interface is

regs: Document usage of new compatible intf

Update the phosphor-regulators configuration file documentation.
Explain how the new xyz.openbmc_project.Inventory.Decorator.Compatible
D-Bus interface is used to find the config file name.

The C++ changes to use the new D-Bus interface will be done in a
subsequent commit.

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

show more ...

b9d4fb7129-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 ...

768d226909-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 ...

dd6c366103-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 ...

9e70662217-Jun-2024 Shawn McCarney <shawnmm@us.ibm.com>

regulators: Initial BlueRidge config file

Create the initial voltage regulator JSON configuration file for
BlueRidge systems.

Tested:
* Ran JSON validation tool
* Set up BlueRidge simulation enviro

regulators: Initial BlueRidge config file

Create the initial voltage regulator JSON configuration file for
BlueRidge systems.

Tested:
* Ran JSON validation tool
* Set up BlueRidge simulation environment
* Verified regulators application found and loaded the file
* Powered chassis on and off and verified no errors were logged

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

show more ...

92420f2627-Jun-2024 Shawn McCarney <shawnmm@us.ibm.com>

regulators: Initial Fuji config file

Create the initial voltage regulator JSON configuration file for Fuji
systems.

Tested:
* Ran JSON validation tool
* Set up Fuji simulation environment
* Verifie

regulators: Initial Fuji config file

Create the initial voltage regulator JSON configuration file for Fuji
systems.

Tested:
* Ran JSON validation tool
* Set up Fuji simulation environment
* Verified regulators application found and loaded the file
* Powered chassis on and off and verified no errors were logged

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

show more ...

d1b8b1b028-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 ...


1f8b110321-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 ...

ce1aaddd27-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 ...

12345678910>>...33