diff options
24 files changed, 530 insertions, 214 deletions
| @@ -405,7 +405,8 @@ D: Atmel AT91CAP9ADK support  N: Ricardo Ribalda Delgado  E: ricardo.ribalda@uam.es -D: PPC440x5 (Virtex5), ML507 Board, eeprom_simul, adt7460 +D: PPC440x5 (Virtex5), ML507 Board, eeprom_simul, adt7460, v5fx30teval +D: Virtex ppc440 generic architecture  W: http://www.ii.uam.es/~rribalda  N: Stefan Roese diff --git a/MAINTAINERS b/MAINTAINERS index 3f16dabf5..64d84097a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -314,6 +314,8 @@ Daniel Poirot <dan.poirot@windriver.com>  Ricardo Ribalda <ricardo.ribalda@uam.es>  	ml507 		PPC440x5 +	v5fx30teval	PPC440x5 +	xilinx-pp440-generic	PPC440x5  Stefan Roese <sr@denx.de> @@ -230,12 +230,16 @@ LIST_4xx="		\  	sequoia_nand	\  	taihu		\  	taishan		\ +	v5fx30teval	\ +	v5fx30teval_flash \  	VOH405		\  	VOM405		\  	W7OLMC		\  	W7OLMG		\  	walnut		\  	WUH405		\ +	xilinx-ppc440-generic \ +	xilinx-ppc440-generic_flash \  	XPEDITE1K	\  	yellowstone	\  	yosemite	\ @@ -1356,16 +1356,17 @@ ML2_config:	unconfig  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 @@ taihu_config:	unconfig  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 @@ sycamore_config: unconfig  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 diff --git a/board/avnet/v5fx30teval/.gitignore b/board/avnet/v5fx30teval/.gitignore new file mode 100644 index 000000000..6896ef611 --- /dev/null +++ b/board/avnet/v5fx30teval/.gitignore @@ -0,0 +1 @@ +/config.mk diff --git a/board/xilinx/ml507/config.mk b/board/avnet/v5fx30teval/Makefile index e827e8a93..de23f296c 100644 --- a/board/xilinx/ml507/config.mk +++ b/board/avnet/v5fx30teval/Makefile @@ -1,6 +1,7 @@  # -# (C) Copyright 2000 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# (C) Copyright 2008 +# Ricardo Ribalda,Universidad Autonoma de Madrid, ricardo.ribalda@uam.es +# This work has been supported by: Qtechnology http://qtec.com/  #  # See file CREDITS for list of people who contributed to this  # project. @@ -20,8 +21,7 @@  # Foundation, Inc., 59 Temple Place, Suite 330, Boston,  # MA 02111-1307 USA  # -sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp -ifndef TEXT_BASE -TEXT_BASE = 0x04000000 -endif +COBJS	+= $(BOARD).o + +include $(SRCTREE)/board/xilinx/ppc440-generic/Makefile diff --git a/board/avnet/v5fx30teval/v5fx30teval.c b/board/avnet/v5fx30teval/v5fx30teval.c new file mode 100644 index 000000000..14a1d5d52 --- /dev/null +++ b/board/avnet/v5fx30teval/v5fx30teval.c @@ -0,0 +1,28 @@ +/* + * (C) Copyright 2008 + * Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + * This work has been supported by: QTechnology  http://qtec.com/ + * 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, see <http://www.gnu.org/licenses/>. +*/ + +#include <config.h> +#include <common.h> +#include <asm/processor.h> + + +int checkboard(void) +{ +	puts("Avnet Virtex 5 FX30 Evaluation Board\n"); +	return 0; +} diff --git a/board/avnet/v5fx30teval/xparameters.h b/board/avnet/v5fx30teval/xparameters.h new file mode 100644 index 000000000..bb657fcf2 --- /dev/null +++ b/board/avnet/v5fx30teval/xparameters.h @@ -0,0 +1,33 @@ +/* + * (C) Copyright 2008 + * Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + * This work has been supported by: QTechnology  http://qtec.com/ + * based on xparameters.h by Xilinx + * + * 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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef XPARAMETER_H +#define XPARAMETER_H + +#define XPAR_DDR2_SDRAM_MEM_BASEADDR	0x00000000 +#define XPAR_INTC_0_BASEADDR		0x81800000 +#define XPAR_UARTLITE_0_BASEADDR	0x84000000 +#define XPAR_FLASH_MEM0_BASEADDR	0xFF000000 +#define XPAR_PLB_CLOCK_FREQ_HZ		100000000 +#define XPAR_CORE_CLOCK_FREQ_HZ		400000000 +#define XPAR_INTC_MAX_NUM_INTR_INPUTS	13 +#define XPAR_UARTLITE_0_BAUDRATE	9600 + +#endif diff --git a/board/xilinx/ml507/.gitignore b/board/xilinx/ml507/.gitignore new file mode 100644 index 000000000..6896ef611 --- /dev/null +++ b/board/xilinx/ml507/.gitignore @@ -0,0 +1 @@ +/config.mk diff --git a/board/xilinx/ml507/Makefile b/board/xilinx/ml507/Makefile index 72837048a..de23f296c 100644 --- a/board/xilinx/ml507/Makefile +++ b/board/xilinx/ml507/Makefile @@ -1,6 +1,7 @@  # -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# (C) Copyright 2008 +# Ricardo Ribalda,Universidad Autonoma de Madrid, ricardo.ribalda@uam.es +# This work has been supported by: Qtechnology http://qtec.com/  #  # See file CREDITS for list of people who contributed to this  # project. @@ -21,38 +22,6 @@  # MA 02111-1307 USA  # -include $(TOPDIR)/config.mk -ifneq ($(OBJTREE),$(SRCTREE)) -endif +COBJS	+= $(BOARD).o -INCS		:= -CFLAGS		+= $(INCS) -HOST_CFLAGS	+= $(INCS) - -LIB	= $(obj)lib$(BOARD).a - -COBJS	= $(BOARD).o - -SOBJS	= init.o - -SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS	:= $(addprefix $(obj),$(COBJS)) -SOBJS	:= $(addprefix $(obj),$(SOBJS)) - -$(LIB):	$(OBJS) $(SOBJS) -	$(AR) $(ARFLAGS) $@ $^ - -clean: -	rm -f $(SOBJS) $(OBJS) - -distclean:	clean -	rm -f $(LIB) core *.bak .depend - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### +include $(SRCTREE)/board/xilinx/ppc440-generic/Makefile diff --git a/board/xilinx/ml507/init.S b/board/xilinx/ml507/init.S deleted file mode 100644 index 3228a65e5..000000000 --- a/board/xilinx/ml507/init.S +++ /dev/null @@ -1,53 +0,0 @@ -/* - *  (C) Copyright 2008 - *  Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es - *  This work has been supported by: QTechnology  http://qtec.com/ - * - *  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, see <http://www.gnu.org/licenses/>. -*/ - -#include <ppc_asm.tmpl> -#include <config.h> -#include <asm-ppc/mmu.h> - -.section .bootpg,"ax" -.globl tlbtab - -tlbtab: -tlbtab_start -	/* SDRAM */ -tlbentry(XPAR_DDR2_SDRAM_MEM_BASEADDR, SZ_256M, CFG_SDRAM_BASE, 0, -	 AC_R | AC_W | AC_X | SA_G | SA_I) -	/* UART */ -tlbentry(XPAR_UARTLITE_0_BASEADDR, SZ_64K, XPAR_UARTLITE_0_BASEADDR, 0, -	 AC_R | AC_W | SA_G | SA_I) -	/* PIC */ -tlbentry(XPAR_INTC_0_BASEADDR, SZ_64K, XPAR_INTC_0_BASEADDR, 0, -	 AC_R | AC_W | SA_G | SA_I) -#ifdef XPAR_IIC_EEPROM_BASEADDR -	/* I2C */ -tlbentry(XPAR_IIC_EEPROM_BASEADDR, SZ_64K, XPAR_IIC_EEPROM_BASEADDR, 0, -	 AC_R | AC_W | SA_G | SA_I) -#endif -#ifdef XPAR_LLTEMAC_0_BASEADDR -	/* Net */ -tlbentry(XPAR_LLTEMAC_0_BASEADDR, SZ_64K, XPAR_LLTEMAC_0_BASEADDR, 0, -	 AC_R | AC_W | SA_G | SA_I) -#endif -#ifdef XPAR_FLASH_MEM0_BASEADDR -	/*Flash*/ -tlbentry(XPAR_FLASH_MEM0_BASEADDR, SZ_256M, XPAR_FLASH_MEM0_BASEADDR, 0, -	 AC_R | AC_W | AC_X | SA_G | SA_I) -#endif -tlbtab_end diff --git a/board/xilinx/ml507/ml507.c b/board/xilinx/ml507/ml507.c index d4993039e..f9789cf0f 100644 --- a/board/xilinx/ml507/ml507.c +++ b/board/xilinx/ml507/ml507.c @@ -20,28 +20,9 @@  #include <common.h>  #include <asm/processor.h> -int board_pre_init(void) -{ -	return 0; -}  int checkboard(void)  { -	puts("ML507 Board\n"); +	puts("Xilinx ML507 Board\n");  	return 0;  } - -phys_size_t initdram(int board_type) -{ -	return get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, -			    CFG_SDRAM_SIZE_MB * 1024 * 1024); -} - -void get_sys_info(sys_info_t * sysInfo) -{ -	sysInfo->freqProcessor = XPAR_CORE_CLOCK_FREQ_HZ; -	sysInfo->freqPLB = XPAR_PLB_CLOCK_FREQ_HZ; -	sysInfo->freqPCI = 0; - -	return; -} diff --git a/board/xilinx/ml507/xparameters.h b/board/xilinx/ml507/xparameters.h index 77d2ddf9b..1992fff22 100644 --- a/board/xilinx/ml507/xparameters.h +++ b/board/xilinx/ml507/xparameters.h @@ -21,15 +21,14 @@  #ifndef XPARAMETER_H  #define XPARAMETER_H -#define XPAR_DDR2_SDRAM_MEM_BASEADDR 	0x00000000 -#define XPAR_IIC_EEPROM_BASEADDR 	0x81600000 -#define XPAR_INTC_0_BASEADDR 		0x81800000 -#define XPAR_LLTEMAC_0_BASEADDR 	0x81C00000 -#define XPAR_UARTLITE_0_BASEADDR 	0x84000000 -#define XPAR_FLASH_MEM0_BASEADDR 	0xFE000000 -#define XPAR_PLB_CLOCK_FREQ_HZ 		100000000 -#define XPAR_CORE_CLOCK_FREQ_HZ 	400000000 -#define XPAR_INTC_MAX_NUM_INTR_INPUTS 	13 +#define XPAR_DDR2_SDRAM_MEM_BASEADDR	0x00000000 +#define XPAR_IIC_EEPROM_BASEADDR	0x81600000 +#define XPAR_INTC_0_BASEADDR		0x81800000 +#define XPAR_UARTLITE_0_BASEADDR	0x84000000 +#define XPAR_FLASH_MEM0_BASEADDR	0xFE000000 +#define XPAR_PLB_CLOCK_FREQ_HZ		100000000 +#define XPAR_CORE_CLOCK_FREQ_HZ		400000000 +#define XPAR_INTC_MAX_NUM_INTR_INPUTS	13  #define XPAR_UARTLITE_0_BAUDRATE	9600  #endif diff --git a/board/xilinx/ppc440-generic/.gitignore b/board/xilinx/ppc440-generic/.gitignore new file mode 100644 index 000000000..6896ef611 --- /dev/null +++ b/board/xilinx/ppc440-generic/.gitignore @@ -0,0 +1 @@ +/config.mk diff --git a/board/xilinx/ppc440-generic/Makefile b/board/xilinx/ppc440-generic/Makefile new file mode 100644 index 000000000..f7405a840 --- /dev/null +++ b/board/xilinx/ppc440-generic/Makefile @@ -0,0 +1,62 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# (C) Copyright 2008 +# Ricardo Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es +# Work supported by Qtechnology http://www.qtec.com +# +# 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 $(TOPDIR)/config.mk +ifneq ($(OBJTREE),$(SRCTREE)) +endif + +INCS		:= +CFLAGS		+= $(INCS) +HOST_CFLAGS	+= $(INCS) + +LIB	= $(obj)lib$(BOARD).a + +COBJS	+= $(SRCTREE)/board/xilinx/ppc440-generic/xilinx_ppc440_generic.o + +SOBJS	+= $(SRCTREE)/board/xilinx/ppc440-generic/init.o + +SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS	:= $(addprefix $(obj),$(COBJS)) +SOBJS	:= $(addprefix $(obj),$(SOBJS)) + +$(LIB):	$(OBJS) $(SOBJS) +	$(AR) $(ARFLAGS) $@ $^ + +clean: +	rm -f $(SOBJS) $(OBJS) + +distclean:	clean +	rm -f $(LIB) core *.bak .depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/board/xilinx/ppc440-generic/init.S b/board/xilinx/ppc440-generic/init.S new file mode 100644 index 000000000..1409467ea --- /dev/null +++ b/board/xilinx/ppc440-generic/init.S @@ -0,0 +1,45 @@ +/* + *  (C) Copyright 2008 + *  Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + *  This work has been supported by: QTechnology  http://qtec.com/ + * + *  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, see <http://www.gnu.org/licenses/>. +*/ + +#include <ppc_asm.tmpl> +#include <config.h> +#include <asm-ppc/mmu.h> + +.section .bootpg,"ax" +.globl tlbtab + +tlbtab: +tlbtab_start +tlbentry(0x00000000, SZ_256M, 0x00000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x10000000, SZ_256M, 0x10000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x20000000, SZ_256M, 0x20000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x30000000, SZ_256M, 0x30000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x40000000, SZ_256M, 0x40000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x50000000, SZ_256M, 0x50000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x60000000, SZ_256M, 0x60000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x70000000, SZ_256M, 0x70000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x80000000, SZ_256M, 0x80000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0x90000000, SZ_256M, 0x90000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xa0000000, SZ_256M, 0xa0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xb0000000, SZ_256M, 0xb0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xc0000000, SZ_256M, 0xc0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xd0000000, SZ_256M, 0xd0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xe0000000, SZ_256M, 0xe0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbentry(0xf0000000, SZ_256M, 0xf0000000, 0, AC_R | AC_W | AC_X | SA_G | SA_I) +tlbtab_end diff --git a/board/xilinx/ml507/u-boot-ram.lds b/board/xilinx/ppc440-generic/u-boot-ram.lds index 2c98d2785..2c98d2785 100644 --- a/board/xilinx/ml507/u-boot-ram.lds +++ b/board/xilinx/ppc440-generic/u-boot-ram.lds diff --git a/board/xilinx/ml507/u-boot-rom.lds b/board/xilinx/ppc440-generic/u-boot-rom.lds index d5da018ba..d5da018ba 100644 --- a/board/xilinx/ml507/u-boot-rom.lds +++ b/board/xilinx/ppc440-generic/u-boot-rom.lds diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c new file mode 100644 index 000000000..0867226ff --- /dev/null +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c @@ -0,0 +1,52 @@ +/* + * (C) Copyright 2008 + * Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + * This work has been supported by: QTechnology  http://qtec.com/ + * + * 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, see <http://www.gnu.org/licenses/>. +*/ + +#include <config.h> +#include <common.h> +#include <asm/processor.h> + +int __board_pre_init(void) +{ +	return 0; +} +int board_pre_init(void) __attribute__((weak, alias("__board_pre_init"))); + +int __checkboard(void) +{ +	puts("Xilinx PPC440 Generic Board\n"); +	return 0; +} +int checkboard(void) __attribute__((weak, alias("__checkboard"))); + +phys_size_t __initdram(int board_type) +{ +	return get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR, +			    CFG_SDRAM_SIZE_MB * 1024 * 1024); +} +phys_size_t initdram(int) __attribute__((weak, alias("__initdram"))); + +void __get_sys_info(sys_info_t *sysInfo) +{ +	sysInfo->freqProcessor = XPAR_CORE_CLOCK_FREQ_HZ; +	sysInfo->freqPLB = XPAR_PLB_CLOCK_FREQ_HZ; +	sysInfo->freqPCI = 0; + +	return; +} +void get_sys_info(sys_info_t *) __attribute__((weak, alias("__get_sys_info"))); diff --git a/board/xilinx/ppc440-generic/xparameters.h b/board/xilinx/ppc440-generic/xparameters.h new file mode 100644 index 000000000..1992fff22 --- /dev/null +++ b/board/xilinx/ppc440-generic/xparameters.h @@ -0,0 +1,34 @@ +/* + * (C) Copyright 2008 + * Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + * This work has been supported by: QTechnology  http://qtec.com/ + * based on xparameters-ml507.h by Xilinx + * + * 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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef XPARAMETER_H +#define XPARAMETER_H + +#define XPAR_DDR2_SDRAM_MEM_BASEADDR	0x00000000 +#define XPAR_IIC_EEPROM_BASEADDR	0x81600000 +#define XPAR_INTC_0_BASEADDR		0x81800000 +#define XPAR_UARTLITE_0_BASEADDR	0x84000000 +#define XPAR_FLASH_MEM0_BASEADDR	0xFE000000 +#define XPAR_PLB_CLOCK_FREQ_HZ		100000000 +#define XPAR_CORE_CLOCK_FREQ_HZ		400000000 +#define XPAR_INTC_MAX_NUM_INTR_INPUTS	13 +#define XPAR_UARTLITE_0_BAUDRATE	9600 + +#endif diff --git a/include/configs/ml507.h b/include/configs/ml507.h index f8cd49998..37d93bb3c 100644 --- a/include/configs/ml507.h +++ b/include/configs/ml507.h @@ -17,106 +17,33 @@  #ifndef __CONFIG_H  #define __CONFIG_H -/* -#define DEBUG -#define ET_DEBUG -*/ - /*CPU*/ -#define CONFIG_XILINX_ML507	1 -#define CONFIG_XILINX_440	1 + +/*CPU*/  #define CONFIG_440		1 -#define CONFIG_4xx		1 +#define CONFIG_XILINX_ML507	1  #include "../board/xilinx/ml507/xparameters.h"  /*Mem Map*/ -#define CFG_SDRAM_BASE		0x0  #define CFG_SDRAM_SIZE_MB	256 -#define CFG_MONITOR_BASE	TEXT_BASE -#define CFG_MONITOR_LEN		( 192 * 1024 ) -#define CFG_MALLOC_LEN		( CFG_ENV_SIZE + 128 * 1024 ) - -/*Uart*/ -#define CONFIG_XILINX_UARTLITE -#define CONFIG_BAUDRATE		XPAR_UARTLITE_0_BAUDRATE -#define CFG_BAUDRATE_TABLE	{ XPAR_UARTLITE_0_BAUDRATE } -#define CONFIG_SERIAL_BASE	XPAR_UARTLITE_0_BASEADDR - -/*Cmd*/ -#include <config_cmd_default.h> -#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_CACHE -#define CONFIG_CMD_DIAG -#define CONFIG_CMD_ELF -#define CONFIG_CMD_IRQ -#define CONFIG_CMD_REGINFO -#define CONFIG_CMD_JFFS2 -#define CONFIG_JFFS2_CMDLINE -#undef CONFIG_CMD_I2C -#undef CONFIG_CMD_DTT -#undef CONFIG_CMD_NET -#undef CONFIG_CMD_PING -#undef CONFIG_CMD_DHCP -#undef CONFIG_CMD_EEPROM -#undef CONFIG_CMD_IMLS  /*Env*/ -#define	CFG_ENV_IS_IN_FLASH +#define	CFG_ENV_IS_IN_FLASH	1  #define	CFG_ENV_SIZE		0x20000  #define	CFG_ENV_SECT_SIZE	0x20000 -#define CFG_ENV_OFFSET 		0x340000 -#define CFG_ENV_ADDR 		(XPAR_FLASH_MEM0_BASEADDR+CFG_ENV_OFFSET) +#define CFG_ENV_OFFSET		0x340000 +#define CFG_ENV_ADDR		(XPAR_FLASH_MEM0_BASEADDR+CFG_ENV_OFFSET)  /*Misc*/ -#define CONFIG_BOOTDELAY	5		/* autoboot after 5 seconds     */ -#define CFG_LONGHELP				/* undef to save memory         */ -#define CFG_PROMPT		"board:/# "	/* Monitor Command Prompt       */ -#if defined(CONFIG_CMD_KGDB) -#define CFG_CBSIZE		1024		/* Console I/O Buffer Size      */ -#else -#define CFG_CBSIZE		256		/* Console I/O Buffer Size      */ -#endif -#define CFG_PBSIZE		( CFG_CBSIZE + sizeof( CFG_PROMPT ) + 16 ) -#define CFG_MAXARGS		16		/* max number of command args   */ -#define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size */ -#define CFG_MEMTEST_START	0x00400000	/* memtest works on           */ -#define CFG_MEMTEST_END		0x00C00000	/* 4 ... 12 MB in DRAM        */ -#define CFG_LOAD_ADDR		0x00400000	/* default load address       */ -#define CFG_EXTBDINFO		1		/* Extended board_into (bd_t) */ -#define CFG_HZ			1000		/* decrementer freq: 1 ms ticks */ -#define CONFIG_CMDLINE_EDITING			/* add command line history     */ -#define CONFIG_AUTO_COMPLETE			/* add autocompletion support   */ -#define CONFIG_LOOPW				/* enable loopw command         */ -#define CONFIG_MX_CYCLIC			/* enable mdc/mwc commands      */ -#define CONFIG_ZERO_BOOTDELAY_CHECK		/* check for keypress on bootdelay==0 */ -#define CONFIG_VERSION_VARIABLE			/* include version env variable */ -#define CFG_CONSOLE_INFO_QUIET			/* don't print console @ startup */ -#define CFG_HUSH_PARSER				/* Use the HUSH parser          */ -#define	CFG_PROMPT_HUSH_PS2	"> " -#define CONFIG_LOADS_ECHO			/* echo on for serial download  */ -#define CFG_LOADS_BAUD_CHANGE			/* allow baudrate change        */ -#define CFG_BOOTMAPSZ		( 8 << 20 )	/* Initial Memory map for Linux */ +#define CFG_PROMPT		"ml507:/# "	/* Monitor Command Prompt    */  #define CONFIG_PREBOOT		"echo U-Boot is up and runnining;" -/*Stack*/ -#define CFG_INIT_RAM_ADDR	0x800000	/* Initial RAM address    */ -#define CFG_INIT_RAM_END	0x2000		/* End of used area in RAM  */ -#define CFG_GBL_DATA_SIZE	128		/* num bytes initial data   */ -#define CFG_GBL_DATA_OFFSET	( CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE ) -#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET -/*Speed*/ -#define CONFIG_SYS_CLK_FREQ	XPAR_CORE_CLOCK_FREQ_HZ -  /*Flash*/ -#define	CFG_FLASH_BASE		XPAR_FLASH_MEM0_BASEADDR  #define	CFG_FLASH_SIZE		(32*1024*1024) -#define	CFG_FLASH_CFI		1 -#define	CONFIG_FLASH_CFI_DRIVER	1 -#define	CFG_FLASH_EMPTY_INFO	1 -#define	CFG_MAX_FLASH_BANKS	1  #define	CFG_MAX_FLASH_SECT	259 -#define	CFG_FLASH_PROTECTION  #define MTDIDS_DEFAULT		"nor0=ml507-flash"  #define MTDPARTS_DEFAULT	"mtdparts=ml507-flash:-(user)" +/*Generic Configs*/ +#include <configs/xilinx-ppc440.h>  #endif						/* __CONFIG_H */ diff --git a/include/configs/v5fx30teval.h b/include/configs/v5fx30teval.h new file mode 100644 index 000000000..67d8d7f63 --- /dev/null +++ b/include/configs/v5fx30teval.h @@ -0,0 +1,49 @@ +/* + * (C) Copyright 2008 + *  Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + *  This work has been supported by: QTechnology  http://qtec.com/ + *  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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/*CPU*/ +#define CONFIG_440		1 +#define CONFIG_XILINX_ML507	1 +#include "../board/avnet/v5fx30teval/xparameters.h" + +/*Mem Map*/ +#define CFG_SDRAM_SIZE_MB	64 + +/*Env*/ +#define	CFG_ENV_IS_IN_FLASH	1 +#define	CFG_ENV_SIZE		0x20000 +#define	CFG_ENV_SECT_SIZE	0x20000 +#define CFG_ENV_OFFSET		0x1A0000 +#define CFG_ENV_ADDR		(XPAR_FLASH_MEM0_BASEADDR+CFG_ENV_OFFSET) + +/*Misc*/ +#define CFG_PROMPT		"v5fx30t:/# "	/* Monitor Command Prompt    */ +#define CONFIG_PREBOOT		"echo U-Boot is up and runnining;" + +/*Flash*/ +#define	CFG_FLASH_SIZE		(16*1024*1024) +#define	CFG_MAX_FLASH_SECT	131 +#define MTDIDS_DEFAULT		"nor0=v5fx30t-flash" +#define MTDPARTS_DEFAULT	"mtdparts=v5fx30t-flash:-(user)" + +/*Generic Configs*/ +#include <configs/xilinx-ppc440.h> + +#endif						/* __CONFIG_H */ diff --git a/include/configs/xilinx-ppc440-generic.h b/include/configs/xilinx-ppc440-generic.h new file mode 100644 index 000000000..4e8080bf6 --- /dev/null +++ b/include/configs/xilinx-ppc440-generic.h @@ -0,0 +1,49 @@ +/* + * (C) Copyright 2008 + *  Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + *  This work has been supported by: QTechnology  http://qtec.com/ + *  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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/*CPU*/ +#define CONFIG_440			1 +#define CONFIG_XILINX_PPC440_GENERIC	1 +#include "../board/xilinx/ppc440-generic/xparameters.h" + +/*Mem Map*/ +#define CFG_SDRAM_SIZE_MB	256 + +/*Env*/ +#define	CFG_ENV_IS_IN_FLASH	1 +#define	CFG_ENV_SIZE		0x20000 +#define	CFG_ENV_SECT_SIZE	0x20000 +#define CFG_ENV_OFFSET		0x340000 +#define CFG_ENV_ADDR		(XPAR_FLASH_MEM0_BASEADDR+CFG_ENV_OFFSET) + +/*Misc*/ +#define CFG_PROMPT		"board:/# "	/* Monitor Command Prompt    */ +#define CONFIG_PREBOOT		"echo U-Boot is up and runnining;" + +/*Flash*/ +#define	CFG_FLASH_SIZE		(32*1024*1024) +#define	CFG_MAX_FLASH_SECT	259 +#define MTDIDS_DEFAULT		"nor0=ml507-flash" +#define MTDPARTS_DEFAULT	"mtdparts=ml507-flash:-(user)" + +/*Generic Configs*/ +#include <configs/xilinx-ppc440.h> + +#endif						/* __CONFIG_H */ diff --git a/include/configs/xilinx-ppc440.h b/include/configs/xilinx-ppc440.h new file mode 100644 index 000000000..40293cd84 --- /dev/null +++ b/include/configs/xilinx-ppc440.h @@ -0,0 +1,106 @@ +/* + * (C) Copyright 2008 + *  Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@uam.es + *  This work has been supported by: QTechnology  http://qtec.com/ + *  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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __CONFIG_GEN_H +#define __CONFIG_GEN_H +/* +#define DEBUG +#define ET_DEBUG +*/ + /*CPU*/ +#define CONFIG_XILINX_440	1 +#define CONFIG_440		1 +#define CONFIG_4xx		1 + +/*Mem Map*/ +#define CFG_SDRAM_BASE		0x0 +#define CFG_MONITOR_BASE	TEXT_BASE +#define CFG_MONITOR_LEN		(192 * 1024) +#define CFG_MALLOC_LEN		(CFG_ENV_SIZE + 128 * 1024) + +/*Uart*/ +#define CONFIG_XILINX_UARTLITE +#define CONFIG_BAUDRATE		XPAR_UARTLITE_0_BAUDRATE +#define CFG_BAUDRATE_TABLE	{ XPAR_UARTLITE_0_BAUDRATE } +#define CONFIG_SERIAL_BASE	XPAR_UARTLITE_0_BASEADDR + +/*Cmd*/ +#include <config_cmd_default.h> +#define CONFIG_CMD_ASKENV +#define CONFIG_CMD_CACHE +#define CONFIG_CMD_DIAG +#define CONFIG_CMD_ELF +#define CONFIG_CMD_IRQ +#define CONFIG_CMD_REGINFO +#define CONFIG_CMD_JFFS2 +#define CONFIG_JFFS2_CMDLINE +#undef CONFIG_CMD_SPI +#undef CONFIG_CMD_I2C +#undef CONFIG_CMD_DTT +#undef CONFIG_CMD_NET +#undef CONFIG_CMD_PING +#undef CONFIG_CMD_DHCP +#undef CONFIG_CMD_EEPROM +#undef CONFIG_CMD_IMLS + +/*Misc*/ +#define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds     */ +#define CFG_LONGHELP			/* undef to save memory         */ +#if defined(CONFIG_CMD_KGDB) +#define CFG_CBSIZE		1024	/* Console I/O Buffer Size      */ +#else +#define CFG_CBSIZE		256	/* Console I/O Buffer Size      */ +#endif +#define CFG_PBSIZE		(CFG_CBSIZE + sizeof(CFG_PROMPT) + 16) +#define CFG_MAXARGS		16	/* max number of command args   */ +#define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size */ +#define CFG_MEMTEST_START	0x00400000	/* memtest works on           */ +#define CFG_MEMTEST_END		0x00C00000	/* 4 ... 12 MB in DRAM        */ +#define CFG_LOAD_ADDR		0x00400000	/* default load address       */ +#define CFG_EXTBDINFO		1	/* Extended board_into (bd_t) */ +#define CFG_HZ			1000	/* decrementer freq: 1 ms ticks */ +#define CONFIG_CMDLINE_EDITING		/* add command line history     */ +#define CONFIG_AUTO_COMPLETE		/* add autocompletion support   */ +#define CONFIG_LOOPW			/* enable loopw command         */ +#define CONFIG_MX_CYCLIC		/* enable mdc/mwc commands      */ +#define CONFIG_ZERO_BOOTDELAY_CHECK	/* check for keypress on bootdelay==0 */ +#define CONFIG_VERSION_VARIABLE		/* include version env variable */ +#define CFG_CONSOLE_INFO_QUIET		/* don't print console @ startup */ +#define CFG_HUSH_PARSER			/* Use the HUSH parser          */ +#define	CFG_PROMPT_HUSH_PS2	"> " +#define CONFIG_LOADS_ECHO		/* echo on for serial download  */ +#define CFG_LOADS_BAUD_CHANGE		/* allow baudrate change        */ +#define CFG_BOOTMAPSZ		(8 << 20)/* Initial Memory map for Linux */ + +/*Stack*/ +#define CFG_INIT_RAM_ADDR	0x800000	/* Initial RAM address    */ +#define CFG_INIT_RAM_END	0x2000		/* End of used area in RAM  */ +#define CFG_GBL_DATA_SIZE	128		/* num bytes initial data   */ +#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET +/*Speed*/ +#define CONFIG_SYS_CLK_FREQ	XPAR_CORE_CLOCK_FREQ_HZ + +/*Flash*/ +#define	CFG_FLASH_BASE		XPAR_FLASH_MEM0_BASEADDR +#define	CFG_FLASH_CFI		1 +#define	CONFIG_FLASH_CFI_DRIVER	1 +#define	CFG_FLASH_EMPTY_INFO	1 +#define	CFG_MAX_FLASH_BANKS	1 +#define	CFG_FLASH_PROTECTION + +#endif						/* __CONFIG_H */ |