【已评审】新增私有属性,支持FPGA固件升级

评审背景

  • 某机型需支持FPGA升级,原有的fpga下挂在jtag链路,走jtag方式升级。
  • 该方式的缺陷为fpga采用从动加载方式,ac上电时,需重新从bmc加载bin文件。
  • 导致上电时间开销大。故划定FGPA下挂的FLASH用于存放升级的bin文件,无需每次从BMC加载。

当前现状以及差距

现状和差距

  • 当前不支持通过配置选择JTAG、SFC的方案。
  • 当前方案需涉及擦写FLASH,由于采用全擦升级方案,需支持可配置FLASH擦除大小。

解决方案

  • 新增私有属性:UpgradeType
  • 新增私有属性:FlashSizeKiB

决策点1

   LogicFirmware中新增私有属性UpgradeType
    1、新增UpgradeType,默认“JTAG”,选配“SFC”,用于兼容历史JTAG升级方式
    "UpgradeType": {
            "usage": [
                "CSR"
            ],
            "baseType": "String",
            “default": “JTAG”
        },
        
    2、LogicFirmware类新增FlashSizeKiB,该FLASH仅用作FPGA升级(后续无扩展),采用全擦升级,FLASH大小(擦除大小)可配。
        "FlashSizeKiB": {
            "usage": [
                "CSR"
            ],
            "baseType": "U32",
            “default”: 0,
             “description”: “Flash容量(KB)"
        }

遗留问题

  • 新增类型中的属性名,可以删除"FPGA"前缀字段(已闭环)
  • 背景描述优化下:上电(已闭环

评审结论

1、同意在LogicFirmware中新增私有属性UpgradeType区分FPGA的升级方式,选配"SFC"。
“UpgradeType”: {
“usage”: [
“CSR”
],
“baseType”: “String”,
“default": “JTAG”
}

2、同意LogicFirmware中新增私有属性FlashSizeKiB,用于表示升级过程中擦除大小的可配置。
该FLASH仅用作FPGA升级(后续无扩展),采用全擦升级,FLASH大小(擦除大小)可配。
“FlashSizeKiB”: {
“usage”: [
“CSR”
],
“baseType”: “U32”,
“default”: 0,
“description”: “Flash容量(KB)"
}

请新增LogicFirmware的私有属性,需要修改对应的csr字典文件,具体参考:“openUBMC/docs/blob/main/docs/zh/development/specifications/csr_conf_dict/object/LogicFirmware.md”