History log of /openbmc/phosphor-bmc-code-mgmt/common/i2c/ (Results 1 – 6 of 6)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7f26589808-Jul-2025 Patrick Williams <patrick@stwcx.xyz>

meson: fix missing i2c header

Subproject builds result in the following compile error:
```
In file included from ../common/i2c/i2c.cpp:1:
../common/include/i2c/i2c.hpp:7:10: fatal error: sdbusplus/a

meson: fix missing i2c header

Subproject builds result in the following compile error:
```
In file included from ../common/i2c/i2c.cpp:1:
../common/include/i2c/i2c.hpp:7:10: fatal error: sdbusplus/async.hpp: No such file or directory
7 | #include <sdbusplus/async.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
```

Add the missing dependency in the common/i2c subdirectory.

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

show more ...


/openbmc/phosphor-bmc-code-mgmt/bios/meson.build
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/side-switch/meson.build
/openbmc/phosphor-bmc-code-mgmt/bmc/static/flash.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/test/README.md
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/meson.build
meson.build
/openbmc/phosphor-bmc-code-mgmt/common/include/utils.hpp
/openbmc/phosphor-bmc-code-mgmt/common/meson.build
/openbmc/phosphor-bmc-code-mgmt/common/pldm/pldm_package_util.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/utils.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/README.md
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_interface.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_interface.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/interface.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/lattice.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/lattice.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/meson.build
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device.cpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device.hpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/meson.build
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_device.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/isl69269/isl69269.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/isl69269/isl69269.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/meson.build
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/vr.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/vr.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
/openbmc/phosphor-bmc-code-mgmt/meson.build
37a3014312-Jun-2025 Daniel Hsu <Daniel-Hsu@quantatw.com>

common: i2c: Add non-coroutine sendReceive()

This commit introduces a non-coroutine version of `sendReceive()` in the
common I2C module. The new implementation avoids potential stack buffer
issues b

common: i2c: Add non-coroutine sendReceive()

This commit introduces a non-coroutine version of `sendReceive()` in the
common I2C module. The new implementation avoids potential stack buffer
issues by ensuring synchronous execution.

Change-Id: I1d308f24fafa6e0d68ffcc67073e0a2e67a6b419
Signed-off-by: Daniel Hsu <Daniel-Hsu@quantatw.com>

show more ...

bd5081f004-Jun-2025 Alexander Hansen <alexander.hansen@9elements.com>

clang-tidy: remove some NOLINTS

Since readability-static-accessed-through-instance check has been
disabled in [1], the NOLINTs can be removed.

References:

[1] https://gerrit.openbmc.org/c/openbmc/

clang-tidy: remove some NOLINTS

Since readability-static-accessed-through-instance check has been
disabled in [1], the NOLINTs can be removed.

References:

[1] https://gerrit.openbmc.org/c/openbmc/phosphor-bmc-code-mgmt/+/80392

Change-Id: If7e80a0bc447bfbd054b6c007d230c2d14a54f41
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>

show more ...

f6470b5e26-Feb-2025 Daniel Hsu <Daniel-Hsu@quantatw.com>

fw-update: cpld code updater

This commit introduces a code updater for CPLD.
The Key features of this updater include:
- configuring chip vendor and name
- update CPLD through I2C

1. Display the fw

fw-update: cpld code updater

This commit introduces a code updater for CPLD.
The Key features of this updater include:
- configuring chip vendor and name
- update CPLD through I2C

1. Display the fw inventory
curl ... -X GET
https://localhost/redfish/v1/UpdateService/FirmwareInventory
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
"@odata.type":
"#SoftwareInventoryCollection.SoftwareInventoryCollection",
"Members": [
...
{
"@odata.id": ".../LCMXO3LF_4300C_6194"
},
...
],
"Members@odata.count": 26,
"Name": "Software Inventory Collection"
}

2. Query CPLD version
curl ... -X GET
https://localhost/redfish/v1
/UpdateService/FirmwareInventory/LCMXO3LF_4300C_6194
{
"@odata.id": "/.../LCMXO3LF_4300C_6194",
"@odata.type":
"#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Unknown image",
"Id": "LCMXO3LF_4300C_6194",
"Name": "Software Inventory",
"Status": {
"Health": "Warning",
"HealthRollup": "OK",
"State": "Disabled"
},
"Updateable": false,
"Version": "00000220"
}

3. Trigger the fw update via redfish
curl -k
-H "X-Auth-Token: $token"
-H "Content-Type:multipart/form-data"
-X POST
-F UpdateParameters="{\"Targets\":
[\"/redfish/v1/UpdateService/FirmwareInventory/LCMXO3LF_4300C_6194\"],
\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json"
-F "UpdateFile=@testcpld.pldm;type=application/octet-stream"
https://${bmc}/redfish/v1/UpdateService/update
{
"@odata.id": "/redfish/v1/TaskService/Tasks/0",
"@odata.type": "#Task.v1_4_3.Task",
"Id": "0",
"TaskState": "Running",
"TaskStatus": "OK"
}

4. Query Task status
curl ... -X GET
https://localhost/redfish/v1/TaskService/Tasks/0
{
"@odata.id": "/redfish/v1/TaskService/Tasks/0",
"@odata.type": "#Task.v1_4_3.Task",
"EndTime": "2025-05-28T08:10:22+00:00",
"HidePayload": false,
"Id": "0",
"Messages": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The task with Id '0' has started.",
"MessageArgs": [
"0"
],
"MessageId": "TaskEvent.1.0.TaskStarted",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 15 percent complete.",
"MessageArgs": [
"0",
"15"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 20 percent complete.",
"MessageArgs": [
"0",
"20"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 25 percent complete.",
"MessageArgs": [
"0",
"25"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 30 percent complete.",
"MessageArgs": [
"0",
"30"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 40 percent complete.",
"MessageArgs": [
"0",
"40"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 50 percent complete.",
"MessageArgs": [
"0",
"50"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 60 percent complete.",
"MessageArgs": [
"0",
"60"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 70 percent complete.",
"MessageArgs": [
"0",
"70"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 80 percent complete.",
"MessageArgs": [
"0",
"80"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 90 percent complete.",
"MessageArgs": [
"0",
"90"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "... progress 100 percent complete.",
"MessageArgs": [
"0",
"100"
],
"MessageId": "TaskEvent.1.0.TaskProgressChanged",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The task with Id '0' has completed.",
"MessageArgs": [
"0"
],
"MessageId": "TaskEvent.1.0.TaskCompletedOK",
"MessageSeverity": "OK",
"Resolution": "None."
}
],
"Name": "Task 0",
"Payload": {
"HttpHeaders": [],
"HttpOperation": "POST",
"JsonBody": "null",
"TargetUri": "/redfish/v1/UpdateService/update"
},
"PercentComplete": 100,
"StartTime": "2025-05-28T08:10:06+00:00",
"TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0",
"TaskState": "Completed",
"TaskStatus": "OK"
}

5. Display the fw inventory with newly updated fw.
curl ... -X GET
https://localhost/redfish/v1/UpdateService/FirmwareInventory
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
"@odata.type":
"#SoftwareInventoryCollection.SoftwareInventoryCollection",
"Members": [
...
{
"@odata.id": ".../LCMXO3LF_4300C_1571"
},
...
],
"Members@odata.count": 26,
"Name": "Software Inventory Collection"
}

6. Query CPLD version again
After AC cycle ..., so the number would be different.
curl ... -X GET
https://localhost/redfish/v1
/UpdateService/FirmwareInventory/LCMXO3LF_4300C_4643
{
"@odata.id": "/.../LCMXO3LF_4300C_4643",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Unknown image",
"Id": "LCMXO3LF_4300C_4643",
"Name": "Software Inventory",
"Status": {
"Health": "Warning",
"HealthRollup": "OK",
"State": "Disabled"
},
"Updateable": false,
"Version": "00000224"
}

Change-Id: Ife8e30a00bfbb307e6e4eb55838a397c8a8162bd
Signed-off-by: Daniel Hsu <Daniel-Hsu@quantatw.com>

show more ...


/openbmc/phosphor-bmc-code-mgmt/.clang-tidy
/openbmc/phosphor-bmc-code-mgmt/bios/bios_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater_helper.hpp
i2c.cpp
/openbmc/phosphor-bmc-code-mgmt/common/include/device.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/common/src/software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/README.md
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_interface.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_interface.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/cpld_software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/interface.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/interface.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/lattice.cpp
/openbmc/phosphor-bmc-code-mgmt/cpld/lattice/lattice.hpp
/openbmc/phosphor-bmc-code-mgmt/cpld/meson.build
/openbmc/phosphor-bmc-code-mgmt/cpld/xyz.openbmc_project.Software.CPLD.service
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/README.md
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device.cpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device.hpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device_software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device_version.cpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/eeprom_device_version.hpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/meson.build
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/pt5161l/pt5161l.cpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/pt5161l/pt5161l.hpp
/openbmc/phosphor-bmc-code-mgmt/eeprom-device/xyz.openbmc_project.Software.EEPROMDevice.service
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xyz.openbmc_project.Software.I2CVR.service
/openbmc/phosphor-bmc-code-mgmt/meson.build
/openbmc/phosphor-bmc-code-mgmt/meson.options
26d3748329-Apr-2025 Christopher Meis <christopher.meis@9elements.com>

fix: i2cvr-software-update meson.build cleanup for i2c dependency

Change-Id: Ie2f004bcdf672a850888aa089f12ede402f1ed24
Signed-off-by: Christopher Meis <christopher.meis@9elements.com>

7e446a4022-Oct-2024 Christopher Meis <christopher.meis@9elements.com>

Add i2c voltage regulator updater

- /i2c-vr: Classes following the design in [1]
- /i2c-vr/vr.cpp, vr.hpp: General representation of a voltage regulators
communication interface
- /vr-i2c/xdpe1x2x

Add i2c voltage regulator updater

- /i2c-vr: Classes following the design in [1]
- /i2c-vr/vr.cpp, vr.hpp: General representation of a voltage regulators
communication interface
- /vr-i2c/xdpe1x2xx: Support for Infineon XDPE1x2xx class of voltage
regulators
- /common/i2c/: Basic I2C communication interface

The configuration of a voltage regulator relies on the EM-Schema in [2]

1: https://github.com/openbmc/docs/blob/master/designs/code-update.md
2: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/77463

Tested on QEMU/Yosemite4:

1. Display the firmware inventory
```
curl --insecure --user root:0penBmc \
https://127.0.0.1:2443/redfish/v1/UpdateService/FirmwareInventory
```

Output:
```
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
"@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
"Members": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/16bae6fd"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/DummyDeviceFirmwareName_6637"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Management_Board_cpld"
},
{...}
```

2. Query voltage regulator version

The dummy device sets the default version to 0xBEEF (Decimal: 48879)
```
curl --insecure --user root:0penBmc \
https://127.0.0.1:2443/redfish/v1/UpdateService/FirmwareInventory/
DummyDeviceFirmwareName_4390
```

Output:
```
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/DummyDeviceFirmwareName_4390",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Other image",
"Id": "DummyDeviceFirmwareName_4390",
"Name": "Software Inventory",
"Status": {
"Health": "Warning",
"HealthRollup": "OK",
"State": "Disabled"
},
"Updateable": false,
"Version": "48879"
}
```

3. Trigger the update
```
curl -k --insecure --user root:0penBmc \
-H "Content-Type:multipart/form-data" \
-X POST \
-F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/DummyDeviceFirmwareName_4390\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" \
-F "UpdateFile=@fw_vr_update.bin;type=application/octet-stream" \
https://127.0.0.1:2443/redfish/v1/UpdateService/update
```

4. Task is returned
```
{
"@odata.id": "/redfish/v1/TaskService/Tasks/0",
"@odata.type": "#Task.v1_4_3.Task",
"Id": "0",
"TaskState": "Running",
"TaskStatus": "OK"
}
```
5. Query the task
```
curl --insecure --user root:0penBmc \
https://127.0.0.1:2443/redfish/v1/TaskService/Tasks/0
```

Output:
```
{
"@odata.id": "/redfish/v1/TaskService/Tasks/0",
"@odata.type": "#Task.v1_4_3.Task",
"EndTime": "2025-03-10T13:47:34+00:00",
"HidePayload": false,
"Id": "0",
"Messages": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The task with Id '0' has started.",
"MessageArgs": [
"0"
],
"MessageId": "TaskEvent.1.0.TaskStarted",
"MessageSeverity": "OK",
"Resolution": "None."
},
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The task with Id '0' has completed.",
"MessageArgs": [
"0"
],
"MessageId": "TaskEvent.1.0.TaskCompletedOK",
"MessageSeverity": "OK",
"Resolution": "None."
}
],
"Name": "Task 0",
"Payload": {
"HttpHeaders": [],
"HttpOperation": "POST",
"JsonBody": "null",
"TargetUri": "/redfish/v1/UpdateService/update"
},
"PercentComplete": 0,
"StartTime": "2025-03-10T13:47:34+00:00",
"TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0",
"TaskState": "Completed",
"TaskStatus": "OK"
}
```

6. Display fw inventory after update
```
curl --insecure --user root:0penBmc \
https://127.0.0.1:2443/redfish/v1/UpdateService/FirmwareInventory
```

Output:
```
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
"@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
"Members": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/16bae6fd"
},
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/DummyDeviceFirmwareName_282"
},
{...}
}
```

7. Query the new fw version.

The version is 'mycompversion' since that's what has been set in the
pldm fw update package for testing.

```
curl --insecure --user root:0penBmc \
https://127.0.0.1:2443/redfish/v1/UpdateService/FirmwareInventory/
DummyDeviceFirmwareName_282
```

Output:
```
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/DummyDeviceFirmwareName_282",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Other image",
"Id": "DummyDeviceFirmwareName_282",
"Name": "Software Inventory",
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
},
"Updateable": false,
"Version": "mycompversion"
}
```

8. Update in progress error

```
curl -k --insecure --user root:0penBmc \
-H "Content-Type:multipart/form-data" \
-X POST \
-F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/${TARGET}\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json" \
-F "UpdateFile=@${FWPATH};type=application/octet-stream" \
https://127.0.0.1:2443/redfish/v1/UpdateService/update
```

Output:
```
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The request failed due to an internal service error. The service is still operational.",
"MessageArgs": [],
"MessageId": "Base.1.19.InternalError",
"MessageSeverity": "Critical",
"Resolution": "Resubmit the request. If the problem persists, consider resetting the service."
}
],
"code": "Base.1.19.InternalError",
"message": "The request failed due to an internal service error. The service is still operational."
}
```

Change-Id: I2e11a6c10ae40ed7719ceb86dfd6a38dd5b27017
Signed-off-by: Christopher Meis <christopher.meis@9elements.com>

show more ...


/openbmc/phosphor-bmc-code-mgmt/.clang-format
/openbmc/phosphor-bmc-code-mgmt/.clang-tidy
/openbmc/phosphor-bmc-code-mgmt/.gitignore
/openbmc/phosphor-bmc-code-mgmt/.shellcheck
/openbmc/phosphor-bmc-code-mgmt/LICENSE
/openbmc/phosphor-bmc-code-mgmt/OWNERS
/openbmc/phosphor-bmc-code-mgmt/README.md
/openbmc/phosphor-bmc-code-mgmt/bios/README.md
/openbmc/phosphor-bmc-code-mgmt/bios/bios_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/bios_software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bios/main.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/meson.build
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.cpp
/openbmc/phosphor-bmc-code-mgmt/bios/spi_device.hpp
/openbmc/phosphor-bmc-code-mgmt/bios/xyz.openbmc_project.Software.BIOS.service
/openbmc/phosphor-bmc-code-mgmt/bmc/activation.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/activation.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/detect-slot-aspeed
/openbmc/phosphor-bmc-code-mgmt/bmc/download_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/download_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/download_manager_main.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/flash.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/force-reboot.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/gen-bios-tar
/openbmc/phosphor-bmc-code-mgmt/bmc/image_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/image_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/image_manager_main.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/image_verify.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/image_verify.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/images.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/images.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater_helper.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/item_updater_main.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/meson.build
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/flash.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/item_updater_helper.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc-mirroruboot.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc-mount.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc-remove@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc-setprimary@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc-umount.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/mmc/obmc-flash-mmc@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/msl_verify.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/msl_verify.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/obmc-flash-bmc
/openbmc/phosphor-bmc-code-mgmt/bmc/obmc-flash-bmc-setenv@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/obmc-flash-host-bios@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/openssl_alloc.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/openssl_alloc.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/reboot-guard-disable.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/reboot-guard-enable.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/reset-cs0-aspeed
/openbmc/phosphor-bmc-code-mgmt/bmc/serialize.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/serialize.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/side-switch/meson.build
/openbmc/phosphor-bmc-code-mgmt/bmc/side-switch/phosphor-bmc-side-switch.service
/openbmc/phosphor-bmc-code-mgmt/bmc/side-switch/side_switch.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/side-switch/side_switch.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/software.conf
/openbmc/phosphor-bmc-code-mgmt/bmc/software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/software_utils.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/software_utils.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/static/flash.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/static/item_updater_helper.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/static/obmc-flash-bmc-alt@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/static/obmc-flash-bmc-prepare-for-sync.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/static/obmc-flash-bmc-static-mount-alt.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/sync-once.sh
/openbmc/phosphor-bmc-code-mgmt/bmc/sync_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/sync_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/sync_manager_main.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/sync_watch.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/sync_watch.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/synclist
/openbmc/phosphor-bmc-code-mgmt/bmc/test/README.md
/openbmc/phosphor-bmc-code-mgmt/bmc/test/utest.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/flash.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/item_updater_helper.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-cleanup.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-mirroruboot.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-ubiremount.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-ubiro-remove@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-ubiro@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-ubirw-remove.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-ubirw.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/ubi/obmc-flash-bmc-updateubootvars@.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/update_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/update_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/70-bmc-usb.rules
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/meson.build
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/services/usb-code-update@.service
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/usb_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/usb_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/usb/usb_manager_main.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/usr-local.mount.in
/openbmc/phosphor-bmc-code-mgmt/bmc/utils.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/utils.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/version.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/version.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/watch.cpp
/openbmc/phosphor-bmc-code-mgmt/bmc/watch.hpp
/openbmc/phosphor-bmc-code-mgmt/bmc/xyz.openbmc_project.Software.BMC.Updater.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/xyz.openbmc_project.Software.Download.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/xyz.openbmc_project.Software.Manager.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/xyz.openbmc_project.Software.Sync.service.in
/openbmc/phosphor-bmc-code-mgmt/bmc/xyz.openbmc_project.Software.Version.service.in
/openbmc/phosphor-bmc-code-mgmt/common/README.md
i2c.cpp
meson.build
/openbmc/phosphor-bmc-code-mgmt/common/include/NotifyWatch.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/dbus_helper.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/device.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/host_power.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/i2c/i2c.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/software.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/software_config.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/common/include/software_update.hpp
/openbmc/phosphor-bmc-code-mgmt/common/meson.build
/openbmc/phosphor-bmc-code-mgmt/common/pldm/meson.build
/openbmc/phosphor-bmc-code-mgmt/common/pldm/package_parser.cpp
/openbmc/phosphor-bmc-code-mgmt/common/pldm/package_parser.hpp
/openbmc/phosphor-bmc-code-mgmt/common/pldm/pldm_package_util.cpp
/openbmc/phosphor-bmc-code-mgmt/common/pldm/pldm_package_util.hpp
/openbmc/phosphor-bmc-code-mgmt/common/pldm/types.hpp
/openbmc/phosphor-bmc-code-mgmt/common/src/device.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/host_power.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/software.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/software_config.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/common/src/software_update.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/README.md
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_device.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_device.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_software_manager.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/i2cvr_software_manager.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/meson.build
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/vr.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/vr.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
/openbmc/phosphor-bmc-code-mgmt/i2c-vr/xyz.openbmc_project.Software.I2CVR.service
/openbmc/phosphor-bmc-code-mgmt/meson.build
/openbmc/phosphor-bmc-code-mgmt/meson.options
/openbmc/phosphor-bmc-code-mgmt/subprojects/CLI11.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/boost.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/cereal.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/libgpiod.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/libpldm.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/packagefiles/boost/meson.build
/openbmc/phosphor-bmc-code-mgmt/subprojects/phosphor-dbus-interfaces.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/phosphor-logging.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/sdbusplus.wrap
/openbmc/phosphor-bmc-code-mgmt/subprojects/sdeventplus.wrap
/openbmc/phosphor-bmc-code-mgmt/test/common/exampledevice/example_device.cpp
/openbmc/phosphor-bmc-code-mgmt/test/common/exampledevice/example_device.hpp
/openbmc/phosphor-bmc-code-mgmt/test/common/exampledevice/example_updater_main.cpp
/openbmc/phosphor-bmc-code-mgmt/test/common/exampledevice/meson.build
/openbmc/phosphor-bmc-code-mgmt/test/common/meson.build
/openbmc/phosphor-bmc-code-mgmt/test/create_package/component_image_info_area.cpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/component_image_info_area.hpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/create_pldm_fw_package.cpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/create_pldm_fw_package.hpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/firmware_device_id_area.cpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/firmware_device_id_area.hpp
/openbmc/phosphor-bmc-code-mgmt/test/create_package/meson.build
/openbmc/phosphor-bmc-code-mgmt/test/meson.build