public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer.
@ 2009-05-07 21:28 Tom Rix
  2009-05-07 21:28 ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-05-08 16:55 ` [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

The u-boot.lds file is common for all omap boards.
Move a cleaned up version to the cpu layer and add makefile logic to use it.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/beagle/u-boot.lds     |   63 -------------------------------------
 board/omap3/evm/u-boot.lds        |   63 -------------------------------------
 board/omap3/overo/u-boot.lds      |   63 -------------------------------------
 board/omap3/pandora/u-boot.lds    |   63 -------------------------------------
 board/omap3/zoom1/u-boot.lds      |   63 -------------------------------------
 cpu/arm_cortexa8/omap3/config.mk  |    2 +
 cpu/arm_cortexa8/omap3/u-boot.lds |   58 ++++++++++++++++++++++++++++++++++
 7 files changed, 60 insertions(+), 315 deletions(-)
 delete mode 100644 board/omap3/beagle/u-boot.lds
 delete mode 100644 board/omap3/evm/u-boot.lds
 delete mode 100644 board/omap3/overo/u-boot.lds
 delete mode 100644 board/omap3/pandora/u-boot.lds
 delete mode 100644 board/omap3/zoom1/u-boot.lds
 create mode 100644 cpu/arm_cortexa8/omap3/u-boot.lds

diff --git a/board/omap3/beagle/u-boot.lds b/board/omap3/beagle/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/beagle/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/evm/u-boot.lds b/board/omap3/evm/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/evm/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/overo/u-boot.lds b/board/omap3/overo/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/overo/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/pandora/u-boot.lds b/board/omap3/pandora/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/pandora/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/zoom1/u-boot.lds b/board/omap3/zoom1/u-boot.lds
deleted file mode 100644
index 0eb318b..0000000
--- a/board/omap3/zoom1/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004-2008 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@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
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/cpu/arm_cortexa8/omap3/config.mk b/cpu/arm_cortexa8/omap3/config.mk
index fbb753e..7fd364e 100644
--- a/cpu/arm_cortexa8/omap3/config.mk
+++ b/cpu/arm_cortexa8/omap3/config.mk
@@ -34,3 +34,5 @@ PLATFORM_CPPFLAGS +=$(call cc-option)
 PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
 PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,\
 		    $(call cc-option,-malignment-traps,))
+
+LDSCRIPT := $(SRCTREE)/cpu/arm_cortexa8/omap3/u-boot.lds
diff --git a/cpu/arm_cortexa8/omap3/u-boot.lds b/cpu/arm_cortexa8/omap3/u-boot.lds
new file mode 100644
index 0000000..f6874b8
--- /dev/null
+++ b/cpu/arm_cortexa8/omap3/u-boot.lds
@@ -0,0 +1,58 @@
+/*
+ * January 2004 - Changed to support H4 device
+ * Copyright (c) 2004-2008 Texas Instruments
+ *
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj@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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text	:
+	{
+		cpu/arm_cortexa8/start.o	(.text)
+		*(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss : { *(.bss) }
+	_end = .;
+}
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2
  2009-05-07 21:28 [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
@ 2009-05-07 21:28 ` Tom Rix
  2009-05-07 21:28   ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
  2009-05-08 16:56   ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 16:55 ` [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

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>
---
 MAINTAINERS                   |    4 +
 MAKEALL                       |    1 +
 Makefile                      |    3 +
 board/omap3/common/Makefile   |    1 +
 board/omap3/zoom2/Makefile    |   49 +++++++++
 board/omap3/zoom2/config.mk   |   33 ++++++
 board/omap3/zoom2/zoom2.c     |   76 ++++++++++++++
 board/omap3/zoom2/zoom2.h     |  149 +++++++++++++++++++++++++++
 doc/README.omap3              |   15 +++-
 include/configs/omap3_zoom2.h |  226 +++++++++++++++++++++++++++++++++++++++++
 10 files changed, 555 insertions(+), 2 deletions(-)
 create mode 100644 board/omap3/zoom2/Makefile
 create mode 100644 board/omap3/zoom2/config.mk
 create mode 100644 board/omap3/zoom2/zoom2.c
 create mode 100644 board/omap3/zoom2/zoom2.h
 create mode 100644 include/configs/omap3_zoom2.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 6bb03b4..e19fd0f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -615,6 +615,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
diff --git a/MAKEALL b/MAKEALL
index f13c81a..46a96c0 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -561,6 +561,7 @@ LIST_ARM_CORTEX_A8="		\
 	omap3_evm		\
 	omap3_pandora		\
 	omap3_zoom1		\
+	omap3_zoom2		\
 "
 
 #########################################################################
diff --git a/Makefile b/Makefile
index 137c88f..9d107e6 100644
--- a/Makefile
+++ b/Makefile
@@ -2983,6 +2983,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 7b892fa..b8a0b14 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 0000000..088b8cb
--- /dev/null
+++ b/board/omap3/zoom2/Makefile
@@ -0,0 +1,49 @@
+#
+# (C) Copyright 2000, 2001, 2002
+# Wolfgang Denk, DENX Software Engineering, wd at 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 0000000..33f394b
--- /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 0000000..0700c56
--- /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 0000000..cae8a7a
--- /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 1ba307f..9ab0979 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 0000000..8aea4cb
--- /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@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 */
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface.
  2009-05-07 21:28 ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Tom Rix
@ 2009-05-07 21:28   ` Tom Rix
  2009-05-07 21:28     ` [U-Boot] [PATCH 4/6] ZOOM2 Add support for debug board detection Tom Rix
  2009-05-08 17:00     ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 16:56   ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

Port the linux kernel's omap gpio interface to u-boot.
The orignal source is in linux/arch/arm/plat-omap/gpio.c

See doc/README.omap3 for instructions on use.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 cpu/arm_cortexa8/omap3/Makefile   |    1 +
 cpu/arm_cortexa8/omap3/gpio.c     |  185 +++++++++++++++++++++++++++++++++++++
 doc/README.omap3                  |   32 +++++++
 include/asm-arm/arch-omap3/gpio.h |   86 +++++++++++++++++
 4 files changed, 304 insertions(+), 0 deletions(-)
 create mode 100644 cpu/arm_cortexa8/omap3/gpio.c
 create mode 100644 include/asm-arm/arch-omap3/gpio.h

diff --git a/cpu/arm_cortexa8/omap3/Makefile b/cpu/arm_cortexa8/omap3/Makefile
index edf5cb2..50176ee 100644
--- a/cpu/arm_cortexa8/omap3/Makefile
+++ b/cpu/arm_cortexa8/omap3/Makefile
@@ -29,6 +29,7 @@ SOBJS	:= lowlevel_init.o
 
 COBJS	+= board.o
 COBJS	+= clock.o
+COBJS	+= gpio.o
 COBJS	+= mem.o
 COBJS	+= syslib.o
 COBJS	+= sys_info.o
diff --git a/cpu/arm_cortexa8/omap3/gpio.c b/cpu/arm_cortexa8/omap3/gpio.c
new file mode 100644
index 0000000..aeb6066
--- /dev/null
+++ b/cpu/arm_cortexa8/omap3/gpio.c
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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
+ *
+ * This work is derived from the linux 2.6.27 kernel source
+ * To fetch, use the kernel repository
+ * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ * Use the v2.6.27 tag.
+ *
+ * Below is the original's header including its copyright
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/io.h>
+#include <asm/errno.h>
+
+static struct gpio_bank gpio_bank_34xx[6] = {
+	{ (void *)OMAP34XX_GPIO1_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO2_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO3_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO4_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO5_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO6_BASE, METHOD_GPIO_24XX },
+};
+
+static struct gpio_bank *gpio_bank = &gpio_bank_34xx[0];
+
+static inline struct gpio_bank *get_gpio_bank(int gpio)
+{
+	return &gpio_bank[gpio >> 5];
+}
+
+static inline int get_gpio_index(int gpio)
+{
+	return gpio & 0x1f;
+}
+
+static inline int gpio_valid(int gpio)
+{
+	if (gpio < 0)
+		return -1;
+	if (gpio < 192)
+		return 0;
+	return -1;
+}
+
+static int check_gpio(int gpio)
+{
+	if (gpio_valid(gpio) < 0) {
+		printf("ERROR : check_gpio: invalid GPIO %d\n", gpio);
+		return -1;
+	}
+	return 0;
+}
+
+static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
+{
+	void *reg = bank->base;
+	u32 l;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_OE;
+		break;
+	default:
+		return;
+	}
+	l = __raw_readl(reg);
+	if (is_input)
+		l |= 1 << gpio;
+	else
+		l &= ~(1 << gpio);
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_direction(int gpio, int is_input)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_direction(bank, get_gpio_index(gpio), is_input);
+}
+
+static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
+{
+	void *reg = bank->base;
+	u32 l = 0;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		if (enable)
+			reg += OMAP24XX_GPIO_SETDATAOUT;
+		else
+			reg += OMAP24XX_GPIO_CLEARDATAOUT;
+		l = 1 << gpio;
+		break;
+	default:
+		printf("omap3-gpio unknown bank method %s %d\n",
+		       __FILE__, __LINE__);
+		return;
+	}
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_dataout(int gpio, int enable)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_dataout(bank, get_gpio_index(gpio), enable);
+}
+
+int omap_get_gpio_datain(int gpio)
+{
+	struct gpio_bank *bank;
+	void *reg;
+
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+	bank = get_gpio_bank(gpio);
+	reg = bank->base;
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_DATAIN;
+		break;
+	default:
+		return -EINVAL;
+	}
+	return (__raw_readl(reg)
+			& (1 << get_gpio_index(gpio))) != 0;
+}
+
+static void _reset_gpio(struct gpio_bank *bank, int gpio)
+{
+	_set_gpio_direction(bank, get_gpio_index(gpio), 1);
+}
+
+int omap_request_gpio(int gpio)
+{
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+
+	return 0;
+}
+
+void omap_free_gpio(int gpio)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+
+	_reset_gpio(bank, gpio);
+}
diff --git a/doc/README.omap3 b/doc/README.omap3
index 9ab0979..e05e816 100644
--- a/doc/README.omap3
+++ b/doc/README.omap3
@@ -84,6 +84,38 @@ For all other commands see
 
 help
 
+Interfaces
+==========
+
+gpio
+
+To set a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0);
+		omap_set_gpio_dataout(N, 1);
+	}
+
+To clear a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0);
+		omap_set_gpio_dataout(N, 0);
+	}
+
+To read a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(NULL, 1);
+		val = omap_get_gpio_datain(N);
+		omap_free_gpio(N);
+	}
+	if (val)
+		printf("GPIO N is set\n");
+	else
+		printf("GPIO N is clear\n");
+
+
 Acknowledgements
 ================
 
diff --git a/include/asm-arm/arch-omap3/gpio.h b/include/asm-arm/arch-omap3/gpio.h
new file mode 100644
index 0000000..30f633c
--- /dev/null
+++ b/include/asm-arm/arch-omap3/gpio.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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
+ *
+ * This work is derived from the linux 2.6.27 kernel source
+ * To fetch, use the kernel repository
+ * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ * Use the v2.6.27 tag.
+ *
+ * Below is the original's header including its copyright
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef _GPIO_H
+#define _GPIO_H
+
+#define OMAP24XX_GPIO_REVISION		0x0000
+#define OMAP24XX_GPIO_SYSCONFIG		0x0010
+#define OMAP24XX_GPIO_SYSSTATUS		0x0014
+#define OMAP24XX_GPIO_IRQSTATUS1	0x0018
+#define OMAP24XX_GPIO_IRQSTATUS2	0x0028
+#define OMAP24XX_GPIO_IRQENABLE2	0x002c
+#define OMAP24XX_GPIO_IRQENABLE1	0x001c
+#define OMAP24XX_GPIO_WAKE_EN		0x0020
+#define OMAP24XX_GPIO_CTRL		0x0030
+#define OMAP24XX_GPIO_OE		0x0034
+#define OMAP24XX_GPIO_DATAIN		0x0038
+#define OMAP24XX_GPIO_DATAOUT		0x003c
+#define OMAP24XX_GPIO_LEVELDETECT0	0x0040
+#define OMAP24XX_GPIO_LEVELDETECT1	0x0044
+#define OMAP24XX_GPIO_RISINGDETECT	0x0048
+#define OMAP24XX_GPIO_FALLINGDETECT	0x004c
+#define OMAP24XX_GPIO_DEBOUNCE_EN	0x0050
+#define OMAP24XX_GPIO_DEBOUNCE_VAL	0x0054
+#define OMAP24XX_GPIO_CLEARIRQENABLE1	0x0060
+#define OMAP24XX_GPIO_SETIRQENABLE1	0x0064
+#define OMAP24XX_GPIO_CLEARWKUENA	0x0080
+#define OMAP24XX_GPIO_SETWKUENA		0x0084
+#define OMAP24XX_GPIO_CLEARDATAOUT	0x0090
+#define OMAP24XX_GPIO_SETDATAOUT	0x0094
+
+struct gpio_bank {
+	void *base;
+	int method;
+};
+
+#define METHOD_GPIO_24XX	4
+
+/* This is the interface */
+
+/* Request a gpio before using it */
+int omap_request_gpio(int gpio);
+/* Reset and free a gpio after using it */
+void omap_free_gpio(int gpio);
+/* Sets the gpio as input or output */
+void omap_set_gpio_direction(int gpio, int is_input);
+/* Set or clear a gpio output */
+void omap_set_gpio_dataout(int gpio, int enable);
+/* Get the value of a gpio input */
+int omap_get_gpio_datain(int gpio);
+
+#endif /* _GPIO_H_ */
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 4/6] ZOOM2 Add support for debug board detection.
  2009-05-07 21:28   ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
@ 2009-05-07 21:28     ` Tom Rix
  2009-05-07 21:28       ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Tom Rix
  2009-05-08 17:00     ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

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 a pdf of the product quick start guide.
The debug board is described here.
http://support.logicpd.com/downloads/1165/

