
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
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