summaryrefslogtreecommitdiff
path: root/recipes/u-boot/u-boot-git
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2009-05-19 15:53:22 +0200
committerKoen Kooi <koen@openembedded.org>2009-05-19 15:53:22 +0200
commitce170fea6558bd3a609f050f55eb3676ba0b4115 (patch)
tree2ea68938d4f2ab53aa427b7cc2338abbb25c2acf /recipes/u-boot/u-boot-git
parent8379f149a2aec4de98f7376b37e6213dccc0c1b2 (diff)
u-boot git: add support for dm355-leopardboard
Diffstat (limited to 'recipes/u-boot/u-boot-git')
-rw-r--r--recipes/u-boot/u-boot-git/leopardboard-support.patch365
1 files changed, 365 insertions, 0 deletions
diff --git a/recipes/u-boot/u-boot-git/leopardboard-support.patch b/recipes/u-boot/u-boot-git/leopardboard-support.patch
new file mode 100644
index 0000000000..fced0c10ea
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/leopardboard-support.patch
@@ -0,0 +1,365 @@
+From: s-paulraj at ti.com (s-paulraj at ti.com)
+Date: Wed, 13 May 2009 10:32:40 -0400
+Subject: [U-Boot] [PATCH] ARM DaVinci Leopard Board Support
+Message-ID: <1242225160-26706-1-git-send-email-s-paulraj@ti.com>
+
+The patch applies to arm/next. It was tested on a leopard board.
+After testing had to change the MACH TYPE as this board is not present
+in the list of mach types at the moment. So the patch itself is going
+to give a compilation failure.
+
+Further details on this board can be found at www.leopardboard.org
+
+This patch does not do the NAND initialization yet. Will send an update
+to this patch after David Brownell's NAND updates get merged
+
+Jean-Christophe can you please do a new sync for this board
+
+Signed-off-by: Sandeep Paulraj <s-paulraj at ti.com>
+---
+ Makefile | 3 +
+ board/davinci/leopard/Makefile | 52 +++++++++++++++
+ board/davinci/leopard/config.mk | 11 +++
+ board/davinci/leopard/leopard.c | 36 ++++++++++
+ include/configs/davinci_leopard.h | 130 +++++++++++++++++++++++++++++++++++++
+ 5 files changed, 232 insertions(+), 0 deletions(-)
+ create mode 100644 board/davinci/leopard/Makefile
+ create mode 100644 board/davinci/leopard/config.mk
+ create mode 100644 board/davinci/leopard/leopard.c
+ create mode 100644 include/configs/davinci_leopard.h
+
+diff --git a/Makefile b/Makefile
+index b7d5bd9..5fb126a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2793,6 +2793,9 @@ davinci_sonata_config : unconfig
+ davinci_dm355evm_config : unconfig
+ @$(MKCONFIG) $(@:_config=) arm arm926ejs dm355evm davinci davinci
+
++davinci_leopard_config : unconfig
++ @$(MKCONFIG) $(@:_config=) arm arm926ejs leopard davinci davinci
++
+ lpd7a400_config \
+ lpd7a404_config: unconfig
+ @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x
+diff --git a/board/davinci/leopard/Makefile b/board/davinci/leopard/Makefile
+new file mode 100644
+index 0000000..26b0705
+--- /dev/null
++++ b/board/davinci/leopard/Makefile
+@@ -0,0 +1,52 @@
++#
++# (C) Copyright 2000, 2001, 2002
++# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
++#
++# Copyright (C) 2007 Sergey Kubushyn <ksi at 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/leopard/config.mk b/board/davinci/leopard/config.mk
+new file mode 100644
+index 0000000..c4e6e07
+--- /dev/null
++++ b/board/davinci/leopard/config.mk
+@@ -0,0 +1,11 @@
++#
++# Spectrum Digital DM355 EVM board
++# dm355evm board has 1 bank of 128 MB DDR RAM
++# Physical Address: 8000'0000 to 8800'0000
++#
++# Linux Kernel is expected to be at 8000'8000, entry 8000'8000
++# (mem base + reserved)
++#
++
++#Provide at least 16MB spacing between us and the Linux Kernel image
++TEXT_BASE = 0x81080000
+diff --git a/board/davinci/leopard/leopard.c b/board/davinci/leopard/leopard.c
+new file mode 100644
+index 0000000..282368d
+--- /dev/null
++++ b/board/davinci/leopard/leopard.c
+@@ -0,0 +1,36 @@
++/*
++ * Copyright (C) 2009 Texas Instruments
++ *
++ * 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 <nand.h>
++#include <asm/io.h>
++#include <asm/arch/hardware.h>
++#include <asm/arch/emif_defs.h>
++#include <asm/arch/nand_defs.h>
++#include "../common/misc.h"
++
++
++DECLARE_GLOBAL_DATA_PTR;
++
++int board_init(void)
++{
++ gd->bd->bi_arch_number = MACH_TYPE_DM355_LEOPARD;
++ gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
++
++ return 0;
++}
+diff --git a/include/configs/davinci_leopard.h b/include/configs/davinci_leopard.h
+new file mode 100644
+index 0000000..87160f1
+--- /dev/null
++++ b/include/configs/davinci_leopard.h
+@@ -0,0 +1,130 @@
++/*
++ * Copyright (C) 2009 Texas Instruments
++ *
++ * 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
++#include <asm/sizes.h>
++
++
++#define DAVINCI_LEOPARD
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++#define CONFIG_SKIP_RELOCATE_UBOOT
++#define CONFIG_SYS_NO_FLASH /* no *NOR* flash */
++#define CONFIG_SYS_CONSOLE_INFO_QUIET
++#define CONFIG_DISPLAY_CPUINFO
++
++/* SoC Configuration */
++#define CONFIG_ARM926EJS /* arm926ejs CPU */
++#define CONFIG_SYS_TIMERBASE 0x01c21400 /* use timer 0 */
++#define CONFIG_SYS_HZ_CLOCK 24000000 /* TIMER 0 */
++#define CONFIG_SYS_HZ 1000
++#define CONFIG_SOC_DM355
++
++/* Memory Info */
++#define CONFIG_NR_DRAM_BANKS 1
++#define PHYS_SDRAM_1 0x80000000
++#define PHYS_SDRAM_1_SIZE SZ_128M
++
++/* Serial Driver info: UART0 for console */
++#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 CONFIG_SYS_HZ_CLOCK
++#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
++#define CONFIG_CONS_INDEX 1
++#define CONFIG_BAUDRATE 115200
++
++/* Ethernet: external DM9000 just like DM355 EVM */
++#define CONFIG_DRIVER_DM9000 1
++#define CONFIG_DM9000_BASE 0x04000000
++#define DM9000_IO CONFIG_DM9000_BASE
++#define DM9000_DATA (CONFIG_DM9000_BASE + 16)
++
++/* I2C */
++#define CONFIG_HARD_I2C
++#define CONFIG_DRIVER_DAVINCI_I2C
++#define CONFIG_SYS_I2C_SPEED 400000
++#define CONFIG_SYS_I2C_SLAVE 0x10
++
++/* NYET -- #define CONFIG_NAND_DAVINCI */
++#define CONFIG_SYS_NAND_HW_ECC
++#define CONFIG_SYS_NAND_USE_FLASH_BBT
++
++#define CONFIG_SYS_NAND_SMALLPAGE
++#define CONFIG_SYS_NAND_BASE_LIST { 0x02000000, }
++#define CONFIG_SYS_MAX_NAND_DEVICE 1
++#define CONFIG_SYS_NAND_MAX_CHIPS 1
++
++/* U-Boot command configuration */
++#include <config_cmd_default.h>
++
++#undef CONFIG_CMD_BDI
++#undef CONFIG_CMD_FLASH
++#undef CONFIG_CMD_FPGA
++#undef CONFIG_CMD_SETGETDCR
++#define CONFIG_CMD_ASKENV
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_I2C
++#define CONFIG_CMD_PING
++#define CONFIG_CMD_SAVES
++
++/* TEMPORARY -- no safe place to save env, yet */
++#define CONFIG_ENV_IS_NOWHERE
++#undef CONFIG_CMD_SAVEENV
++
++#define CONFIG_CRC32_VERIFY
++#define CONFIG_MX_CYCLIC
++
++/* U-Boot general configuration */
++#undef CONFIG_USE_IRQ /* No IRQ/FIQ in U-Boot */
++#define CONFIG_BOOTFILE "uImage" /* Boot file name */
++#define CONFIG_SYS_PROMPT "LEOPARD EVM # "
++#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
++#define CONFIG_SYS_PBSIZE /* Print buffer size */ \
++ (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
++#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
++#define CONFIG_SYS_HUSH_PARSER
++#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
++#define CONFIG_SYS_LONGHELP
++
++#define CONFIG_ENV_SIZE SZ_16K
++
++#define CONFIG_BOOTDELAY 3
++#define CONFIG_CMDLINE_EDITING
++#define CONFIG_VERSION_VARIABLE
++#define CONFIG_TIMESTAMP
++
++#define CONFIG_NET_RETRY_COUNT 10
++
++/* U-Boot memory configuration */
++#define CONFIG_STACKSIZE SZ_256K /* regular stack */
++#define CONFIG_SYS_MALLOC_LEN SZ_512K /* malloc() arena */
++#define CONFIG_SYS_GBL_DATA_SIZE 128 /* for initial data */
++#define CONFIG_SYS_MEMTEST_START 0x87000000 /* physical address */
++#define CONFIG_SYS_MEMTEST_END 0x88000000 /* test 16MB RAM */
++
++/* 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 */
++
++#endif /* __CONFIG_H */
+--- /tmp/mach-types.h 2009-05-19 15:48:59.000000000 +0200
++++ git/include/asm-arm/mach-types.h 2009-05-19 15:51:03.000000000 +0200
+@@ -2120,6 +2120,10 @@
+ #define MACH_TYPE_FMZWEBMODUL 2134
+ #define MACH_TYPE_RD78X00_MASA 2135
+ #define MACH_TYPE_SMALLOGGER 2136
++#define MACH_TYPE_CCW9P9215 2137
++#define MACH_TYPE_DM355_LEOPARD 2138
++#define MACH_TYPE_TS219 2139
++#define MACH_TYPE_TNY_A9263 2140
+
+ #ifdef CONFIG_ARCH_EBSA110
+ # ifdef machine_arch_type
+@@ -27417,6 +27421,54 @@
+ # define machine_is_smallogger() (0)
+ #endif
+
++#ifdef CONFIG_MACH_CCW9P9215
++# ifdef machine_arch_type
++# undef machine_arch_type
++# define machine_arch_type __machine_arch_type
++# else
++# define machine_arch_type MACH_TYPE_CCW9P9215
++# endif
++# define machine_is_ccw9p9215() (machine_arch_type == MACH_TYPE_CCW9P9215)
++#else
++# define machine_is_ccw9p9215() (0)
++#endif
++
++#ifdef CONFIG_MACH_DM355_LEOPARD
++# ifdef machine_arch_type
++# undef machine_arch_type
++# define machine_arch_type __machine_arch_type
++# else
++# define machine_arch_type MACH_TYPE_DM355_LEOPARD
++# endif
++# define machine_is_dm355_leopard() (machine_arch_type == MACH_TYPE_DM355_LEOPARD)
++#else
++# define machine_is_dm355_leopard() (0)
++#endif
++
++#ifdef CONFIG_MACH_TS219
++# ifdef machine_arch_type
++# undef machine_arch_type
++# define machine_arch_type __machine_arch_type
++# else
++# define machine_arch_type MACH_TYPE_TS219
++# endif
++# define machine_is_ts219() (machine_arch_type == MACH_TYPE_TS219)
++#else
++# define machine_is_ts219() (0)
++#endif
++
++#ifdef CONFIG_MACH_TNY_A9263
++# ifdef machine_arch_type
++# undef machine_arch_type
++# define machine_arch_type __machine_arch_type
++# else
++# define machine_arch_type MACH_TYPE_TNY_A9263
++# endif
++# define machine_is_tny_a9263() (machine_arch_type == MACH_TYPE_TNY_A9263)
++#else
++# define machine_is_tny_a9263() (0)
++#endif
++
+ /*
+ * These have not yet been registered
+ */