Patchwork [U-Boot,PATCHv5] ARM: Add Altera SOCFPGA Cyclone5

login
register
mail settings
Submitter Pavel Machek
Date Oct. 3, 2012, 12:56 p.m.
Message ID <20121003125635.GA25959@elf.ucw.cz>
Download mbox | patch
Permalink /patch/188759/
State Superseded
Delegated to: Albert ARIBAUD
Headers show

Comments

Pavel Machek - Oct. 3, 2012, 12:56 p.m.
Hi!

> > > From: Dinh Nguyen <dinguyen@altera.com>
> > > 
> > > Add minimal support for Altera's SOCFPGA Cyclone 5 hardware.
> > > 
> > > Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
> > > Signed-off-by: Chin Liang See <clsee@altera.com>
> > > Signed-off-by: Pavel Machek <pavel@denx.de>
> > > Reviewed-by: Marek Vasut <marex@denx.de>
> > > Cc: Tom Trini <trini@ti.com>
> > > Cc: Wolfgang Denx <wd@denx.de>
> > > Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> > > Cc: Stefan Roese <sr@denx.de>
> > 
> > Acked-by: Tom Rini <trini@ti.com>
> > 
> > Albert, as I had promised that if they rebased on my SPL series and
> > since it was close to after the merge window closed they could get this
> > in, please take this for the next pull request (assuming you have no
> > comments), thanks!
> 
> gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) gives:
> 
> albert@lilith:~/src/u-boot-arm$ LANG=C ./MAKEALL socfpga_cyclone5
> Configuring for socfpga_cyclone5 board...
> socfpga_cyclone5.c:26:6: error: expected identifier or '(' before 'do'
> socfpga_cyclone5.c:26:6: error: expected identifier or '(' before 'while'
> make[2]: ***
> > > [/home/albert/src/u-boot-arm/spl/board/altera/socfpga_cyclone5/soc

I tried:

pavel@amd:~/mainline-altera/u-boot$ LANG=C
CROSS_COMPILE=arm-linux-gnueabi- ./MAKEALL socfpga_cyclone5
Configuring for socfpga_cyclone5 board...
   text	       data		     bss	    dec	    hex
   filename
 160875	   3584	 213264	 377723	  5c37b	./u-boot
   1918	       152	      52     2122	    84a
   ./spl/u-boot-spl

--------------------- SUMMARY ----------------------------
Boards compiled: 1
----------------------------------------------------------
pavel@amd:~/mainline-altera/u-boot$ 

pavel@amd:~/mainline-altera/u-boot$ arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Debian 4.3.5-4) 4.3.5
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

> make: *** [spl/u-boot-spl.bin] Error 2
> arm-linux-gnueabi-size: './u-boot': No such file
> spl.c: In function 'board_init_f':
> spl.c:45:38: warning: taking address of expression of type 'void' [enabled by default]

Guilty as charged. We did not want to specify type of stack and malloc
pools. Patch below should fix it.

> socfpga_cyclone5.c:26:6: error: expected identifier or '(' before 'do'
> socfpga_cyclone5.c:26:6: error: expected identifier or '(' before 'while'
> make[2]: *** [/home/albert/src/u-boot-arm/spl/board/altera/socfpga_cyclone5/socfpga_cyclone5.o] Error 1
> make[1]: *** [/home/albert/src/u-boot-arm/spl/board/altera/socfpga_cyclone5/libsocfpga_cyclone5.o] Error 2

But this one is a mystery. Offending lines are:

#include <netdev.h>

DECLARE_GLOBAL_DATA_PTR;

[line 26:] void show_boot_progress(int progress)
{
        debug("Boot reached stage %d\n", progress);
}

Do we need direct include asm/global_data.h for
DECLARE_GLOBAL_DATA_PTR? Is something funny going on with debug()? Is
show_boot_progress() a macro in your build? Would it be enough to
check out current u-boot-arm to reproduce?

Thanks,

  	                                                            Pavel

Patch

diff --git a/arch/arm/include/asm/arch-socfpga/spl.h b/arch/arm/include/asm/arch-socfpga/spl.h
index c2014c5..efd0c06 100644
--- a/arch/arm/include/asm/arch-socfpga/spl.h
+++ b/arch/arm/include/asm/arch-socfpga/spl.h
@@ -19,7 +19,7 @@ 
 #define _SOCFPGA_SPL_H_
 
 /* Symbols from linker script */
-extern void __malloc_start, __malloc_end, __stack_start;
+extern char __malloc_start, __malloc_end, __stack_start;
 
 #define BOOT_DEVICE_RAM 1