On Friday 11 July 2008, Ricardo Ribalda Delgado wrote: > -Suport for the Xilinx ML507 Development Board
Comments below... > Signed-off-by: Ricardo Ribalda Delgado <[EMAIL PROTECTED]> > --- > Makefile | 3 + You forgot to add youself to MAINTAINERS and the board to MAKEALL. > board/xilinx/ml507/Makefile | 53 ++++++++++++ > board/xilinx/ml507/config.mk | 18 ++++ > board/xilinx/ml507/init.S | 45 +++++++++++ > board/xilinx/ml507/ml507.c | 57 +++++++++++++ > board/xilinx/ml507/u-boot.lds | 149 > +++++++++++++++++++++++++++++++++++ board/xilinx/ml507/u-boot.lds.debug | > 136 ++++++++++++++++++++++++++++++++ board/xilinx/ml507/xparameters.h | > 33 ++++++++ > include/configs/ml507.h | 108 +++++++++++++++++++++++++ > 9 files changed, 602 insertions(+), 0 deletions(-) > create mode 100644 board/xilinx/ml507/Makefile > create mode 100644 board/xilinx/ml507/config.mk > create mode 100644 board/xilinx/ml507/init.S > create mode 100644 board/xilinx/ml507/ml507.c > create mode 100644 board/xilinx/ml507/u-boot.lds > create mode 100644 board/xilinx/ml507/u-boot.lds.debug > create mode 100644 board/xilinx/ml507/xparameters.h > create mode 100644 include/configs/ml507.h <snip> > diff --git a/board/xilinx/ml507/ml507.c b/board/xilinx/ml507/ml507.c > new file mode 100644 > index 0000000..27c87cc > --- /dev/null > +++ b/board/xilinx/ml507/ml507.c > @@ -0,0 +1,57 @@ > +/* > + (C) Copyright 2008 > + Ricado Ribalda-Universidad Autonoma de [EMAIL PROTECTED] > + 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 checkboard(void) > +{ > + > + printf > + ("ML507 Board ported by Ricardo Ribalda [EMAIL PROTECTED] > (http://qtec.com) \n"); + return (0); Hmmm. Do you really need to print your name in the U-Boot log each time the board boots? I wouldn't do this. > +} > + > +phys_size_t initdram(int board_type) > +{ > + return 256 * 1024 * 1024; > +} > + > +int testdram(void) > +{ > + printf("test: xxx MB - ok\n"); > + > + return (0); > +} Remove testdram() please. > +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/u-boot.lds b/board/xilinx/ml507/u-boot.lds > new file mode 100644 > index 0000000..054661c > --- /dev/null > +++ b/board/xilinx/ml507/u-boot.lds > @@ -0,0 +1,149 @@ > +/* > + * (C) Copyright 2000 > + * Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] > + * Modified by: Ricardo Ribalda Delgado ricardo.ribalda<at>gmail.com > ricardo.ribalda<at>uam.es + * > + * 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 > + */ > + > +OUTPUT_ARCH(powerpc) > +ENTRY(_start_440) > +/* Do we need any of these for elf? > + __DYNAMIC = 0; */ > +SECTIONS > +{ > + /* Read-only sections, merged into text segment: */ > + . = + SIZEOF_HEADERS; > + .interp : { *(.interp) } > + .hash : { *(.hash) } > + .dynsym : { *(.dynsym) } > + .dynstr : { *(.dynstr) } > + .rel.text : { *(.rel.text) } > + .rela.text : { *(.rela.text) } > + .rel.data : { *(.rel.data) } > + .rela.data : { *(.rela.data) } > + .rel.rodata : { *(.rel.rodata) } > + .rela.rodata : { *(.rela.rodata) } > + .rel.got : { *(.rel.got) } > + .rela.got : { *(.rela.got) } > + .rel.ctors : { *(.rel.ctors) } > + .rela.ctors : { *(.rela.ctors) } > + .rel.dtors : { *(.rel.dtors) } > + .rela.dtors : { *(.rela.dtors) } > + .rel.bss : { *(.rel.bss) } > + .rela.bss : { *(.rela.bss) } > + .rel.plt : { *(.rel.plt) } > + .rela.plt : { *(.rela.plt) } > + .init : { *(.init) } > + .plt : { *(.plt) } > + .text : > + { > + /* WARNING - the following is hand-optimized to fit within */ > + /* the sector layout of our flash chips! XXX FIXME XXX */ > +/* > + cpu/ppc4xx/start.o (.text) > + board/xilinx/ml300/init.o (.text) > + cpu/ppc4xx/kgdb.o (.text) > + cpu/ppc4xx/traps.o (.text) > + cpu/ppc4xx/interrupts.o (.text) > + cpu/ppc4xx/4xx_uart.o (.text) > + cpu/ppc4xx/cpu_init.o (.text) > + cpu/ppc4xx/speed.o (.text) > + cpu/ppc4xx/4xx_enet.o (.text) > + common/dlmalloc.o (.text) > + lib_generic/crc32.o (.text) > + lib_ppc/extable.o (.text) > + lib_generic/zlib.o (.text) > +*/ > +/* . = env_offset;*/ > +/* common/environment.o(.text)*/ Remove those lines above that are commented out. > + *(.text) > + *(.fixup) > + *(.got1) > + } > + _etext = .; > + PROVIDE (etext = .); > + .rodata : > + { > + *(.rodata) > + *(.rodata1) > + *(.rodata.str1.4) > + *(.eh_frame) > + } > + .fini : { *(.fini) } =0 > + .ctors : { *(.ctors) } > + .dtors : { *(.dtors) } > + > + /* Read-write section, merged into data segment: */ > + . = (. + 0x00FF) & 0xFFFFFF00; > + _erotext = .; > + PROVIDE (erotext = .); > + .reloc : > + { > + *(.got) > + _GOT2_TABLE_ = .; > + *(.got2) > + _FIXUP_TABLE_ = .; > + *(.fixup) > + } > + __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; > + __fixup_entries = (. - _FIXUP_TABLE_)>>2; > + > + .data : > + { > + *(.data) > + *(.data1) > + *(.sdata) > + *(.sdata2) > + *(.dynamic) > + CONSTRUCTORS > + } > + _edata = .; > + PROVIDE (edata = .); > + > + . = .; > + __u_boot_cmd_start = .; > + .u_boot_cmd : { *(.u_boot_cmd) } > + __u_boot_cmd_end = .; > + > + > + . = .; > + __start___ex_table = .; > + __ex_table : { *(__ex_table) } > + __stop___ex_table = .; > + > + . = ALIGN(256); > + __init_begin = .; > + .text.init : { *(.text.init) } > + .data.init : { *(.data.init) } > + . = ALIGN(256); > + __init_end = .; > + > + __bss_start = .; > + .bss (NOLOAD) : > + { > + *(.sbss) *(.scommon) > + *(.dynbss) > + *(.bss) > + *(COMMON) > + } > + _end = . ; > + PROVIDE (end = .); > +} > diff --git a/board/xilinx/ml507/u-boot.lds.debug > b/board/xilinx/ml507/u-boot.lds.debug new file mode 100644 > index 0000000..0552994 > --- /dev/null > +++ b/board/xilinx/ml507/u-boot.lds.debug Do you really need this u-boot.lds.debug? If not please remove it. > @@ -0,0 +1,136 @@ > +/* > + * (C) Copyright 2000 > + * Wolfgang Denk, DENX Software Engineering, [EMAIL PROTECTED] > + * > + * 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 > + */ > + > +OUTPUT_ARCH(powerpc) > +/* Do we need any of these for elf? > + __DYNAMIC = 0; */ > +SECTIONS > +{ > + /* Read-only sections, merged into text segment: */ > + . = + SIZEOF_HEADERS; > + .interp : { *(.interp) } > + .hash : { *(.hash) } > + .dynsym : { *(.dynsym) } > + .dynstr : { *(.dynstr) } > + .rel.text : { *(.rel.text) } > + .rela.text : { *(.rela.text) } > + .rel.data : { *(.rel.data) } > + .rela.data : { *(.rela.data) } > + .rel.rodata : { *(.rel.rodata) } > + .rela.rodata : { *(.rela.rodata) } > + .rel.got : { *(.rel.got) } > + .rela.got : { *(.rela.got) } > + .rel.ctors : { *(.rel.ctors) } > + .rela.ctors : { *(.rela.ctors) } > + .rel.dtors : { *(.rel.dtors) } > + .rela.dtors : { *(.rela.dtors) } > + .rel.bss : { *(.rel.bss) } > + .rela.bss : { *(.rela.bss) } > + .rel.plt : { *(.rel.plt) } > + .rela.plt : { *(.rela.plt) } > + .init : { *(.init) } > + .plt : { *(.plt) } > + .text : > + { > + /* WARNING - the following is hand-optimized to fit within */ > + /* the sector layout of our flash chips! XXX FIXME XXX */ > + > + mpc8xx/start.o (.text) > + common/dlmalloc.o (.text) > + lib_generic/vsprintf.o (.text) > + lib_generic/crc32.o (.text) > + lib_ppc/extable.o (.text) > + > + common/environment.o(.text) > + > + *(.text) > + *(.fixup) > + *(.got1) > + } > + _etext = .; > + PROVIDE (etext = .); > + .rodata : > + { > + *(.rodata) > + *(.rodata1) > + *(.rodata.str1.4) > + *(.eh_frame) > + } > + .fini : { *(.fini) } =0 > + .ctors : { *(.ctors) } > + .dtors : { *(.dtors) } > + > + /* Read-write section, merged into data segment: */ > + . = (. + 0x0FFF) & 0xFFFFF000; > + _erotext = .; > + PROVIDE (erotext = .); > + .reloc : > + { > + *(.got) > + _GOT2_TABLE_ = .; > + *(.got2) > + _FIXUP_TABLE_ = .; > + *(.fixup) > + } > + __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; > + __fixup_entries = (. - _FIXUP_TABLE_)>>2; > + > + .data : > + { > + *(.data) > + *(.data1) > + *(.sdata) > + *(.sdata2) > + *(.dynamic) > + CONSTRUCTORS > + } > + _edata = .; > + PROVIDE (edata = .); > + > + __u_boot_cmd_start = .; > + .u_boot_cmd : { *(.u_boot_cmd) } > + __u_boot_cmd_end = .; > + > + > + __start___ex_table = .; > + __ex_table : { *(__ex_table) } > + __stop___ex_table = .; > + > + . = ALIGN(4096); > + __init_begin = .; > + .text.init : { *(.text.init) } > + .data.init : { *(.data.init) } > + . = ALIGN(4096); > + __init_end = .; > + > + __bss_start = .; > + .bss : > + { > + *(.sbss) *(.scommon) > + *(.dynbss) > + *(.bss) > + *(COMMON) > + } > + _end = . ; > + PROVIDE (end = .); > +} > diff --git a/board/xilinx/ml507/xparameters.h > b/board/xilinx/ml507/xparameters.h new file mode 100644 > index 0000000..ba47349 > --- /dev/null > +++ b/board/xilinx/ml507/xparameters.h > @@ -0,0 +1,33 @@ > +/* > + (C) Copyright 2008 > + Ricado Ribalda-Universidad Autonoma de [EMAIL PROTECTED] > + 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 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_RS232_UART_1_BASEADDR 0x84000000 > +#define XPAR_IIC_EEPROM_BASEADDR 0x81600000 > +#define XPAR_LLTEMAC_0_BASEADDR 0x81c00000 > +#define XPAR_PLB_CLOCK_FREQ_HZ 100000000 > +#define XPAR_CORE_CLOCK_FREQ_HZ 400000000 > +#define XPAR_INTC_MAX_NUM_INTR_INPUTS 13 > + > +#endif > diff --git a/include/configs/ml507.h b/include/configs/ml507.h > new file mode 100644 > index 0000000..bf1a78e > --- /dev/null > +++ b/include/configs/ml507.h > @@ -0,0 +1,108 @@ > +/* > + (C) Copyright 2008 > + Ricado Ribalda, Universidad Autonoma de Madrid, > ricardo.ribalda<at>uam.es , ricardo.ribalda<at>gmail.com + This work has > been supported by: Q-Technology 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 > + > +/* > + * High Level Configuration Options > + * (easy to change) > + */ > +/* > +#define DEBUG > +#define ET_DEBUG > +*/ > + /*CPU*/ > +#define CONFIG_XILINX_ML507 1 > +#define CONFIG_440_VIRTEX5 1 > +#define CONFIG_440 1 > +#define CONFIG_4xx 1 > +#include "../board/xilinx/ml507/xparameters.h" > +/*Mem Map*/ > +#define CFG_SDRAM_BASE 0x0 /* _must_ be 0 */ > +#define CFG_MONITOR_BASE 0x04000000 /* Start of U-Boot */ > +#define CFG_MONITOR_LEN (192*1024) > +#define CFG_MALLOC_LEN (128*1024) /* Reserved for malloc > */ > +#define CFG_ISRAM_BASE XPAR_XPS_BRAM_IF_CNTLR_1_BASEADDR > +/*Uart*/ > +#define CONFIG_XILINX_UARTLITE 1 > +#define CONFIG_BAUDRATE 9600 > +#define CFG_BAUDRATE_TABLE {9600} Only one baudrate is supported? > +#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 > +#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_NOWHERE > +#define CFG_ENV_SIZE 0x200 > +#define CFG_ENV_OFFSET 0x100 > +/*#define CFG_ENV_ADDR (CFG_MONITOR_BASE - CFG_ENV_SIZE)*/ > +/*#define CFG_ENV_ADDR 0x01000000*/ Remove the lines above that are commented out. Please fix and resubmit. Best regards, Stefan ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: [EMAIL PROTECTED] ===================================================================== ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ U-Boot-Users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/u-boot-users
