[U-Boot] [PATCH v5 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL

2011-12-05 Thread Christian Riesch
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

2011-12-05 Thread Scott Wood
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

2011-12-05 Thread Mike Frysinger
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

2011-12-05 Thread Tom Rini
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

2011-12-05 Thread Mike Frysinger
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