This is a wiki showing the debug board in use
https://omapzoom.org/gf/project/omapzoom/wiki/?pagename=GettingStartedWithZoomII_AKA_OMAP34XII_MDP

The zoom2 has an auxillary board that contains the serial, net, jtag and
battery simulator.  This change supports a runtime check if the debug board is
connected.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/Makefile      |    3 +-
 board/omap3/zoom2/debug_board.c |   59 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 1 deletions(-)
 create mode 100644 board/omap3/zoom2/debug_board.c

diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
index 088b8cb..b8fa5a7 100644
--- a/board/omap3/zoom2/Makefile
+++ b/board/omap3/zoom2/Makefile
@@ -25,7 +25,8 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	:= zoom2.o
+COBJS	:= zoom2.o \
+	debug_board.o
 
 SRCS	:= $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
diff --git a/board/omap3/zoom2/debug_board.c b/board/omap3/zoom2/debug_board.c
new file mode 100644
index 0000000..a4ddf29
--- /dev/null
+++ b/board/omap3/zoom2/debug_board.c
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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/arch/cpu.h>
+#include <asm/io.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/gpio.h>
+
+#define DEBUG_BOARD_CONNECTED		1
+#define DEBUG_BOARD_NOT_CONNECTED	0
+
+static int debug_board_connected = DEBUG_BOARD_CONNECTED;
+
+static void zoom2_debug_board_detect (void)
+{
+	int val = 0;
+
+	if (!omap_request_gpio(158)) {
+		/*
+		 * GPIO to query for debug board
+		 * 158 db board query
+		 */
+		omap_set_gpio_direction(158, 1);
+		val = omap_get_gpio_datain(158);
+		omap_free_gpio(158);
+	}
+
+	if (!val)
+		debug_board_connected = DEBUG_BOARD_NOT_CONNECTED;
+}
+
+int zoom2_debug_board_connected (void)
+{
+	static int first_time = 1;
+
+	if (first_time) {
+		zoom2_debug_board_detect ();
+		first_time = 0;
+	}
+	return debug_board_connected;
+}
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-07 21:28     ` [U-Boot] [PATCH 4/6] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-05-07 21:28       ` Tom Rix
  2009-05-07 21:28         ` [U-Boot] [PATCH 6/6] ZOOM2 Add led support Tom Rix
  2009-05-08 19:36         ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
The default serial is from the USB connector on left side of the debug board.
The USB connector will produce 2 of the 4 UARTS.  On your host pick the first
enumeration.

The serial port set up is the same with Zoom1.
Baud rate 115200, 8 bit data, no parity, 1 stop bit, no flow.

The kernel bootargs are
console=ttyS3,115200n8

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/Makefile       |    3 +-
 board/omap3/zoom2/zoom2.c        |   35 ++++++++++
 board/omap3/zoom2/zoom2_serial.c |  130 ++++++++++++++++++++++++++++++++++++++
 board/omap3/zoom2/zoom2_serial.h |   75 ++++++++++++++++++++++
 common/serial.c                  |    2 +
 drivers/serial/ns16550.c         |    4 +-
 include/configs/omap3_zoom2.h    |   26 ++++----
 include/serial.h                 |    7 ++
 8 files changed, 266 insertions(+), 16 deletions(-)
 create mode 100644 board/omap3/zoom2/zoom2_serial.c
 create mode 100644 board/omap3/zoom2/zoom2_serial.h

diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
index b8fa5a7..d27990c 100644
--- a/board/omap3/zoom2/Makefile
+++ b/board/omap3/zoom2/Makefile
@@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(BOARD).a
 
 COBJS	:= zoom2.o \
-	debug_board.o
+	debug_board.o \
+	zoom2_serial.o
 
 SRCS	:= $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
index 0700c56..dd0086c 100644
--- a/board/omap3/zoom2/zoom2.c
+++ b/board/omap3/zoom2/zoom2.c
@@ -30,10 +30,29 @@
  */
 #include <common.h>
 #include <asm/io.h>
+#include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-types.h>
 #include "zoom2.h"
+#include "zoom2_serial.h"
+
+/*
+ * This the the zoom2, board specific, gpmc configuration for the
+ * quad uart on the debug board.   The more general gpmc configurations
+ * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
+ */
+extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
+			       u32 base, u32 size);
+
+static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
+	0x00011000,
+	0x001F1F01,
+	0x00080803,
+	0x1D091D09,
+	0x041D1F1F,
+	0x1D0904C4, 0
+};
 
 /*
  * Routine: board_init
@@ -42,13 +61,29 @@
 int board_init (void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
+	gpmc_csx_t *serial_cs_base;
+	u32 *gpmc_config;
 
 	gpmc_init ();		/* in SRAM or SDRAM, finish GPMC */
+
+	/* Configure console support on zoom2 */
+	gpmc_config = gpmc_serial_TL16CP754C;
+	serial_cs_base = (gpmc_csx_t *) (GPMC_CONFIG_CS0_BASE +
+					 (3 * GPMC_CONFIG_WIDTH));
+	enable_gpmc_config(gpmc_config,
+			   serial_cs_base,
+			   SERIAL_TL16CP754C_BASE,
+			   GPMC_SIZE_16M);
+
 	/* 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);
 
+#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
+	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
+#endif
+
 	return 0;
 }
 
diff --git a/board/omap3/zoom2/zoom2_serial.c b/board/omap3/zoom2/zoom2_serial.c
new file mode 100644
index 0000000..a3d777d
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.c
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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
+ *
+ * This file was adapted from cpu/mpc5xxx/serial.c
+ *
+ */
+
+#include <common.h>
+#include <serial.h>
+#include <ns16550.h>
+#include <asm/arch/cpu.h>
+#include "zoom2_serial.h"
+
+int quad_init_dev (unsigned long base)
+{
+	/*
+	 * The Quad UART is on the debug board.
+	 * Check if the debug board is attached before using the UART
+	 */
+	if (zoom2_debug_board_connected ()) {
+		NS16550_t com_port = (NS16550_t) base;
+		int baud_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+			CONFIG_BAUDRATE;
+
+		/*
+		 * Zoom2 has a board specific initialization of its UART.
+		 * This generic initialization has been copied from
+		 * drivers/serial/ns16550.c. The macros have been expanded.
+		 *
+		 * Do the following instead of
+		 *
+		 * NS16550_init (com_port, clock_divisor);
+		 */
+		com_port->ier = 0x00;
+
+		/*
+		 * On Zoom2 board Set pre-scalar to 1
+		 * CLKSEL is GND => MCR[7] is 1 => preslr is 4
+		 * So change the prescl to 1
+		 */
+		com_port->lcr = 0xBF;
+		com_port->fcr |= 0x10;
+		com_port->mcr &= 0x7F;
+
+		/* This is generic ns16550.c setup */
+		com_port->lcr = UART_LCR_BKSE | UART_LCR_8N1;
+		com_port->dll = 0;
+		com_port->dlm = 0;
+		com_port->lcr = UART_LCR_8N1;
+		com_port->mcr = UART_MCR_DTR | UART_MCR_RTS;
+		com_port->fcr = UART_FCR_FIFO_EN | UART_FCR_RXSR |
+			UART_FCR_TXSR;
+		com_port->lcr = UART_LCR_BKSE | UART_LCR_8N1;
+		com_port->dll = baud_divisor & 0xff;
+		com_port->dlm = (baud_divisor >> 8) & 0xff;
+		com_port->lcr = UART_LCR_8N1;
+	}
+	/*
+	 * We have to lie here, otherwise the board init code will hang
+	 * on the check
+	 */
+	return 0;
+}
+
+void quad_putc_dev (unsigned long base, const char c)
+{
+	if (zoom2_debug_board_connected ()) {
+
+		if (c == '\n')
+			quad_putc_dev (base, '\r');
+
+		NS16550_putc ((NS16550_t) base, c);
+	}
+}
+
+void quad_puts_dev (unsigned long base, const char *s)
+{
+	if (zoom2_debug_board_connected ()) {
+		while ((s != NULL) && (*s != '\0'))
+			quad_putc_dev (base, *s++);
+	}
+}
+
+int quad_getc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ())
+		return NS16550_getc ((NS16550_t) base);
+	else
+		return 0;
+}
+
+int quad_tstc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ())
+		return NS16550_tstc ((NS16550_t) base);
+	else
+		return 0;
+}
+
+void quad_setbrg_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ()) {
+
+		int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+			CONFIG_BAUDRATE;
+
+		NS16550_reinit ((NS16550_t) base, clock_divisor);
+	}
+}
+
+QUAD_INIT (0)
+QUAD_INIT (1)
+QUAD_INIT (2)
+QUAD_INIT (3)
diff --git a/board/omap3/zoom2/zoom2_serial.h b/board/omap3/zoom2/zoom2_serial.h
new file mode 100644
index 0000000..c98158f
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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 ZOOM2_SERIAL_H
+#define ZOOM2_SERIAL_H
+
+extern int zoom2_debug_board_connected (void);
+
+#define SERIAL_TL16CP754C_BASE	0x10000000	/* Zoom2 Serial chip address */
+
+#define QUAD_BASE_0	SERIAL_TL16CP754C_BASE
+#define QUAD_BASE_1	(SERIAL_TL16CP754C_BASE + 0x100)
+#define QUAD_BASE_2	(SERIAL_TL16CP754C_BASE + 0x200)
+#define QUAD_BASE_3	(SERIAL_TL16CP754C_BASE + 0x300)
+
+#define S(a) #a
+#define N(a) S(quad##a)
+#define U(a) S(UART##a)
+
+#define QUAD_INIT(n)				\
+int quad_init_##n(void)				\
+{						\
+	return quad_init_dev(QUAD_BASE_##n);	\
+}						\
+void quad_setbrg_##n(void)			\
+{						\
+	quad_setbrg_dev(QUAD_BASE_##n);		\
+}						\
+void quad_putc_##n(const char c)		\
+{						\
+	quad_putc_dev(QUAD_BASE_##n, c);	\
+}						\
+void quad_puts_##n(const char *s)		\
+{						\
+	quad_puts_dev(QUAD_BASE_##n, s);	\
+}						\
+int quad_getc_##n(void)				\
+{						\
+	return quad_getc_dev(QUAD_BASE_##n);	\
+}						\
+int quad_tstc_##n(void)				\
+{						\
+	return quad_tstc_dev(QUAD_BASE_##n);	\
+}						\
+struct serial_device zoom2_serial_device##n =	\
+{						\
+	N(n),					\
+	U(n),					\
+	quad_init_##n,				\
+	quad_setbrg_##n,			\
+	quad_getc_##n,				\
+	quad_tstc_##n,				\
+	quad_putc_##n,				\
+	quad_puts_##n,				\
+};
+
+#endif /* ZOOM2_SERIAL_H */
diff --git a/common/serial.c b/common/serial.c
index 09385d0..dd80e7c 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -68,6 +68,8 @@ struct serial_device *__default_serial_console (void)
 #else
 #error "CONFIG_SERIAL? missing."
 #endif
+#elif defined(CONFIG_OMAP3_ZOOM2)
+		return ZOOM2_DEFAULT_SERIAL_DEVICE;
 #else
 #error No default console
 #endif
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 657c9da..2fcc8c3 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -17,7 +17,7 @@
 void NS16550_init (NS16550_t com_port, int baud_divisor)
 {
 	com_port->ier = 0x00;
-#ifdef CONFIG_OMAP
+#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
 	com_port->mdr1 = 0x7;	/* mode select reset TL16C750*/
 #endif
 	com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
@@ -30,7 +30,7 @@ void NS16550_init (NS16550_t com_port, int baud_divisor)
 	com_port->dll = baud_divisor & 0xff;
 	com_port->dlm = (baud_divisor >> 8) & 0xff;
 	com_port->lcr = UART_LCRVAL;
-#if defined(CONFIG_OMAP)
+#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
 #if defined(CONFIG_APTIX)
 	com_port->mdr1 = 3;	/* /13 mode so Aptix 6MHz can hit 115200 */
 #else
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 8aea4cb..d9a9c1a 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -69,26 +69,26 @@
 
 /*
  * NS16550 Configuration
+ * Zoom2 uses the TL16CP754C on the debug board
  */
-#define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
+#define CONFIG_SERIAL_MULTI		1
+/*
+ * 0 - 1 : first  USB with respect to the left edge of the debug board
+ * 2 - 3 : second USB with respect to the left edge of the debug board
+ */
+#define ZOOM2_DEFAULT_SERIAL_DEVICE	(&zoom2_serial_device0)
+
+#define V_NS16550_CLK			(1843200)	/* 1.8432 Mhz */
 
 #define CONFIG_SYS_NS16550
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
+#define CONFIG_SYS_NS16550_REG_SIZE	(-2)
 #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 */
+#define CONFIG_BAUDRATE			115200
+#define CONFIG_SYS_BAUDRATE_TABLE	{115200}
 
 /* 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
diff --git a/include/serial.h b/include/serial.h
index e3d8b36..aca5221 100644
--- a/include/serial.h
+++ b/include/serial.h
@@ -42,6 +42,13 @@ extern struct serial_device s3c24xx_serial1_device;
 extern struct serial_device s3c24xx_serial2_device;
 #endif
 
+#if defined(CONFIG_OMAP3_ZOOM2)
+extern struct serial_device zoom2_serial_device0;
+extern struct serial_device zoom2_serial_device1;
+extern struct serial_device zoom2_serial_device2;
+extern struct serial_device zoom2_serial_device3;
+#endif
+
 extern struct serial_device serial_ffuart_device;
 extern struct serial_device serial_btuart_device;
 extern struct serial_device serial_stuart_device;
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 6/6] ZOOM2 Add led support.
  2009-05-07 21:28       ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Tom Rix
@ 2009-05-07 21:28         ` Tom Rix
  2009-05-08 19:37           ` Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 19:36         ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 18+ messages in thread
From: Tom Rix @ 2009-05-07 21:28 UTC (permalink / raw)
  To: u-boot

This patch controls the large LED on the top left of the zoom2.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/Makefile    |    8 ++-
 board/omap3/zoom2/led.c       |  129 +++++++++++++++++++++++++++++++++++++++++
 board/omap3/zoom2/zoom2.c     |    4 +-
 include/configs/omap3_zoom2.h |   16 +++++
 4 files changed, 153 insertions(+), 4 deletions(-)
 create mode 100644 board/omap3/zoom2/led.c

diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
index d27990c..2feafbe 100644
--- a/board/omap3/zoom2/Makefile
+++ b/board/omap3/zoom2/Makefile
@@ -25,10 +25,12 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	:= zoom2.o \
-	debug_board.o \
-	zoom2_serial.o
+COBJS-y := $(BOARD).o
+COBJS-y += debug_board.o
+COBJS-y += zoom2_serial.o
+COBJS-$(CONFIG_STATUS_LED) += led.o
 
+COBJS	:= $(sort $(COBJS-y))
 SRCS	:= $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
 
diff --git a/board/omap3/zoom2/led.c b/board/omap3/zoom2/led.c
new file mode 100644
index 0000000..4e14c58
--- /dev/null
+++ b/board/omap3/zoom2/led.c
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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 <status_led.h>
+#include <asm/arch/cpu.h>
+#include <asm/io.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/gpio.h>
+
+static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
+
+/*
+ * GPIO LEDs
+ * 173 red
+ * 154 blue
+ * 61  blue2
+ */
+#define ZOOM2_LED_RED	173
+#define ZOOM2_LED_BLUE	154
+#define ZOOM2_LED_BLUE2	61
+
+void red_LED_off (void)
+{
+	/* red */
+	if (!omap_request_gpio(ZOOM2_LED_RED)) {
+		omap_set_gpio_direction(ZOOM2_LED_RED, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_RED, 0);
+	}
+	saved_state[STATUS_LED_RED] = STATUS_LED_OFF;
+}
+
+void blue_LED_off (void)
+{
+	/* blue */
+	if (!omap_request_gpio(ZOOM2_LED_BLUE)) {
+		omap_set_gpio_direction(ZOOM2_LED_BLUE, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_BLUE, 0);
+	}
+
+	/* blue 2 */
+	if (!omap_request_gpio(ZOOM2_LED_BLUE2)) {
+		omap_set_gpio_direction(ZOOM2_LED_BLUE2, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_BLUE2, 0);
+	}
+	saved_state[STATUS_LED_BLUE] = STATUS_LED_OFF;
+}
+
+void red_LED_on (void)
+{
+	blue_LED_off ();
+
+	/* red */
+	if (!omap_request_gpio(ZOOM2_LED_RED)) {
+		omap_set_gpio_direction(ZOOM2_LED_RED, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_RED, 1);
+	}
+	saved_state[STATUS_LED_RED] = STATUS_LED_ON;
+}
+
+void blue_LED_on (void)
+{
+	red_LED_off ();
+
+	/* blue */
+	if (!omap_request_gpio(ZOOM2_LED_BLUE)) {
+		omap_set_gpio_direction(ZOOM2_LED_BLUE, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_BLUE, 1);
+	}
+
+	/* blue 2 */
+	if (!omap_request_gpio(ZOOM2_LED_BLUE2)) {
+		omap_set_gpio_direction(ZOOM2_LED_BLUE2, 0);
+		omap_set_gpio_dataout(ZOOM2_LED_BLUE2, 1);
+	}
+
+	saved_state[STATUS_LED_BLUE] = STATUS_LED_ON;
+}
+
+void __led_init (led_id_t mask, int state)
+{
+	__led_set (mask, state);
+}
+
+void __led_toggle (led_id_t mask)
+{
+	if (STATUS_LED_BLUE == mask) {
+		if (STATUS_LED_ON == saved_state[STATUS_LED_BLUE])
+			blue_LED_off ();
+		else
+			blue_LED_on ();
+	} else if (STATUS_LED_RED == mask) {
+		if (STATUS_LED_ON == saved_state[STATUS_LED_RED])
+			red_LED_off ();
+		else
+			red_LED_on ();
+	}
+}
+
+void __led_set (led_id_t mask, int state)
+{
+	if (STATUS_LED_BLUE == mask) {
+		if (STATUS_LED_ON == state)
+			blue_LED_on ();
+		else
+			blue_LED_off ();
+	} else if (STATUS_LED_RED == mask) {
+		if (STATUS_LED_ON == state)
+			red_LED_on ();
+		else
+			red_LED_off ();
+	}
+}
diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
index dd0086c..f4ec38d 100644
--- a/board/omap3/zoom2/zoom2.c
+++ b/board/omap3/zoom2/zoom2.c
@@ -29,6 +29,9 @@
  * MA 02111-1307 USA
  */
 #include <common.h>
+#ifdef CONFIG_STATUS_LED
+#include <status_led.h>
+#endif
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
@@ -83,7 +86,6 @@ int board_init (void)
 #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
 	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 #endif
-
 	return 0;
 }
 
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index d9a9c1a..1d696b6 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -93,6 +93,22 @@
 #define CONFIG_OMAP3_MMC		1
 #define CONFIG_DOS_PARTITION		1
 
+/* Status LED */
+#define CONFIG_STATUS_LED		1 /* Status LED enabled	*/
+#define CONFIG_BOARD_SPECIFIC_LED	1
+#define STATUS_LED_BLUE			0
+#define STATUS_LED_RED			1
+/* Blue */
+#define STATUS_LED_BIT			STATUS_LED_BLUE
+#define STATUS_LED_STATE		STATUS_LED_ON
+#define STATUS_LED_PERIOD		(CONFIG_SYS_HZ / 2)
+/* Red */
+#define STATUS_LED_BIT1			STATUS_LED_RED
+#define STATUS_LED_STATE1		STATUS_LED_OFF
+#define STATUS_LED_PERIOD1		(CONFIG_SYS_HZ / 2)
+/* Optional value */
+#define STATUS_LED_BOOT			STATUS_LED_BIT
+
 /* commands to include */
 #include <config_cmd_default.h>
 
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer.
  2009-05-07 21:28 [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
  2009-05-07 21:28 ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Tom Rix
@ 2009-05-08 16:55 ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-08 16:55 UTC (permalink / raw)
  To: u-boot

On 16:28 Thu 07 May     , Tom Rix wrote:
> The u-boot.lds file is common for all omap boards.
> Move a cleaned up version to the cpu layer and add makefile logic to use it.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
Applied to arm/next

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2
  2009-05-07 21:28 ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-05-07 21:28   ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
@ 2009-05-08 16:56   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-08 16:56 UTC (permalink / raw)
  To: u-boot

On 16:28 Thu 07 May     , Tom Rix wrote:
> 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>
> ---
Applied to arm/next

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface.
  2009-05-07 21:28   ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
  2009-05-07 21:28     ` [U-Boot] [PATCH 4/6] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-05-08 17:00     ` Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 17:48       ` Tom
  1 sibling, 1 reply; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-08 17:00 UTC (permalink / raw)
  To: u-boot

