[PATCH 7/7] at91: usb_a9263: add bootstrap version
Sascha Hauer
s.hauer at pengutronix.de
Sat Jan 19 08:52:01 EST 2013
On Sat, Jan 19, 2013 at 02:33:56PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 12:33 Sat 19 Jan , Sascha Hauer wrote:
> > On Sat, Jan 19, 2013 at 12:26:54PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > > ---
> > > arch/arm/boards/usb-a926x/Makefile | 3 +++
> > > arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c | 16 ++++++++++++
> > > .../configs/usb_a9263_128mib_bootstrap_defconfig | 26 ++++++++++++++++++++
> > > arch/arm/configs/usb_a9263_bootstrap_defconfig | 25 +++++++++++++++++++
> > > 4 files changed, 70 insertions(+)
> > > create mode 100644 arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
> > > create mode 100644 arch/arm/configs/usb_a9263_128mib_bootstrap_defconfig
> > > create mode 100644 arch/arm/configs/usb_a9263_bootstrap_defconfig
> > >
> > > diff --git a/arch/arm/boards/usb-a926x/Makefile b/arch/arm/boards/usb-a926x/Makefile
> > > index 9511a76..4c8cd64 100644
> > > --- a/arch/arm/boards/usb-a926x/Makefile
> > > +++ b/arch/arm/boards/usb-a926x/Makefile
> > > @@ -1,5 +1,8 @@
> > > obj-y += init.o
> > >
> > > +bootstrap-$(CONFIG_MACH_USB_A9263) = usb_a9263_bootstrap.o
> > > +obj-$(CONFIG_BOOTSTRAP) += $(bootstrap-y)
> > > +
> > > lowlevel_init-$(CONFIG_MACH_USB_A9263) = usb_a9263_lowlevel_init.o
> > >
> > > obj-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += $(lowlevel_init-y)
> > > diff --git a/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c b/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
> > > new file mode 100644
> > > index 0000000..368c677
> > > --- /dev/null
> > > +++ b/arch/arm/boards/usb-a926x/usb_a9263_bootstrap.c
> > > @@ -0,0 +1,16 @@
> > > +/*
> > > + * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio at jcrosoft.com>
> > > + *
> > > + * Under GPLv2
> > > + */
> > > +
> > > +#include <common.h>
> > > +#include <bootstrap.h>
> > > +#include <mach/bootstrap.h>
> > > +
> > > +#ifdef CONFIG_MTD_DATAFLASH
> > > +void * bootstrap_board_read_dataflash(void)
> > > +{
> > > + return bootstrap_read_devfs("dataflash0", false, 0xffc0, 204864, 204864);
> > > +}
> > > +#endif
> > > diff --git a/arch/arm/configs/usb_a9263_128mib_bootstrap_defconfig b/arch/arm/configs/usb_a9263_128mib_bootstrap_defconfig
> > > new file mode 100644
> > > index 0000000..e71a3c5
> > > --- /dev/null
> > > +++ b/arch/arm/configs/usb_a9263_128mib_bootstrap_defconfig
> > > @@ -0,0 +1,26 @@
> > > +CONFIG_ARCH_AT91SAM9263=y
> > > +CONFIG_MACH_USB_A9263=y
> > > +CONFIG_AT91_HAVE_SRAM_128M=y
> > > +CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x12000
> > > +CONFIG_AEABI=y
> > > +# CONFIG_CMD_ARM_CPUINFO is not set
> > > +CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
> > > +CONFIG_ENVIRONMENT_VARIABLES=y
> > > +CONFIG_PBL_IMAGE=y
> > > +CONFIG_MMU=y
> > > +CONFIG_MALLOC_DUMMY=y
> > > +CONFIG_PROMPT="USB-9263:"
> > > +CONFIG_SHELL_NONE=y
> > > +# CONFIG_DEFAULT_ENVIRONMENT is not set
> > > +# CONFIG_SPI is not set
> > > +CONFIG_MTD=y
> > > +# CONFIG_MTD_WRITE is not set
> > > +# CONFIG_MTD_OOB_DEVICE is not set
> > > +CONFIG_NAND=y
> > > +# CONFIG_NAND_ECC_HW is not set
> > > +# CONFIG_NAND_ECC_HW_SYNDROME is not set
> > > +# CONFIG_NAND_ECC_HW_NONE is not set
> > > +CONFIG_NAND_ATMEL=y
> > > +# CONFIG_FS_RAMFS is not set
> > > +CONFIG_BOOTSTRAP=y
> > > +CONFIG_BOOTSTRAP_DEVFS=y
> > > diff --git a/arch/arm/configs/usb_a9263_bootstrap_defconfig b/arch/arm/configs/usb_a9263_bootstrap_defconfig
> > > new file mode 100644
> > > index 0000000..c4b31ba
> > > --- /dev/null
> > > +++ b/arch/arm/configs/usb_a9263_bootstrap_defconfig
> > > @@ -0,0 +1,25 @@
> > > +CONFIG_ARCH_AT91SAM9263=y
> > > +CONFIG_MACH_USB_A9263=y
> > > +CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x12000
> > > +CONFIG_AEABI=y
> > > +# CONFIG_CMD_ARM_CPUINFO is not set
> > > +CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
> > > +CONFIG_ENVIRONMENT_VARIABLES=y
> > > +CONFIG_PBL_IMAGE=y
> > > +CONFIG_MMU=y
> > > +CONFIG_MALLOC_DUMMY=y
> > > +CONFIG_PROMPT="USB-9263:"
> > > +CONFIG_SHELL_NONE=y
> > > +# CONFIG_DEFAULT_ENVIRONMENT is not set
> > > +# CONFIG_SPI is not set
> > > +CONFIG_MTD=y
> > > +# CONFIG_MTD_WRITE is not set
> > > +# CONFIG_MTD_OOB_DEVICE is not set
> > > +CONFIG_NAND=y
> > > +# CONFIG_NAND_ECC_HW is not set
> > > +# CONFIG_NAND_ECC_HW_SYNDROME is not set
> > > +# CONFIG_NAND_ECC_HW_NONE is not set
> > > +CONFIG_NAND_ATMEL=y
> > > +# CONFIG_FS_RAMFS is not set
> > > +CONFIG_BOOTSTRAP=y
> > > +CONFIG_BOOTSTRAP_DEVFS=y
> >
> > These configs still fail with
> >
> > arch/arm/mach-at91/built-in.o: In function `boot_seq':
> > at91sam9263_devices.c:(.text.boot_seq+0x28): undefined reference to `bootstrap_boot'
> >
> > When CONFIG_BOOTSTRAP is disabled in make menuconfig. Should it be
> > selected?
> yes BOOTSTRAP is mandatory
By selected I meant something like:
config AT91_BOOTSTRAP
bool "Build bootstrap barebox"
depends on SOC_AT91SAM9263
select HAVE_NOSHELL
select BOOTSTRAP
select SHELL_NONE
(I haven't tested this)
It should be possible to disable BOOTSTRAP when it's actually required
to successfully build the binary.
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