| commit | c1b36628298d7799677680e70d455f85acf83650 | [log] [tgz] |
|---|---|---|
| author | Leo Yang <Leo-Yang@quantatw.com> | Tue Oct 28 10:39:55 2025 +0800 |
| committer | Jagpal S Gill <paligill@gmail.com> | Wed Nov 12 02:19:29 2025 +0000 |
| tree | ab4a0f7fe32c4bc7360633d93a4afb9e25737ea6 | |
| parent | f53466770f7fdbb764232992e31797590ff1a42b [diff] |
i2c-vr: add support for Infineon TDA38640A VR firmware update over I2C This commit introduces support for programming Infineon TDA38640A VR devices over the I2C bus. It enables firmware updates for TDA38640A. Related commit: EM(Merged): [1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/84725 Schema(Merged): [2] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/84724 PDI(Merged) : [3] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/84412 Tested on the Yosemite5 platform. ``` $ target=$(curl -k ${creds} --silent -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/ | jq -r '.Members[] | select(.["@odata.id"] | contains("MB_VR_PVDD18")) | .["@odata.id"]') $ curl -k ${creds} -X GET https://${bmc}${target} { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Yosemite5_MB_VR_PVDD18_S5_7939", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Other image", "Id": "Yosemite5_MB_VR_PVDD18_S5_7939", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "5E281514" $ fwpath="/media/leo/data/yv5/mb_vr_sni/yosemite5-mb-vr-pvdd18-s5-B651B567.pldm" $ curl -k ${creds} \ -H "Content-Type:multipart/form-data" \ -X POST \ -F UpdateParameters="{\"Targets\":[\"${target}\"],\"@Redfish.OperationApplyTime\":\"OnReset\"};type=application/json" \ -F "UpdateFile=@${fwpath};type=application/octet-stream" \ https://${bmc}/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-11-04T06:51:04+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Running", "TaskStatus": "OK" } $ ========== ac cycle ========== $ target=$(curl -k ${creds} --silent -X GET https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/ | jq -r '.Members[] | select(.["@odata.id"] | contains("MB_VR_PVDD18")) | .["@odata.id"]') $ curl -k ${creds} -X GET https://${bmc}${target} { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Yosemite5_MB_VR_PVDD18_S5_5761", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Other image", "Id": "Yosemite5_MB_VR_PVDD18_S5_5761", "Name": "Software Inventory", "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": true, "Version": "B651B567" } ``` Change-Id: I69fc2e3b83f56836aceff4e8b24dc85448f7c7ff Signed-off-by: Leo Yang <Leo-Yang@quantatw.com>
Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture
To build this package, do the following steps:
meson buildninja -C buildTo clean the repository run rm -r build.