]> git.dujemihanovic.xyz Git - u-boot.git/commit
socfpga: arria10: Wait for fifo empty after writing bitstream
authorPaweł Anikiel <pan@semihalf.com>
Fri, 17 Jun 2022 10:47:25 +0000 (12:47 +0200)
committerTien Fong Chee <tien.fong.chee@intel.com>
Fri, 1 Jul 2022 06:57:14 +0000 (14:57 +0800)
commit5c53d9c0d955d046694e550e1c429fa509abb0c8
tree7e99ca4fa54643bb05acbdc634fb1e669b8d19df
parent8b1eee3730fc603fcacc5818b71a0e194bc55892
socfpga: arria10: Wait for fifo empty after writing bitstream

For some reason, on the Mercury+ AA1 module, calling
fpgamgr_wait_early_user_mode immediately after writing the peripheral
bitstream leaves the fpga in a broken state (ddr calibration hangs).
Adding a delay before the first sync word is written seems to fix this.
Inspecting the fpgamgr registers before and after the delay,
imgcfg_FifoEmpty is the only bit that changes. Waiting for this bit
(instead of a hardcoded delay) also fixes the issue.

Signed-off-by: Paweł Anikiel <pan@semihalf.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/fpga/socfpga_arria10.c