On 01/19/11 23:19, Tom Warren wrote: > Signed-off-by: Tom Warren <twar...@nvidia.com> > --- > Changes for V2: > - Use board/nvidia/ instead of /board/tegra > - Change nv-common.h config file to tegra2-common.h > > MAINTAINERS | 4 + > board/nvidia/harmony/Makefile | 50 ++++++++++++ > boards.cfg | 1 + > include/configs/harmony.h | 48 ++++++++++++ > include/configs/tegra2-common.h | 160 > +++++++++++++++++++++++++++++++++++++++
What about board/nvidia/harmony/harmony.c? > 5 files changed, 263 insertions(+), 0 deletions(-) > create mode 100644 board/nvidia/harmony/Makefile > create mode 100644 include/configs/harmony.h > create mode 100644 include/configs/tegra2-common.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index ba83f71..b5cff19 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -841,6 +841,10 @@ Prafulla Wadaskar <prafu...@marvell.com> > rd6281a ARM926EJS (Kirkwood SoC) > sheevaplug ARM926EJS (Kirkwood SoC) > > +Tom Warren <twar...@nvidia.com> > + > + harmony Tegra2 (ARM7 & A9 Dual Core) > + > Matthias Weisser <weiss...@arcor.de> > > jadecpu ARM926EJS (MB86R01 SoC) > diff --git a/board/nvidia/harmony/Makefile b/board/nvidia/harmony/Makefile > new file mode 100644 > index 0000000..3a146cb > --- /dev/null > +++ b/board/nvidia/harmony/Makefile > @@ -0,0 +1,50 @@ > +# > +# (C) Copyright 2010,2011 > +# NVIDIA Corporation <www.nvidia.com> > +# > +# > +# 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).o > + > +COBJS += ../common/board.o > + > +SRCS := $(COBJS:.o=.c) > +OBJS := $(addprefix $(obj),$(COBJS)) > + > +$(LIB): $(obj).depend $(OBJS) > + $(AR) $(ARFLAGS) $@ $(OBJS) > + > +clean: > + rm -f $(OBJS) > + > +distclean: clean > + rm -f $(LIB) core *.bak $(obj).depend > + > +######################################################################### > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +######################################################################### > diff --git a/boards.cfg b/boards.cfg > index 94b8745..ee7c4b7 100644 > --- a/boards.cfg > +++ b/boards.cfg > @@ -122,6 +122,7 @@ omap4_panda arm armv7 > panda ti > omap4_sdp4430 arm armv7 sdp4430 ti > omap4 > s5p_goni arm armv7 goni > samsung s5pc1xx > smdkc100 arm armv7 smdkc100 > samsung s5pc1xx > +harmony arm armv7 harmony > nvidia tegra2 > actux1 arm ixp > actux2 arm ixp > actux3 arm ixp > diff --git a/include/configs/harmony.h b/include/configs/harmony.h > new file mode 100644 > index 0000000..7d8f27a > --- /dev/null > +++ b/include/configs/harmony.h > @@ -0,0 +1,48 @@ > +/* > + * (C) Copyright 2010,2011 > + * NVIDIA Corporation <www.nvidia.com> > + * > + * 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 > + */ > + > +#ifndef __CONFIG_H > +#define __CONFIG_H > + > +#include <asm/sizes.h> > +#include "tegra2-common.h" > + > +/* High-level configuration options */ > +#define TEGRA2_SYSMEM "mem=384M@0M nvmem=128M@384M > mem=512M@512M" > +#define V_PROMPT "Tegra2 (Harmony) # " > +#define CONFIG_TEGRA2_BOARD_STRING "NVIDIA Harmony" > + > +/* Board-specific serial config */ > +#define CONFIG_SERIAL_MULTI > +#define CONFIG_TEGRA2_ENABLE_UARTD 1 > +#define CONFIG_TEGRA2_ENABLE_UARTA 0 > + > +/* UARTD: keyboard satellite board uart, default */ > +#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE > +/* UARTA: debug board uart */ > +#define CONFIG_SYS_NS16550_COM2 NV_PA_APB_UARTA_BASE > + > +#define CONFIG_MACH_TYPE MACH_TYPE_HARMONY > +#define CONFIG_SYS_BOARD_ODMDATA 0x300d8011 /* lp1, 1GB */ > + > +#endif /* __CONFIG_H */ > diff --git a/include/configs/tegra2-common.h b/include/configs/tegra2-common.h > new file mode 100644 > index 0000000..4f4374a > --- /dev/null > +++ b/include/configs/tegra2-common.h > @@ -0,0 +1,160 @@ > +/* > + * (C) Copyright 2010,2011 > + * NVIDIA Corporation <www.nvidia.com> > + * > + * 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 > + */ > + > +#ifndef __TEGRA2_COMMON_H > +#define __TEGRA2_COMMON_H > +#include <asm/sizes.h> > + > +/* > + * High Level Configuration Options > + */ > +#define CONFIG_ARMCORTEXA9 /* This is an ARM V7 CPU core */ > +#define CONFIG_TEGRA2 /* in a NVidia Tegra2 core */ > +#define CONFIG_MACH_TEGRA_GENERIC /* which is a Tegra generic machine */ > +#define CONFIG_L2_OFF /* No L2 cache */ > + > +#include <asm/arch/tegra2.h> /* get chip and board defs */ > + > +/* > + * Display CPU and Board information > + */ > +#define CONFIG_DISPLAY_CPUINFO > +#define CONFIG_DISPLAY_BOARDINFO > + > +#define CONFIG_SKIP_RELOCATE_UBOOT > +#define CONFIG_SKIP_LOWLEVEL_INIT > + > +#define CONFIG_CMDLINE_TAG /* enable passing of ATAGs */ > + > +/* Environment */ > +#define CONFIG_ENV_IS_NOWHERE > +#define CONFIG_ENV_SIZE 0x20000 /* Total Size > Environment */ > + > +/* > + * Size of malloc() pool > + */ > +#define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */ > + > +/* > + * PllX Configuration > + */ > +#define CONFIG_SYS_CPU_OSC_FREQUENCY 1000000 /* Set CPU clock to 1GHz */ > + > +/* > + * NS16550 Configuration > + */ > +#define V_NS16550_CLK 216000000 /* 216MHz > (pllp_out0) */ > + > +#define CONFIG_SYS_NS16550 > +#define CONFIG_SYS_NS16550_SERIAL > +#define CONFIG_SYS_NS16550_REG_SIZE (-4) > +#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK > + > +/* > + * select serial console configuration > + */ > +#define CONFIG_CONS_INDEX 1 > + > +/* allow to overwrite serial and ethaddr */ > +#define CONFIG_ENV_OVERWRITE > +#define CONFIG_BAUDRATE 115200 > +#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ > + 115200} > + > +/* include default commands */ > +#include <config_cmd_default.h> > + > +/* remove unused commands */ > +#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ > +#undef CONFIG_CMD_FPGA /* FPGA configuration support */ > +#undef CONFIG_CMD_IMI > +#undef CONFIG_CMD_IMLS > +#undef CONFIG_CMD_NFS /* NFS support */ > +#undef CONFIG_CMD_NET /* network support */ > + > +/* turn on command-line edit/hist/auto */ > +#define CONFIG_CMDLINE_EDITING > +#define CONFIG_COMMAND_HISTORY > +#define CONFIG_AUTOCOMPLETE > + > +#define CONFIG_SYS_NO_FLASH > + > +/* Environment information */ > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + "console=ttyS0,115200n8\0" \ > + "mem=" TEGRA2_SYSMEM "\0" \ > + "smpflag=smp\0" \ > + > +#define CONFIG_LOADADDR 0x408000 /* def. location for > kernel */ > +#define CONFIG_BOOTDELAY 2 /* -1 to disable auto boot */ > + > +/* > + * Miscellaneous configurable options > + */ > +#define CONFIG_SYS_LONGHELP /* undef to save memory */ > +#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ > +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> " > +#define CONFIG_SYS_PROMPT V_PROMPT > +/* > + * Increasing the size of the IO buffer as default nfsargs size is more > + * than 256 and so it is not possible to edit it > + */ > +#define CONFIG_SYS_CBSIZE (256 * 2) /* Console I/O Buffer Size */ > +/* Print Buffer Size */ > +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ > + sizeof(CONFIG_SYS_PROMPT) + 16) > +#define CONFIG_SYS_MAXARGS 16 /* max number of command args */ > +/* Boot Argument Buffer Size */ > +#define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) > + > +#define CONFIG_SYS_MEMTEST_START (TEGRA2_SDRC_CS0 + 0x600000) > +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + > 0x100000) > + > +#define CONFIG_SYS_LOAD_ADDR (0xA00800) /* default */ > +#define CONFIG_SYS_HZ 1000 > + > +/*----------------------------------------------------------------------- > + * Stack sizes > + * > + * The stack sizes are set up in start.S using the settings below > + */ > +#define CONFIG_STACKBASE 0x2800000 /* 40MB */ > +#define CONFIG_STACKSIZE 0x20000 /* 128K regular stack*/ > + > +/*----------------------------------------------------------------------- > + * Physical Memory Map > + */ > +#define CONFIG_NR_DRAM_BANKS 1 > +#define PHYS_SDRAM_1 TEGRA2_SDRC_CS0 > +#define PHYS_SDRAM_1_SIZE 0x20000000 /* 512M */ > + > +#define CONFIG_SYS_TEXT_BASE 0x00E08000 > +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 > + > +#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_STACKBASE > +#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_MALLOC_LEN > +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ > + CONFIG_SYS_INIT_RAM_SIZE - \ > + GENERATED_GBL_DATA_SIZE) > + > +#endif /* __TEGRA2_COMMON_H */ -- Sincerely yours, Mike. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot