Revert "ARM: socfpga: Remove socfpga_sdram_apply_static_cfg()

Wolfgang Grandegger wg at aries-embedded.de
Fri Aug 7 13:22:56 CEST 2020



Am 07.08.20 um 13:12 schrieb Marek Vasut:
> On 8/7/20 12:58 PM, Wolfgang Grandegger wrote:
>> Am 06.08.20 um 14:50 schrieb Marek Vasut:
>>> 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:
>>>>
>>>> https://github.com/altera-opensource/linux-socfpga/blob/socfpga-5.4.44-lts/drivers/video/fbdev/altvipfb2.c#L69
>>>>
>>>> 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
>>
>> I rebooted Linux on my MCVEVP more than 100 times with and without
>> loading the FPGA in U-Boot. The system never hang!
> 
> It could very well be bitstream related, wait for Simon to chime in.
> Do you load the bitstream in U-Boot or in Linux ?

I load it in U-Boot. And I repeated the test more than 1000 times (100
above is a typo)! OK, let's wait for more input.

>>> 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 ?
>>
>> Yep.
> 
> [...]

Wolfgang


More information about the U-Boot mailing list