From: Sascha Hauer <s.hauer@pengutronix.de>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 6/7] at91: add bootstrap version
Date: Sat, 19 Jan 2013 12:31:27 +0100 [thread overview]
Message-ID: <20130119113127.GI1906@pengutronix.de> (raw)
In-Reply-To: <1358594814-8297-6-git-send-email-plagnioj@jcrosoft.com>
On Sat, Jan 19, 2013 at 12:26:53PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> This will allow to boot from NAND/MMC and others.
> This version of bootstrap is a non shell version of barebox compressed by the
> pbl.
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> ---
> arch/arm/mach-at91/Kconfig | 1 +
> arch/arm/mach-at91/Makefile | 1 +
> arch/arm/mach-at91/bootstrap.c | 86 +++++++++++++++++++++++++++
> arch/arm/mach-at91/include/mach/bootstrap.h | 28 +++++++++
> 4 files changed, 116 insertions(+)
> create mode 100644 arch/arm/mach-at91/bootstrap.c
> create mode 100644 arch/arm/mach-at91/include/mach/bootstrap.h
>
> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
> index 2925b1f..484d076 100644
> --- a/arch/arm/mach-at91/Kconfig
> +++ b/arch/arm/mach-at91/Kconfig
> @@ -92,6 +92,7 @@ config SOC_AT91SAM9263
> select HAVE_AT91_DBGU1
> select HAS_MACB
> select AT91SAM9_RESET
> + select HAVE_NOSHELL
>
> config SOC_AT91SAM9G45
> bool
> diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
> index 4404d23..e582f1a 100644
> --- a/arch/arm/mach-at91/Makefile
> +++ b/arch/arm/mach-at91/Makefile
> @@ -1,6 +1,7 @@
> obj-y += setup.o clock.o gpio.o
> obj-$(CONFIG_CMD_AT91_BOOT_TEST) += boot_test_cmd.o
>
> +obj-$(CONFIG_SHELL_NONE) += bootstrap.o
> lowlevel_init-y = at91sam926x_lowlevel_init.o
> lowlevel_init-$(CONFIG_ARCH_AT91RM9200) = at91rm9200_lowlevel_init.o
> obj-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += $(lowlevel_init-y)
> diff --git a/arch/arm/mach-at91/bootstrap.c b/arch/arm/mach-at91/bootstrap.c
> new file mode 100644
> index 0000000..2ec16f1
> --- /dev/null
> +++ b/arch/arm/mach-at91/bootstrap.c
> @@ -0,0 +1,86 @@
> +/*
> + * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com>
> + *
> + * Under GPLv2
> + */
> +
> +#include <common.h>
> +#include <bootstrap.h>
> +#include <mach/bootstrap.h>
> +#include <sizes.h>
> +#include <malloc.h>
> +
> +#if defined(CONFIG_MCI_ATMEL)
> +#define is_mmc() 1
> +#else
> +#define is_mmc() 0
> +#endif
> +
> +#ifdef CONFIG_NAND_ATMEL
> +#define is_nand() 1
> +#else
> +#define is_nand() 0
> +#endif
> +
> +#ifdef CONFIG_MTD_M25P80
> +#define is_m25p80() 1
> +#else
> +#define is_m25p80() 0
> +#endif
> +
> +#ifdef CONFIG_MTD_DATAFLASH
> +#define is_dataflash() 1
> +#else
> +#define is_dataflash() 0
> +#endif
> +
> +static void boot_seq(bool is_barebox)
> +{
> + char *name = is_barebox ? "barebox" : "unknown";
> + int (*func)(void) = NULL;
> +
> + if (is_m25p80()) {
> + func = bootstrap_board_read_m25p80();
> + printf("Boot %s from m25p80\n", name);
> + bootstrap_boot(func, is_barebox);
> + bootstrap_err("... failled\n");
s/failled/failed/
> + free(func);
> + }
> + if (is_dataflash()) {
> + printf("Boot %s from dataflash\n", name);
> + func = bootstrap_board_read_dataflash();
> + bootstrap_boot(func, is_barebox);
> + bootstrap_err("... failled\n");
ditto
> + free(func);
> + }
> + if (is_nand()) {
> + printf("Boot %s from nand\n", name);
> + func = bootstrap_read_devfs("nand0", true, SZ_128K, SZ_256K, SZ_1M);
> + bootstrap_boot(func, is_barebox);
> + bootstrap_err("... failled\n");
ditto
> + free(func);
> + }
> +}
> +
> +int run_shell(void)
> +{
> + int (*func)(void) = NULL;
> +
> + if (is_mmc()) {
> + printf("Boot from mmc\n");
> + func = bootstrap_read_disk("disk0.0");
> + bootstrap_boot(func, false);
> + bootstrap_err("... failled\n");
ditto
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
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2013-01-19 11:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-19 11:21 [PATCH 0/7 v3] at91: add bootstrap support Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 1/7] at91: add test commamd to emulate bootrom boot Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 2/7] at91sam926x: lowlevel add external boot support Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 3/7] at91: sam926x: switch lowlevel param to c code Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 4/7] at91: usb-a9263 add lowlevel init Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 5/7] introduce common bootstrap code Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:26 ` [PATCH 6/7] at91: add bootstrap version Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:31 ` Sascha Hauer [this message]
2013-01-19 11:26 ` [PATCH 7/7] at91: usb_a9263: " Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:33 ` Sascha Hauer
2013-01-19 13:33 ` Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 13:52 ` Sascha Hauer
2013-01-19 15:03 ` Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 11:42 ` [PATCH 1/7] at91: add test commamd to emulate bootrom boot Sascha Hauer
2013-01-19 13:32 ` Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 13:42 ` Sascha Hauer
2013-01-19 16:32 ` Jean-Christophe PLAGNIOL-VILLARD
2013-01-20 9:41 ` Sascha Hauer
-- strict thread matches above, loose matches on Subject: below --
2013-01-19 7:33 [PATCH 0/7 v2] at91: add bootstrap support Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 7:35 ` [PATCH 1/7] at91: add test commamd to emulate bootrom boot Jean-Christophe PLAGNIOL-VILLARD
2013-01-19 7:35 ` [PATCH 6/7] at91: add bootstrap version Jean-Christophe PLAGNIOL-VILLARD
2012-12-29 10:04 [PATCH 0/7] at91: add bootstrap support Jean-Christophe PLAGNIOL-VILLARD
2012-12-29 10:08 ` [PATCH 1/7] at91: add test commamd to emulate bootrom boot Jean-Christophe PLAGNIOL-VILLARD
2012-12-29 10:08 ` [PATCH 6/7] at91: add bootstrap version Jean-Christophe PLAGNIOL-VILLARD
2013-01-02 11:41 ` Jan Lübbe
2013-01-04 13:12 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130119113127.GI1906@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=plagnioj@jcrosoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox