diff options
| author | Tom Rix <Tom.Rix@windriver.com> | 2009-05-15 23:48:36 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-06-12 20:39:50 +0200 | 
| commit | 376aee78dd66ae0dc4ce496cbe93ecc80aaad48e (patch) | |
| tree | ced869a84b030e02160de88bfd589417398a97d9 | |
| parent | 53925acf1b5c1a1e6230cda2697640cd05bd1104 (diff) | |
| download | olio-uboot-2014.01-376aee78dd66ae0dc4ce496cbe93ecc80aaad48e.tar.xz olio-uboot-2014.01-376aee78dd66ae0dc4ce496cbe93ecc80aaad48e.zip | |
ZOOM2 Add initial support for Zoom2
Zoom2 is a new board from Texas Instruments and LogicPD
The logicpd web site is a good source for general information on this board.
Please start looking here if the below links are broken.
http://www.logicpd.com
This is a pdf of the product
http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
This is the product description web page
http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
This patch provides a zoom2 base target by copying zoom1 and by making some
obvious changes.
To configure, run
make omap3_zoom2_config
Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
| -rw-r--r-- | MAINTAINERS | 4 | ||||
| -rwxr-xr-x | MAKEALL | 1 | ||||
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | board/omap3/common/Makefile | 1 | ||||
| -rw-r--r-- | board/omap3/zoom2/Makefile | 49 | ||||
| -rw-r--r-- | board/omap3/zoom2/config.mk | 33 | ||||
| -rw-r--r-- | board/omap3/zoom2/zoom2.c | 76 | ||||
| -rw-r--r-- | board/omap3/zoom2/zoom2.h | 149 | ||||
| -rw-r--r-- | doc/README.omap3 | 15 | ||||
| -rw-r--r-- | include/configs/omap3_zoom2.h | 226 | 
10 files changed, 555 insertions, 2 deletions
| diff --git a/MAINTAINERS b/MAINTAINERS index 3d5066877..bf076b971 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -610,6 +610,10 @@ Stelian Pop <stelian.pop@leadtechdesign.com>  	at91sam9263ek	ARM926EJS (AT91SAM9263 SoC)  	at91sam9rlek	ARM926EJS (AT91SAM9RL SoC) +Tom Rix <Tom.Rix@windriver.com> + +	omap3_zoom2	ARM CORTEX-A8 (OMAP3xx SoC) +  Stefan Roese <sr@denx.de>  	ixdpg425	xscale @@ -562,6 +562,7 @@ LIST_ARM_CORTEX_A8="		\  	omap3_evm		\  	omap3_pandora		\  	omap3_zoom1		\ +	omap3_zoom2		\  "  ######################################################################### @@ -2994,6 +2994,9 @@ omap3_pandora_config :	unconfig  omap3_zoom1_config :	unconfig  	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3 +omap3_zoom2_config :	unconfig +	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom2 omap3 omap3 +  #########################################################################  ## XScale Systems  ######################################################################### diff --git a/board/omap3/common/Makefile b/board/omap3/common/Makefile index 7b892fab8..b8a0b14a0 100644 --- a/board/omap3/common/Makefile +++ b/board/omap3/common/Makefile @@ -33,6 +33,7 @@ COBJS-$(CONFIG_OMAP3_BEAGLE) += power.o  COBJS-$(CONFIG_OMAP3_OVERO) += power.o  COBJS-$(CONFIG_OMAP3_PANDORA) += power.o  COBJS-$(CONFIG_OMAP3_ZOOM1) += power.o +COBJS-$(CONFIG_OMAP3_ZOOM2) += power.o  COBJS	:= $(COBJS-y)  SRCS	:= $(COBJS:.o=.c) diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile new file mode 100644 index 000000000..088b8cb01 --- /dev/null +++ b/board/omap3/zoom2/Makefile @@ -0,0 +1,49 @@ +# +# (C) Copyright 2000, 2001, 2002 +# Wolfgang Denk, DENX Software Engineering, wd@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 +# + +include $(TOPDIR)/config.mk + +LIB	= $(obj)lib$(BOARD).a + +COBJS	:= zoom2.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/board/omap3/zoom2/config.mk b/board/omap3/zoom2/config.mk new file mode 100644 index 000000000..33f394b85 --- /dev/null +++ b/board/omap3/zoom2/config.mk @@ -0,0 +1,33 @@ +# +# (C) Copyright 2009 +# Texas Instruments, <www.ti.com> +# +# Zoom II uses OMAP3 (ARM-CortexA8) CPU +# see http://www.ti.com/ for more information on Texas Instruments +# +# 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 +# +# Physical Address: +# 0x80000000 (bank0) +# 0xA0000000 (bank1) +# Linux-Kernel is expected to be at 0x80008000, entry 0x80008000 +# (mem base + reserved) + +# For use with external or internal boots. +TEXT_BASE = 0x80e80000 diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c new file mode 100644 index 000000000..0700c56d7 --- /dev/null +++ b/board/omap3/zoom2/zoom2.c @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2009 Wind River Systems, Inc. + * Tom Rix <Tom.Rix@windriver.com> + * + * Derived from Zoom1 code by + *	Nishanth Menon <nm@ti.com> + *	Sunil Kumar <sunilsaini05@gmail.com> + *	Shashi Ranjan <shashiranjanmca05@gmail.com> + *	Richard Woodruff <r-woodruff2@ti.com> + *	Syed Mohammed Khasim <khasim@ti.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 <common.h> +#include <asm/io.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <asm/mach-types.h> +#include "zoom2.h" + +/* + * Routine: board_init + * Description: Early hardware init. + */ +int board_init (void) +{ +	DECLARE_GLOBAL_DATA_PTR; + +	gpmc_init ();		/* in SRAM or SDRAM, finish GPMC */ +	/* board id for Linux */ +	gd->bd->bi_arch_number = MACH_TYPE_OMAP_ZOOM2; +	/* boot param addr */ +	gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); + +	return 0; +} + +/* + * Routine: misc_init_r + * Description: Configure zoom board specific configurations + */ +int misc_init_r (void) +{ +	power_init_r (); +	dieid_num_r (); +	return 0; +} + +/* + * Routine: set_muxconf_regs + * Description: Setting up the configuration Mux registers specific to the + *		hardware. Many pins need to be moved from protect to primary + *		mode. + */ +void set_muxconf_regs (void) +{ +	/* platform specific muxes */ +	MUX_ZOOM2 (); +} diff --git a/board/omap3/zoom2/zoom2.h b/board/omap3/zoom2/zoom2.h new file mode 100644 index 000000000..cae8a7a7f --- /dev/null +++ b/board/omap3/zoom2/zoom2.h @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2009 Wind River Systems, Inc. + * Tom Rix <Tom.Rix@windriver.com> + * + * Derived from: board/omap3/zoom1/zoom1.h + * Nishanth Menon <nm@ti.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 _BOARD_ZOOM2_H_ +#define _BOARD_ZOOM2_H_ + +const omap3_sysinfo sysinfo = { +	DDR_STACKED, +	"OMAP3 Zoom2 ", +	"NAND", +}; + +/* + * IEN	- Input Enable + * IDIS	- Input Disable + * PTD	- Pull type Down + * PTU	- Pull type Up + * DIS	- Pull type selection is inactive + * EN	- Pull type selection is active + * M0	- Mode 0 + * The commented string gives the final mux configuration for that pin + */ +#define MUX_ZOOM2() \ + /* SDRC*/\ + MUX_VAL(CP(SDRC_D0), (IEN | PTD | DIS | M0))		/* SDRC_D0 */\ + MUX_VAL(CP(SDRC_D1), (IEN | PTD | DIS | M0))		/* SDRC_D1 */\ + MUX_VAL(CP(SDRC_D2), (IEN | PTD | DIS | M0))		/* SDRC_D2 */\ + MUX_VAL(CP(SDRC_D3), (IEN | PTD | DIS | M0))		/* SDRC_D3 */\ + MUX_VAL(CP(SDRC_D4), (IEN | PTD | DIS | M0))		/* SDRC_D4 */\ + MUX_VAL(CP(SDRC_D5), (IEN | PTD | DIS | M0))		/* SDRC_D5 */\ + MUX_VAL(CP(SDRC_D6), (IEN | PTD | DIS | M0))		/* SDRC_D6 */\ + MUX_VAL(CP(SDRC_D7), (IEN | PTD | DIS | M0))		/* SDRC_D7 */\ + MUX_VAL(CP(SDRC_D8), (IEN | PTD | DIS | M0))		/* SDRC_D8 */\ + MUX_VAL(CP(SDRC_D9), (IEN | PTD | DIS | M0))		/* SDRC_D9 */\ + MUX_VAL(CP(SDRC_D10), (IEN | PTD | DIS | M0))		/* SDRC_D10 */\ + MUX_VAL(CP(SDRC_D11), (IEN | PTD | DIS | M0))		/* SDRC_D11 */\ + MUX_VAL(CP(SDRC_D12), (IEN | PTD | DIS | M0))		/* SDRC_D12 */\ + MUX_VAL(CP(SDRC_D13), (IEN | PTD | DIS | M0))		/* SDRC_D13 */\ + MUX_VAL(CP(SDRC_D14), (IEN | PTD | DIS | M0))		/* SDRC_D14 */\ + MUX_VAL(CP(SDRC_D15), (IEN | PTD | DIS | M0))		/* SDRC_D15 */\ + MUX_VAL(CP(SDRC_D16), (IEN | PTD | DIS | M0))		/* SDRC_D16 */\ + MUX_VAL(CP(SDRC_D17), (IEN | PTD | DIS | M0))		/* SDRC_D17 */\ + MUX_VAL(CP(SDRC_D18), (IEN | PTD | DIS | M0))		/* SDRC_D18 */\ + MUX_VAL(CP(SDRC_D19), (IEN | PTD | DIS | M0))		/* SDRC_D19 */\ + MUX_VAL(CP(SDRC_D20), (IEN | PTD | DIS | M0))		/* SDRC_D20 */\ + MUX_VAL(CP(SDRC_D21), (IEN | PTD | DIS | M0))		/* SDRC_D21 */\ + MUX_VAL(CP(SDRC_D22), (IEN | PTD | DIS | M0))		/* SDRC_D22 */\ + MUX_VAL(CP(SDRC_D23), (IEN | PTD | DIS | M0))		/* SDRC_D23 */\ + MUX_VAL(CP(SDRC_D24), (IEN | PTD | DIS | M0))		/* SDRC_D24 */\ + MUX_VAL(CP(SDRC_D25), (IEN | PTD | DIS | M0))		/* SDRC_D25 */\ + MUX_VAL(CP(SDRC_D26), (IEN | PTD | DIS | M0))		/* SDRC_D26 */\ + MUX_VAL(CP(SDRC_D27), (IEN | PTD | DIS | M0))		/* SDRC_D27 */\ + MUX_VAL(CP(SDRC_D28), (IEN | PTD | DIS | M0))		/* SDRC_D28 */\ + MUX_VAL(CP(SDRC_D29), (IEN | PTD | DIS | M0))		/* SDRC_D29 */\ + MUX_VAL(CP(SDRC_D30), (IEN | PTD | DIS | M0))		/* SDRC_D30 */\ + MUX_VAL(CP(SDRC_D31), (IEN | PTD | DIS | M0))		/* SDRC_D31 */\ + MUX_VAL(CP(SDRC_CLK), (IEN | PTD | DIS | M0))		/* SDRC_CLK */\ + MUX_VAL(CP(SDRC_DQS0), (IEN | PTD | DIS | M0))		/* SDRC_DQS0 */\ + MUX_VAL(CP(SDRC_DQS1), (IEN | PTD | DIS | M0))		/* SDRC_DQS1 */\ + MUX_VAL(CP(SDRC_DQS2), (IEN | PTD | DIS | M0))		/* SDRC_DQS2 */\ + MUX_VAL(CP(SDRC_DQS3), (IEN | PTD | DIS | M0))		/* SDRC_DQS3 */\ +/* GPMC */\ + MUX_VAL(CP(GPMC_A1), (IDIS | PTD | DIS | M0))		/* GPMC_A1 */\ + MUX_VAL(CP(GPMC_A2), (IDIS | PTD | DIS | M0))		/* GPMC_A2 */\ + MUX_VAL(CP(GPMC_A3), (IDIS | PTD | DIS | M0))		/* GPMC_A3 */\ + MUX_VAL(CP(GPMC_A4), (IDIS | PTD | DIS | M0))		/* GPMC_A4 */\ + MUX_VAL(CP(GPMC_A5), (IDIS | PTD | DIS | M0))		/* GPMC_A5 */\ + MUX_VAL(CP(GPMC_A6), (IDIS | PTD | DIS | M0))		/* GPMC_A6 */\ + MUX_VAL(CP(GPMC_A7), (IDIS | PTD | DIS | M0))		/* GPMC_A7 */\ + MUX_VAL(CP(GPMC_A8), (IDIS | PTD | DIS | M0))		/* GPMC_A8 */\ + MUX_VAL(CP(GPMC_A9), (IDIS | PTD | DIS | M0))		/* GPMC_A9 */\ + MUX_VAL(CP(GPMC_A10), (IDIS | PTD | DIS | M0))		/* GPMC_A10 */\ + MUX_VAL(CP(GPMC_D0), (IEN | PTD | DIS | M0))		/* GPMC_D0 */\ + MUX_VAL(CP(GPMC_D1), (IEN | PTD | DIS | M0))		/* GPMC_D1 */\ + MUX_VAL(CP(GPMC_D2), (IEN | PTD | DIS | M0))		/* GPMC_D2 */\ + MUX_VAL(CP(GPMC_D3), (IEN | PTD | DIS | M0))		/* GPMC_D3 */\ + MUX_VAL(CP(GPMC_D4), (IEN | PTD | DIS | M0))		/* GPMC_D4 */\ + MUX_VAL(CP(GPMC_D5), (IEN | PTD | DIS | M0))		/* GPMC_D5 */\ + MUX_VAL(CP(GPMC_D6), (IEN | PTD | DIS | M0))		/* GPMC_D6 */\ + MUX_VAL(CP(GPMC_D7), (IEN | PTD | DIS | M0))		/* GPMC_D7 */\ + MUX_VAL(CP(GPMC_D8), (IEN | PTD | DIS | M0))		/* GPMC_D8 */\ + MUX_VAL(CP(GPMC_D9), (IEN | PTD | DIS | M0))		/* GPMC_D9 */\ + MUX_VAL(CP(GPMC_D10), (IEN | PTD | DIS | M0))		/* GPMC_D10 */\ + MUX_VAL(CP(GPMC_D11), (IEN | PTD | DIS | M0))		/* GPMC_D11 */\ + MUX_VAL(CP(GPMC_D12), (IEN | PTD | DIS | M0))		/* GPMC_D12 */\ + MUX_VAL(CP(GPMC_D13), (IEN | PTD | DIS | M0))		/* GPMC_D13 */\ + MUX_VAL(CP(GPMC_D14), (IEN | PTD | DIS | M0))		/* GPMC_D14 */\ + MUX_VAL(CP(GPMC_D15), (IEN | PTD | DIS | M0))		/* GPMC_D15 */\ + MUX_VAL(CP(GPMC_NCS0), (IDIS | PTU | EN | M0))		/* GPMC_nCS0 */\ + MUX_VAL(CP(GPMC_NCS1), (IDIS | PTU | EN | M7))		/* GPMC_nCS1 */\ + MUX_VAL(CP(GPMC_NCS2), (IDIS | PTU | EN | M7))		/* GPMC_nCS2 */\ + MUX_VAL(CP(GPMC_NCS3), (IDIS | PTU | EN | M7))		/* GPMC_nCS3 */\ + MUX_VAL(CP(GPMC_NCS4), (IDIS | PTU | EN | M7))		/* GPMC_nCS4 */\ + MUX_VAL(CP(GPMC_NCS5), (IDIS | PTD | DIS | M7))	/* GPMC_nCS5 */\ + MUX_VAL(CP(GPMC_NCS6), (IEN | PTD | DIS | M7))		/* GPMC_nCS6 */\ + MUX_VAL(CP(GPMC_NCS7), (IEN | PTU | EN | M7))		/* GPMC_nCS7 */\ + MUX_VAL(CP(GPMC_CLK), (IDIS | PTD | DIS | M0))		/* GPMC_CLK */\ + MUX_VAL(CP(GPMC_NADV_ALE), (IDIS | PTD | DIS | M0))	/* GPMC_nADV_ALE */\ + MUX_VAL(CP(GPMC_NOE), (IDIS | PTD | DIS | M0))		/* GPMC_nOE */\ + MUX_VAL(CP(GPMC_NWE), (IDIS | PTD | DIS | M0))		/* GPMC_nWE */\ + MUX_VAL(CP(GPMC_NWP), (IDIS | PTU | DIS | M0))		/* GPMC_nWP */\ + MUX_VAL(CP(GPMC_NBE0_CLE), (IDIS | PTD | DIS | M0))	/* GPMC_nBE0_CLE */\ + MUX_VAL(CP(GPMC_NBE1), (IEN | PTD | DIS | M0))		/* GPMC_nBE1 */\ + MUX_VAL(CP(GPMC_WAIT0), (IEN | PTD | EN | M0))		/* GPMC_WAIT0 */\ + MUX_VAL(CP(GPMC_WAIT1), (IEN | PTU | EN | M0))		/* GPMC_WAIT1 */\ + MUX_VAL(CP(GPMC_WAIT2), (IEN | PTU | EN | M0))		/* GPMC_WAIT2 */\ + MUX_VAL(CP(GPMC_WAIT3), (IEN | PTU | EN | M0))		/* GPMC_WAIT3 */\ +/* IDCC modem Power On */\ + MUX_VAL(CP(CAM_D11), (IEN | PTU | EN | M4))		/* GPIO_110 */\ + MUX_VAL(CP(CAM_D4), (IEN | PTU | EN | M4))		/* GPIO_103 */\ +/* GPMC CS7 has LAN9211 device */\ + MUX_VAL(CP(GPMC_NCS7), (IDIS | PTU | EN | M0))		/* GPMC_nCS7 */\ + MUX_VAL(CP(MCBSP1_DX), (IEN | PTD | DIS | M4))		/* LAN9221 */\ + MUX_VAL(CP(MCSPI1_CS2), (IEN | PTD | EN | M0))		/* MCSPI1_CS2 */\ +/* GPMC CS3 has Serial TL16CP754C device */\ + MUX_VAL(CP(GPMC_NCS3), (IDIS | PTU | EN | M0))		/* GPMC_nCS3 */\ +/* Toggle Reset pin of TL16CP754C device */\ + MUX_VAL(CP(MCBSP4_CLKX), (IEN | PTU | EN | M4))	/* GPIO_152 */\ + udelay(10);\ + MUX_VAL(CP(MCBSP4_CLKX), (IEN | PTD | EN | M4))	/* GPIO_152 */\ + MUX_VAL(CP(SDRC_CKE1), (IDIS | PTU | EN | M0))		/* SDRC_CKE1 */\ +/* LEDS */\ + MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTD | EN | M4))	/* GPIO_173 red  */\ + MUX_VAL(CP(MCBSP4_DX), (IEN | PTD | EN | M4))		/* GPIO_154 blue  */\ + MUX_VAL(CP(GPMC_NBE1), (IEN | PTD | EN | M4))		/* GPIO_61 blue2  */ + +#endif /* _BOARD_ZOOM2_H_ */ diff --git a/doc/README.omap3 b/doc/README.omap3 index 1ba307fa0..9ab09793e 100644 --- a/doc/README.omap3 +++ b/doc/README.omap3 @@ -19,6 +19,8 @@ Currently the following boards are supported:  * TI/Logic PD Zoom MDK [6] +* TI/Logic PD Zoom 2 [7] +  Toolchain  ========= @@ -54,6 +56,11 @@ make  make omap3_zoom1_config  make +* Zoom 2: + +make omap3_zoom2_config +make +  Custom commands  =============== @@ -80,7 +87,7 @@ help  Acknowledgements  ================ -OMAP3 U-Boot is based on U-Boot tar ball [7] for BeagleBoard and EVM done by +OMAP3 U-Boot is based on U-Boot tar ball [8] for BeagleBoard and EVM done by  several TI employees.  Links @@ -111,6 +118,10 @@ http://openpandora.org/  http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit -[7] TI OMAP3 U-Boot: +[7] TI/Logic PD Zoom 2 + +http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf +[8] TI OMAP3 U-Boot:  http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz + diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h new file mode 100644 index 000000000..8aea4cbc0 --- /dev/null +++ b/include/configs/omap3_zoom2.h @@ -0,0 +1,226 @@ +/* + * (C) Copyright 2006-2009 + * Texas Instruments. + * Richard Woodruff <r-woodruff2@ti.com> + * Syed Mohammed Khasim <x0khasim@ti.com> + * Nishanth Menon <nm@ti.com> + * Tom Rix <Tom.Rix@windriver.com> + * + * Configuration settings for the TI OMAP3430 Zoom II board. + * + * 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> + +/* + * High Level Configuration Options + */ +#define CONFIG_ARMCORTEXA8	1	/* This is an ARM V7 CPU core */ +#define CONFIG_OMAP		1	/* in a TI OMAP core */ +#define CONFIG_OMAP34XX		1	/* which is a 34XX */ +#define CONFIG_OMAP3430		1	/* which is in a 3430 */ +#define CONFIG_OMAP3_ZOOM2	1	/* working with Zoom II */ + +#include <asm/arch/cpu.h>	/* get chip and board defs */ +#include <asm/arch/omap3.h> + +/* Clock Defines */ +#define V_OSCK			26000000	/* Clock output from T2 */ +#define V_SCLK			(V_OSCK >> 1) + +#undef CONFIG_USE_IRQ		/* no support for IRQs */ +#define CONFIG_MISC_INIT_R + +#define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */ +#define CONFIG_SETUP_MEMORY_TAGS	1 +#define CONFIG_INITRD_TAG		1 +#define CONFIG_REVISION_TAG		1 + +/* + * Size of malloc() pool + */ +#define CONFIG_ENV_SIZE			SZ_128K	/* Total Size Environment */ +						/* Sector */ +#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + SZ_128K) +#define CONFIG_SYS_GBL_DATA_SIZE	128	/* bytes reserved for */ +						/* initial data */ +/* + * Hardware drivers + */ + +/* + * NS16550 Configuration + */ +#define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */ + +#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		3 +#define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3 +#define CONFIG_SERIAL3			3	/* UART3 */ + +/* 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} +#define CONFIG_MMC			1 +#define CONFIG_OMAP3_MMC		1 +#define CONFIG_DOS_PARTITION		1 + +/* commands to include */ +#include <config_cmd_default.h> + +#define CONFIG_CMD_FAT			/* FAT support			*/ +#define CONFIG_CMD_I2C			/* I2C serial bus support	*/ +#define CONFIG_CMD_MMC			/* MMC support			*/ +#define CONFIG_CMD_NAND			/* NAND support			*/ +#define CONFIG_CMD_NAND_LOCK_UNLOCK	/* Enable lock/unlock support	*/ + +#undef CONFIG_CMD_FLASH			/* flinfo, erase, protect	*/ +#undef CONFIG_CMD_FPGA			/* FPGA configuration Support	*/ +#undef CONFIG_CMD_IMI			/* iminfo			*/ +#undef CONFIG_CMD_IMLS			/* List all found images	*/ +#undef CONFIG_CMD_NET			/* bootp, tftpboot, rarpboot	*/ +#undef CONFIG_CMD_NFS			/* NFS support			*/ + +#define CONFIG_SYS_NO_FLASH +#define CONFIG_SYS_I2C_SPEED		100000 +#define CONFIG_SYS_I2C_SLAVE		1 +#define CONFIG_SYS_I2C_BUS		0 +#define CONFIG_SYS_I2C_BUS_SELECT	1 +#define CONFIG_DRIVER_OMAP34XX_I2C	1 + +/* + * Board NAND Info. + */ +#define CONFIG_NAND_OMAP_GPMC +#define CONFIG_SYS_NAND_ADDR		NAND_BASE	/* physical address */ +							/* to access nand */ +#define CONFIG_SYS_NAND_BASE		NAND_BASE	/* physical address */ +							/* to access nand at */ +							/* CS0 */ +#define GPMC_NAND_ECC_LP_x16_LAYOUT	1 +#define CONFIG_SYS_MAX_NAND_DEVICE	1 + +/* Environment information */ +#define CONFIG_BOOTDELAY		10 + +/* + * Miscellaneous configurable options + */ + +#define CONFIG_SYS_PROMPT		"OMAP3 Zoom2 # " +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_CBSIZE		256 +#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \ +					 sizeof(CONFIG_SYS_PROMPT) + 16) +#define CONFIG_SYS_MAXARGS		16 +#define CONFIG_SYS_BARGSIZE		(CONFIG_SYS_CBSIZE) +/* Memtest from start of memory to 31MB */ +#define CONFIG_SYS_MEMTEST_START	(OMAP34XX_SDRC_CS0) +#define CONFIG_SYS_MEMTEST_END		(OMAP34XX_SDRC_CS0 + 0x01F00000) +/* The default load address is the start of memory */ +#define CONFIG_SYS_LOAD_ADDR		(OMAP34XX_SDRC_CS0) +/* everything, incl board info, in Hz */ +#undef CONFIG_SYS_CLKS_IN_HZ +/* + * 2430 has 12 GP timers, they can be driven by the SysClk (12/13/19.2) or by + * 32KHz clk, or from external sig. This rate is divided by a local divisor. + */ +#define CONFIG_SYS_TIMERBASE		(OMAP34XX_GPT2) +#define CONFIG_SYS_PTV			7	/* 2^(PTV+1) */ +#define CONFIG_SYS_HZ			((V_SCLK) / (2 << CONFIG_SYS_PTV)) + +/*----------------------------------------------------------------------- + * Stack sizes + * + * The stack sizes are set up in start.S using these settings + */ +#define CONFIG_STACKSIZE	SZ_128K +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ	SZ_4K +#define CONFIG_STACKSIZE_FIQ	SZ_4K +#endif + +/*----------------------------------------------------------------------- + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS	2	/* CS1 may or may not be populated */ +#define PHYS_SDRAM_1		OMAP34XX_SDRC_CS0 +#define PHYS_SDRAM_1_SIZE	SZ_32M	/* at least 32 meg */ +#define PHYS_SDRAM_2		OMAP34XX_SDRC_CS1 + +/* SDRAM Bank Allocation method */ +#define SDRC_R_B_C		1 + +/*----------------------------------------------------------------------- + * FLASH and environment organization + */ + +/* **** PISMO SUPPORT *** */ + +/* Configure the PISMO */ +#define PISMO1_NAND_SIZE		GPMC_SIZE_128M +#define PISMO1_ONEN_SIZE		GPMC_SIZE_128M + +#define CONFIG_SYS_MAX_FLASH_SECT	520	/* max number of sectors on */ +						/* one chip */ +#define CONFIG_SYS_MAX_FLASH_BANKS	2	/* max number of flash banks */ +#define CONFIG_SYS_MONITOR_LEN		SZ_256K	/* Reserve 2 sectors */ + +#define CONFIG_SYS_FLASH_BASE		boot_flash_base + +/* Monitor at start of flash */ +#define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_FLASH_BASE + +#define CONFIG_ENV_IS_IN_NAND		1 +#define SMNAND_ENV_OFFSET		0x0c0000 /* environment starts here */ + +#define CONFIG_SYS_ENV_SECT_SIZE	boot_flash_sec +#define CONFIG_ENV_OFFSET		boot_flash_off +#define CONFIG_ENV_ADDR			SMNAND_ENV_OFFSET + +/*----------------------------------------------------------------------- + * CFI FLASH driver setup + */ +/* timeout values are in ticks */ +#define CONFIG_SYS_FLASH_ERASE_TOUT	(100 * CONFIG_SYS_HZ) +#define CONFIG_SYS_FLASH_WRITE_TOUT	(100 * CONFIG_SYS_HZ) + +#ifndef __ASSEMBLY__ +extern gpmc_csx_t *nand_cs_base; +extern gpmc_t *gpmc_cfg_base; +extern unsigned int boot_flash_base; +extern volatile unsigned int boot_flash_env_addr; +extern unsigned int boot_flash_off; +extern unsigned int boot_flash_sec; +extern unsigned int boot_flash_type; +#endif + +#endif /* __CONFIG_H */ |