On 12/17/25 20:11, Patrick Williams wrote:
Since Catalina is a server, made up of a number of FRUs, there are
a number of EEPROMs that would contain IPMI-format FRU data.  On
OpenBMC, these EEPROMs are parsed by `entity-manager` to determine
which devices are physically present in the server (and which variants
of those devices).

Add EEPROM images for every FRU in the Catalina server.  There is a
utility `frugen` which can take a JSON representation of the IPMI
fields and generate a binary image from that.  Use this to create
sanitized EEPROM images for every FRU and add the rom-init calls to
the appropriate locations in the Catalina model.  I left the JSON
source as comments along-side each EEPROM image so they can be updated
or recreated as necessary.

Tested by loading the latest version of OpenBMC's Catalina image and
confirming the FRUs are detected appropriately by entity-manager.

```
root@catalina:~# busctl tree xyz.openbmc_project.EntityManager | grep 
"board/[^/]*$"
           |- /xyz/openbmc_project/inventory/system/board/BMC_Storage_Module
           |- /xyz/openbmc_project/inventory/system/board/Catalina_FIO
           |- /xyz/openbmc_project/inventory/system/board/Catalina_HDD_Carrier
           |- /xyz/openbmc_project/inventory/system/board/Catalina_HDD_NVMe
           |- /xyz/openbmc_project/inventory/system/board/Catalina_OSFP_Carrier
           |- /xyz/openbmc_project/inventory/system/board/Catalina_PDB
           |- /xyz/openbmc_project/inventory/system/board/Catalina_SCM
           |- 
/xyz/openbmc_project/inventory/system/board/NVIDIA_Cable_Cartridge_0
           |- 
/xyz/openbmc_project/inventory/system/board/NVIDIA_Cable_Cartridge_2
           |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_0
           |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1
           |- 
/xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_IO_Board_29
           |- 
/xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_IO_Board_41
           |- /xyz/openbmc_project/inventory/system/board/NVIDIA_HMC
           |- /xyz/openbmc_project/inventory/system/board/OCP_CX7_NIC_10
           `- /xyz/openbmc_project/inventory/system/board/OCP_CX7_NIC_15
```

This result matches the expected results when running the image on a
physical Catalina device.

Signed-off-by: Patrick Williams <[email protected]>
---
Patrick Williams (11):
       hw/arm/aspeed: catalina: add BSM FRU EEPROM
       hw/arm/aspeed: catalina: add DC-SCM FRU EEPROM
       hw/arm/aspeed: catalina: add PDB FRU EEPROM
       hw/arm/aspeed: catalina: add OSFP FRU EEPROM
       hw/arm/aspeed: catalina: add FIO FRU EEPROM
       hw/arm/aspeed: catalina: add HDD FRU EEPROM
       hw/arm/aspeed: catalina: add GB200 FRU EEPROM
       hw/arm/aspeed: catalina: add GB200-IO FRU EEPROM
       hw/arm/aspeed: catalina: add HMC FRU EEPROM
       hw/arm/aspeed: catalina: add NIC FRU EEPROM
       hw/arm/aspeed: catalina: add Cable Cartridge FRU EEPROM

  hw/arm/aspeed_ast2600_catalina.c | 473 +++++++++++++++++++++++++++++++++++++--
  1 file changed, 457 insertions(+), 16 deletions(-)
---
base-commit: 7154e4df40468012fccb6687ecd2b288c56a4a2d
change-id: 20251217-catalina-eeproms-255d80036991

Best regards,

Applied to aspeed-next.

Thanks,

C.

Reply via email to