public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c
@ 2010-11-01 17:59 Sughosh Ganu
  2010-11-01 18:08 ` Albert ARIBAUD
  0 siblings, 1 reply; 5+ messages in thread
From: Sughosh Ganu @ 2010-11-01 17:59 UTC (permalink / raw)
  To: u-boot

 Remove the board_init_f function from nand_spl/nand_boot.c. This
 function is to be defined by all boards using the nand_spl
 functionality in their individual board directory.

 Currently this function was being used by the smdk6400 board. Added
 the board specific function definition.

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
Acked-by: Scott Wood <scottwood@freescale.com>
---
Changes since V4:
   * Modified the subject line to indicate the correct function name
     being deleted
   * Updated w.r.t mainline tot.

 board/samsung/smdk6400/smdk6400_nand_spl.c |   37 ++++++++++++++++++++++++++++
 nand_spl/board/samsung/smdk6400/Makefile   |    6 ++++-
 nand_spl/nand_boot.c                       |    8 ------
 3 files changed, 42 insertions(+), 9 deletions(-)
 create mode 100644 board/samsung/smdk6400/smdk6400_nand_spl.c

diff --git a/board/samsung/smdk6400/smdk6400_nand_spl.c b/board/samsung/smdk6400/smdk6400_nand_spl.c
new file mode 100644
index 0000000..a023284
--- /dev/null
+++ b/board/samsung/smdk6400/smdk6400_nand_spl.c
@@ -0,0 +1,37 @@
+/*
+ * (C) Copyright 2002
+ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
+ * Marius Groeger <mgroeger@sysgo.de>
+ *
+ * (C) Copyright 2002
+ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>
+ *
+ * (C) Copyright 2008
+ * Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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 <common.h>
+
+void board_init_f(unsigned long bootflag)
+{
+	relocate_code(CONFIG_SYS_TEXT_BASE - TOTAL_MALLOC_LEN, NULL,
+			CONFIG_SYS_TEXT_BASE);
+}
diff --git a/nand_spl/board/samsung/smdk6400/Makefile b/nand_spl/board/samsung/smdk6400/Makefile
index 2111e57..18cee10 100644
--- a/nand_spl/board/samsung/smdk6400/Makefile
+++ b/nand_spl/board/samsung/smdk6400/Makefile
@@ -35,7 +35,7 @@ AFLAGS	+= -DCONFIG_NAND_SPL
 CFLAGS	+= -DCONFIG_NAND_SPL
 
 SOBJS	= start.o cpu_init.o lowlevel_init.o
-COBJS	= nand_boot.o nand_ecc.o s3c64xx.o
+COBJS	= nand_boot.o nand_ecc.o s3c64xx.o smdk6400_nand_spl.o
 
 SRCS	:= $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
@@ -93,6 +93,10 @@ $(obj)s3c64xx.c:
 	@rm -f $@
 	@ln -s $(TOPDIR)/drivers/mtd/nand/s3c64xx.c $@
 
+$(obj)smdk6400_nand_spl.c:
+	@rm -f $@
+	@ln -s $(TOPDIR)/board/samsung/smdk6400/smdk6400_nand_spl.c $@
+
 #########################################################################
 
 $(obj)%.o:	$(obj)%.S
diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c
index d624418..b9fd6f5 100644
--- a/nand_spl/nand_boot.c
+++ b/nand_spl/nand_boot.c
@@ -221,14 +221,6 @@ static int nand_load(struct mtd_info *mtd, unsigned int offs,
 	return 0;
 }
 
-#if defined(CONFIG_ARM)
-void board_init_f (ulong bootflag)
-{
-	relocate_code (CONFIG_SYS_TEXT_BASE - TOTAL_MALLOC_LEN, NULL,
-		       CONFIG_SYS_TEXT_BASE);
-}
-#endif
-
 /*
  * The main entry for NAND booting. It's necessary that SDRAM is already
  * configured and available since this code loads the main U-Boot image
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c
  2010-11-01 17:59 [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c Sughosh Ganu
@ 2010-11-01 18:08 ` Albert ARIBAUD
  2010-11-01 18:14   ` sughosh ganu
  2010-11-01 18:14   ` Scott Wood
  0 siblings, 2 replies; 5+ messages in thread
From: Albert ARIBAUD @ 2010-11-01 18:08 UTC (permalink / raw)
  To: u-boot

Le 01/11/2010 18:59, Sughosh Ganu a ?crit :

