Devido a um problema no driver da ponte para a ponte F2SDRAM, o seguinte comportamento pode ser visto:
- Uma condição de bloqueio na ponte F2SDRAM quando
- Você executa uma configuração FPGA núcleo completa no Linux por meio de uma sobreposição FPGA.
- Você desabilita a ponte no console U-Boot após uma configuração core.rbf executando o comando "desabilitar ponte".
- Uma exceção ao kernel Linux (abortamento de dados) ou uma transação F2SDRAM não concluída após a configuração FPGA Core Core
- Você executa uma configuração FPGA núcleo completa no Linux por meio de uma sobreposição FPGA
- Um controlador AXI do Arm emite transações para o HPS através da ponte F2SDRAM
- Você executa uma re-configuração completa do núcleo FPGA no Linux por meio de uma sobreposição FPGA
- Um controlador AXI do Arm emite transações para o HPS através da ponte F2SDRAM
- Exceção do Kernel Linux: Exceção de ponteiro nulo talvez vista, ou o signsl Arm AMBA AXI Ready da ponte FPGA2SDRAM pode ficar inativo antes da primeira transação ser concluída
Esses problemas não afetam a ponte H2F ou Lightweight H2F.
Esse problema afeta dispositivos Intel Agilex® 7 SoC, Intel® Stratix® 10 FPGA e Intel® eASIC™ N5X.
O problema foi corrigido com a versão mais recente do firmware confiável do GitHub socfpga_v2.7.1 e v2.8.0 e versão U-Boot socfpga_v2022.10.
Para o fluxo ATF, o patch está disponível na versão do firmware confiável socfpga_v2.7.1 e v2.8.0 - https://github.com/altera-opensource/arm-trusted-firmware
ID de confirmação de patches:
- 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 fluxo herdado (não ATF) – o patch está disponível no u-boot-socfpga - socfpga_v2022.10 - https://github.com/altera-opensource/u-boot-socfpga/tree/socfpga_v2022.10
ID de confirmação de patches:
- 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, você pode usar a seguinte abordagem para evitar o problema de bloqueio da ponte F2SDRAM:
-
- Evite usar a sobreposição FPGA para configuração completa.
- Não execute uma desativação de ponte na etapa U-Boot.