Hi Eric,

On Wed, Apr 10, 2013 at 04:10:57PM +0200, Eric Bénard wrote:
> this patch allows barebox to run when loaded on the iMX53QSB
> using the serial downloader.

What serial downloader do you use? We have a serial downloader here:

git://git.pengutronix.de/git/tools/imx-usb-loader.git

This one works by parsing the flash headers from the images and
executing them manually by doing register writes. It works with
the currently generated images just fine.

I though about integrating this tool into barebox. Part of the reason
for doing this is that this repository also contains a image generation
tool which could replace the compiler/linker mechanism we currently use
to generate i.MX images. Using a dedicated tool for this job seems more
flexible.

> 
> Signed-off-by: Eric Bénard <[email protected]>
> ---
>  arch/arm/boards/freescale-mx53-loco/flash_header.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/arch/arm/boards/freescale-mx53-loco/flash_header.c 
> b/arch/arm/boards/freescale-mx53-loco/flash_header.c
> index dc1162b..5358f0b 100644
> --- a/arch/arm/boards/freescale-mx53-loco/flash_header.c
> +++ b/arch/arm/boards/freescale-mx53-loco/flash_header.c
> @@ -34,10 +34,17 @@ struct imx_flash_header_v2 __flash_header_section 
> flash_header = {
>       .header.length          = cpu_to_be16(32),
>       .header.version         = IVT_VERSION,
>  
> +#ifdef CONFIG_ARCH_IMX_INTERNAL_BOOT_SERIAL
> +     .entry                  = APP_DEST + 0x400,
> +     .dcd_ptr                = APP_DEST + offsetof(struct 
> imx_flash_header_v2, dcd),
> +     .boot_data_ptr          = APP_DEST + offsetof(struct 
> imx_flash_header_v2, boot_data),
> +     .self                   = APP_DEST,
> +#else
>       .entry                  = APP_DEST + 0x1000,
>       .dcd_ptr                = APP_DEST + 0x400 + offsetof(struct 
> imx_flash_header_v2, dcd),
>       .boot_data_ptr          = APP_DEST + 0x400 + offsetof(struct 
> imx_flash_header_v2, boot_data),
>       .self                   = APP_DEST + 0x400,
> +#endif

We already have a FLASH_HEADER_OFFSET define which seems to solve half
of the problem. Extending the ifdefs already present int the header
file should work better.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to