>   Remove the board_init_f function from nand_spl/nand_boot.c. This
>   function is to be defined by all boards using the nand_spl
>   functionality in their individual board directory.

Sorry, there's one thing I don't get, but I must admit I don't know the 
intricacies of NAND booting yet. Why should this be individualized? 
Seems to me that all boards using nand_spl will have the same 
board_init_f(), won't they?

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c
  2010-11-01 18:08 ` Albert ARIBAUD
@ 2010-11-01 18:14   ` sughosh ganu
  2010-11-01 18:14   ` Scott Wood
  1 sibling, 0 replies; 5+ messages in thread
From: sughosh ganu @ 2010-11-01 18:14 UTC (permalink / raw)
  To: u-boot

On Mon, Nov 1, 2010 at 11:38 PM, Albert ARIBAUD <albert.aribaud@free.fr>wrote:

> Le 01/11/2010 18:59, Sughosh Ganu a ?crit :
>
>
>   Remove the board_init_f function from nand_spl/nand_boot.c. This
>>  function is to be defined by all boards using the nand_spl
>>  functionality in their individual board directory.
>>
>
> Sorry, there's one thing I don't get, but I must admit I don't know the
> intricacies of NAND booting yet. Why should this be individualized? Seems to
> me that all boards using nand_spl will have the same board_init_f(), won't
> they?
>

 This particular function in nand_boot.c was being used only by the
smdk6400. All other boards(notably freescale one's) define their own
board_init_f under their board directory. I have made the change on similar
lines, as different boards might want to do their own set of
initialisations, e.g init console, which was not done here.

-sughosh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c
  2010-11-01 18:08 ` Albert ARIBAUD
  2010-11-01 18:14   ` sughosh ganu
@ 2010-11-01 18:14   ` Scott Wood
  2010-11-01 18:19     ` Albert ARIBAUD
  1 sibling, 1 reply; 5+ messages in thread
From: Scott Wood @ 2010-11-01 18:14 UTC (permalink / raw)
  To: u-boot

On Mon, 1 Nov 2010 19:08:36 +0100
Albert ARIBAUD <albert.aribaud@free.fr> wrote:

> Le 01/11/2010 18:59, Sughosh Ganu a ?crit :
> 
> >   Remove the board_init_f function from nand_spl/nand_boot.c. This
> >   function is to be defined by all boards using the nand_spl
> >   functionality in their individual board directory.
> 
> Sorry, there's one thing I don't get, but I must admit I don't know the 
> intricacies of NAND booting yet. Why should this be individualized? 
> Seems to me that all boards using nand_spl will have the same 
> board_init_f(), won't they?

No, some boards could easily require board-specific init during the
nand spl phase.  There's lots of this on the powerpc side, but it
hadn't been required on ARM yet (maybe they do more init in assembly?)
-- until now.

-Scott

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c
  2010-11-01 18:14   ` Scott Wood
@ 2010-11-01 18:19     ` Albert ARIBAUD
  0 siblings, 0 replies; 5+ messages in thread
From: Albert ARIBAUD @ 2010-11-01 18:19 UTC (permalink / raw)
  To: u-boot

Le 01/11/2010 19:14, Scott Wood a ?crit :
> On Mon, 1 Nov 2010 19:08:36 +0100
> Albert ARIBAUD<albert.aribaud@free.fr>  wrote:
>
>> Le 01/11/2010 18:59, Sughosh Ganu a ?crit :
>>
>>>    Remove the board_init_f function from nand_spl/nand_boot.c. This
>>>    function is to be defined by all boards using the nand_spl
>>>    functionality in their individual board directory.
>>
>> Sorry, there's one thing I don't get, but I must admit I don't know the
>> intricacies of NAND booting yet. Why should this be individualized?
>> Seems to me that all boards using nand_spl will have the same
>> board_init_f(), won't they?
>
> No, some boards could easily require board-specific init during the
> nand spl phase.  There's lots of this on the powerpc side, but it
> hadn't been required on ARM yet (maybe they do more init in assembly?)
> -- until now.

That answers it -- thanks.

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-11-01 18:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-01 17:59 [U-Boot] [PATCH 2/3 V5] Remove board_init_f function from nand_boot.c Sughosh Ganu
2010-11-01 18:08 ` Albert ARIBAUD
2010-11-01 18:14   ` sughosh ganu
2010-11-01 18:14   ` Scott Wood
2010-11-01 18:19     ` Albert ARIBAUD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox