[U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
Signed-off-by: Christian Riesch Cc: Heiko Schocher Cc: Mike Frysinger Cc: Scott Wood Acked-by: Mike Frysinger --- doc/README.SPL |1 + drivers/mtd/spi/Makefile |4 +++ drivers/mtd/spi/spi_spl_load.c | 58 include/spi_flash.h|3 ++ 4 files changed, 66 insertions(+), 0 deletions(-) create mode 100644 drivers/mtd/spi/spi_spl_load.c diff --git a/doc/README.SPL b/doc/README.SPL index 89d24a7..f01a8bd 100644 --- a/doc/README.SPL +++ b/doc/README.SPL @@ -65,3 +65,4 @@ CONFIG_SPL_NAND_SUPPORT (drivers/mtd/nand/libnand.o) CONFIG_SPL_DMA_SUPPORT (drivers/dma/libdma.o) CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o) CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o) +CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o) diff --git a/drivers/mtd/spi/Makefile b/drivers/mtd/spi/Makefile index 57112af..90f8392 100644 --- a/drivers/mtd/spi/Makefile +++ b/drivers/mtd/spi/Makefile @@ -25,6 +25,10 @@ include $(TOPDIR)/config.mk LIB:= $(obj)libspi_flash.o +ifdef CONFIG_SPL_BUILD +COBJS-$(CONFIG_SPL_SPI_LOAD) += spi_spl_load.o +endif + COBJS-$(CONFIG_SPI_FLASH) += spi_flash.o COBJS-$(CONFIG_SPI_FLASH_ATMEL)+= atmel.o COBJS-$(CONFIG_SPI_FLASH_EON) += eon.o diff --git a/drivers/mtd/spi/spi_spl_load.c b/drivers/mtd/spi/spi_spl_load.c new file mode 100644 index 000..1aa30ac --- /dev/null +++ b/drivers/mtd/spi/spi_spl_load.c @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2011 OMICRON electronics GmbH + * + * based on drivers/mtd/nand/nand_spl_load.c + * + * Copyright (C) 2011 + * Heiko Schocher, DENX Software Engineering, h...@denx.de. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include +#include + +/* + * The main entry for SPI booting. It's necessary that SDRAM is already + * configured and available since this code loads the main U-Boot image + * from SPI into SDRAM and starts it from there. + */ +void spi_boot(void) +{ + struct spi_flash *flash; + void (*uboot)(void) __noreturn; + + /* +* Load U-Boot image from SPI flash into RAM +*/ + + flash = spi_flash_probe(CONFIG_SPL_SPI_BUS, CONFIG_SPL_SPI_CS, + CONFIG_SF_DEFAULT_SPEED, SPI_MODE_3); + if (!flash) { + puts("failed.\n"); + hang(); + } + + spi_flash_read(flash, CONFIG_SYS_SPI_U_BOOT_OFFS, + CONFIG_SYS_SPI_U_BOOT_SIZE, + (void *) CONFIG_SYS_TEXT_BASE); + + /* +* Jump to U-Boot image +*/ + uboot = (void *) CONFIG_SYS_TEXT_BASE; + (*uboot)(); +} diff --git a/include/spi_flash.h b/include/spi_flash.h index 2671ab5..9da9062 100644 --- a/include/spi_flash.h +++ b/include/spi_flash.h @@ -25,6 +25,7 @@ #include #include +#include struct spi_flash { struct spi_slave *spi; @@ -68,4 +69,6 @@ static inline int spi_flash_erase(struct spi_flash *flash, u32 offset, return flash->erase(flash, offset, len); } +void spi_boot(void) __noreturn; + #endif /* _SPI_FLASH_H_ */ -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
On 12/05/2011 04:58 AM, Christian Riesch wrote: > Signed-off-by: Christian Riesch > Cc: Heiko Schocher > Cc: Mike Frysinger > Cc: Scott Wood > Acked-by: Mike Frysinger > --- > doc/README.SPL |1 + > drivers/mtd/spi/Makefile |4 +++ > drivers/mtd/spi/spi_spl_load.c | 58 > > include/spi_flash.h|3 ++ > 4 files changed, 66 insertions(+), 0 deletions(-) > create mode 100644 drivers/mtd/spi/spi_spl_load.c I'm not sure if you're the one assigning this to me in Patchwork (would be nice if it had a history log), but I'm not the maintainer of SPI, nor of SPL generically -- just NAND. -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
On Monday 05 December 2011 14:33:40 Scott Wood wrote: > On 12/05/2011 04:58 AM, Christian Riesch wrote: > > Signed-off-by: Christian Riesch > > Cc: Heiko Schocher > > Cc: Mike Frysinger > > Cc: Scott Wood > > Acked-by: Mike Frysinger > > --- > > > > doc/README.SPL |1 + > > drivers/mtd/spi/Makefile |4 +++ > > drivers/mtd/spi/spi_spl_load.c | 58 > > include/spi_flash.h > > |3 ++ > > 4 files changed, 66 insertions(+), 0 deletions(-) > > create mode 100644 drivers/mtd/spi/spi_spl_load.c > > I'm not sure if you're the one assigning this to me in Patchwork (would > be nice if it had a history log), but I'm not the maintainer of SPI, nor > of SPL generically -- just NAND. i don't plan on running these through my SPI branch ... seems like it should go through the SPL with everything else here. -mike signature.asc Description: This is a digitally signed message part. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
On Mon, Dec 5, 2011 at 12:56 PM, Mike Frysinger wrote: > On Monday 05 December 2011 14:33:40 Scott Wood wrote: >> On 12/05/2011 04:58 AM, Christian Riesch wrote: >> > Signed-off-by: Christian Riesch >> > Cc: Heiko Schocher >> > Cc: Mike Frysinger >> > Cc: Scott Wood >> > Acked-by: Mike Frysinger >> > --- >> > >> > doc/README.SPL | 1 + >> > drivers/mtd/spi/Makefile | 4 +++ >> > drivers/mtd/spi/spi_spl_load.c | 58 >> > include/spi_flash.h >> > | 3 ++ >> > 4 files changed, 66 insertions(+), 0 deletions(-) >> > create mode 100644 drivers/mtd/spi/spi_spl_load.c >> >> I'm not sure if you're the one assigning this to me in Patchwork (would >> be nice if it had a history log), but I'm not the maintainer of SPI, nor >> of SPL generically -- just NAND. > > i don't plan on running these through my SPI branch ... seems like it should > go through the SPL with everything else here. How about this? I don't see SPL nor SPI on the Custodians page, but there is TI and this is SPL for DaVinci (TI) stuff, so once everyone is happy with the whole series I'll take this for u-boot-ti/master and try for v2011.12 (since this series has been around for a while). -- Tom ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
On Monday 05 December 2011 15:03:44 Tom Rini wrote: > On Mon, Dec 5, 2011 at 12:56 PM, Mike Frysinger wrote: > > On Monday 05 December 2011 14:33:40 Scott Wood wrote: > >> On 12/05/2011 04:58 AM, Christian Riesch wrote: > >> > Signed-off-by: Christian Riesch > >> > Cc: Heiko Schocher > >> > Cc: Mike Frysinger > >> > Cc: Scott Wood > >> > Acked-by: Mike Frysinger > >> > --- > >> > > >> > doc/README.SPL |1 + > >> > drivers/mtd/spi/Makefile |4 +++ > >> > drivers/mtd/spi/spi_spl_load.c | 58 > >> > include/spi_flash.h > >> > |3 ++ > >> > 4 files changed, 66 insertions(+), 0 deletions(-) > >> > create mode 100644 drivers/mtd/spi/spi_spl_load.c > >> > >> I'm not sure if you're the one assigning this to me in Patchwork (would > >> be nice if it had a history log), but I'm not the maintainer of SPI, nor > >> of SPL generically -- just NAND. > > > > i don't plan on running these through my SPI branch ... seems like it > > should go through the SPL with everything else here. > > How about this? I don't see SPL nor SPI on the Custodians page, but > there is TI and this is SPL for DaVinci (TI) stuff, so once everyone > is happy with the whole series I'll take this for u-boot-ti/master and > try for v2011.12 (since this series has been around for a while). that's fine by me -mike signature.asc Description: This is a digitally signed message part. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot