Firmware ID Management
更新时间: 2026/08/06
在AtomGit上查看源码

Firmware ID Management

Change History

iBMC 4-segment versionRevision DateDescriptionRevised By
2024.3.29Added the ComponentIDEx rule definition.Liu Xingsen 00583113
2024.3.29The following FPGA firmware upgrade types are added to ComponentIDEx:
FPGA JTAG loading: 0x05000001
FPGA parallel port loading: 0x05000002
0x17000001: HDU power upgrade
Liu Xingsen 00583113
2024.4.27Added ComponentIDEx to specify the VRD upgrade scenario.
0x17100001: TCE NP board VRD upgrade
0x17100002: TCE Mesh Board VRD Upgrade
Sun Yuanxing (employee ID: 30024636)
2024.11.28Added ComponentID and ComponentIDEx=0x20 and 0x20090000: switching firmware of partner 09.Li Kun/00617272
5.09.00.012025.2.11The ComponentIDEx = 0x1D000006 is added to optimize the upgrade efficiency of a single HPC server (16 modules). The VRD takes effect in parallel instead of serial mode. (The MCU cache is used to implement parallel VRD taking effect, shortening the service interruption time.)Lu Jiayao/30067042
2025.3.6The Ascend control plane product alarm is added. PoDManager: 0x14Cao Yang, Peng Qiang, Liu Xingsen
3.20.00.012025.05.29Added the SP686 series firmware of the RAID controller card.Guan Yongjian 30059065
5.11.12.012025/11/19The IEU CPLD firmware subtype is added.Pei Jiacheng 30061709
5.12.0.12025/11/21The firmware type and subtype of the CPU collection register are added.Shi Junguo/30038273

ComponentIDEx rule definition

ArrayBitFunctionDescription
Highestbit24-bit31ComponentIDSee Table 1
-bit16-bit23Product ID. The value 00 is used for the general firmware upgrade solution, and the product ID is used for the dedicated firmware of a specific product.See Product ID allocation table.
-bit8-bit15User-defined-
Lowestbit0-bit7User-defined-

Firmware Upgrade Matching Principles

  1. ComponentID and ComponentIDEx are used to match the firmware type.

  2. The board ID and Uid are used to match the hardware type.

  3. In the non-Tianchi architecture, the update.cfg file does not carry the BoardID of the board. You need to use ComponentIDEx to distinguish different hardware types.

Firmware Type is used in Redfish FirmwareInventory in the following scenarios:

  1. Resource Id: /redfish/v1/UpdateService/FirmwareInventory/<[Position]+[DeviceName]><Firmware Type>. Example: /redfish/v1/UpdateService/FirmwareInventory/BCU1CpuBoard1HWSR.

  2. SoftwareId: named in the <Firmware Type>-xxx format. Example: CPLD-BC82AMDT.

Table 1 Firmware Upgrade ID Allocation Table (ComponentID and ComponentIDEx)

Note: In the upgrade package update.cfg, ComponentID and ComponentIDEx must be specified in decimal. The table lists both hexadecimal and decimal in the hex=decimal format.