On 16:28 Thu 07 May     , Tom Rix wrote:
> Port the linux kernel's omap gpio interface to u-boot.
> The orignal source is in linux/arch/arm/plat-omap/gpio.c
please specify which specific kernel revision your code is based on

Otherwise fine

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface.
  2009-05-08 17:00     ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Jean-Christophe PLAGNIOL-VILLARD
@ 2009-05-08 17:48       ` Tom
  0 siblings, 0 replies; 18+ messages in thread
From: Tom @ 2009-05-08 17:48 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 16:28 Thu 07 May     , Tom Rix wrote:
>   
>> Port the linux kernel's omap gpio interface to u-boot.
>> The orignal source is in linux/arch/arm/plat-omap/gpio.c
>>     
> please specify which specific kernel revision your code is based on
>
> Otherwise fine
>
> Best Regards,
> J.
>   
I added it to the file headers.

I will add it to the commit message.
Tom

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface.
@ 2009-05-08 18:02 Tom Rix
  2009-05-09  8:46 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 18+ messages in thread
From: Tom Rix @ 2009-05-08 18:02 UTC (permalink / raw)
  To: u-boot

Port version 2.6.27 of the linux kernel's omap gpio interface to u-boot.
The orignal source is in linux/arch/arm/plat-omap/gpio.c

See doc/README.omap3 for instructions on use.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 cpu/arm_cortexa8/omap3/Makefile   |    1 +
 cpu/arm_cortexa8/omap3/gpio.c     |  185 +++++++++++++++++++++++++++++++++++++
 doc/README.omap3                  |   32 +++++++
 include/asm-arm/arch-omap3/gpio.h |   86 +++++++++++++++++
 4 files changed, 304 insertions(+), 0 deletions(-)
 create mode 100644 cpu/arm_cortexa8/omap3/gpio.c
 create mode 100644 include/asm-arm/arch-omap3/gpio.h

diff --git a/cpu/arm_cortexa8/omap3/Makefile b/cpu/arm_cortexa8/omap3/Makefile
index edf5cb2..50176ee 100644
--- a/cpu/arm_cortexa8/omap3/Makefile
+++ b/cpu/arm_cortexa8/omap3/Makefile
@@ -29,6 +29,7 @@ SOBJS	:= lowlevel_init.o
 
 COBJS	+= board.o
 COBJS	+= clock.o
+COBJS	+= gpio.o
 COBJS	+= mem.o
 COBJS	+= syslib.o
 COBJS	+= sys_info.o
diff --git a/cpu/arm_cortexa8/omap3/gpio.c b/cpu/arm_cortexa8/omap3/gpio.c
new file mode 100644
index 0000000..aeb6066
--- /dev/null
+++ b/cpu/arm_cortexa8/omap3/gpio.c
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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
+ *
+ * This work is derived from the linux 2.6.27 kernel source
+ * To fetch, use the kernel repository
+ * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ * Use the v2.6.27 tag.
+ *
+ * Below is the original's header including its copyright
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/io.h>
+#include <asm/errno.h>
+
+static struct gpio_bank gpio_bank_34xx[6] = {
+	{ (void *)OMAP34XX_GPIO1_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO2_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO3_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO4_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO5_BASE, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO6_BASE, METHOD_GPIO_24XX },
+};
+
+static struct gpio_bank *gpio_bank = &gpio_bank_34xx[0];
+
+static inline struct gpio_bank *get_gpio_bank(int gpio)
+{
+	return &gpio_bank[gpio >> 5];
+}
+
+static inline int get_gpio_index(int gpio)
+{
+	return gpio & 0x1f;
+}
+
+static inline int gpio_valid(int gpio)
+{
+	if (gpio < 0)
+		return -1;
+	if (gpio < 192)
+		return 0;
+	return -1;
+}
+
+static int check_gpio(int gpio)
+{
+	if (gpio_valid(gpio) < 0) {
+		printf("ERROR : check_gpio: invalid GPIO %d\n", gpio);
+		return -1;
+	}
+	return 0;
+}
+
+static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
+{
+	void *reg = bank->base;
+	u32 l;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_OE;
+		break;
+	default:
+		return;
+	}
+	l = __raw_readl(reg);
+	if (is_input)
+		l |= 1 << gpio;
+	else
+		l &= ~(1 << gpio);
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_direction(int gpio, int is_input)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_direction(bank, get_gpio_index(gpio), is_input);
+}
+
+static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
+{
+	void *reg = bank->base;
+	u32 l = 0;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		if (enable)
+			reg += OMAP24XX_GPIO_SETDATAOUT;
+		else
+			reg += OMAP24XX_GPIO_CLEARDATAOUT;
+		l = 1 << gpio;
+		break;
+	default:
+		printf("omap3-gpio unknown bank method %s %d\n",
+		       __FILE__, __LINE__);
+		return;
+	}
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_dataout(int gpio, int enable)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_dataout(bank, get_gpio_index(gpio), enable);
+}
+
+int omap_get_gpio_datain(int gpio)
+{
+	struct gpio_bank *bank;
+	void *reg;
+
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+	bank = get_gpio_bank(gpio);
+	reg = bank->base;
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_DATAIN;
+		break;
+	default:
+		return -EINVAL;
+	}
+	return (__raw_readl(reg)
+			& (1 << get_gpio_index(gpio))) != 0;
+}
+
+static void _reset_gpio(struct gpio_bank *bank, int gpio)
+{
+	_set_gpio_direction(bank, get_gpio_index(gpio), 1);
+}
+
+int omap_request_gpio(int gpio)
+{
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+
+	return 0;
+}
+
+void omap_free_gpio(int gpio)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+
+	_reset_gpio(bank, gpio);
+}
diff --git a/doc/README.omap3 b/doc/README.omap3
index 9ab0979..e05e816 100644
--- a/doc/README.omap3
+++ b/doc/README.omap3
@@ -84,6 +84,38 @@ For all other commands see
 
 help
 
+Interfaces
+==========
+
+gpio
+
+To set a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0);
+		omap_set_gpio_dataout(N, 1);
+	}
+
+To clear a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0);
+		omap_set_gpio_dataout(N, 0);
+	}
+
+To read a bit :
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(NULL, 1);
+		val = omap_get_gpio_datain(N);
+		omap_free_gpio(N);
+	}
+	if (val)
+		printf("GPIO N is set\n");
+	else
+		printf("GPIO N is clear\n");
+
+
 Acknowledgements
 ================
 
diff --git a/include/asm-arm/arch-omap3/gpio.h b/include/asm-arm/arch-omap3/gpio.h
new file mode 100644
index 0000000..30f633c
--- /dev/null
+++ b/include/asm-arm/arch-omap3/gpio.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * 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
+ *
+ * This work is derived from the linux 2.6.27 kernel source
+ * To fetch, use the kernel repository
+ * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ * Use the v2.6.27 tag.
+ *
+ * Below is the original's header including its copyright
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef _GPIO_H
+#define _GPIO_H
+
+#define OMAP24XX_GPIO_REVISION		0x0000
+#define OMAP24XX_GPIO_SYSCONFIG		0x0010
+#define OMAP24XX_GPIO_SYSSTATUS		0x0014
+#define OMAP24XX_GPIO_IRQSTATUS1	0x0018
+#define OMAP24XX_GPIO_IRQSTATUS2	0x0028
+#define OMAP24XX_GPIO_IRQENABLE2	0x002c
+#define OMAP24XX_GPIO_IRQENABLE1	0x001c
+#define OMAP24XX_GPIO_WAKE_EN		0x0020
+#define OMAP24XX_GPIO_CTRL		0x0030
+#define OMAP24XX_GPIO_OE		0x0034
+#define OMAP24XX_GPIO_DATAIN		0x0038
+#define OMAP24XX_GPIO_DATAOUT		0x003c
+#define OMAP24XX_GPIO_LEVELDETECT0	0x0040
+#define OMAP24XX_GPIO_LEVELDETECT1	0x0044
+#define OMAP24XX_GPIO_RISINGDETECT	0x0048
+#define OMAP24XX_GPIO_FALLINGDETECT	0x004c
+#define OMAP24XX_GPIO_DEBOUNCE_EN	0x0050
+#define OMAP24XX_GPIO_DEBOUNCE_VAL	0x0054
+#define OMAP24XX_GPIO_CLEARIRQENABLE1	0x0060
+#define OMAP24XX_GPIO_SETIRQENABLE1	0x0064
+#define OMAP24XX_GPIO_CLEARWKUENA	0x0080
+#define OMAP24XX_GPIO_SETWKUENA		0x0084
+#define OMAP24XX_GPIO_CLEARDATAOUT	0x0090
+#define OMAP24XX_GPIO_SETDATAOUT	0x0094
+
+struct gpio_bank {
+	void *base;
+	int method;
+};
+
+#define METHOD_GPIO_24XX	4
+
+/* This is the interface */
+
+/* Request a gpio before using it */
+int omap_request_gpio(int gpio);
+/* Reset and free a gpio after using it */
+void omap_free_gpio(int gpio);
+/* Sets the gpio as input or output */
+void omap_set_gpio_direction(int gpio, int is_input);
+/* Set or clear a gpio output */
+void omap_set_gpio_dataout(int gpio, int enable);
+/* Get the value of a gpio input */
+int omap_get_gpio_datain(int gpio);
+
+#endif /* _GPIO_H_ */
-- 
1.6.0.5

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-07 21:28       ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Tom Rix
  2009-05-07 21:28         ` [U-Boot] [PATCH 6/6] ZOOM2 Add led support Tom Rix
