[U-Boot] rk3288: 32KB SPL size restriction

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed Aug 16 15:04:53 UTC 2017


Jagan,

> On 16 Aug 2017, at 15:12, Jagan Teki <jagannadh.teki at gmail.com> wrote:
> 
> Hi Simon,
> 
> On Mon, Aug 14, 2017 at 11:01 PM, Jagan Teki <jagannadh.teki at gmail.com> wrote:
>> On Mon, Aug 14, 2017 at 10:03 AM, Jagan Teki <jagannadh.teki at gmail.com> wrote:
>>> Hi Simon,
>>> 
>>> On Mon, Aug 14, 2017 at 3:06 AM, Simon Glass <sjg at chromium.org> wrote:
>>>> Hi Jagan,
>>>> 
>>>> On 10 August 2017 at 03:07, Jagan Teki <jagannadh.teki at gmail.com> wrote:
>>>>> Hi Simon/Philipp or any,
>>>>> 
>>>>> I believe rk3288 has 20KB BootRom and 100KB internal SRAM and current
>>>>> u-boot can archive the maximum size of u-boot-spl-dtb.bin which the
>>>>> boot ROM will read is 32KB, do we have any possibility to increase the
>>>>> SPL size here.
>>>>> 
>>>>> # ./tools/mkimage -n rk3288 -T rksd -d ./spl/u-boot-spl-dtb.bin out.img
>>>>> Warning: SPL image is too large (size 0x9000) and will not boot
>>>>> Error: image verification failed
>>>>> 
>>>>> I tried to increase the spl_size from spl_infos (on tools/rkcommon.c)
>>>>> but not able to boot.
>>>> 
>>>> I thought all boards were OK at present. Which board is this? Also
>>>> which toolchain are you using? There was a bug that bloating the
>>>> static data a bit.
>>> 
>>> Board similar to firefly-rk3288 and not using
>>> ROCKCHIP_SPL_BACK_TO_BROM. Observed this when I try to add falcon mode
>>> support which eventually increased the SPL size.
>>> 
>>> toolchain: arm-linux-gnueabi-gcc with version 6.3.1 20170109 (Linaro
>>> GCC 6.3-2017.02)
>> 
>> And it is increasing further with gcc-4.7
> 
> Any comments?

I don’t really know too much about the RK3288’s BROM, but I would expect a limit
on the loadable size for the initial stage (this is what the ‘back-to-bootrom’ is for).

You can easily check if that is the case (and it 20KB is the limited for this) by
padding the unmodified SPL with zeros… if things break once crossing the 20KB
boundary, the BROM’s size-limitation is most likely blame.

> thanks!
> -- 
> Jagan Teki
> Free Software Engineer | www.openedev.com
> U-Boot, Linux | Upstream Maintainer
> Hyderabad, India.



More information about the U-Boot mailing list