由于 F2SDRAM 网桥的网桥驱动程序有问题,可能会出现以下行为:
- F2SDRAM 网桥中的锁定条件,在以下情况下
- 您可以在 Linux 中通过FPGA覆盖执行完整的FPGA核心配置。
- 通过运行“disable bridge”命令,在 U-Boot 控制台中配置 core.rbf 之后,可以禁用桥接。
- 内核重新配置后出现 Linux 内核异常(数据中止)或未完成FPGA F2SDRAM 事务
- 在 Linux 中通过FPGA覆盖执行完整的FPGA核心配置
- Arm AXI 控制器通过 F2SDRAM 网桥向 HPS 发出事务
- 通过FPGA覆盖在 Linux 中执行完整的内核重新配置FPGA
- Arm AXI 控制器通过 F2SDRAM 网桥向 HPS 发出事务
- Linux 内核异常:可能看到空指针异常,或者来自 FPGA2SDRAM 桥接的 Arm AMBA AXI 就绪标志可能会在第一个事务完成之前失效
这些问题不会影响 H2F 或轻型 H2F 桥。
这些问题影响Intel Agilex® 7 SoC、英特尔® Stratix® 10 FPGA 和英特尔® eASIC™ N5X 设备。
此问题已在最新的 GitHub arm-trusted-firmware 版本 socfpga_v2.7.1 和 v2.8.0 以及 U-Boot 版本 socfpga_v2022.10 中修复。
对于 ATF 流程,该补丁在 arm 信任固件版本 socfpga_v2.7.1 和 v2.8.0 中可用 - https://github.com/altera-opensource/arm-trusted-firmware
补丁提交 ID:
- v2.7.1 = https://github.com/altera-opensource/arm-trusted-firmware/commit/0a5edaed853e0dc1e687706ccace8e844b2a8db7
- v2.8.0 = https://github.com/altera-opensource/arm-trusted-firmware/commit/bf933536d4582d63d0e29434e807a641941f3937
对于传统(非 ATF)流程 – 此补丁在 u-boot-socfpga - socfpga_v2022.10 - https://github.com/altera-opensource/u-boot-socfpga/tree/socfpga_v2022.10 中可用
补丁提交 ID:
- https://github.com/altera-opensource/u-boot-socfpga/tree/61ae22e548ebda525d5216d107e45f20eca70537
- https://github.com/altera-opensource/u-boot-socfpga/tree/1dda7c081ee51d6c4b52d2ef773464b745fb9ec0
- https://github.com/altera-opensource/u-boot-socfpga/tree/66f3f251b2d5767c2c4abd85e01df415e6c5bfe7
- https://github.com/altera-opensource/u-boot-socfpga/tree/45a62a422a3db7fcf0636e4ad95e12354e719189
- https://github.com/altera-opensource/u-boot-socfpga/tree/775e01b091c58f6d4d6551ef2f194d8b6c0ca8bb
- https://github.com/altera-opensource/u-boot-socfpga/tree/e870a2ee57e102de19f9f0283033b3336a54f8a3
或者,您可以使用以下方法来避免 F2SDRAM 网桥锁定问题:
-
- 避免将FPGA覆盖用于完整配置。
- 请勿在 U-Boot 阶段执行网桥禁用操作。