@ 2009-05-08 19:36         ` Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 20:16           ` Tom
  2009-05-15 21:16           ` Tom
  1 sibling, 2 replies; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-08 19:36 UTC (permalink / raw)
  To: u-boot

On 16:28 Thu 07 May     , Tom Rix wrote:
> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
> The default serial is from the USB connector on left side of the debug board.
> The USB connector will produce 2 of the 4 UARTS.  On your host pick the first
> enumeration.
> 
> The serial port set up is the same with Zoom1.
> Baud rate 115200, 8 bit data, no parity, 1 stop bit, no flow.
> 
> The kernel bootargs are
> console=ttyS3,115200n8
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  board/omap3/zoom2/Makefile       |    3 +-
>  board/omap3/zoom2/zoom2.c        |   35 ++++++++++
>  board/omap3/zoom2/zoom2_serial.c |  130 ++++++++++++++++++++++++++++++++++++++
>  board/omap3/zoom2/zoom2_serial.h |   75 ++++++++++++++++++++++
>  common/serial.c                  |    2 +
>  drivers/serial/ns16550.c         |    4 +-
>  include/configs/omap3_zoom2.h    |   26 ++++----
>  include/serial.h                 |    7 ++
>  8 files changed, 266 insertions(+), 16 deletions(-)
>  create mode 100644 board/omap3/zoom2/zoom2_serial.c
>  create mode 100644 board/omap3/zoom2/zoom2_serial.h
> 
> diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
> index b8fa5a7..d27990c 100644
> --- a/board/omap3/zoom2/Makefile
> +++ b/board/omap3/zoom2/Makefile
> @@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk
>  LIB	= $(obj)lib$(BOARD).a
>  
>  COBJS	:= zoom2.o \
> -	debug_board.o
> +	debug_board.o \
> +	zoom2_serial.o
>  
>  SRCS	:= $(COBJS:.o=.c)
>  OBJS	:= $(addprefix $(obj),$(COBJS))
> diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
> index 0700c56..dd0086c 100644
> --- a/board/omap3/zoom2/zoom2.c
> +++ b/board/omap3/zoom2/zoom2.c
> @@ -30,10 +30,29 @@
>   */
>  #include <common.h>
>  #include <asm/io.h>
> +#include <asm/arch/mem.h>
>  #include <asm/arch/mux.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/mach-types.h>
>  #include "zoom2.h"
> +#include "zoom2_serial.h"
> +
> +/*
> + * This the the zoom2, board specific, gpmc configuration for the
> + * quad uart on the debug board.   The more general gpmc configurations
> + * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
> + */
> +extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
> +			       u32 base, u32 size);
> +
> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
> +	0x00011000,
> +	0x001F1F01,
> +	0x00080803,
> +	0x1D091D09,
> +	0x041D1F1F,
> +	0x1D0904C4, 0
> +};
>  
Any chance to have comment at least about these value?

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 6/6] ZOOM2 Add led support.
  2009-05-07 21:28         ` [U-Boot] [PATCH 6/6] ZOOM2 Add led support Tom Rix
