All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH] ML507: New board support
Date: Fri, 11 Jul 2008 14:49:01 +0200	[thread overview]
Message-ID: <200807111449.01166.sr@denx.de> (raw)
In-Reply-To: <1215778964-6771-1-git-send-email-ricardo.ribalda@uam.es>

On Friday 11 July 2008, Ricardo Ribalda Delgado wrote:
> -Suport for the Xilinx ML507 Development Board

Comments below...

> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@uam.es>
> ---
>  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 Madrid-ricardo.ribalda at 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 checkboard(void)
> +{
> +
> +	printf
> +	    ("ML507 Board ported by Ricardo Ribalda ricardo.ribalda at uam.es
> (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, wd at denx.de.
> + * 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, wd at denx.de.
> + *
> + * 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 Madrid-ricardo.ribalda at 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 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: office at denx.de
=====================================================================

  parent reply	other threads:[~2008-07-11 12:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-11 12:22 [U-Boot-Users] [PATCH] ML507: New board support Ricardo Ribalda Delgado
2008-07-11 12:44 ` Michal Simek
2008-07-11 12:49 ` Stefan Roese [this message]
2008-07-11 13:59 ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200807111449.01166.sr@denx.de \
    --to=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.