[PATCH 1/2] mx53-loco: provide the right header for serial downloader
Sascha Hauer
s.hauer at pengutronix.de
Thu Apr 11 04:02:53 EDT 2013
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 <eric at eukrea.com>
> ---
> 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 |
More information about the barebox
mailing list