All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2
@ 2009-04-01 16:11 Tom Rix
  2009-04-01 16:11 ` [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Tom Rix @ 2009-04-01 16:11 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 |  328 +++++++++++++++++++++++++++++++++++++++++
 10 files changed, 695 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 aa7095e..e2d7556 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -560,6 +560,7 @@ LIST_ARM_CORTEX_A8="		\
 	omap3_evm		\
 	omap3_pandora		\
 	omap3_zoom1		\
+	omap3_zoom2		\
 "
 
 #########################################################################
diff --git a/Makefile b/Makefile
index b6fb939..c02a282 100644
--- a/Makefile
+++ b/Makefile
@@ -2971,6 +2971,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..f861691
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.c
@@ -0,0 +1,79 @@
+/*
+ * (C) Copyright 2009
+ * Windriver
+ *
+ * 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..3199fa9
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.h
@@ -0,0 +1,134 @@
+/*
+ * (C) Copyright 2009
+ * Windriver
+ * 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_ZOOM_H_ */
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
new file mode 100644
index 0000000..9ea8ea0
--- /dev/null
+++ b/include/configs/omap3_zoom2.h
@@ -0,0 +1,328 @@
+/*
+ * (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 Zoom1# "
+
+#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
+
+
+#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] 14+ messages in thread

* [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration.
  2009-04-01 16:11 [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Tom Rix
@ 2009-04-01 16:11 ` Tom Rix
  2009-04-01 16:11   ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-01 19:51 ` [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Scott Wood
  2009-04-01 20:19 ` Wolfgang Denk
  2 siblings, 1 reply; 14+ messages in thread
From: Tom Rix @ 2009-04-01 16:11 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 3199fa9..47401f7 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_ZOOM_H_ */
-- 
1.6.0.5

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

* [U-Boot] [PATCH] ZOOM2 Add support for debug board detection.
  2009-04-01 16:11 ` [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
@ 2009-04-01 16:11   ` Tom Rix
  2009-04-01 16:11     ` [U-Boot] [PATCH] ZOOM2 Add serial support Tom Rix
  2009-04-01 20:21     ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Wolfgang Denk
  0 siblings, 2 replies; 14+ messages in thread
From: Tom Rix @ 2009-04-01 16:11 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 |   55 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 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..a3043b7
--- /dev/null
+++ b/board/omap3/zoom2/debug_board.c
@@ -0,0 +1,55 @@
+/*
+ * (C) Copyright 2009
+ * Windriver, <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] 14+ messages in thread

* [U-Boot] [PATCH] ZOOM2 Add serial support.
  2009-04-01 16:11   ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-04-01 16:11     ` Tom Rix
  2009-04-01 16:11       ` [U-Boot] [PATCH] ZOOM2 Add led support Tom Rix
  2009-04-01 20:25       ` [U-Boot] [PATCH] ZOOM2 Add serial support Wolfgang Denk
  2009-04-01 20:21     ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Wolfgang Denk
  1 sibling, 2 replies; 14+ messages in thread
From: Tom Rix @ 2009-04-01 16:11 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 |  103 ++++++++++++++++++++++++++++++++++++++
 board/omap3/zoom2/zoom2_serial.h |   77 ++++++++++++++++++++++++++++
 common/serial.c                  |    2 +
 cpu/arm_cortexa8/omap3/mem.c     |   23 ++++++++
 drivers/serial/ns16550.c         |   13 ++++-
 include/asm-arm/arch-omap3/cpu.h |    2 +
 include/configs/omap3_zoom2.h    |   26 ++++-----
 include/ns16550.h                |   19 +++++++
 include/serial.h                 |    7 +++
 10 files changed, 258 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..c1c4f4a
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.c
@@ -0,0 +1,103 @@
+/*
+ * (C) Copyright 2009
+ * Windriver, <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 port = (NS16550_t) base;
+		int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+			CONFIG_BAUDRATE;
+
+		NS16550_init(port, clock_divisor);
+	}
+	/* 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..59b8720
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.h
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright 2009
+ * Windriver, <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..93a1bd2 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -14,9 +14,18 @@
 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
+#if defined(CONFIG_OMAP3_ZOOM2)
+	/* 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;
+#endif
 	com_port->lcr = LCR_BKSE | LCRVAL;
 	com_port->dll = 0;
 	com_port->dlm = 0;
@@ -27,7 +36,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 9ea8ea0..c991b1b 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -70,26 +70,24 @@
 
 /*
  * NS16550 Configuration
+ * Zoom2 uses the TL16CP754C on the debug board
  */
