[U-Boot] [PATCH] arm: add IPL support

Kuo-Jung Su dantesu at gmail.com
Wed Dec 11 03:43:11 CET 2013


2013/12/10 Tom Rini <trini at ti.com>:
> On Mon, Dec 09, 2013 at 04:07:29PM +0800, Kuo-Jung Su wrote:
>> 2013/12/6 Tom Rini <trini at ti.com>:
>> > On Wed, Dec 04, 2013 at 11:50:48AM +0800, Kuo-Jung Su wrote:
>> >
>> >> Initial Program Loader (IPL) usually runs with .text and .rodata
>> >> in ROM, while .data and .bss reside in RAM.
>> >>
>> >> This patch uses the AT keyword to specify load address,
>> >> and a small code snippet in crt0.S to restore .data section
>> >> at runtime.
>> >>
>> >> Example usage:
>> >> Assume the target device has a 4KB ROM at 0x00000000 and a
>> >> 4KB SRAM at 0xA0000000, the IPL/SPL config could be:
>> >>
>> >> #define CONFIG_SPL_MAX_SIZE  0x1000 /* text + data, no bss */
>> >> #define CONFIG_SPL_TEXT_BASE 0x00000000
>> >> #define CONFIG_SPL_DATA_BASE 0xA0000000
>> >> #define CONFIG_SPL_STACK     0xA0001000
>> >>
>> >> Signed-off-by: Kuo-Jung Su <dantesu at gmail.com>
>> >> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
>> >
>> > Can you provide an example user of this functionality?  Thanks.
>> >
>> > --
>> > Tom
>>
>> If you're looking for a real device, unfortunately there is no such
>> device right now,
>> it's a shiny new design which just came out last week.
>>
>> If you're looking for a way for verification:
>>
>> 1. A real device with a NOR flash for ROM emulation. (e.g., Faraday A369 EVB)
>>
>> 2. A virtual device emulator. (e.g., Qemu)
>>
>>    This is the best option for you, the Qemu model for Faraday A369 is
>> available at my github account.
>>    Please use the command bellow to grab the source tree if necessary.
>>
>>    $ git clone -b qemu-1.5.1 https://github.com/dantesu1218/qemu.git
>>    $ cd qemu
>>    $ ./configure --target-list=arm-softmmu
>>    $ make
>>
>>    The example IPL code for the up-coming Faraday A369 U-boot is also available:
>>
>>    $ git clone -b u-boot-2014.01 https://github.com/dantesu1218/u-boot.git
>>    $ cd u-boot
>>    $ make a369evb_ipl_config
>>    $ make
>>
>>    You could also directly grab  the pre-built binaries for quick verification.
>>
>>    $ wget https://drive.google.com/file/d/0BwfiewvSmUgAMlBnUkZQb3FMVkE/edit?usp=sharing
>>    $ tar xf u-boot-a369-ipl.tar.bz2
>>    $ cd u-boot-a369-ipl
>>    $ make
>
> What I'm asking for, is can you upstream the a369evb board?  In the
> README in board/... you should just document how to use it via QEMU.
> Thanks!
>

Got it, thanks.

I will make it a part of Faraday A36x patch series, and resend it later.

-- 
Best wishes,
Kuo-Jung Su


More information about the U-Boot mailing list