Firmware TypeComponentIDComponentIDExFunctions
CONFIG0x00-Configuration file package support.tar.gz required for the upgrade
APP0x01-Upgrading the App Zone
BIOS0x02-BIOS upgrade
CFG0x03-CFG upgrade
UBOOT0x04-U-Boot Upgrade
CPLD0x05-CPLD upgrade. ComponentIDEx is left blank by default; UpdateFileType
CPLD0x050x05000001=83886081FPGA JTAG loading, for example: Tiangong HPC blade. Hi1711 pass-through JTAG, SVF format
CPLD0x050x05000002=83886082FPGA parallel port loading, for example: Tiangong management board
CPLD0x050x05000003=83886083FPGA SFC loading, for example: magneto-electric disk enclosure
CPLD_HDD_BACKPLANE0x06-Upgrading the CPLD of the Hard Disk Backplane (Front)
IPMC/BMC0x07-Upgrading the BMC Root File System (cramfs)
2488H_CPU0x08-2488H
8100_CPU0x08-8100
9032_CPU0x08--
8100_FIO0x09-8100
9032_FIO0x09-9032 front I/O module
ATLAS_NPU_BOARD0x09-ID of the CPLD upgrade component on the NPU
ATLAS_NPU_BOARD0x090x0F=15Extended ID of the NPU CPLD upgrade component (CPLD_NPU_BOARD_IDEX)
ATLAS_NPU_BOARD0x090x10=16Extended ID of the NPU module CPLD upgrade component (written to all modules synchronously, CPLD_NPU_HAM_IDEX1)
ATLAS_NPU_BOARD0x090x11=17Extended ID of the NPU module CPLD upgrade component (written to all modules in sequence, CPLD_NPU_HAM_IDEX2)
SOC_FW0x09-Upgrading the Altas Carrier Module
8100_BIOS0x0A=10-8100
9032_BIOS0x0A=10--
8100_BIO0x0B=11-8100
LCD0x0C=12-LCD upgrade
RAID0x0D=13-RAID controller card firmware upgrade
RAID0x0D=130x0D000001=218103809SP686 series firmware
FAN0x0E=14-Upgrading the FAN
8100_HDD_BACKPLANE_B0x0F=15-8100
9032_HDD_BACKPLANE_B0x0F=15--
RH5885_HDD_BACKPLANE_CD0x0F=15-RH5885V3-HV3
Host firmware0x10=160x10000001=268435457SP firmware
8100_HDD_BACKPLANE_C0x10=16-Discarded (2023/12/6)
9032_HDD_BACKPLANE_C0x10=16--
WBD0x11=17-White-box package
HWSR0x11=17-Component Self-Description Record: component self-description record
HWSR0x11=170x11000001=285212673Reserved
HWSR0x11=170x11000002=285212674Component driver
9032_BIO0x12=18-9032 rear I/O board
RETIMER_FW0x13=19-9032
DFT_MODE0x14=20-Upgrades the equipment mode flag, which is used to restore factory settings
8100_HDD_BACKPLANE_D0x15=21-8100
CPLD_HDD_BACKPLANE_EXP0x16=22-Extended hard disk backplane
PSU0x17=230x17000001=385875969HDU firmware of the Tiangong management board
PSU0x17=230x17100001=386924545TCE NP board VRD upgrade
PSU0x17=230x17100002=386924546TCE Mesh board VRD upgrade
PSU0x17=230x17100003=386924547Power brick of the Tiangong management board (local-board IIC upgrade; cross-board network upgrade)
CPLD0x18=24-Upgrading the CPLD of the Hard Disk Backplane (Built-in and Rear)
CPLD0x18=240x8=8Expansion board CPLD-0
CPLD0x18=240x9=9Expansion board CPLD-1
CPLD0x18=240xA=10IEU CPLD
CPLD0x18=240xFFFFFFFD=4294967293CPLD_HDD_COMPONENT_IDEX
IPMC_EXT40x19=25-Upgrading the BMC Root File System (ext4fs)
CPLD_BY_I2C0x1A=26-Upgrading the CPLD of the RAID Controller Card (Through I2C)
I2C_CPLD0x1B=27--
PRR_FW0x1C=28-Upgrading the PRR Firmware
MCU0x1D=290x0=0Board MCU firmware upgrade, including firmware upgraded through the MCU (such as VRD). Updated on 2024.1.9 based on V2/V3 code
MCU0x1D=290x1=1NPU MCU
MCU0x1D=29Byte3: 0x1=1Upgrading NPU firmware through the MCU. Byte 2 to Byte 0: N/A; Smbus channel. For example: Atlas series PCIe cards
MCU0x1D=29Byte3: 0x2=2Upgrading ECU firmware through the MCU. Byte 2 to Byte 0: N/A; Mobus channel. For example: RM211 management module
MCU0x1D=29Byte3: 0x3=3Upgrading CPLD firmware through the MCU. Byte 2 to Byte 0: N/A; Smbus channel. For example: DPU series cards
MCU0x1D=29Byte3: 0x4=4SDI VRD firmware. Byte 2 to Byte 0: N/A
MCU0x1D=290x1D000005=486539269VDM firmware upgraded through the MCU. For example: basic board
MCU0x1D=290x1D000006=486539270VRD firmware. Serial activation is optimized to parallel activation (via MCU cache) to shorten service interruption. For example: a single HPC server (16 modules)
PUB_FW0x1E=30-Shared FRU Upgrade
CPLD_182X_EXT_IDEX0x0F=15-Computing storage: CPLD upgrade function of the full-width computing extension board; extended ID of the 182X extension board CPLD upgrade
EFUSE0x1F=31--
NSBoard0x20=320x20090000=537460736Switching firmware of partner 09
CollectRegister0x21=330x21000001=553648129Collecting CPU register information in firmware management mode
Disk0x22=340xFFFFFFFF=4294967295Disk firmware. Match the hard disk model using the Model attribute in update.cfg
NIC0x23=350x23000001=587202561Hi1825 NIC firmware
All0xFF=2550xFFFFFFFF=4294967295Ignore this attribute and match the firmware type in other ways