[U-Boot] arm: socfpga: unable to boot cyclone5 devkit or SocKit
Dinh Nguyen
dinguyen at kernel.org
Wed Apr 11 02:52:50 UTC 2018
On 04/10/2018 09:45 PM, Dinh Nguyen wrote:
>
>
> On 04/10/2018 09:21 PM, Dinh Nguyen wrote:
>>
>>
>> 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
>>
>
> It looks like the enablement of CONFIG_DISTRO_DEFAULTS, enables these
> configs:
>
> CONFIG_ISO_PARTITION=y
> CONFIG_SPL_ISO_PARTITION=y
> # CONFIG_AMIGA_PARTITION is not set
> # CONFIG_SPL_AMIGA_PARTITION is not set
> CONFIG_EFI_PARTITION=y
> CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
> CONFIG_EFI_PARTITION_ENTRIES_OFF=0
> CONFIG_SPL_EFI_PARTITION=y
> CONFIG_PARTITION_UUIDS=y
> CONFIG_SPL_PARTITION_UUIDS=y
> # CONFIG_PARTITION_TYPE_GUID is not set
>
> Which is contributing to the SPL growth.
>
Turning the following config options off subtracts 7k from the SPL:
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
Not sure if these are needed?
Dinh
More information about the U-Boot
mailing list