s-paul...@ti.com wrote:
> From: Sandeep Paulraj <s-paul...@ti.com>
> 
> This patch adds the initial support for DM6467 EVM.
> Other features like NET and NAND support will be added as follow up patches.
> 
> Signed-off-by: Sandeep Paulraj <s-paul...@ti.com>
> ---
> There are multiple flavours of the DM646x. The newest DM646x SOC can operate
> at 1 GHz. The DM6467 EVM from Spectrum Digital can be used for both speed
> grades of the DM646x SOC . The only change on the EVM being an oscilator that
> operated at a higher frequency. The same board file will be used to support
> both SOC's. Support for this feature will be added as follow up patches.
> 
> Patches will also be sent to enable EMAC, NAND and other features.
>  Makefile                            |    3 +

Needs an addition to MAKEALL and optionally Maintainers

>  board/davinci/dm6467evm/Makefile    |   52 ++++++++++++++
>  board/davinci/dm6467evm/config.mk   |    2 +
>  board/davinci/dm6467evm/dm6467evm.c |   31 ++++++++
>  include/configs/davinci_dm6467evm.h |  131 
> +++++++++++++++++++++++++++++++++++
>  5 files changed, 219 insertions(+), 0 deletions(-)
>  create mode 100644 board/davinci/dm6467evm/Makefile
>  create mode 100644 board/davinci/dm6467evm/config.mk
>  create mode 100644 board/davinci/dm6467evm/dm6467evm.c
>  create mode 100644 include/configs/davinci_dm6467evm.h
> 
> diff --git a/Makefile b/Makefile
> index 0b61d05..dc797b0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2962,6 +2962,9 @@ davinci_dm355evm_config :       unconfig
>  davinci_dm365evm_config :    unconfig
>       @$(MKCONFIG) $(@:_config=) arm arm926ejs dm365evm davinci davinci
>  
> +davinci_dm6467evm_config :   unconfig
> +     @$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci
> +
>  imx27lite_config:    unconfig
>       @$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27
>  
> diff --git a/board/davinci/dm6467evm/Makefile 
> b/board/davinci/dm6467evm/Makefile
> new file mode 100644
> index 0000000..26b0705
> --- /dev/null
> +++ b/board/davinci/dm6467evm/Makefile
> @@ -0,0 +1,52 @@
> +#
> +# (C) Copyright 2000, 2001, 2002
> +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> +#
> +# Copyright (C) 2007 Sergey Kubushyn <k...@koi8.net>
> +#
> +# 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
> +
> +LIB  = $(obj)lib$(BOARD).a
> +
> +COBJS        := $(BOARD).o
> +SOBJS        :=
> +
> +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> +OBJS := $(addprefix $(obj),$(COBJS))
> +SOBJS        := $(addprefix $(obj),$(SOBJS))
> +
> +$(LIB):      $(obj).depend $(OBJS) $(SOBJS)
> +     $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
> +
> +clean:
> +     rm -f $(SOBJS) $(OBJS)
> +
> +distclean:   clean
> +     rm -f $(LIB) core *.bak $(obj).depend
> +
> +#########################################################################
> +# This is for $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#########################################################################
> diff --git a/board/davinci/dm6467evm/config.mk 
> b/board/davinci/dm6467evm/config.mk
> new file mode 100644
> index 0000000..ca801c2
> --- /dev/null
> +++ b/board/davinci/dm6467evm/config.mk
> @@ -0,0 +1,2 @@
> +#Provide at least 16MB spacing between us and the Linux Kernel image
> +TEXT_BASE = 0x81080000
> diff --git a/board/davinci/dm6467evm/dm6467evm.c 
> b/board/davinci/dm6467evm/dm6467evm.c
> new file mode 100644
> index 0000000..9605818
> --- /dev/null
> +++ b/board/davinci/dm6467evm/dm6467evm.c
> @@ -0,0 +1,31 @@
> +/*
> + * Copyright (C) 2009 Texas Instruments Incorporated
> + *
> + * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_init(void)
> +{
> +     gd->bd->bi_arch_number = MACH_TYPE_DAVINCI_DM6467_EVM;
> +     gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
> +
> +     return 0;
> +}
> +
> diff --git a/include/configs/davinci_dm6467evm.h 
> b/include/configs/davinci_dm6467evm.h
> new file mode 100644
> index 0000000..c23d533
> --- /dev/null
> +++ b/include/configs/davinci_dm6467evm.h
> @@ -0,0 +1,131 @@
> +/*
> + * Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/

Above copyright did not have the http.
You should be consistent.
Add or remove, your choice.

> + *
> + * 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
> + */
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +/* Spectrum Digital TMS320DM6467 EVM board */
> +#define DAVINCI_DM6467EVM
> +
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +#define CONFIG_SKIP_RELOCATE_UBOOT
> +
> +/* SoC Configuration */
> +#define CONFIG_ARM926EJS                             /* arm926ejs CPU */
> +#define CONFIG_SYS_TIMERBASE         0x01c21400      /* use timer 0 */

Is there a logical register #define you could use instead of the magic 
number?