@ 2009-05-08 19:37           ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-08 19:37 UTC (permalink / raw)
  To: u-boot

On 16:28 Thu 07 May     , Tom Rix wrote:
> This patch controls the large LED on the top left of the zoom2.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
ok

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-08 19:36         ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
@ 2009-05-08 20:16           ` Tom
  2009-05-15 21:16           ` Tom
  1 sibling, 0 replies; 18+ messages in thread
From: Tom @ 2009-05-08 20:16 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 16:28 Thu 07 May     , Tom Rix wrote:
>   
>> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
>> The default serial is from the USB connector on left side of the debug board.
>> The USB connector will produce 2 of the 4 UARTS.  On your host pick the first
>> enumeration.
>>
>> The serial port set up is the same with Zoom1.
>> Baud rate 115200, 8 bit data, no parity, 1 stop bit, no flow.
>>
>> The kernel bootargs are
>> console=ttyS3,115200n8
>>
>> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
>> ---
>>  board/omap3/zoom2/Makefile       |    3 +-
>>  board/omap3/zoom2/zoom2.c        |   35 ++++++++++
>>  board/omap3/zoom2/zoom2_serial.c |  130 ++++++++++++++++++++++++++++++++++++++
>>  board/omap3/zoom2/zoom2_serial.h |   75 ++++++++++++++++++++++
>>  common/serial.c                  |    2 +
>>  drivers/serial/ns16550.c         |    4 +-
>>  include/configs/omap3_zoom2.h    |   26 ++++----
>>  include/serial.h                 |    7 ++
>>  8 files changed, 266 insertions(+), 16 deletions(-)
>>  create mode 100644 board/omap3/zoom2/zoom2_serial.c
>>  create mode 100644 board/omap3/zoom2/zoom2_serial.h
>>
>> diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
>> index b8fa5a7..d27990c 100644
>> --- a/board/omap3/zoom2/Makefile
>> +++ b/board/omap3/zoom2/Makefile
>> @@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk
>>  LIB	= $(obj)lib$(BOARD).a
>>  
>>  COBJS	:= zoom2.o \
>> -	debug_board.o
>> +	debug_board.o \
>> +	zoom2_serial.o
>>  
>>  SRCS	:= $(COBJS:.o=.c)
>>  OBJS	:= $(addprefix $(obj),$(COBJS))
>> diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
>> index 0700c56..dd0086c 100644
>> --- a/board/omap3/zoom2/zoom2.c
>> +++ b/board/omap3/zoom2/zoom2.c
>> @@ -30,10 +30,29 @@
>>   */
>>  #include <common.h>
>>  #include <asm/io.h>
>> +#include <asm/arch/mem.h>
>>  #include <asm/arch/mux.h>
>>  #include <asm/arch/sys_proto.h>
>>  #include <asm/mach-types.h>
>>  #include "zoom2.h"
>> +#include "zoom2_serial.h"
>> +
>> +/*
>> + * This the the zoom2, board specific, gpmc configuration for the
>> + * quad uart on the debug board.   The more general gpmc configurations
>> + * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
>> + */
>> +extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
>> +			       u32 base, u32 size);
>> +
>> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
>> +	0x00011000,
>> +	0x001F1F01,
>> +	0x00080803,
>> +	0x1D091D09,
>> +	0x041D1F1F,
>> +	0x1D0904C4, 0
>> +};
>>  
>>     
> Any chance to have comment at least about these value?
>   
Sorry. I was given these numbers. I asked and did not get a reply.
I will ask again.

