diff options
author | Koen Kooi <koen@openembedded.org> | 2009-05-19 15:53:22 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2009-05-19 15:53:22 +0200 |
commit | ce170fea6558bd3a609f050f55eb3676ba0b4115 (patch) | |
tree | 2ea68938d4f2ab53aa427b7cc2338abbb25c2acf /recipes/u-boot/u-boot-git | |
parent | 8379f149a2aec4de98f7376b37e6213dccc0c1b2 (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.patch | 365 |
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 + */ |