> +#define CONFIG_SYS_HZ_CLOCK          27000000
> +#define CONFIG_SYS_HZ                        1000
> +#define CONFIG_SOC_DM646X
> +
> +/* EEPROM definitions for EEPROM */
> +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN               2
> +#define CONFIG_SYS_I2C_EEPROM_ADDR           0x50
> +#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS    6
> +#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS        20
> +
> +/* Memory Info */
> +#define CONFIG_SYS_MALLOC_LEN                (1 << 20)       /* 1 MiB */
> +#define CONFIG_SYS_GBL_DATA_SIZE     128             /* initial data */
> +#define CONFIG_SYS_MEMTEST_START     0x80000000
> +#define CONFIG_SYS_MEMTEST_END               0x81000000      /* 16MB RAM 
> test */
> +#define CONFIG_NR_DRAM_BANKS         1
> +#define CONFIG_STACKSIZE             (256 << 10)     /* 256 KiB */
> +#define PHYS_SDRAM_1                 0x80000000      /* DDR Start */
> +#define PHYS_SDRAM_1_SIZE            (256 << 20)     /* DDR size 256MB */
> +
> +/* Linux interfacing */
> +#define CONFIG_CMDLINE_TAG
> +#define CONFIG_SETUP_MEMORY_TAGS
> +#define CONFIG_SYS_BARGSIZE          1024            /* Bootarg Size */
> +#define CONFIG_SYS_LOAD_ADDR         0x80700000      /* kernel address */
> +
> +/* Serial Driver info */
> +#define CONFIG_SYS_NS16550
> +#define CONFIG_SYS_NS16550_SERIAL
> +#define CONFIG_SYS_NS16550_REG_SIZE  4
> +#define CONFIG_SYS_NS16550_COM1              0x01c20000
> +#define CONFIG_SYS_NS16550_CLK               24000000
> +#define CONFIG_CONS_INDEX            1
> +#define CONFIG_BAUDRATE                      115200
> +#define CONFIG_SYS_BAUDRATE_TABLE    { 9600, 19200, 38400, 57600, 115200 }
> +
> +/* I2C Configuration */
> +#define CONFIG_HARD_I2C
> +#define CONFIG_DRIVER_DAVINCI_I2C
> +#define CONFIG_SYS_I2C_SPEED         80000

This speed is unusual.
davinci_sonata.h has a comment that it had a silicon bug with 100k
Could the same comment be applied here ?

> +#define CONFIG_SYS_I2C_SLAVE         10
> +
> +/* Flash & Environment */
> +#define CONFIG_SYS_NO_FLASH
> +#ifdef CONFIG_SYS_USE_NAND
> +#define CONFIG_NAND_DAVINCI
> +#undef CONFIG_ENV_IS_IN_FLASH
> +#define CONFIG_ENV_IS_IN_NAND
> +#define CONFIG_ENV_SIZE                      (16 << 10)      /* 16 KiB */
> +#define CONFIG_SYS_NAND_BASE_LIST    {0x42000000, }
> +#define CONFIG_SYS_NAND_HW_ECC
> +#define CONFIG_SYS_MAX_NAND_DEVICE   1
> +#define CONFIG_ENV_OFFSET            0
> +#else
> +#define CONFIG_ENV_IS_NOWHERE
> +#define CONFIG_ENV_SIZE                      (4 << 10)       /* 4 KiB */
> +#endif
> +
> +/* U-Boot general configuration */
> +#undef       CONFIG_USE_IRQ                          /* No IRQ/FIQ in U-Boot 
> */

There is a TAB between #undef and CONFIG_USB_IRQ.
Other undef's here use a space.


> +#define CONFIG_BOOTDELAY     3
> +#define CONFIG_BOOTFILE              "uImage"        /* Boot file name */
> +#define CONFIG_SYS_PROMPT    "DM6467 EVM > " /* Monitor Command Prompt */
> +#define CONFIG_SYS_CBSIZE    1024            /* Console I/O Buffer Size  */
> +#define CONFIG_SYS_PBSIZE            \
> +             (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_MAXARGS           16
> +#define CONFIG_VERSION_VARIABLE
> +#define CONFIG_AUTO_COMPLETE
> +#define CONFIG_SYS_HUSH_PARSER
> +#define CONFIG_SYS_PROMPT_HUSH_PS2   "> "
> +#define CONFIG_CMDLINE_EDITING
> +#define CONFIG_SYS_LONGHELP
> +#define CONFIG_CRC32_VERIFY
> +#define CONFIG_MX_CYCLIC
> +#define CONFIG_BOOTCOMMAND                   "source 0x82080000; dhcp; bootm"

3 spaces at the end of CONFIG_BOOTCOMMAND can be removed.

> +#define CONFIG_BOOTARGS              \
> +             "mem=120M console=ttyS0,115200n8 " \
> +             "root=/dev/hda1 rw noinitrd ip=dhcp"
> +
> +/* U-Boot commands */
> +#include <config_cmd_default.h>
> +#define CONFIG_CMD_ASKENV
> +#define CONFIG_CMD_DIAG
> +#define CONFIG_CMD_I2C
> +#define CONFIG_CMD_MII
> +#define CONFIG_CMD_SAVES
> +#define CONFIG_CMD_EEPROM
> +#undef CONFIG_CMD_NET
> +#undef CONFIG_CMD_BDI
> +#undef CONFIG_CMD_FPGA
> +#undef CONFIG_CMD_SETGETDCR
> +#ifdef CONFIG_SYS_USE_NAND
> +#undef CONFIG_CMD_FLASH
> +#undef CONFIG_CMD_IMLS
> +#define CONFIG_CMD_NAND
> +#endif
> +
> +#endif /* __CONFIG_H */
> +

Tom
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to