#
86a2fd04
|
| 20-Aug-2025 |
cchoux <cosmo.chou@quantatw.com> |
i2c-vr: add RAA22X Gen2 support
Extend ISL69269 to support Renesas Gen2 VR devices which share similar programming interfaces but use slightly different registers.
Tested: ``` 1. Check firmware inf
i2c-vr: add RAA22X Gen2 support
Extend ISL69269 to support Renesas Gen2 VR devices which share similar programming interfaces but use slightly different registers.
Tested: ``` 1. Check firmware info: (current version 5FFB1D09) ~$ curl -k -u root:0penBmc -X GET https://10.2.230.66/redfish/v1/UpdateService/FirmwareInventory/Catalina_PDB_vr_n1_8217 { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Catalina_PDB_vr_n1_8217", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Catalina_PDB_vr_n1_8217", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "5FFB1D09" }
2. Trigger Update: (update to version C001A89C) ~$ curl -k -u root:0penBmc \ -H "Content-Type:multipart/form-data" \ -X POST \ -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/Catalina_PDB_vr_n1_8217\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" \ -F "UpdateFile=@catalina-raa-n1_C001A89C.pldm;type=application/octet-stream" \ https://10.2.230.66/redfish/v1/UpdateService/update-multipart { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "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." } ], "Name": "Task 0", "Payload": { "HttpHeaders": [], "HttpOperation": "POST", "TargetUri": "/redfish/v1/UpdateService/update-multipart" }, "PercentComplete": 0, "StartTime": "2025-09-17T17:15:50+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Running", "TaskStatus": "OK" }
3. After AC cycle check firmware info again: ~$ curl -k -u root:0penBmc -X GET https://10.2.230.66/redfish/v1/UpdateService/FirmwareInventory/Catalina_PDB_vr_n1_332 { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Catalina_PDB_vr_n1_332", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Catalina_PDB_vr_n1_332", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "C001A89C" } ```
Change-Id: Idd8e3d147a0191b45f465508e13b4ac0bc94e92a Signed-off-by: Cosmo Chou <cosmo.chou@quantatw.com>
show more ...
|
#
3f2f3e6a
|
| 15-Aug-2025 |
Kevin Tung <Kevin.Tung@quantatw.com> |
i2c-vr: add support for MPS MP297X VR firmware update over I2C
This commit introduces support for programming MPS MP297X VR devices over the I2C bus. It enables firmware updates for VR models such a
i2c-vr: add support for MPS MP297X VR firmware update over I2C
This commit introduces support for programming MPS MP297X VR devices over the I2C bus. It enables firmware updates for VR models such as MP2971 and MP2973. Support for the MP297XFirmware type in EM was added in [1].
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/82949
Tested on the Santabarbara platform:
1. Display the fw inventory ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_8614" }, {...} ], "Members@odata.count": 15, "Name": "Software Inventory Collection" } ```
2. Query version. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_8614 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_8614", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_PEX0_8614", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "30EA058B" } ```
3. Trigger the fw update via redfish. ``` curl -k ${creds} \ -H "Content-Type:multipart/form-data" \ -X POST \ -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_8614\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" \ -F "UpdateFile=@${fwpath};type=application/octet-stream" \ https://${bmc}/redfish/v1/UpdateService/update-multipart ```
4. Task is returned ``` { "@odata.id": "/redfish/v1/TaskService/Tasks/1", "@odata.type": "#Task.v1_4_3.Task", "HidePayload": false, "Id": "1", "Messages": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has started.", "MessageArgs": [ "1" ], "MessageId": "TaskEvent.1.0.TaskStarted", "MessageSeverity": "OK", "Resolution": "None." } ], "Name": "Task 1", "Payload": { "HttpHeaders": [], "HttpOperation": "POST", "TargetUri": "/redfish/v1/UpdateService/update-multipart" }, "PercentComplete": 0, "StartTime": "2025-08-20T01:51:20+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/1", "TaskState": "Running", "TaskStatus": "OK" } ```
5. Query Task status ``` curl --silent $creds https://$bmc/redfish/v1/TaskService/Tasks/1 ```
``` { "@odata.id": "/redfish/v1/TaskService/Tasks/1", "@odata.type": "#Task.v1_4_3.Task", "EndTime": "2025-08-20T01:51:24+00:00", "HidePayload": false, "Id": "1", "Messages": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has started.", "MessageArgs": [ "1" ], "MessageId": "TaskEvent.1.0.TaskStarted", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has changed to progress 50 percent complete.", "MessageArgs": [ "1", "50" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has changed to progress 80 percent complete.", "MessageArgs": [ "1", "80" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has changed to progress 100 percent complete.", "MessageArgs": [ "1", "100" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '1' has completed.", "MessageArgs": [ "1" ], "MessageId": "TaskEvent.1.0.TaskCompletedOK", "MessageSeverity": "OK", "Resolution": "None." } ], "Name": "Task 1", "Payload": { "HttpHeaders": [], "HttpOperation": "POST", "JsonBody": "null", "TargetUri": "/redfish/v1/UpdateService/update-multipart" }, "PercentComplete": 100, "StartTime": "2025-08-20T01:51:20+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/1", "TaskState": "Completed", "TaskStatus": "OK" } ```
6. Display the fw inventory with newly updated fw. ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_272" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_8614" }, {...} ], "Members@odata.count": 16, "Name": "Software Inventory Collection" } ```
7. Query the new fw version. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_272 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_272", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_PEX0_272", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": false, "Version": "E68829FD" } ```
8. Do AC cycle to make sure the new fw is applied. ``` busctl set-property xyz.openbmc_project.State.Chassis0 /xyz/openbmc_project/state/chassis0 \ xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.PowerCycle ```
9. Display the fw inventory after AC cycle. ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_3790" }, {...} ], "Members@odata.count": 15, "Name": "Software Inventory Collection" } ```
10. Query the fw version after AC cycle. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_3790 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_PEX0_3790", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_PEX0_3790", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "E68829FD" } ```
Change-Id: I0162bf6335ec673dd8c2a1cfb358c4c2a010570e Signed-off-by: Kevin Tung <kevin.tung.openbmc@gmail.com>
show more ...
|
#
dcf4b607
|
| 04-Jul-2025 |
Kevin Tung <Kevin.Tung@quantatw.com> |
i2c-vr: add support for MPS MP2X6XX VR firmware update over I2C
This commit introduces support for programming MPS MP2X6XX VR devices over the I2C bus. It enables firmware updates for VR models such
i2c-vr: add support for MPS MP2X6XX VR firmware update over I2C
This commit introduces support for programming MPS MP2X6XX VR devices over the I2C bus. It enables firmware updates for VR models such as MP2869(A), MP29612(A), and MP29608(A). Support for the MP2X6XXFirmware type in EM was added in [1].
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/82575
Tested on the Santabarbara platform:
1. Display the fw inventory ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_4228" }, {...} ], "Members@odata.count": 13, "Name": "Software Inventory Collection" } ```
2. Query version. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_4228 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_4228", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_CPU1_4228", "Name": "Software Inventory", "Status": { "Health": "Warning", "HealthRollup": "OK", "State": "Disabled" }, "Updateable": true, "Version": "1F88" } ```
3. Trigger the fw update via redfish. ``` curl -k ${creds} \ -H "Content-Type:multipart/form-data" \ -X POST \ -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_4228\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" \ -F "UpdateFile=@${fwpath};type=application/octet-stream" \ https://${bmc}/redfish/v1/UpdateService/update-multipart ```
4. Task is returned ``` { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "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." } ], "Name": "Task 0", "Payload": { "HttpHeaders": [], "HttpOperation": "POST", "TargetUri": "/redfish/v1/UpdateService/update-multipart" }, "PercentComplete": 0, "StartTime": "2025-07-29T08:51:41+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Running", "TaskStatus": "OK" } ```
5. Query Task status ``` curl --silent $creds https://$bmc/redfish/v1/TaskService/Tasks/0 ```
``` { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task", "EndTime": "2025-07-29T08:51:46+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 changed to progress 20 percent complete.", "MessageArgs": [ "0", "20" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has changed to progress 50 percent complete.", "MessageArgs": [ "0", "50" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has changed to progress 80 percent complete.", "MessageArgs": [ "0", "80" ], "MessageId": "TaskEvent.1.0.TaskProgressChanged", "MessageSeverity": "OK", "Resolution": "None." }, { "@odata.type": "#Message.v1_1_1.Message", "Message": "The task with Id '0' has changed to 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-multipart" }, "PercentComplete": 100, "StartTime": "2025-07-29T08:51:41+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Completed", "TaskStatus": "OK" } ```
6. Display the fw inventory with newly updated fw. ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_4228" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_5453" }, {...} ], "Members@odata.count": 14, "Name": "Software Inventory Collection" } ```
7. Query the new fw version. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_5453 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_5453", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_CPU1_5453", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": false, "Version": "42C3" } ```
8. Do AC cycle to make sure the new fw is applied. ``` busctl set-property xyz.openbmc_project.State.Chassis0 /xyz/openbmc_project/state/chassis0 \ xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.PowerCycle ```
9. Display the fw inventory after AC cycle. ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Members": [ {...}, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_2249" }, {...} ], "Members@odata.count": 13, "Name": "Software Inventory Collection" } ```
10. Query the fw version after AC cycle. ``` curl $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_2249 ```
``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Santabarbara_MB_VR_CPU1_2249", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Santabarbara_MB_VR_CPU1_2249", "Name": "Software Inventory", "Status": { "Health": "Warning", "HealthRollup": "OK", "State": "Disabled" }, "Updateable": true, "Version": "42C3" } ```
Change-Id: Ifa6fdd79f5d087adb6037e0043897fa6199ae097 Signed-off-by: Kevin Tung <Kevin.Tung@quantatw.com>
show more ...
|
#
ee551174
|
| 22-Aug-2025 |
Kevin Tung <kevin.tung@quantatw.com> |
i2cvr: restrict apply time to OnReset
Applying VR firmware updates with Immediate ApplyTime may trigger power fluctuations in a running system and lead to unstable or abnormal behavior. To ensure sa
i2cvr: restrict apply time to OnReset
Applying VR firmware updates with Immediate ApplyTime may trigger power fluctuations in a running system and lead to unstable or abnormal behavior. To ensure safe updates, the ApplyTime for VR devices is restricted to OnReset. This guarantees updates occur only during a system reset, when power rails are stable.
Change-Id: If7e4bc5d8fb5bb187b3baacd9e6f782f41738bcd Signed-off-by: Kevin Tung <kevin.tung.openbmc@gmail.com>
show more ...
|
#
2e168dba
|
| 08-Sep-2025 |
Daniel Hsu <Daniel-Hsu@quantatw.com> |
All: add purpose parameter to setVersion calls
All calls to setVersion now include a purpose argument, changing the purpose string from "unknown" to "other".
Change-Id: I201db1719333b51deead2dd99c9
All: add purpose parameter to setVersion calls
All calls to setVersion now include a purpose argument, changing the purpose string from "unknown" to "other".
Change-Id: I201db1719333b51deead2dd99c9f637c782efd6c Signed-off-by: Daniel Hsu <Daniel-Hsu@quantatw.com>
show more ...
|
#
466c66a3
|
| 16-Jul-2025 |
Kevin Tung <Kevin.Tung@quantatw.com> |
i2c-vr: use hexadecimal format for version instead of decimal
Testd on Harma: ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Harma_MB_VR_cpu0_pvdd11_7313 ``` ``` {
i2c-vr: use hexadecimal format for version instead of decimal
Testd on Harma: ``` curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Harma_MB_VR_cpu0_pvdd11_7313 ``` ``` { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Harma_MB_VR_cpu0_pvdd11_7313", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Unknown image", "Id": "Harma_MB_VR_cpu0_pvdd11_7313", "Name": "Software Inventory", "Status": { "Health": "Warning", "HealthRollup": "OK", "State": "Disabled" }, "Updateable": true, "Version": "EA79EAEE" } ```
Change-Id: Ic7aa4216b8b27159a76af0c5116b784543c1f46b Signed-off-by: Kevin Tung <kevin.wtmh@gmail.com>
show more ...
|
#
f00ce80e
|
| 08-Apr-2025 |
Christopher Meis <christopher.meis@9elements.com> |
Add ISL69269 Voltage Regulator support
The configuration of the voltage regulator relies on the EM-Schema[1]
1: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/79823
Tested: ``` <7> Requesti
Add ISL69269 Voltage Regulator support
The configuration of the voltage regulator relies on the EM-Schema[1]
1: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/79823
Tested: ``` <7> Requesting Image update with 10 <7> started asynchronous update with fd 10 <7> starting async update with FD: 11
<7> Harme_MB_VR_CPU0_VCORE0_5813: created dbus interfaces on path /xyz/openbmc_project/software/Harme_MB_VR_CPU0_VCORE0_5813 <7> starting the async update with memfd 11 <7> open fd 11 <7> file size: 7646 <7> parsing package header <7> parsing package, pkg header size: 152 <7> Harme_MB_VR_CPU0_VCORE0_5813: set version 99A5A351 <7> device id from configuration: 0x49d29b00 <7> device revision from config: 0x7000000 <7> Production hex file format recognized <7> Config ID: 0 <7> Config Production CRC: 0x99a5a351 <7> Device revision read from device: 0x6000100 <7> Production mode revision checks out <6> Successfully updated VR Harme_MB_VR_CPU0_VCORE0 <7> Default implementation for device reset <7> Harme_MB_VR_CPU0_VCORE0_5813: setting association definitions <7> inventory item at path /xyz/openbmc_project/inventory/system/board/BMC_Storage_Module <7> inventory item at path /xyz/openbmc_project/inventory/system/board/CB <7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_Fan_Board_0 <7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_Fan_Board_1 <7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_MB <7> found associated inventory item for Harme_MB_VR_CPU0_VCORE0: /xyz/openbmc_project/inventory/system/board/Harma_MB <7> Harme_MB_VR_CPU0_VCORE0_5813: creating 'running' association to /xyz/openbmc_project/inventory/system/board/Harma_MB <7> [Software] enabling update of /xyz/openbmc_project/software/Harme_MB_VR_CPU0_VCORE0_5813 (adding the update interface) <7> Successfully updated to software version Harme_MB_VR_CPU0_VCORE0_5813 ```
Change-Id: Ia7d7b19066cd2a55748eeffacc18e7d6c78ca797 Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
show more ...
|
#
bd5081f0
|
| 04-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 ...
|
#
7e446a40
|
| 22-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 ...
|