Debido a un problema en el controlador del puente F2SDRAM, se puede observar el siguiente comportamiento:
- Una condición de bloqueo en el puente F2SDRAM cuando
- Realiza una configuración completa de núcleo de FPGA en Linux a través de una superposición de FPGA.
- El puente se deshabilita en la consola U-Boot después de una configuración core.rbf ejecutando el comando "disable bridge".
- Una excepción del kernel de Linux (interrupción de datos) o una transacción F2SDRAM no completada después de la reconfiguración del núcleo FPGA
- Realiza una configuración completa de núcleo FPGA en Linux a través de una superposición de FPGA
- Un controlador AXI de Arm emite transacciones al HPS a través del puente F2SDRAM
- Realiza una reconfiguración completa del núcleo FPGA en Linux a través de una superposición de FPGA
- Un controlador AXI de Arm emite transacciones al HPS a través del puente F2SDRAM
- Excepción del kernel de Linux: es posible que se vea una excepción de puntero nulo, o el signo de Arm AMBA AXI Ready del puente FPGA2SDRAM puede quedar inactivo antes de que se complete la primera transacción
Este problema no afecta al puente H2F o H2F ligero.
Este problema afecta Intel Agilex® 7 dispositivo de sistema integrado en chip, Intel® Stratix® dispositivos 10 FPGA y Intel® eASIC™ N5X.
El problema se solucionó con la última versión de firmware de confianza de brazo de GitHub socfpga_v2.7.1 y v2.8.0 y la versión U-Boot socfpga_v2022.10.
Para el flujo ATF, el parche está disponible en la versión de firmware de confianza de brazo socfpga_v2.7.1 y v2.8.0 - https://github.com/altera-opensource/arm-trusted-firmware
ID de confirmación de parche:
- 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
Para flujo heredado (no ATF): el parche está disponible en u-boot-socfpga - socfpga_v2022.10 - https://github.com/altera-opensource/u-boot-socfpga/tree/socfpga_v2022.10
ID de confirmación de parche:
- 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
Como alternativa, puede utilizar el siguiente enfoque para evitar el problema de bloqueo del puente F2SDRAM:
-
- Evite utilizar la superposición de FPGA para una configuración completa.
- No realice una desactivación de puente en la etapa U-Boot.