> Best Regards,
> J.
>   

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface.
  2009-05-08 18:02 [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
@ 2009-05-09  8:46 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-09  8:46 UTC (permalink / raw)
  To: u-boot

On 13:02 Fri 08 May     , Tom Rix wrote:
> Port version 2.6.27 of the linux kernel's omap gpio interface to u-boot.
> The orignal source is in linux/arch/arm/plat-omap/gpio.c
> 
> See doc/README.omap3 for instructions on use.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
Applied to arm/next

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-08 19:36         ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
  2009-05-08 20:16           ` Tom
@ 2009-05-15 21:16           ` Tom
  2009-05-16 10:25             ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 18+ messages in thread
From: Tom @ 2009-05-15 21:16 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 16:28 Thu 07 May     , Tom Rix wrote:
>   
>> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
>> The default serial is from the USB connector on left side of the debug board.
>>
>> +/*
>> + * This the the zoom2, board specific, gpmc configuration for the
>> + * quad uart on the debug board.   The more general gpmc configurations
>> + * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
>> + */
>> +extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
>> +			       u32 base, u32 size);
>> +
>> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
>> +	0x00011000,
>> +	0x001F1F01,
>> +	0x00080803,
>> +	0x1D091D09,
>> +	0x041D1F1F,
>> +	0x1D0904C4, 0
>> +};
>>  
>>     
> Any chance to have comment at least about these value?
>
> Best Regards,
> J.
>   