-#define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
+#define CONFIG_SERIAL_MULTI      1
+/* 0 - 1 : first  USB with respect to the left edge of the debug board
+   2 - 3 : second USB with respect to the left edge of the debug board */
+#define DEFAULT_ZOOM2_SERIAL_DEVICE (&zoom2_serial_device0)
 
-#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 V_NS16550_CLK            (1843200)  /* 1.8432 Mhz */
 
-/*
- * select serial console configuration
- */
-#define CONFIG_CONS_INDEX		3
-#define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
-#define CONFIG_SERIAL3			3	/* UART3 */
+#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] 14+ messages in thread

* [U-Boot] [PATCH] ZOOM2 Add led support.
  2009-04-01 16:11     ` [U-Boot] [PATCH] ZOOM2 Add serial support Tom Rix
@ 2009-04-01 16:11       ` Tom Rix
  2009-04-01 20:25       ` [U-Boot] [PATCH] ZOOM2 Add serial support Wolfgang Denk
  1 sibling, 0 replies; 14+ messages in thread
From: Tom Rix @ 2009-04-01 16:11 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    |   65 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 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..2946f2f
--- /dev/null
+++ b/board/omap3/zoom2/led.c
@@ -0,0 +1,65 @@
+/*
+ * (C) Copyright 2009
+ * Windriver, <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] 14+ messages in thread

* [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2
  2009-04-01 16:11 [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-04-01 16:11 ` [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
@ 2009-04-01 19:51 ` Scott Wood
  2009-04-01 20:46   ` Tom
  2009-04-01 20:19 ` Wolfgang Denk
  2 siblings, 1 reply; 14+ messages in thread
From: Scott Wood @ 2009-04-01 19:51 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 01, 2009 at 11:11:09AM -0500, Tom Rix wrote:
> +#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)

This is the legacy NAND interface which is deprecated and will be removed
very soon.  You don't seem to be selecting legacy NAND support, so these
defines (and some others earlier in the file) are just dead code.  Please
remove them.

-Scott

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

* [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2
  2009-04-01 16:11 [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-04-01 16:11 ` [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
  2009-04-01 19:51 ` [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Scott Wood
@ 2009-04-01 20:19 ` Wolfgang Denk
  2009-04-02  0:53   ` Tom
  2 siblings, 1 reply; 14+ messages in thread
From: Wolfgang Denk @ 2009-04-01 20:19 UTC (permalink / raw)
  To: u-boot

Dear Tom Rix,

In message <1238602273-27252-1-git-send-email-Tom.Rix@windriver.com> you 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
...
> diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
> new file mode 100644
> index 0000000..f861691
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2.c
...
> +/******************************************************************************
> + * Routine: board_init
> + * Description: Early hardware init.
> + *****************************************************************************/

Here and everywhere else: incorrect multiline comment style. Please
fix everywhere.


> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
> new file mode 100644
> index 0000000..9ea8ea0
...
> +/* Clock Defines */
> +#define V_OSCK			26000000	/* Clock output from T2 */

Here and in some other places: line too long. Please fix everywhere.



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
Your own mileage may vary.

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

* [U-Boot] [PATCH] ZOOM2 Add support for debug board detection.
  2009-04-01 16:11   ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-01 16:11     ` [U-Boot] [PATCH] ZOOM2 Add serial support Tom Rix
@ 2009-04-01 20:21     ` Wolfgang Denk
  1 sibling, 0 replies; 14+ messages in thread
From: Wolfgang Denk @ 2009-04-01 20:21 UTC (permalink / raw)
  To: u-boot

Dear Tom Rix,

In message <1238602273-27252-3-git-send-email-Tom.Rix@windriver.com> you 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 |   55 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 57 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

Please keep lists sorted.

> diff --git a/board/omap3/zoom2/debug_board.c b/board/omap3/zoom2/debug_board.c
> new file mode 100644
> index 0000000..a3043b7
> --- /dev/null
> +++ b/board/omap3/zoom2/debug_board.c
> @@ -0,0 +1,55 @@
> +/*
> + * (C) Copyright 2009
> + * Windriver, <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 */

Incorrect multiline comment style.


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
"Probably the best operating system in the world  is  the  [operating
system] made for the PDP-11 by Bell Laboratories."
                                           - Ted Nelson, October 1977

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

* [U-Boot] [PATCH] ZOOM2 Add serial support.
  2009-04-01 16:11     ` [U-Boot] [PATCH] ZOOM2 Add serial support Tom Rix
  2009-04-01 16:11       ` [U-Boot] [PATCH] ZOOM2 Add led support Tom Rix
@ 2009-04-01 20:25       ` Wolfgang Denk
  2009-04-01 20:45         ` Tom
  1 sibling, 1 reply; 14+ messages in thread
From: Wolfgang Denk @ 2009-04-01 20:25 UTC (permalink / raw)
  To: u-boot

Dear Tom Rix,

In message <1238602273-27252-4-git-send-email-Tom.Rix@windriver.com> you 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
...
> 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

Please sort lists.

>  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..c1c4f4a
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2_serial.c
...
> +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 */

Incorrect multiline comment style. Please fix globally.


> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index 397f5df..93a1bd2 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -14,9 +14,18 @@
>  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
> +#if defined(CONFIG_OMAP3_ZOOM2)
> +	/* 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;

Please don't add such strictly board-specific code to global driver
files.

> 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
> +

Please don't add such strictly board-specific code to global header
files.

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
"Am besten betrachten Sie Fehlermeldungen als eine  Art  Psycho-Test,
mit  dem  herausgefunden  werden soll, wie belastbar Sie sind."
 - Dr. R. Wonneberger, Kompaktf?hrer LaTeX, Kap. 1.6: Fehlermeldungen

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

* [U-Boot] [PATCH] ZOOM2 Add serial support.
  2009-04-01 20:25       ` [U-Boot] [PATCH] ZOOM2 Add serial support Wolfgang Denk
@ 2009-04-01 20:45         ` Tom
  2009-04-01 21:36           ` Wolfgang Denk
  0 siblings, 1 reply; 14+ messages in thread
From: Tom @ 2009-04-01 20:45 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> Dear Tom Rix,
>
> In message <1238602273-27252-4-git-send-email-Tom.Rix@windriver.com> you 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
>>     
> ...
>   
>> 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
>>     
>
> Please sort lists.
>
>   
This was fixed on the last patch for led support.
>>  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..c1c4f4a
>> --- /dev/null
>> +++ b/board/omap3/zoom2/zoom2_serial.c
>>     
> ...
>   
>> +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 */
>>     
>
> Incorrect multiline comment style. Please fix globally.
>
>
>   
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index 397f5df..93a1bd2 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -14,9 +14,18 @@
>>  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
>> +#if defined(CONFIG_OMAP3_ZOOM2)
>> +	/* 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;
>>     
>
> Please don't add such strictly board-specific code to global driver
> files.
>
>   
OK
I will move this.
>> 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
>> +
>>     
>
> Please don't add such strictly board-specific code to global header
> files.
>
>   
The other boards that do CONFIG_SERIAL_MULTI do the same thing.
Can I have a pass on this ?
> Best regards,
>
> Wolfgang Denk
>
>   

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

* [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2
  2009-04-01 19:51 ` [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Scott Wood
@ 2009-04-01 20:46   ` Tom
  0 siblings, 0 replies; 14+ messages in thread
From: Tom @ 2009-04-01 20:46 UTC (permalink / raw)
  To: u-boot

Scott Wood wrote:
> On Wed, Apr 01, 2009 at 11:11:09AM -0500, Tom Rix wrote:
>   
>> +#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)
>>     
>
> This is the legacy NAND interface which is deprecated and will be removed
> very soon.  You don't seem to be selecting legacy NAND support, so these
> defines (and some others earlier in the file) are just dead code.  Please
> remove them.
>
>   
OK
Since this was a copy from Zoom1, I will also change Zoom1.

> -Scott
>   

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

* [U-Boot] [PATCH] ZOOM2 Add serial support.
  2009-04-01 20:45         ` Tom
@ 2009-04-01 21:36           ` Wolfgang Denk
  0 siblings, 0 replies; 14+ messages in thread
From: Wolfgang Denk @ 2009-04-01 21:36 UTC (permalink / raw)
  To: u-boot

Dear Tom,

In message <49D3D262.5010602@windriver.com> you wrote:
>
> >> 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
> >> +
> >
> > Please don't add such strictly board-specific code to global header
> > files.
> >   
> The other boards that do CONFIG_SERIAL_MULTI do the same thing.
> Can I have a pass on this ?

Hm.. well, OK.

We should try to fnd a better solution, though. This doesn't scale
well.

Ideas welcome.

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
I'm a soldier, not a diplomat.  I can only tell the truth.
	-- Kirk, "Errand of Mercy", stardate 3198.9

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

* [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2
  2009-04-01 20:19 ` Wolfgang Denk
@ 2009-04-02  0:53   ` Tom
  0 siblings, 0 replies; 14+ messages in thread
From: Tom @ 2009-04-02  0:53 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> Dear Tom Rix,
>
> In message <1238602273-27252-1-git-send-email-Tom.Rix@windriver.com> you 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
>>     
> ...
>   
>> diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
>> new file mode 100644
>> index 0000000..f861691
>> --- /dev/null
>> +++ b/board/omap3/zoom2/zoom2.c
>>     
> ...
>   
>> +/******************************************************************************
>> + * Routine: board_init
>> + * Description: Early hardware init.
>> + *****************************************************************************/
>>     
>
> Here and everywhere else: incorrect multiline comment style. Please
> fix everywhere.
>
>
>   
This is common in all the omap3 board files.
I will fix these as well.
>> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
>> new file mode 100644
>> index 0000000..9ea8ea0
>>     
> ...
>   
>> +/* Clock Defines */
>> +#define V_OSCK			26000000	/* Clock output from T2 */
>>     
>
> Here and in some other places: line too long. Please fix everywhere.
>
>
>
>   
OK
> Best regards,
>
> Wolfgang Denk
>
>   

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

* [U-Boot] [PATCH] ZOOM2 Add support for debug board detection.
@ 2009-04-01 19:10 Tom Rix
  0 siblings, 0 replies; 14+ messages in thread
From: Tom Rix @ 2009-04-01 19:10 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 |   55 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 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..a3043b7
--- /dev/null
+++ b/board/omap3/zoom2/debug_board.c
@@ -0,0 +1,55 @@
+/*
+ * (C) Copyright 2009
+ * Windriver, <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] 14+ messages in thread

end of thread, other threads:[~2009-04-02  0:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-01 16:11 [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Tom Rix
2009-04-01 16:11 ` [U-Boot] [PATCH] ZOOM2 Mux changes to support zoom2 configuration Tom Rix
2009-04-01 16:11   ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Tom Rix
2009-04-01 16:11     ` [U-Boot] [PATCH] ZOOM2 Add serial support Tom Rix
2009-04-01 16:11       ` [U-Boot] [PATCH] ZOOM2 Add led support Tom Rix
2009-04-01 20:25       ` [U-Boot] [PATCH] ZOOM2 Add serial support Wolfgang Denk
2009-04-01 20:45         ` Tom
2009-04-01 21:36           ` Wolfgang Denk
2009-04-01 20:21     ` [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Wolfgang Denk
2009-04-01 19:51 ` [U-Boot] [PATCH] ZOOM2 Add initial support for Zoom2 Scott Wood
2009-04-01 20:46   ` Tom
2009-04-01 20:19 ` Wolfgang Denk
2009-04-02  0:53   ` Tom
2009-04-01 19:10 [U-Boot] [PATCH] ZOOM2 Add support for debug board detection Tom Rix

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.