类似Riser卡的转接卡适配问题

我们准备开发一张类似Riser卡的转接卡。该卡可以接20路PCIe(SMBus)。现在有两个问题:1.BIOS上传PCIe卡的BDF信息如何和转接卡上对应的PCIe槽位关联起来;2.有20路SMbus是通过CPLD进行拓展的,通过SMC命令来切换SMbus,这种情况下需要如何配置才能实现这20路SMbus的切换(目前知道9545这类拓展芯片类无法实现该功能)。示例图如下

             |-------------------|                     |-------------------|
             |                   | -----20*SMBus---->  |                   |
---I2C_1---> |       CPLD        |                     |       PCIe*20     |
             |                   | -------PCIe*20--->  |                   |
             |-------------------|                     |-------------------|

第一个问题可以通过适配时配置PcieAddrInfo对象解决,具体参考下其他的PcieAddrInfo配置;
第二个问题应该需要自己开发代码适配,openUBMC是不支持的。

对于第二个问题,这部分代码是在SDK里面的代码,还是开源组件的?

bios是通过获取bmc的丝印文件,拿到portid与slot的对应关系的。bios再返回slot-bdf对应关系给bmc

第二个我理解配I2cMux是不是就可以了,csr的配置你可以参考下硬盘背板的I2cMux_SMC_1,需要cpld实现i2cforward功能

I2cMux必须用9545这类器件,这类器件最多8路。我们现在用CPLD来切换20路,这个CSR器件能这么用吗?

当前最近应该就支持9548,8路,有诉求的话,可以在hardware-sig报一个议题讨论并需求。