[U-Boot] [PATCH v3] AT91SAM9*: Change kernel address in dataflash to match u-boot's size

Alexandre Belloni alexandre.belloni at piout.net
Tue Feb 28 23:57:53 CET 2012


On Mon, Feb 27, 2012 at 04:25:02PM +0100, Ulf Samuelsson wrote :
> On 2012-02-20 17:40, Alexandre Belloni wrote:
> >On at91sam platforms, u-boot grew larger than the allocated size in
> >dataflash, the layout was:
> >bootstrap  0x00000000
> >ubootenv   0x00004200
> >uboot      0x00008400
> >kernel     0x00042000
> >
> >u-boot with the defconfig doesn't seem to fit in 0x42000 - 0x8400 =
> >0x39C00 bytes anymore.
> >
> >Now, the layout is:
> >bootstrap  0x00000000
> >uboot      0x00004000
> >ubootenv   0x00084000
> >ubootenv2  0x00088000
> >kernel     0x0008C000
> >
> 
> 
> NAK!
> 
> 1. You need to be aware of the page size of dataflashes.
>     Each page is 1056 bytes, not 1024 bytes.
>     Your patch will make the U-Boot image start in the middle of a page.

Ok, I couldn't find a clear spec on that dataflash...

> 2. Std AT91bootstrap loads U-Boot from 0x8400
>     so your patch breaks 99% of all SAM9  boards.
> 

Those boards are broken anyway ! As u-boot is bigger than the load size
of at91bootstrap (0x33900 by default). So, not changing means that you
are screwed after flashing a new u-boot.

> If you want to grow U-Boot, then
> 
> bootstrap  0x00000000		; 16 kB
> ubootenv   0x00004200		; 16 kB	- Should be plenty
> uboot      0x00008400		;
> kernel     0x00063000		; Why waste space...
> 

What about the redundant env ? Why shouldn't we reorder u-boot and its
env ?

Regards,

-- 
Alexandre Belloni


More information about the U-Boot mailing list