I have not gotten a response for a better comment.

Can I have a pass on this ?

Tom

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-15 21:16           ` Tom
@ 2009-05-16 10:25             ` Jean-Christophe PLAGNIOL-VILLARD
  2009-05-16 11:39               ` Tom
  0 siblings, 1 reply; 18+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-05-16 10:25 UTC (permalink / raw)
  To: u-boot

On 16:16 Fri 15 May     , Tom wrote:
> Jean-Christophe PLAGNIOL-VILLARD wrote:
>> On 16:28 Thu 07 May     , Tom Rix wrote:
>>   
>>> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
>>> The default serial is from the USB connector on left side of the debug board.
>>>
>>> +/*
>>> + * This the the zoom2, board specific, gpmc configuration for the
>>> + * quad uart on the debug board.   The more general gpmc configurations
>>> + * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
>>> + */
>>> +extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
>>> +			       u32 base, u32 size);
>>> +
>>> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
>>> +	0x00011000,
>>> +	0x001F1F01,
>>> +	0x00080803,
>>> +	0x1D091D09,
>>> +	0x041D1F1F,
>>> +	0x1D0904C4, 0
>>> +};
>>>      
>> Any chance to have comment at least about these value?
>>
>
> I have not gotten a response for a better comment.
>
> Can I have a pass on this ?
ok but add a comment in the code and the commit to explain why you can not
provide comment about these values

Best Regards,
J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH 5/6] ZOOM2 Add serial support.
  2009-05-16 10:25             ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-05-16 11:39               ` Tom
  0 siblings, 0 replies; 18+ messages in thread
