History log of /openbmc/phosphor-bmc-code-mgmt/tpm/ (Results 1 – 1 of 1)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c538727d28-Jul-2025 Kevin Tung <kevin.tung@quantatw.com>

TPM code updater

This commit introduces a TPM code updater that currently supports
reading the firmware version for both Infineon and Nuvoton TPM 2.0.
Support for firmware updates will be introduced

TPM code updater

This commit introduces a TPM code updater that currently supports
reading the firmware version for both Infineon and Nuvoton TPM 2.0.
Support for firmware updates will be introduced in a future patch.

The updater's configuration are managed by the EM [1].
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/82416

Tested on Yosemite5 with the following steps:

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/Yosemite5_TPM_4945"
},
{...}
],
"Members@odata.count": 4,
"Name": "Software Inventory Collection"
}
```

2. Query TPM version:
```
curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/Yosemite5_TPM_4945
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Yosemite5_TPM_4945",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "Unknown image",
"Id": "Yosemite5_TPM_4945",
"Name": "Software Inventory",
"Status": {
"Health": "Warning",
"HealthRollup": "OK",
"State": "Disabled"
},
"Updateable": false,
"Version": "15.23"
}
```

Change-Id: I42568242356d55fe005ba1f41ddf8aaf9f682fc8
Signed-off-by: Kevin Tung <kevin.tung.openbmc@gmail.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
/openbmc/phosphor-bmc-code-mgmt/common/i2c/i2c.cpp
/openbmc/phosphor-bmc-code-mgmt/common/i2c/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/include/utils.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/common/src/utils.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/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/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/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/common/software/meson.build
/openbmc/phosphor-bmc-code-mgmt/test/common/software/software_config.cpp
/openbmc/phosphor-bmc-code-mgmt/test/common/software/software_get_random_softwareid.cpp
/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
README.md
meson.build
tpm2/tpm2.cpp
tpm2/tpm2.hpp
tpm_device.cpp
tpm_device.hpp
tpm_software_manager.cpp
tpm_software_manager.hpp
xyz.openbmc_project.Software.TPM.service