ppc44x: Unification of virtex5 pp440 boards

This patch provides an unificated way of handling xilinx v5 ppc440 boards.

It unificates 3 different things:

1) Source code
A new board called ppc440-generic has been created. This board includes
a generic tlb initialization (Maps the whole memory into virtual) and
defines board_pre_init, checkboard, initdram and get_sys_info weakly,
so, they can be replaced by specific functions.

If a new board needs to redefine any of the previous functions
(specific initialization) it can create a new directory with the
specific initializations needed. (see the example ml507 board).

2) Configuration file
Common configurations are located under configs/xilinx-ppc440.h, this
header file interpretes the xparameters file generated by EDK and
configurates u-boot in correspondence. Example: if there is a Temac,
allows CMD_CONFIG_NET
Specific configuration are located under specific configuration file.
(see the example ml507 board)

3) Makefile
Some work has been done in order to not duplicate work in the Main
Makefile. Please see the attached code.

In order to support new boards they can be implemented in the next way:

a) Simple Generic Board  (90% of the time)
Using EDK generates a new xparameters.h file, replace
ppc440-generic/xparameters.h  and run make xilinx-ppc440-generic_config
&& make

b) Simple Boards with special u-boot parameters (9 % of the time)
Create a new file under configs for it (use ml507.h as example) and
change your paramaters. Create a new Makefile paragraph and compile

c) Complex boards (1% of the time)
Create a new folder for the board, like the ml507

Finally, it adds support for the Avnet FX30T Evaluation board, following
the new generic structure:

Cheap board by Avnet for evaluating the Virtex5 FX technology.

This patch adds support for:
 - UartLite
 - 16MB Flash
 - 64MB RAM

Prior using U-boot in this board, read carefully the ERRATA by Avnet
to solve some memory initialization issues.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@uam.es>
Signed-off-by: Stefan Roese <sr@denx.de>
diff --git a/Makefile b/Makefile
index 8d82ef5..3869e79 100644
--- a/Makefile
+++ b/Makefile
@@ -1356,16 +1356,17 @@
 ml300_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx
 
-ml507_flash_config:	unconfig
+ml507_flash_config: unconfig
 	@mkdir -p $(obj)include $(obj)board/xilinx/ml507
-	@cp $(obj)board/xilinx/ml507/u-boot-rom.lds  $(obj)board/xilinx/ml507/u-boot.lds
-	@echo "TEXT_BASE = 0xFE360000" > $(obj)board/xilinx/ml507/config.tmp
-	@$(MKCONFIG) $(@:_flash_config=) ppc ppc4xx ml507 xilinx
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-rom.lds" > $(obj)board/xilinx/ml507/config.mk
+	@echo "TEXT_BASE := 0xFE360000" >> $(obj)board/xilinx/ml507/config.mk
+	@$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx
 
-ml507_config:	unconfig
+ml507_config: unconfig
 	@mkdir -p $(obj)include $(obj)board/xilinx/ml507
-	@cp $(obj)board/xilinx/ml507/u-boot-ram.lds  $(obj)board/xilinx/ml507/u-boot.lds
-	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml507 xilinx
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-ram.lds" > $(obj)board/xilinx/ml507/config.mk
+	@echo "TEXT_BASE := 0x04000000" >> $(obj)board/xilinx/ml507/config.mk
+	@$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx
 
 ocotea_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ocotea amcc
@@ -1461,6 +1462,18 @@
 taishan_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx taishan amcc
 
+v5fx30teval_config: unconfig
+	@mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-ram.lds" > $(obj)board/avnet/v5fx30teval/config.mk
+	@echo "TEXT_BASE := 0x03000000" >> $(obj)board/avnet/v5fx30teval/config.mk
+	@$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet
+
+v5fx30teval_flash_config: unconfig
+	@mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-rom.lds" > $(obj)board/avnet/v5fx30teval/config.mk
+	@echo "TEXT_BASE := 0xFF1C0000" >> $(obj)board/avnet/v5fx30teval/config.mk
+	@$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet
+
 VOH405_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx voh405 esd
 
@@ -1479,6 +1492,18 @@
 WUH405_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx wuh405 esd
 
+xilinx-ppc440-generic_flash_config: unconfig
+	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic/
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-rom.lds" > $(obj)board/xilinx/ppc440-generic/config.mk
+	@echo "TEXT_BASE := 0xFE360000" >> $(obj)board/xilinx/ppc440-generic/config.mk
+	@$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx
+
+xilinx-ppc440-generic_config: unconfig
+	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic/
+	@echo "LDSCRIPT  := $(obj)board/xilinx/ppc440-generic/u-boot-ram.lds" > $(obj)board/xilinx/ppc440-generic/config.mk
+	@echo "TEXT_BASE := 0x04000000" >> $(obj)board/xilinx/ppc440-generic/config.mk
+	@$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx
+
 XPEDITE1K_config:	unconfig
 	@$(MKCONFIG) $(@:_config=) ppc ppc4xx xpedite1k