From: Tom @ 2009-05-16 11:39 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 16:16 Fri 15 May     , Tom wrote:
>   
>> Jean-Christophe PLAGNIOL-VILLARD wrote:
>>     
>>> On 16:28 Thu 07 May     , Tom Rix wrote:
>>>   
>>>       
>>>> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
>>>> The default serial is from the USB connector on left side of the debug board.
>>>>
>>>> +/*
>>>> + * This the the zoom2, board specific, gpmc configuration for the
>>>> + * quad uart on the debug board.   The more general gpmc configurations
>>>> + * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
>>>> + */
>>>> +extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
>>>> +			       u32 base, u32 size);
>>>> +
>>>> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
>>>> +	0x00011000,
>>>> +	0x001F1F01,
>>>> +	0x00080803,
>>>> +	0x1D091D09,
>>>> +	0x041D1F1F,
>>>> +	0x1D0904C4, 0
>>>> +};
>>>>      
>>>>         
>>> Any chance to have comment at least about these value?
>>>
>>>       
>> I have not gotten a response for a better comment.
>>
>> Can I have a pass on this ?
>>     
> ok but add a comment in the code and the commit to explain why you can not
> provide comment about these values
>
>   
Ok
> Best Regards,
> J.
>   

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2009-05-16 11:39 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-07 21:28 [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
2009-05-07 21:28 ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Tom Rix
2009-05-07 21:28   ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
2009-05-07 21:28     ` [U-Boot] [PATCH 4/6] ZOOM2 Add support for debug board detection Tom Rix
2009-05-07 21:28       ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Tom Rix
2009-05-07 21:28         ` [U-Boot] [PATCH 6/6] ZOOM2 Add led support Tom Rix
2009-05-08 19:37           ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-08 19:36         ` [U-Boot] [PATCH 5/6] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
2009-05-08 20:16           ` Tom
2009-05-15 21:16           ` Tom
2009-05-16 10:25             ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-16 11:39               ` Tom
2009-05-08 17:00     ` [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Jean-Christophe PLAGNIOL-VILLARD
2009-05-08 17:48       ` Tom
2009-05-08 16:56   ` [U-Boot] [PATCH 2/6] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
2009-05-08 16:55 ` [U-Boot] [PATCH 1/6] OMAP Consolidate common u-boot.lds to cpu layer Jean-Christophe PLAGNIOL-VILLARD
  -- strict thread matches above, loose matches on Subject: below --
2009-05-08 18:02 [U-Boot] [PATCH 3/6] OMAP3 Port kernel omap gpio interface Tom Rix
2009-05-09  8:46 ` Jean-Christophe PLAGNIOL-VILLARD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox