Revert "ARM: socfpga: Remove socfpga_sdram_apply_static_cfg()

Marek Vasut marex at
Thu Aug 6 14:50:41 CEST 2020

On 8/6/20 2:36 PM, Wolfgang Grandegger wrote:
> Am 06.08.20 um 13:04 schrieb Marek Vasut:
>> On 8/6/20 12:53 PM, Wolfgang Grandegger wrote:
>>> This reverts commit c5f4b805755912a3d2fe20f014b6b6ab0473bd73.
>>> Conflicts:
>>> 	arch/arm/mach-socfpga/misc_gen5.c
>>> Without socfpga_sdram_apply_static_cfg(), the system hangs when Linux
>>> calls altvipfb2_start_hw() of the Intel Video and Image Processing(VIP)
>>> Frame Buffer II driver (drivers/video/fbdev/altvipfb2.c)
>> There is no such driver in mainline U-Boot or Linux.
> It's a simple frame buffer driver from linux-socfpga for the IP core
> Intel Video and Image Processing(VIP) Frame Buffer II. It actually
> hangs here when the streaming starts:
> I can also hang the system if I setup and start the FB with just a
> few U-Boot commands. I think the system hangs when the IP core starts
> reading the FB data from the system memory.

I am CCing Dinh , I recall there was some discussion about hangs on
CycloneV and it was fixed recently.

>>> , but only
>>> after a power cycle (cold boot). The issue does not show up after a
>>> soft reset (warm boot) and with v2018.11.
>> See the commit message of the patch this is reverting, I believe there
>> is a deeper issue with the static config register. Can you investigate?
> I read the commit message, but well, I can't follow all the details :(.
> On the other hand, it seems also not clear why the fix was added. Any
> idea what to investigate.

The system was repeatedly rebooted in a loop, the FPGA was loaded before
Linux booted. After hundreds of reboots, the system got stuck on setting
up the static cfg register. I think there was even another email
exchange where the suggestion was to make this apply_static_cfg optional
and only use it when the DRAM port is enabled in the quartus design.
Maybe that is the way out of this ?

More information about the U-Boot mailing list