All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
@ 2009-04-02  3:02 Tom Rix
  2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
                   ` (3 more replies)
  0 siblings, 4 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

Zoom2 is a new board from Texas Instruments and LogicPD
This is the product description
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.  This target compiles but does not yet run.

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/u-boot.lds  |   63 +++++++++
 board/omap3/zoom2/zoom2.c     |   79 +++++++++++
 board/omap3/zoom2/zoom2.h     |  134 ++++++++++++++++++
 include/configs/omap3_zoom2.h |  311 +++++++++++++++++++++++++++++++++++++++++
 10 files changed, 678 insertions(+), 0 deletions(-)
 create mode 100644 board/omap3/zoom2/Makefile
 create mode 100644 board/omap3/zoom2/config.mk
 create mode 100644 board/omap3/zoom2/u-boot.lds
 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 25b28d6..f89e01a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -610,6 +610,10 @@ Stelian Pop <stelian.pop@leadtechdesign.com>
 	at91sam9263ek	ARM926EJS (AT91SAM9263 SoC)
 	at91sam9rlek	ARM926EJS (AT91SAM9RL SoC)
 
+Tom Rix <Tom.Rix@windriver.com>
+
+	omap3_zoom2	ARM CORTEX-A8 (OMAP3xx SoC)
+
 Stefan Roese <sr@denx.de>
 
 	ixdpg425	xscale
diff --git a/MAKEALL b/MAKEALL
index 854f303..8d84c29 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 f857641..1a3d14e 100644
--- a/Makefile
+++ b/Makefile
@@ -2974,6 +2974,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..ef2ae97
--- /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:
+# 8000'0000 (bank0)
+# A000/0000 (bank1)
+# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
+# (mem base + reserved)
+
+# For use with external or internal boots.
+TEXT_BASE = 0x80e80000
diff --git a/board/omap3/zoom2/u-boot.lds b/board/omap3/zoom2/u-boot.lds
new file mode 100644
index 0000000..0eb318b
--- /dev/null
+++ b/board/omap3/zoom2/u-boot.lds
@@ -0,0 +1,63 @@
+/*
+ * 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/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
new file mode 100644
index 0000000..9e47601
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.c
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright 2009
+ * Wind River
+ *
+ * Author :
+ *	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..c86d990
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.h
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright 2009
+ * Wind River
+ * 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 = {
+	SDP_3430_V1,
+	SDP_3430_V2,
+	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*/
+
+#endif /* _BOARD_ZOOM2_H_ */
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
new file mode 100644
index 0000000..52e5f70
--- /dev/null
+++ b/include/configs/omap3_zoom2.h
@@ -0,0 +1,311 @@
+/*
+ * (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_EXT2		/* EXT2 Support                 */
+#define CONFIG_CMD_FAT		/* FAT support                  */
+#define CONFIG_CMD_JFFS2	/* JFFS2 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	/* Max number of NAND */
+							/* devices */
+#define SECTORSIZE			512
+
+#define NAND_ALLOW_ERASE_ALL
+#define ADDR_COLUMN			1
+#define ADDR_PAGE			2
+#define ADDR_COLUMN_PAGE		3
+
+#define NAND_ChipID_UNKNOWN		0x00
+#define NAND_MAX_FLOORS			1
+#define NAND_MAX_CHIPS			1
+#define NAND_NO_RB			1
+#define CONFIG_SYS_NAND_WP
+
+#define CONFIG_JFFS2_NAND
+/* nand device jffs2 lives on */
+#define CONFIG_JFFS2_DEV		"nand0"
+/* start of jffs2 partition */
+#define CONFIG_JFFS2_PART_OFFSET	0x680000
+#define CONFIG_JFFS2_PART_SIZE		0xf980000	/* size of jffs2 */
+							/* partition */
+
+/* Environment information */
+#define CONFIG_BOOTDELAY		10
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"loadaddr=0x82000000\0" \
+	"console=ttyS2,115200n8\0" \
+	"videomode=1024x768 at 60,vxres=1024,vyres=768\0" \
+	"videospec=omapfb:vram:2M,vram:4M\0" \
+	"mmcargs=setenv bootargs console=${console} " \
+		"video=${videospec},mode:${videomode} " \
+		"root=/dev/mmcblk0p2 rw " \
+		"rootfstype=ext3 rootwait\0" \
+	"nandargs=setenv bootargs console=${console} " \
+		"video=${videospec},mode:${videomode} " \
+		"root=/dev/mtdblock4 rw " \
+		"rootfstype=jffs2\0" \
+	"loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
+	"bootscript=echo Running bootscript from mmc ...; " \
+		"autoscr ${loadaddr}\0" \
+	"loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
+	"mmcboot=echo Booting from mmc ...; " \
+		"run mmcargs; " \
+		"bootm ${loadaddr}\0" \
+	"nandboot=echo Booting from nand ...; " \
+		"run nandargs; " \
+		"nand read ${loadaddr} 280000 400000; " \
+		"bootm ${loadaddr}\0" \
+
+#define CONFIG_BOOTCOMMAND \
+	"if mmcinit; then " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else run nandboot; " \
+			"fi; " \
+		"fi; " \
+	"else run nandboot; fi"
+
+#define CONFIG_AUTO_COMPLETE		1
+/*
+ * Miscellaneous configurable options
+ */
+#define V_PROMPT			"OMAP3 Zoom2# "
+
+#define CONFIG_SYS_LONGHELP	/* undef to save memory */
+#define CONFIG_SYS_HUSH_PARSER	/* use "hush" command parser */
+#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+#define CONFIG_SYS_PROMPT		V_PROMPT
+#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
+/* Print Buffer Size */
+#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
+					sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_MAXARGS		16	/* max number of command args */
+/* Boot Argument Buffer Size */
+#define CONFIG_SYS_BARGSIZE		(CONFIG_SYS_CBSIZE)
+
+#define CONFIG_SYS_MEMTEST_START	(OMAP34XX_SDRC_CS0)	/* memtest */
+								/* works on */
+#define CONFIG_SYS_MEMTEST_END		(OMAP34XX_SDRC_CS0 + \
+					0x01F00000)	/* 31MB */
+
+#undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
+
+#define CONFIG_SYS_LOAD_ADDR		(OMAP34XX_SDRC_CS0)	/* default */
+							/* load address */
+
+/*
+ * 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 V_PVT				7
+
+#define CONFIG_SYS_TIMERBASE		(OMAP34XX_GPT2)
+#define CONFIG_SYS_PVT			V_PVT	/* 2^(pvt+1) */
+#define CONFIG_SYS_HZ			((V_SCLK) / (2 << CONFIG_SYS_PVT))
+
+/*-----------------------------------------------------------------------
+ * Stack sizes
+ *
+ * The stack sizes are set up in start.S using the settings below
+ */
+#define CONFIG_STACKSIZE	SZ_128K	/* regular stack */
+#ifdef CONFIG_USE_IRQ
+#define CONFIG_STACKSIZE_IRQ	SZ_4K	/* IRQ stack */
+#define CONFIG_STACKSIZE_FIQ	SZ_4K	/* FIQ stack */
+#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_SYS_ONENAND_BASE		ONENAND_MAP
+
+#define CONFIG_ENV_IS_IN_NAND		1
+#define ONENAND_ENV_OFFSET		0x260000 /* environment starts here */
+#define SMNAND_ENV_OFFSET		0x260000 /* 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)
+
+/* Flash banks JFFS2 should use */
+#define CONFIG_SYS_MAX_MTD_BANKS	(CONFIG_SYS_MAX_FLASH_BANKS + \
+					CONFIG_SYS_MAX_NAND_DEVICE)
+#define CONFIG_SYS_JFFS2_MEM_NAND
+/* use flash_info[2] */
+#define CONFIG_SYS_JFFS2_FIRST_BANK	CONFIG_SYS_MAX_FLASH_BANKS
+#define CONFIG_SYS_JFFS2_NUM_BANKS	1
+
+#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] 27+ messages in thread

* [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration.
  2009-04-02  3:02 [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Tom Rix
@ 2009-04-02  3:02 ` Tom Rix
  2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-02  5:34   ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02 16:38 ` [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Scott Wood
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/zoom2.h |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/board/omap3/zoom2/zoom2.h b/board/omap3/zoom2/zoom2.h
index c86d990..3807634 100644
--- a/board/omap3/zoom2/zoom2.h
+++ b/board/omap3/zoom2/zoom2.h
@@ -129,6 +129,24 @@ const omap3_sysinfo sysinfo = {
  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*/
+ 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_ */
-- 
1.6.0.5

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

* [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection.
  2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
@ 2009-04-02  3:02   ` Tom Rix
  2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
                       ` (2 more replies)
  2009-04-02  5:34   ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 3 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

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 |   57 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 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..782dcb2
--- /dev/null
+++ b/board/omap3/zoom2/debug_board.c
@@ -0,0 +1,57 @@
+/*
+ * (C) Copyright 2009
+ * Wind River, <www.windriver.com>
+ * 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>
+
+#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)
+{
+	unsigned int val;
+	/*
+	 * GPIO to query for debug board
+	 * 158 db board query, bank 5, index 30
+	 */
+	gpio_t *gpio5_base = (gpio_t *) OMAP34XX_GPIO5_BASE;
+
+	val = __raw_readl (&gpio5_base->datain);
+
+	/* Check the bit for gpio 158 */
+	if (!(val & (1 << 30)))
+		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] 27+ messages in thread

* [U-Boot] [PATCH 4/8] ZOOM2 Add serial support.
  2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-04-02  3:02     ` Tom Rix
  2009-04-02  3:02       ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Tom Rix
  2009-04-02 20:21       ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02 19:51     ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Jean-Christophe PLAGNIOL-VILLARD
  2009-04-04  8:28     ` Dirk Behme
  2 siblings, 2 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 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_serial.c |  134 ++++++++++++++++++++++++++++++++++++++
 board/omap3/zoom2/zoom2_serial.h |   77 ++++++++++++++++++++++
 common/serial.c                  |    2 +
 cpu/arm_cortexa8/omap3/mem.c     |   23 +++++++
 drivers/serial/ns16550.c         |    4 +-
 include/asm-arm/arch-omap3/cpu.h |    2 +
 include/configs/omap3_zoom2.h    |   28 ++++----
 include/ns16550.h                |   19 ++++++
 include/serial.h                 |    7 ++
 10 files changed, 282 insertions(+), 17 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_serial.c b/board/omap3/zoom2/zoom2_serial.c
new file mode 100644
index 0000000..e879962
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.c
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright 2009
+ * Wind River, <www.windriver.com>
+ * 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 "zoom2_serial.h"
+
+int zoom2_debug_board_connected (void);
+
+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 (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;
+
+		com_port->lcr = LCR_BKSE | LCR_8N1;
+		com_port->dll = 0;
+		com_port->dlm = 0;
+		com_port->lcr = LCR_8N1;
+		com_port->mcr = (MCR_DTR | MCR_RTS);
+		com_port->fcr = (FCR_FIFO_EN | FCR_RXSR | FCR_TXSR);
+		com_port->lcr = LCR_BKSE | LCR_8N1;
+		com_port->dll = baud_divisor & 0xff;
+		com_port->dlm = (baud_divisor >> 8) & 0xff;
+		com_port->lcr = 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 ()) {
+		NS16550_t port = (NS16550_t) base;
+
+		if (c == '\n')
+			quad_putc_dev (base, '\r');
+
+		NS16550_putc (port, c);
+	}
+}
+
+void quad_puts_dev (unsigned long base, const char *s)
+{
+	if (zoom2_debug_board_connected ()) {
+		while (*s)
+			quad_putc_dev (base, *s++);
+	}
+}
+
+int quad_getc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ()) {
+		NS16550_t port = (NS16550_t) base;
+
+		return NS16550_getc (port);
+	} else {
+		return 0;
+	}
+}
+
+int quad_tstc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ()) {
+		NS16550_t port = (NS16550_t) base;
+
+		return NS16550_tstc (port);
+	} else {
+		return 0;
+	}
+}
+
+void quad_setbrg_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ()) {
+		NS16550_t port = (NS16550_t) base;
+
+		int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+		    CONFIG_BAUDRATE;
+
+		NS16550_reinit (port, 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..49d64d0
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.h
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright 2009
+ * Wind River, <www.windriver.com>
+ * 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
+
+#include <common.h>
+#include <serial.h>
+#include <ns16550.h>
+#include <asm/arch/cpu.h>
+
+#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..3e9135b 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 DEFAULT_ZOOM2_SERIAL_DEVICE;
 #else
 #error No default console
 #endif
diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
index 3cc22c4..20a8748 100644
--- a/cpu/arm_cortexa8/omap3/mem.c
+++ b/cpu/arm_cortexa8/omap3/mem.c
@@ -82,6 +82,18 @@ gpmc_csx_t *onenand_cs_base;
 
 #endif
 
+#if defined(CONFIG_OMAP3_ZOOM2)
+static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
+	0x00011000,
+	0x001F1F01,
+	0x00080803,
+	0x1D091D09,
+	0x041D1F1F,
+	0x1D0904C4, 0
+};
+gpmc_csx_t *serial_cs_base;
+#endif
+
 static sdrc_t *sdrc_base = (sdrc_t *)OMAP34XX_SDRC_BASE;
 
 /**************************************************************************
@@ -281,4 +293,15 @@ void gpmc_init(void)
 	boot_flash_env_addr = f_off;
 #endif
 #endif
+
+#ifdef CONFIG_OMAP3_ZOOM2
+	/* 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);
+#endif
 }
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 397f5df..6ec6697 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -14,7 +14,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 = LCR_BKSE | LCRVAL;
@@ -27,7 +27,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 = 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/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h
index c544e0c..7671a3a 100644
--- a/include/asm-arm/arch-omap3/cpu.h
+++ b/include/asm-arm/arch-omap3/cpu.h
@@ -153,6 +153,8 @@ typedef struct gpmc_csx {
 #define PISMO2_BASE		0x18000000	/* PISMO2 CS1/2 */
 #define ONENAND_MAP		0x20000000	/* OneNand addr */
 						/* (actual size small port) */
+#define SERIAL_TL16CP754C_BASE	0x10000000      /* Zoom2 Serial chip address */
+
 /* SMS */
 #ifndef __ASSEMBLY__
 typedef struct sms {
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 52e5f70..56b73eb 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -70,26 +70,26 @@
 
 /*
  * NS16550 Configuration
+ * Zoom2 uses the TL16CP754C on the debug board
  */
-#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
-
+#define CONFIG_SERIAL_MULTI      1
 /*
- * select serial console configuration
+ * 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 CONFIG_CONS_INDEX		3
-#define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
-#define CONFIG_SERIAL3			3	/* UART3 */
+#define DEFAULT_ZOOM2_SERIAL_DEVICE (&zoom2_serial_device0)
+
+#define V_NS16550_CLK            (1843200)  /* 1.8432 Mhz */
+
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_REG_SIZE     (-2)
+#define CONFIG_SYS_NS16550_CLK          V_NS16550_CLK
+#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/ns16550.h b/include/ns16550.h
index edfbc53..ebaa44f 100644
--- a/include/ns16550.h
+++ b/include/ns16550.h
@@ -57,6 +57,25 @@ struct NS16550 {
 	unsigned long msr;		/* 6 r  */
 	unsigned long scr;		/* 7 rw */
 }; /* No need to pack an already aligned struct */
+#elif (CONFIG_SYS_NS16550_REG_SIZE == -2)
+struct NS16550 {
+	unsigned char rbr;		/* 0 r  */
+	int pad1:8;
+	unsigned char ier;		/* 1 rw */
+	int pad2:8;
+	unsigned char fcr;		/* 2 w  */
+	int pad3:8;
+	unsigned char lcr;		/* 3 rw */
+	int pad4:8;
+	unsigned char mcr;		/* 4 rw */
+	int pad5:8;
+	unsigned char lsr;		/* 5 r  */
+	int pad6:8;
+	unsigned char msr;		/* 6 r  */
+	int pad7:8;
+	unsigned char scr;		/* 7 rw */
+	int pad8:8;
+}; /* No need to pack an already aligned struct */
 #elif (CONFIG_SYS_NS16550_REG_SIZE == -4)
 struct NS16550 {
 	unsigned char rbr;		/* 0 */
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] 27+ messages in thread

* [U-Boot] [PATCH 5/8] ZOOM2 Add led support.
  2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
@ 2009-04-02  3:02       ` Tom Rix
  2009-04-02  3:02         ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Tom Rix
  2009-04-02  5:30         ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02 20:21       ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 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 |    4 ++-
 board/omap3/zoom2/led.c    |   66 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 1 deletions(-)
 create mode 100644 board/omap3/zoom2/led.c

diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
index d27990c..6c74217 100644
--- a/board/omap3/zoom2/Makefile
+++ b/board/omap3/zoom2/Makefile
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	:= zoom2.o \
+COBJS	:= \
 	debug_board.o \
+	led.o \
+	zoom2.o \
 	zoom2_serial.o
 
 SRCS	:= $(COBJS:.o=.c)
diff --git a/board/omap3/zoom2/led.c b/board/omap3/zoom2/led.c
new file mode 100644
index 0000000..64c3f94
--- /dev/null
+++ b/board/omap3/zoom2/led.c
@@ -0,0 +1,66 @@
+/*
+ * (C) Copyright 2009
+ * Wind River, <www.windriver.com>
+ * 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/sys_proto.h>
+
+/*
+ * GPIO LEDs
+ * 173 red  , bank 6, index 13
+ * 154 blue , bank 5, index 26
+ * 61  blue2, bank 2, index 29
+ */
+void zoom2_led_red_off (void)
+{
+	gpio_t *gpio6_base = (gpio_t *) OMAP34XX_GPIO6_BASE;
+
+	sr32 (&gpio6_base->cleardataout, 13, 1, 1);	/* red off */
+}
+
+void zoom2_led_blue_off (void)
+{
+	gpio_t *gpio2_base = (gpio_t *) OMAP34XX_GPIO2_BASE;
+	gpio_t *gpio5_base = (gpio_t *) OMAP34XX_GPIO5_BASE;
+
+	sr32 (&gpio5_base->cleardataout, 26, 1, 1);	/* blue off */
+	sr32 (&gpio2_base->cleardataout, 29, 1, 1);	/* blue 2 off */
+}
+
+void zoom2_led_red_on (void)
+{
+	gpio_t *gpio6_base = (gpio_t *) OMAP34XX_GPIO6_BASE;
+
+	zoom2_led_blue_off ();
+
+	sr32 (&gpio6_base->setdataout, 13, 1, 1);	/* red on */
+}
+
+void zoom2_led_blue_on (void)
+{
+	gpio_t *gpio2_base = (gpio_t *) OMAP34XX_GPIO2_BASE;
+	gpio_t *gpio5_base = (gpio_t *) OMAP34XX_GPIO5_BASE;
+
+	zoom2_led_red_off ();
+
+	sr32 (&gpio5_base->setdataout, 26, 1, 1);	/* blue on */
+	sr32 (&gpio2_base->setdataout, 29, 1, 1);	/* blue 2 on */
+}
-- 
1.6.0.5

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

