[U-Boot] arm: socfpga: unable to boot cyclone5 devkit or SocKit

Dinh Nguyen dinguyen at kernel.org
Wed Apr 11 02:21:02 UTC 2018



On 04/10/2018 05:37 PM, Marek Vasut wrote:
> On 04/10/2018 11:36 PM, Dinh Nguyen wrote:
>>
>>
>> On 04/10/2018 02:25 PM, Marek Vasut wrote:
>>> On 04/10/2018 08:56 PM, Dinh Nguyen wrote:
>>>>
>>>>
>>>> On 04/10/2018 01:29 PM, Marek Vasut wrote:
>>>>> On 04/10/2018 08:28 PM, Dinh Nguyen wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I'm seeking advice with an observation that I'm seeing on the Cyclone5
>>>>>> devkit/sockit.
>>>>>>
>>>>>> I'm working with U-Boot version v2018.05-rc1. Building the
>>>>>> u-boot-with-spl.sfp, then writing the sfp file to the 0xa2 partition on
>>>>>> the SD card, does not boot, all I get is this:
>>>>>>
>>>>>> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
>>>>>>
>>>>>> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
>>>>>>
>>>>>> U-Boot SPL 2018.05-rc1 (Apr 10 2018 - 13:03:48 -0500)
>>>>>>
>>>>>>
>>>>>> This issue doesn't happen at all on the DE0 Nano SoC board. I compared
>>>>>> the defconfig and came across this. If I remove these config options in
>>>>>> the socfpga_sockit_defconfig, then SPL -> U-Boot works fine.
>>>>>>
>>>>>> -CONFIG_SPI_FLASH_MACRONIX=y
>>>>>> -CONFIG_SPI_FLASH_SPANSION=y
>>>>>> -CONFIG_SPI_FLASH_STMICRO=y
>>>>>>
>>>>>> I'll continue to debug of course, but was wondering if anyone might have
>>>>>> a better idea as to what could be happening, I'd appreciate the insight.
>>>>>
>>>>> Check the size of the SPL , could it be too big ?
>>>>>
>>>>
>>>> That's a good thought...it could be. The size of the default
>>>> u-boot-spl-dtb.bin is 58048, removing the SPI, brings that down to
>>>> 55616, that's smaller than the 64k of OCRAM for SPL?
>>>
>>> Right, I think there's something about those last few kiB OR it's the
>>> stack that's overwriting piece of U-Boot or malloc area or something.
>>> How did it grow so big anyway ?
>>>
>>
>> Ah, looks like SYS_MALLOC_F_LEN is set to 8k, thus, we're over the 64k
>> limit. Setting SYS_MALLOC_F_LEN to 4k makes it work again. I'm not sure
>> how the SPL grew so big.
> 
> I have a couple of theories, but anyway ...
> 
> u-boot$ git reset --hard v2018.01 ; bu socfpga_cyclone5 ; ls -la
> spl/u-boot-spl.bin
> HEAD is now at f3dd87e0b9 Prepare v2018.01
> -rw-r--r-- 1 marex marex 52902 Apr 11 00:34 spl/u-boot-spl.bin
> 
> u-boot$ git reset --hard v2018.03 ; bu socfpga_cyclone5 ; ls -la
> spl/u-boot-spl.bin
> HEAD is now at f95ab1fb6e Prepare v2018.03
> -rw-r--r-- 1 marex marex 59706 Apr 11 00:34 spl/u-boot-spl.bin
> 
> Try bisecting out the commit which caused this 7 kiB growth between
> 2018.01 and 2018.03 . Even those 53 kiB are quite borderline, but it was
> at 53 kiB for a while (2017.05 is also ~53 kiB)
> 

Doing the bisect points me to this commit:

commit fa2c14676c7c6f3115dd4d9b2a4cc3b35c3ad2a2
Author: Tom Rini <trini at konsulko.com>
Date:   Sat Feb 10 16:54:38 2018 -0500

    configs: Re-sync with CONFIG_DISTRO_DEFAULTS

    A number of platforms include config_distro_defaults.h but do not enable
    CONFIG_DISTRO_DEFAULTS.  As they plainly intended to, set that flag and
    re-sync config files.

    Signed-off-by: Tom Rini <trini at konsulko.com>

Doing a revert of the above commit shrinks the SPL back down to ~7 kiB.

Dinh




More information about the U-Boot mailing list