* [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines
  2009-04-02  3:02       ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Tom Rix
@ 2009-04-02  3:02         ` Tom Rix
  2009-04-02  3:02           ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Tom Rix
  2009-04-02  5:34           ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02  5:30         ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 include/configs/omap3_zoom1.h |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h
index 883234a..09fdc75 100644
--- a/include/configs/omap3_zoom1.h
+++ b/include/configs/omap3_zoom1.h
@@ -303,21 +303,4 @@ extern unsigned int boot_flash_sec;
 extern unsigned int boot_flash_type;
 #endif
 
-
-#define WRITE_NAND_COMMAND(d, adr)\
-			writel(d, &nand_cs_base->nand_cmd)
-#define WRITE_NAND_ADDRESS(d, adr)\
-			writel(d, &nand_cs_base->nand_adr)
-#define WRITE_NAND(d, adr) writew(d, &nand_cs_base->nand_dat)
-#define READ_NAND(adr) readl(&nand_cs_base->nand_dat)
-
-/* Other NAND Access APIs */
-#define NAND_WP_OFF() do {readl(&gpmc_cfg_base->config) |= GPMC_CONFIG_WP; } \
-			while (0)
-#define NAND_WP_ON() do {readl(&gpmc_cfg_base->config) &= ~GPMC_CONFIG_WP; } \
-			while (0)
-#define NAND_DISABLE_CE(nand)
-#define NAND_ENABLE_CE(nand)
-#define NAND_WAIT_READY(nand)	udelay(10)
-
 #endif				/* __CONFIG_H */
-- 
1.6.0.5

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

* [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files.
  2009-04-02  3:02         ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Tom Rix
@ 2009-04-02  3:02           ` Tom Rix
  2009-04-02  3:02             ` [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor Tom Rix
  2009-04-02  5:33             ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02  5:34           ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/beagle/beagle.c   |   20 ++++++++++----------
 board/omap3/evm/evm.c         |   16 ++++++++--------
 board/omap3/overo/overo.c     |   12 ++++++------
 board/omap3/pandora/pandora.c |   12 ++++++------
 board/omap3/zoom1/zoom1.c     |   12 ++++++------
 5 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/board/omap3/beagle/beagle.c b/board/omap3/beagle/beagle.c
index 8d60651..cc8e2f9 100644
--- a/board/omap3/beagle/beagle.c
+++ b/board/omap3/beagle/beagle.c
@@ -38,10 +38,10 @@
 
 static int beagle_revision_c;
 
-/******************************************************************************
+/*
  * Routine: board_init
  * Description: Early hardware init.
- *****************************************************************************/
+ */
 int board_init(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
@@ -55,23 +55,23 @@ int board_init(void)
 	return 0;
 }
 
-/******************************************************************************
+/*
  * Routine: beagle_get_revision
  * Description: Return revision of the BeagleBoard this code is running on.
  *              If it is a revision Ax/Bx board, this function returns 0,
  *              on a revision C board you will get a 1.
- *****************************************************************************/
+ */
 int beagle_get_revision(void)
 {
 	return beagle_revision_c;
 }
 
-/******************************************************************************
+/*
  * Routine: beagle_identify
  * Description: Detect if we are running on a Beagle revision Ax/Bx or
  *              Cx. This can be done by GPIO_171. If this is low, we are
  *              running on a revision C board.
- *****************************************************************************/
+ */
 void beagle_identify(void)
 {
 	gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
@@ -92,10 +92,10 @@ void beagle_identify(void)
 	}
 }
 
-/******************************************************************************
+/*
  * Routine: misc_init_r
  * Description: Configure board specific parts
- *****************************************************************************/
+ */
 int misc_init_r(void)
 {
 	gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE;
@@ -121,12 +121,12 @@ int misc_init_r(void)
 	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)
 {
 	MUX_BEAGLE();
diff --git a/board/omap3/evm/evm.c b/board/omap3/evm/evm.c
index 3a27c8f..c008c2e 100644
--- a/board/omap3/evm/evm.c
+++ b/board/omap3/evm/evm.c
@@ -36,10 +36,10 @@
 #include <asm/mach-types.h>
 #include "evm.h"
 
-/******************************************************************************
+/*
  * Routine: board_init
  * Description: Early hardware init.
- *****************************************************************************/
+ */
 int board_init(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
@@ -53,10 +53,10 @@ int board_init(void)
 	return 0;
 }
 
-/******************************************************************************
+/*
  * Routine: misc_init_r
  * Description: Init ethernet (done here so udelay works)
- *****************************************************************************/
+ */
 int misc_init_r(void)
 {
 
@@ -73,22 +73,22 @@ int misc_init_r(void)
 	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)
 {
 	MUX_EVM();
 }
 
-/******************************************************************************
+/*
  * Routine: setup_net_chip
  * Description: Setting up the configuration GPMC registers specific to the
  *		Ethernet hardware.
- *****************************************************************************/
+ */
 static void setup_net_chip(void)
 {
 	gpio_t *gpio3_base = (gpio_t *)OMAP34XX_GPIO3_BASE;
diff --git a/board/omap3/overo/overo.c b/board/omap3/overo/overo.c
index 37bf350..809b77b 100644
--- a/board/omap3/overo/overo.c
+++ b/board/omap3/overo/overo.c
@@ -35,10 +35,10 @@
 #include <asm/mach-types.h>
 #include "overo.h"
 
-/******************************************************************************
+/*
  * Routine: board_init
  * Description: Early hardware init.
- *****************************************************************************/
+ */
 int board_init(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
@@ -52,10 +52,10 @@ int board_init(void)
 	return 0;
 }
 
-/******************************************************************************
+/*
  * Routine: misc_init_r
  * Description: Configure board specific parts
- *****************************************************************************/
+ */
 int misc_init_r(void)
 {
 	power_init_r();
@@ -65,12 +65,12 @@ int misc_init_r(void)
 	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)
 {
 	MUX_OVERO();
diff --git a/board/omap3/pandora/pandora.c b/board/omap3/pandora/pandora.c
index dfd51ec..c2f98ea 100644
--- a/board/omap3/pandora/pandora.c
+++ b/board/omap3/pandora/pandora.c
@@ -36,10 +36,10 @@
 #include <asm/mach-types.h>
 #include "pandora.h"
 
-/******************************************************************************
+/*
  * Routine: board_init
  * Description: Early hardware init.
- *****************************************************************************/
+ */
 int board_init(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
@@ -53,10 +53,10 @@ int board_init(void)
 	return 0;
 }
 
-/******************************************************************************
+/*
  * Routine: misc_init_r
  * Description: Configure board specific parts
- *****************************************************************************/
+ */
 int misc_init_r(void)
 {
 	gpio_t *gpio1_base = (gpio_t *)OMAP34XX_GPIO1_BASE;
@@ -82,12 +82,12 @@ int misc_init_r(void)
 	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)
 {
 	MUX_PANDORA();
diff --git a/board/omap3/zoom1/zoom1.c b/board/omap3/zoom1/zoom1.c
index 702f732..db4d087 100644
--- a/board/omap3/zoom1/zoom1.c
+++ b/board/omap3/zoom1/zoom1.c
@@ -37,10 +37,10 @@
 #include <asm/mach-types.h>
 #include "zoom1.h"
 
-/******************************************************************************
+/*
  * Routine: board_init
  * Description: Early hardware init.
- *****************************************************************************/
+ */
 int board_init(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
@@ -54,10 +54,10 @@ int board_init(void)
 	return 0;
 }
 
-/******************************************************************************
+/*
  * Routine: misc_init_r
  * Description: Configure zoom board specific configurations
- *****************************************************************************/
+ */
 int misc_init_r(void)
 {
 	power_init_r();
@@ -65,12 +65,12 @@ int misc_init_r(void)
 	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 */
-- 
1.6.0.5

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

* [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor
  2009-04-02  3:02           ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Tom Rix
@ 2009-04-02  3:02             ` Tom Rix
  2009-04-02  5:35               ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02  5:33             ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 27+ messages in thread
From: Tom Rix @ 2009-04-02  3:02 UTC (permalink / raw)
  To: u-boot

Divisor field is called PTV not PVT.

This change is needed because of earlier OMAP commit
81472d893fa565c9d300928a40e504a689bde131
of the same name

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 include/configs/omap3_zoom2.h |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 56b73eb..64f3737 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -226,11 +226,9 @@
  * 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 V_PVT				7
-
 #define CONFIG_SYS_TIMERBASE		(OMAP34XX_GPT2)
-#define CONFIG_SYS_PVT			V_PVT	/* 2^(pvt+1) */
-#define CONFIG_SYS_HZ			((V_SCLK) / (2 << CONFIG_SYS_PVT))
+#define CONFIG_SYS_PTV			7	/* 2^(PTV+1) */
+#define CONFIG_SYS_HZ			((V_SCLK) / (2 << CONFIG_SYS_PTV))
 
 /*-----------------------------------------------------------------------
  * Stack sizes
-- 
1.6.0.5

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

* [U-Boot] [PATCH 5/8] ZOOM2 Add led support.
  2009-04-02  3:02       ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Tom Rix
  2009-04-02  3:02         ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Tom Rix
@ 2009-04-02  5:30         ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02 13:38           ` Tom
  1 sibling, 1 reply; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02  5:30 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , 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>
> ---
>  board/omap3/zoom2/Makefile |    4 ++-
>  board/omap3/zoom2/led.c    |   66 ++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 69 insertions(+), 1 deletions(-)
>  create mode 100644 board/omap3/zoom2/led.c
> 
> diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
> index d27990c..6c74217 100644
> --- a/board/omap3/zoom2/Makefile
> +++ b/board/omap3/zoom2/Makefile
> @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
>  
>  LIB	= $(obj)lib$(BOARD).a
>  
> -COBJS	:= zoom2.o \
> +COBJS	:= \
>  	debug_board.o \
> +	led.o \
> +	zoom2.o \
>  	zoom2_serial.o
>  
>  SRCS	:= $(COBJS:.o=.c)
> diff --git a/board/omap3/zoom2/led.c b/board/omap3/zoom2/led.c
> new file mode 100644
> index 0000000..64c3f94
> --- /dev/null
> +++ b/board/omap3/zoom2/led.c
> @@ -0,0 +1,66 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River, <www.windriver.com>
> + * 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/sys_proto.h>
> +
> +/*
> + * GPIO LEDs
> + * 173 red  , bank 6, index 13
> + * 154 blue , bank 5, index 26
> + * 61  blue2, bank 2, index 29
> + */
> +void zoom2_led_red_off (void)
why not using the arm led API??
> +{
> +	gpio_t *gpio6_base = (gpio_t *) OMAP34XX_GPIO6_BASE;
> +
> +	sr32 (&gpio6_base->cleardataout, 13, 1, 1);	/* red off */
we clearly need now a GPIO API it's start to be mandatory

Best Regards,
J.

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

* [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files.
  2009-04-02  3:02           ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Tom Rix
  2009-04-02  3:02             ` [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor Tom Rix
@ 2009-04-02  5:33             ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02  5:33 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  board/omap3/beagle/beagle.c   |   20 ++++++++++----------
>  board/omap3/evm/evm.c         |   16 ++++++++--------
>  board/omap3/overo/overo.c     |   12 ++++++------
>  board/omap3/pandora/pandora.c |   12 ++++++------
>  board/omap3/zoom1/zoom1.c     |   12 ++++++------
>  5 files changed, 36 insertions(+), 36 deletions(-)
> 
Applied
Best Regards,
J.

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

* [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines
  2009-04-02  3:02         ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Tom Rix
  2009-04-02  3:02           ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Tom Rix
@ 2009-04-02  5:34           ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02  5:34 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  include/configs/omap3_zoom1.h |   17 -----------------
>  1 files changed, 0 insertions(+), 17 deletions(-)
> 
Applied
Best Regards,
J.

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

* [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration.
  2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
  2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-04-02  5:34   ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02 13:40     ` Tom
  1 sibling, 1 reply; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02  5:34 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  board/omap3/zoom2/zoom2.h |   20 +++++++++++++++++++-
>  1 files changed, 19 insertions(+), 1 deletions(-)
> 
please do this at the same time that you add the board

Best Regards,
J.

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

* [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor
  2009-04-02  3:02             ` [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor Tom Rix
@ 2009-04-02  5:35               ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-02  7:00                 ` Wolfgang Denk
  0 siblings, 1 reply; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02  5:35 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> Divisor field is called PTV not PVT.
> 
> This change is needed because of earlier OMAP commit
> 81472d893fa565c9d300928a40e504a689bde131
> of the same name
> 
please do this at the same time you add the board

Best Regards,
J.

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

* [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor
  2009-04-02  5:35               ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-02  7:00                 ` Wolfgang Denk
  0 siblings, 0 replies; 27+ messages in thread
From: Wolfgang Denk @ 2009-04-02  7:00 UTC (permalink / raw)
  To: u-boot

Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090402053526.GN14366@game.jcrosoft.org> you wrote:
> On 22:02 Wed 01 Apr     , Tom Rix wrote:
> > Divisor field is called PTV not PVT.
> > 
> > This change is needed because of earlier OMAP commit
> > 81472d893fa565c9d300928a40e504a689bde131
> > of the same name
> > 
> please do this at the same time you add the board

This request makes no sense.

It is a clearly isolated bug fix and it is good to split this off
into a separate comit.

Jean-Christophe, please apply as is.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The night sky over the planet Krikkit is the least interesting  sight
in the entire Universe.
                 - Douglas Adams _Life, the Universe, and Everything_

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

* [U-Boot] [PATCH 5/8] ZOOM2 Add led support.
  2009-04-02 13:38           ` Tom
@ 2009-04-02 13:26             ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02 13:26 UTC (permalink / raw)
  To: u-boot

On 08:38 Thu 02 Apr     , Tom wrote:
> Jean-Christophe PLAGNIOL-VILLARD wrote:
>> why not using the arm led API??
>>   
> OK. I will fix.
>>> +{
>>> +	gpio_t *gpio6_base = (gpio_t *) OMAP34XX_GPIO6_BASE;
>>> +
>>> +	sr32 (&gpio6_base->cleardataout, 13, 1, 1);	/* red off */
>>>     
>> we clearly need now a GPIO API it's start to be mandatory
>>
>>   
> Like what is in the kernel or something similar?
as you wish but share the same API for the omap3 on u-boot and the kernel will
be nice.

We do it for example on at91 or avr32

Best Regards,
J.

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

* [U-Boot] [PATCH 5/8] ZOOM2 Add led support.
  2009-04-02  5:30         ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-02 13:38           ` Tom
  2009-04-02 13:26             ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 27+ messages in thread
From: Tom @ 2009-04-02 13:38 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> why not using the arm led API??
>   
OK. I will fix.
>> +{
>> +	gpio_t *gpio6_base = (gpio_t *) OMAP34XX_GPIO6_BASE;
>> +
>> +	sr32 (&gpio6_base->cleardataout, 13, 1, 1);	/* red off */
>>     
> we clearly need now a GPIO API it's start to be mandatory
>
>   
Like what is in the kernel or something similar?

Tom

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

* [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration.
  2009-04-02  5:34   ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-02 13:40     ` Tom
  0 siblings, 0 replies; 27+ messages in thread
From: Tom @ 2009-04-02 13:40 UTC (permalink / raw)
  To: u-boot


> please do this at the same time that you add the board
>
>   
OK. rebase squashing .

Tom

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

* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
  2009-04-02  3:02 [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
@ 2009-04-02 16:38 ` Scott Wood
  2009-04-02 19:49   ` Tom
  2009-04-02 20:02 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-04  8:27 ` Dirk Behme
  3 siblings, 1 reply; 27+ messages in thread
From: Scott Wood @ 2009-04-02 16:38 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 01, 2009 at 10:02:14PM -0500, Tom Rix wrote:
> +#define SECTORSIZE			512
> +
> +#define NAND_ALLOW_ERASE_ALL
> +#define ADDR_COLUMN			1
> +#define ADDR_PAGE			2
> +#define ADDR_COLUMN_PAGE		3
> +
> +#define NAND_ChipID_UNKNOWN		0x00
> +#define NAND_MAX_FLOORS			1
> +#define NAND_MAX_CHIPS			1
> +#define NAND_NO_RB			1
> +#define CONFIG_SYS_NAND_WP

More legacy NAND stuff.  You should probably go through the config and
clean out anything that isn't verifiably necessary.

-Scott

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

* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
  2009-04-02 16:38 ` [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Scott Wood
@ 2009-04-02 19:49   ` Tom
  0 siblings, 0 replies; 27+ messages in thread
From: Tom @ 2009-04-02 19:49 UTC (permalink / raw)
  To: u-boot

Scott Wood wrote:
> More legacy NAND stuff.  You should probably go through the config and
> clean out anything that isn't verifiably necessary.
>
>   
This has been removed from Zoom2 and Zoom1.
Other modifications to the zoom configs will follow after this initial 
patch set.
Tom

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

* [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection.
  2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
@ 2009-04-02 19:51     ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-03  1:42       ` Tom
  2009-04-04  8:28     ` Dirk Behme
  2 siblings, 1 reply; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02 19:51 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> 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 |   57 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 59 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
you do not plan to activate it via a CONFIG only?
>  
>  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..782dcb2
> --- /dev/null
> +++ b/board/omap3/zoom2/debug_board.c
> @@ -0,0 +1,57 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River, <www.windriver.com>
> + * 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>
> +
> +#define DEBUG_BOARD_CONNECTED     1
> +#define DEBUG_BOARD_NOT_CONNECTED 0
> +
> +static int debug_board_connected = DEBUG_BOARD_CONNECTED;
why not set it as -1; and then avoid the first_time int?

Best Regards,
J.

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

* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
  2009-04-02  3:02 [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
  2009-04-02 16:38 ` [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Scott Wood
@ 2009-04-02 20:02 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-04  8:27 ` Dirk Behme
  3 siblings, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02 20:02 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , Tom Rix wrote:
> Zoom2 is a new board from Texas Instruments and LogicPD
> This is the product description
> 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.  This target compiles but does not yet run.
> 
> 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/u-boot.lds  |   63 +++++++++
>  board/omap3/zoom2/zoom2.c     |   79 +++++++++++
>  board/omap3/zoom2/zoom2.h     |  134 ++++++++++++++++++
>  include/configs/omap3_zoom2.h |  311 +++++++++++++++++++++++++++++++++++++++++
>  10 files changed, 678 insertions(+), 0 deletions(-)
>  create mode 100644 board/omap3/zoom2/Makefile
>  create mode 100644 board/omap3/zoom2/config.mk
>  create mode 100644 board/omap3/zoom2/u-boot.lds
>  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 25b28d6..f89e01a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -610,6 +610,10 @@ Stelian Pop <stelian.pop@leadtechdesign.com>
>  	at91sam9263ek	ARM926EJS (AT91SAM9263 SoC)
>  	at91sam9rlek	ARM926EJS (AT91SAM9RL SoC)
>  
> +Tom Rix <Tom.Rix@windriver.com>
> +
> +	omap3_zoom2	ARM CORTEX-A8 (OMAP3xx SoC)
> +
>  Stefan Roese <sr@denx.de>
>  
>  	ixdpg425	xscale
> diff --git a/MAKEALL b/MAKEALL
> index 854f303..8d84c29 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 f857641..1a3d14e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2974,6 +2974,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..ef2ae97
> --- /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:
> +# 8000'0000 (bank0)
> +# A000/0000 (bank1)
> +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
> +# (mem base + reserved)
> +
> +# For use with external or internal boots.
> +TEXT_BASE = 0x80e80000
> diff --git a/board/omap3/zoom2/u-boot.lds b/board/omap3/zoom2/u-boot.lds
> new file mode 100644
> index 0000000..0eb318b
> --- /dev/null
> +++ b/board/omap3/zoom2/u-boot.lds
> @@ -0,0 +1,63 @@
> +/*
> + * 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*))) }
> +
From
> +	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
> +	__exidx_start = .;
> +	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
> +	__exidx_end = .;
no need please remove
> +
> +	. = ALIGN(4);
> +	.data : { *(.data) }
> +
all the omap3 share the same lds it wil be nice to regroup it as done for the
at91
> +	. = 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/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
> new file mode 100644
> index 0000000..9e47601
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2.c
> @@ -0,0 +1,79 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River
> + *
> + * Author :
> + *	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..c86d990
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2.h
> @@ -0,0 +1,134 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River
> + * 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 = {
> +	SDP_3430_V1,
> +	SDP_3430_V2,
> +	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*/
> +
> +#endif /* _BOARD_ZOOM2_H_ */
> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
> new file mode 100644
> index 0000000..52e5f70
> --- /dev/null
> +++ b/include/configs/omap3_zoom2.h
> @@ -0,0 +1,311 @@
> +/*
> + * (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_EXT2		/* EXT2 Support                 */
						       ^^^^^^^^^^^^^^^^^
white space please fix it
> +#define CONFIG_CMD_FAT		/* FAT support                  */
ditto and the followiing configs too
> +#define CONFIG_CMD_JFFS2	/* JFFS2 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	/* Max number of NAND */
> +							/* devices */
> +#define SECTORSIZE			512
> +
> +#define NAND_ALLOW_ERASE_ALL
> +#define ADDR_COLUMN			1
> +#define ADDR_PAGE			2
> +#define ADDR_COLUMN_PAGE		3
> +
> +#define NAND_ChipID_UNKNOWN		0x00
> +#define NAND_MAX_FLOORS			1
> +#define NAND_MAX_CHIPS			1
> +#define NAND_NO_RB			1
> +#define CONFIG_SYS_NAND_WP
> +
> +#define CONFIG_JFFS2_NAND
> +/* nand device jffs2 lives on */
> +#define CONFIG_JFFS2_DEV		"nand0"
> +/* start of jffs2 partition */
> +#define CONFIG_JFFS2_PART_OFFSET	0x680000
> +#define CONFIG_JFFS2_PART_SIZE		0xf980000	/* size of jffs2 */
you do not active the MTD_PARTS  it could be usefull
> +							/* partition */
> +
> +/* Environment information */
> +#define CONFIG_BOOTDELAY		10
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	"loadaddr=0x82000000\0" \
load_addr?
> +	"console=ttyS2,115200n8\0" \
> +	"videomode=1024x768 at 60,vxres=1024,vyres=768\0" \
> +	"videospec=omapfb:vram:2M,vram:4M\0" \
> +	"mmcargs=setenv bootargs console=${console} " \
> +		"video=${videospec},mode:${videomode} " \
> +		"root=/dev/mmcblk0p2 rw " \
> +		"rootfstype=ext3 rootwait\0" \
> +	"nandargs=setenv bootargs console=${console} " \
> +		"video=${videospec},mode:${videomode} " \
> +		"root=/dev/mtdblock4 rw " \
> +		"rootfstype=jffs2\0" \
> +	"loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
> +	"bootscript=echo Running bootscript from mmc ...; " \
> +		"autoscr ${loadaddr}\0" \
> +	"loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
> +	"mmcboot=echo Booting from mmc ...; " \
> +		"run mmcargs; " \
> +		"bootm ${loadaddr}\0" \
> +	"nandboot=echo Booting from nand ...; " \
> +		"run nandargs; " \
> +		"nand read ${loadaddr} 280000 400000; " \
> +		"bootm ${loadaddr}\0" \
> +
> +#define CONFIG_BOOTCOMMAND \
> +	"if mmcinit; then " \
> +		"if run loadbootscript; then " \
> +			"run bootscript; " \
> +		"else " \
> +			"if run loaduimage; then " \
> +				"run mmcboot; " \
> +			"else run nandboot; " \
> +			"fi; " \
> +		"fi; " \
> +	"else run nandboot; fi"
> +
> +#define CONFIG_AUTO_COMPLETE		1
> +/*
> + * Miscellaneous configurable options
> + */
> +#define V_PROMPT			"OMAP3 Zoom2# "
why? why not only define CONFIG_SYS_PROMPT?
> +
> +#define CONFIG_SYS_LONGHELP	/* undef to save memory */
> +#define CONFIG_SYS_HUSH_PARSER	/* use "hush" command parser */
> +#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
> +#define CONFIG_SYS_PROMPT		V_PROMPT
> +#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
> +/* Print Buffer Size */
> +#define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
> +					sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_MAXARGS		16	/* max number of command args */
> +/* Boot Argument Buffer Size */
> +#define CONFIG_SYS_BARGSIZE		(CONFIG_SYS_CBSIZE)
> +
> +#define CONFIG_SYS_MEMTEST_START	(OMAP34XX_SDRC_CS0)	/* memtest */
> +								/* works on */
> +#define CONFIG_SYS_MEMTEST_END		(OMAP34XX_SDRC_CS0 + \
> +					0x01F00000)	/* 31MB */
> +
> +#undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
> +
> +#define CONFIG_SYS_LOAD_ADDR		(OMAP34XX_SDRC_CS0)	/* default */
> +							/* load address */
> +
> +/*
> + * 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 V_PVT				7
as said precedently us the 12Mhz as imput with a PVT at 1 will give us a
better timer
> +
> +#define CONFIG_SYS_TIMERBASE		(OMAP34XX_GPT2)
> +#define CONFIG_SYS_PVT			V_PVT	/* 2^(pvt+1) */
> +#define CONFIG_SYS_HZ			((V_SCLK) / (2 << CONFIG_SYS_PVT))
> +
Best Regards,
J.

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

* [U-Boot] [PATCH 4/8] ZOOM2 Add serial support.
  2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
  2009-04-02  3:02       ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Tom Rix
@ 2009-04-02 20:21       ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 27+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-02 20:21 UTC (permalink / raw)
  To: u-boot

On 22:02 Wed 01 Apr     , 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_serial.c |  134 ++++++++++++++++++++++++++++++++++++++
>  board/omap3/zoom2/zoom2_serial.h |   77 ++++++++++++++++++++++
>  common/serial.c                  |    2 +
>  cpu/arm_cortexa8/omap3/mem.c     |   23 +++++++
>  drivers/serial/ns16550.c         |    4 +-
>  include/asm-arm/arch-omap3/cpu.h |    2 +
>  include/configs/omap3_zoom2.h    |   28 ++++----
>  include/ns16550.h                |   19 ++++++
>  include/serial.h                 |    7 ++
>  10 files changed, 282 insertions(+), 17 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
it could be nice to disactivate it
>  
>  SRCS	:= $(COBJS:.o=.c)
>  OBJS	:= $(addprefix $(obj),$(COBJS))
> diff --git a/board/omap3/zoom2/zoom2_serial.c b/board/omap3/zoom2/zoom2_serial.c
> new file mode 100644
> index 0000000..e879962
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2_serial.c
> @@ -0,0 +1,134 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River, <www.windriver.com>
> + * 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 "zoom2_serial.h"
> +
> +int zoom2_debug_board_connected (void);
please move to a header
> +
> +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;
aligning it with CONFIG_SYS_NS16550_CLK could be nice
please add an empty line
> +		/*
> +		 * 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 (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;
> +
> +		com_port->lcr = LCR_BKSE | LCR_8N1;
> +		com_port->dll = 0;
> +		com_port->dlm = 0;
> +		com_port->lcr = LCR_8N1;
> +		com_port->mcr = (MCR_DTR | MCR_RTS);
> +		com_port->fcr = (FCR_FIFO_EN | FCR_RXSR | FCR_TXSR);
> +		com_port->lcr = LCR_BKSE | LCR_8N1;
> +		com_port->dll = baud_divisor & 0xff;
> +		com_port->dlm = (baud_divisor >> 8) & 0xff;
> +		com_port->lcr = LCR_8N1;
clould you explain a fe more what you do here?
> +	}
> +	/*
> +	 * 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 ()) {
> +		NS16550_t port = (NS16550_t) base;
> +
> +		if (c == '\n')
> +			quad_putc_dev (base, '\r');
> +
> +		NS16550_putc (port, c);
why not
		NS16550_putc ((NS16550_t) base, c);

> +	}
> +}
> +
> +void quad_puts_dev (unsigned long base, const char *s)
> +{
> +	if (zoom2_debug_board_connected ()) {
> +		while (*s)
> +			quad_putc_dev (base, *s++);
> +	}
> +}
> +
> +int quad_getc_dev (unsigned long base)
> +{
> +	if (zoom2_debug_board_connected ()) {
> +		NS16550_t port = (NS16550_t) base;
> +
> +		return NS16550_getc (port);
> +	} else {
> +		return 0;
> +	}
> +}
> +
> +int quad_tstc_dev (unsigned long base)
> +{
> +	if (zoom2_debug_board_connected ()) {
> +		NS16550_t port = (NS16550_t) base;
> +
> +		return NS16550_tstc (port);
> +	} else {
> +		return 0;
> +	}
> +}
> +
> +void quad_setbrg_dev (unsigned long base)
> +{
> +	if (zoom2_debug_board_connected ()) {
> +		NS16550_t port = (NS16550_t) base;
> +
> +		int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 /
> +		    CONFIG_BAUDRATE;
> +
> +		NS16550_reinit (port, clock_divisor);
why don't you use the same in in the imit?
> +	}
> +}
> +
> +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..49d64d0
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2_serial.h
> @@ -0,0 +1,77 @@
> +/*
> + * (C) Copyright 2009
> + * Wind River, <www.windriver.com>
> + * 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
> +
> +#include <common.h>
> +#include <serial.h>
> +#include <ns16550.h>
> +#include <asm/arch/cpu.h>
> +
> +#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)
why not
#define QUAD_BASE(x)	(SERIAL_TL16CP754C_BASE + (x << 8))
> +
> +#define S(a) #a
> +#define N(a) S(quad##a)
> +#define U(a) S(UART##a)
> +
> +#define QUAD_INIT(n)                           \
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
white space please fix
> +int quad_init_##n(void)                        \
ditto and so on please fix
> +{                                              \
> +	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..3e9135b 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 DEFAULT_ZOOM2_SERIAL_DEVICE;
>  #else
>  #error No default console
>  #endif
> diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
> index 3cc22c4..20a8748 100644
> --- a/cpu/arm_cortexa8/omap3/mem.c
> +++ b/cpu/arm_cortexa8/omap3/mem.c
> @@ -82,6 +82,18 @@ gpmc_csx_t *onenand_cs_base;
>  
>  #endif
>  
> +#if defined(CONFIG_OMAP3_ZOOM2)
> +static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
> +	0x00011000,
> +	0x001F1F01,
> +	0x00080803,
> +	0x1D091D09,
> +	0x041D1F1F,
> +	0x1D0904C4, 0
> +};
> +gpmc_csx_t *serial_cs_base;
> +#endif
> +
>  static sdrc_t *sdrc_base = (sdrc_t *)OMAP34XX_SDRC_BASE;
>  
>  /**************************************************************************
> @@ -281,4 +293,15 @@ void gpmc_init(void)
>  	boot_flash_env_addr = f_off;
>  #endif
>  #endif
> +
> +#ifdef CONFIG_OMAP3_ZOOM2
> +	/* 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);
> +#endif
it's board specific please move to board
>  }
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 397f5df..6ec6697 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -14,7 +14,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)
a config could be better
>  	com_port->mdr1 = 0x7;	/* mode select reset TL16C750*/
>  #endif
>  	com_port->lcr = LCR_BKSE | LCRVAL;
> @@ -27,7 +27,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 = 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 */
ditto
it it's possible to use the generic NS16550_init for the ZOOM2 it could be
better
>  #else
> diff --git a/include/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h
> index c544e0c..7671a3a 100644
> --- a/include/asm-arm/arch-omap3/cpu.h
> +++ b/include/asm-arm/arch-omap3/cpu.h
> @@ -153,6 +153,8 @@ typedef struct gpmc_csx {
>  #define PISMO2_BASE		0x18000000	/* PISMO2 CS1/2 */
>  #define ONENAND_MAP		0x20000000	/* OneNand addr */
>  						/* (actual size small port) */
> +#define SERIAL_TL16CP754C_BASE	0x10000000      /* Zoom2 Serial chip address */
it's not cpu specfic please move this to the serial driver
> +
>  /* SMS */
>  #ifndef __ASSEMBLY__
>  typedef struct sms {
> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
> index 52e5f70..56b73eb 100644
> --- a/include/configs/omap3_zoom2.h
> +++ b/include/configs/omap3_zoom2.h
> @@ -70,26 +70,26 @@
>  
>  /*
>   * NS16550 Configuration
> + * Zoom2 uses the TL16CP754C on the debug board
>   */
> -#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
> -
> +#define CONFIG_SERIAL_MULTI      1
>  /*
> - * select serial console configuration
> + * 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 CONFIG_CONS_INDEX		3
> -#define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
> -#define CONFIG_SERIAL3			3	/* UART3 */
is the removed serial will work on the zoom2?

Best Regards,
J.

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

* [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection.
  2009-04-02 19:51     ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-03  1:42       ` Tom
  0 siblings, 0 replies; 27+ messages in thread
From: Tom @ 2009-04-03  1:42 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 22:02 Wed 01 Apr     , Tom Rix wrote:
>   
>> 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 |   57 +++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 59 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
>>     
> you do not plan to activate it via a CONFIG only?
>   
Because the debug board can easily be removed from the zoom2,
it is necessary to have a single code base and to the checking
for the debug board at runtime. The next patch for serial output depends.

The use case is to use the debug board to load the kernel, and provide 
serial output
but to remove the debug board when using the board as normal user.


>>  
>>  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..782dcb2
>> --- /dev/null
>> +++ b/board/omap3/zoom2/debug_board.c
>> @@ -0,0 +1,57 @@
>> +/*
>> + * (C) Copyright 2009
>> + * Wind River, <www.windriver.com>
>> + * 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>
>> +
>> +#define DEBUG_BOARD_CONNECTED     1
>> +#define DEBUG_BOARD_NOT_CONNECTED 0
>> +
>> +static int debug_board_connected = DEBUG_BOARD_CONNECTED;
>>     
> why not set it as -1; and then avoid the first_time int?
>
>   
We really only want to do the gpio read once.
I looked at this. You could do this but would have to add more code.
Its a trade off of some data space for more code space.
If you really want this, I will go ahead with the changes.
Tom

> Best Regards,
> J.
>   

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

* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
  2009-04-02  3:02 [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Tom Rix
                   ` (2 preceding siblings ...)
  2009-04-02 20:02 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-04  8:27 ` Dirk Behme
  2009-04-04 11:54   ` Tom
  3 siblings, 1 reply; 27+ messages in thread
From: Dirk Behme @ 2009-04-04  8:27 UTC (permalink / raw)
  To: u-boot

Hi Tom,

Tom Rix wrote:
> Zoom2 is a new board from Texas Instruments and LogicPD
> This is the product description
> 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.  This target compiles but does not yet run.
> 
> 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/u-boot.lds  |   63 +++++++++
>  board/omap3/zoom2/zoom2.c     |   79 +++++++++++
>  board/omap3/zoom2/zoom2.h     |  134 ++++++++++++++++++
>  include/configs/omap3_zoom2.h |  311 +++++++++++++++++++++++++++++++++++++++++

I'm not sure if I overlooked it in one of the other patches, but if 
not: Do you like to update

doc/README.omap3

too?

Best regards

Dirk

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

* [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection.
  2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
  2009-04-02 19:51     ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-04  8:28     ` Dirk Behme
  2009-04-04 11:56       ` Tom
  2 siblings, 1 reply; 27+ messages in thread
From: Dirk Behme @ 2009-04-04  8:28 UTC (permalink / raw)
  To: u-boot

Hi Tom,

Tom Rix wrote:
> 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 |   57 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 59 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
...
> --- /dev/null
> +++ b/board/omap3/zoom2/debug_board.c
...
> +static void zoom2_debug_board_detect (void)
> +{
> +	unsigned int val;
> +	/*
> +	 * GPIO to query for debug board
> +	 * 158 db board query, bank 5, index 30
> +	 */
> +	gpio_t *gpio5_base = (gpio_t *) OMAP34XX_GPIO5_BASE;
> +
> +	val = __raw_readl (&gpio5_base->datain);

Is there any special reason why you use __raw_readl() instead of just 
readl() here? Looking at ARM's io.h, they seem to map to the same macro?

Best regards

Dirk

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

* [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2
  2009-04-04  8:27 ` Dirk Behme
@ 2009-04-04 11:54   ` Tom
  0 siblings, 0 replies; 27+ messages in thread
From: Tom @ 2009-04-04 11:54 UTC (permalink / raw)
  To: u-boot

Dirk Behme wrote:
> Hi Tom,
>
> Tom Rix wrote:
>> Zoom2 is a new board from Texas Instruments and LogicPD
>> This is the product description
>> 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. This target compiles but does not yet run.
>>
>> 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/u-boot.lds | 63 +++++++++
>> board/omap3/zoom2/zoom2.c | 79 +++++++++++
>> board/omap3/zoom2/zoom2.h | 134 ++++++++++++++++++
>> include/configs/omap3_zoom2.h | 311 
>> +++++++++++++++++++++++++++++++++++++++++
>
> I'm not sure if I overlooked it in one of the other patches, but if 
> not: Do you like to update
>
> doc/README.omap3
>
> too?
>
Yes. I will do this.
Tom

> Best regards
>
> Dirk

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

* [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection.
  2009-04-04  8:28     ` Dirk Behme
@ 2009-04-04 11:56       ` Tom
  0 siblings, 0 replies; 27+ messages in thread
From: Tom @ 2009-04-04 11:56 UTC (permalink / raw)
  To: u-boot

Dirk Behme wrote:
> Hi Tom,
>
> Tom Rix wrote:
>> 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 | 57 
>> +++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 59 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
> ...
>> --- /dev/null
>> +++ b/board/omap3/zoom2/debug_board.c
> ...
>> +static void zoom2_debug_board_detect (void)
>> +{
>> + unsigned int val;
>> + /*
>> + * GPIO to query for debug board
>> + * 158 db board query, bank 5, index 30
>> + */
>> + gpio_t *gpio5_base = (gpio_t *) OMAP34XX_GPIO5_BASE;
>> +
>> + val = __raw_readl (&gpio5_base->datain);
>
> Is there any special reason why you use __raw_readl() instead of just 
> readl() here? Looking at ARM's io.h, they seem to map to the same macro?
>
This code will go away once I finish bringing in the kernel's gpio code
I will look for other instances of __raw and conform.
Tom

> Best regards
>
> Dirk

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

end of thread, other threads:[~2009-04-04 11:56 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-02  3:02 [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Tom Rix
2009-04-02  3:02 ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
2009-04-02  3:02   ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Tom Rix
2009-04-02  3:02     ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Tom Rix
2009-04-02  3:02       ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Tom Rix
2009-04-02  3:02         ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Tom Rix
2009-04-02  3:02           ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Tom Rix
2009-04-02  3:02             ` [U-Boot] [PATCH 8/8] ZOOM2: rename timer divisor Tom Rix
2009-04-02  5:35               ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-02  7:00                 ` Wolfgang Denk
2009-04-02  5:33             ` [U-Boot] [PATCH 7/8] OMAP3 Fix multiline formatting in board init files Jean-Christophe PLAGNIOL-VILLARD
2009-04-02  5:34           ` [U-Boot] [PATCH 6/8] ZOOM1 Remove legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
2009-04-02  5:30         ` [U-Boot] [PATCH 5/8] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
2009-04-02 13:38           ` Tom
2009-04-02 13:26             ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-02 20:21       ` [U-Boot] [PATCH 4/8] ZOOM2 Add serial support Jean-Christophe PLAGNIOL-VILLARD
2009-04-02 19:51     ` [U-Boot] [PATCH 3/8] ZOOM2 Add support for debug board detection Jean-Christophe PLAGNIOL-VILLARD
2009-04-03  1:42       ` Tom
2009-04-04  8:28     ` Dirk Behme
2009-04-04 11:56       ` Tom
2009-04-02  5:34   ` [U-Boot] [PATCH 2/8] ZOOM2 Mux changes to support zoom2 configuration Jean-Christophe PLAGNIOL-VILLARD
2009-04-02 13:40     ` Tom
2009-04-02 16:38 ` [U-Boot] [PATCH 1/8] ZOOM2 Add initial support for Zoom2 Scott Wood
2009-04-02 19:49   ` Tom
2009-04-02 20:02 ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-04  8:27 ` Dirk Behme
2009-04-04 11:54   ` Tom

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.