All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2
@ 2009-04-14 14:40 Tom Rix
  2009-04-14 14:40 ` [U-Boot] [PATCH 02/10] OMAP3 Port kernel omap gpio interface Tom Rix
  2009-04-24 21:26 ` [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 UTC (permalink / raw)
  To: u-boot

Zoom2 is a new board from Texas Instruments and LogicPD

The logicpd web site is a good source for general information on this board.
Please start looking here if the below links are broken.
http://www.logicpd.com

This is a pdf of the product
http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
This is the product description web page
http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp

This patch provides a zoom2 base target by copying zoom1 and by making some
obvious changes.

To configure, run
make omap3_zoom2_config

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 MAINTAINERS                   |    4 +
 MAKEALL                       |    1 +
 Makefile                      |    3 +
 board/omap3/common/Makefile   |    1 +
 board/omap3/zoom2/Makefile    |   49 ++++++++
 board/omap3/zoom2/config.mk   |   33 ++++++
 board/omap3/zoom2/u-boot.lds  |   63 +++++++++++
 board/omap3/zoom2/zoom2.c     |   76 +++++++++++++
 board/omap3/zoom2/zoom2.h     |  151 +++++++++++++++++++++++++
 doc/README.omap3              |   13 ++
 include/configs/omap3_zoom2.h |  247 +++++++++++++++++++++++++++++++++++++++++
 11 files changed, 641 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 03d59b9..c2a4e33 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -611,6 +611,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 e4eb42b..c72e810 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 e91c051..724ed51 100644
--- a/Makefile
+++ b/Makefile
@@ -2980,6 +2980,9 @@ omap3_pandora_config :	unconfig
 omap3_zoom1_config :	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3
 
+omap3_zoom2_config :	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom2 omap3 omap3
+
 #########################################################################
 ## XScale Systems
 #########################################################################
diff --git a/board/omap3/common/Makefile b/board/omap3/common/Makefile
index 7b892fa..b8a0b14 100644
--- a/board/omap3/common/Makefile
+++ b/board/omap3/common/Makefile
@@ -33,6 +33,7 @@ COBJS-$(CONFIG_OMAP3_BEAGLE) += power.o
 COBJS-$(CONFIG_OMAP3_OVERO) += power.o
 COBJS-$(CONFIG_OMAP3_PANDORA) += power.o
 COBJS-$(CONFIG_OMAP3_ZOOM1) += power.o
+COBJS-$(CONFIG_OMAP3_ZOOM2) += power.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
new file mode 100644
index 0000000..088b8cb
--- /dev/null
+++ b/board/omap3/zoom2/Makefile
@@ -0,0 +1,49 @@
+#
+# (C) Copyright 2000, 2001, 2002
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).a
+
+COBJS	:= zoom2.o
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+clean:
+	rm -f $(OBJS)
+
+distclean:	clean
+	rm -f $(LIB) core *.bak $(obj).depend
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/omap3/zoom2/config.mk b/board/omap3/zoom2/config.mk
new file mode 100644
index 0000000..33f394b
--- /dev/null
+++ b/board/omap3/zoom2/config.mk
@@ -0,0 +1,33 @@
+#
+# (C) Copyright 2009
+# Texas Instruments, <www.ti.com>
+#
+# Zoom II uses OMAP3 (ARM-CortexA8) CPU
+# see http://www.ti.com/ for more information on Texas Instruments
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+# Physical Address:
+# 0x80000000 (bank0)
+# 0xA0000000 (bank1)
+# Linux-Kernel is expected to be at 0x80008000, entry 0x80008000
+# (mem base + reserved)
+
+# For use with external or internal boots.
+TEXT_BASE = 0x80e80000
diff --git a/board/omap3/zoom2/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..0700c56
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.c
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * Derived from Zoom1 code by
+ *	Nishanth Menon <nm@ti.com>
+ *	Sunil Kumar <sunilsaini05@gmail.com>
+ *	Shashi Ranjan <shashiranjanmca05@gmail.com>
+ *	Richard Woodruff <r-woodruff2@ti.com>
+ *	Syed Mohammed Khasim <khasim@ti.com>
+ *
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/mach-types.h>
+#include "zoom2.h"
+
+/*
+ * Routine: board_init
+ * Description: Early hardware init.
+ */
+int board_init (void)
+{
+	DECLARE_GLOBAL_DATA_PTR;
+
+	gpmc_init ();		/* in SRAM or SDRAM, finish GPMC */
+	/* board id for Linux */
+	gd->bd->bi_arch_number = MACH_TYPE_OMAP_ZOOM2;
+	/* boot param addr */
+	gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+
+	return 0;
+}
+
+/*
+ * Routine: misc_init_r
+ * Description: Configure zoom board specific configurations
+ */
+int misc_init_r (void)
+{
+	power_init_r ();
+	dieid_num_r ();
+	return 0;
+}
+
+/*
+ * Routine: set_muxconf_regs
+ * Description: Setting up the configuration Mux registers specific to the
+ *		hardware. Many pins need to be moved from protect to primary
+ *		mode.
+ */
+void set_muxconf_regs (void)
+{
+	/* platform specific muxes */
+	MUX_ZOOM2 ();
+}
diff --git a/board/omap3/zoom2/zoom2.h b/board/omap3/zoom2/zoom2.h
new file mode 100644
index 0000000..08d2321
--- /dev/null
+++ b/board/omap3/zoom2/zoom2.h
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * Derived from: board/omap3/zoom1/zoom1.h
+ * Nishanth Menon <nm@ti.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#ifndef _BOARD_ZOOM2_H_
+#define _BOARD_ZOOM2_H_
+
+const omap3_sysinfo sysinfo = {
+	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*/\
+ /* IDCC modem Power On */					       \
+ MUX_VAL(CP(CAM_D11),           (IEN  | PTU | EN | M4)) /*GPIO_110*/\
+ MUX_VAL(CP(CAM_D4),            (IEN  | PTU | EN | M4)) /*GPIO_103 */\
+ /* GPMC CS7 has LAN9211 device */\
+ MUX_VAL(CP(GPMC_NCS7),         (IDIS | PTU | EN  | M0)) /*GPMC_nCS7*/\
+ MUX_VAL(CP(MCBSP1_DX),         (IEN  | PTD | DIS | M4)) /*LAN9221*/\
+ MUX_VAL(CP(MCSPI1_CS2),        (IEN  | PTD | EN  | M0)) /*MCSPI1_CS2*/\
+ /* GPMC CS3 has Serial TL16CP754C device */\
+ MUX_VAL(CP(GPMC_NCS3),         (IDIS | PTU | EN  | M0)) /*GPMC_nCS3*/\
+ /* Toggle Reset pin of TL16CP754C device */\
+ MUX_VAL(CP(MCBSP4_CLKX),       (IEN  | PTU | EN  | M4)) /*GPIO_152*/\
+ udelay(10);\
+ MUX_VAL(CP(MCBSP4_CLKX),       (IEN  | PTD | EN  | M4)) /*GPIO_152*/\
+ MUX_VAL(CP(SDRC_CKE1),         (IDIS | PTU | EN  | M0)) /*SDRC_CKE1*/\
+ /* LEDS */\
+ MUX_VAL(CP(MCSPI1_SOMI),       (IEN  | PTD | EN | M4))  /*GPIO_173 red */\
+ MUX_VAL(CP(MCBSP4_DX),         (IEN  | PTD | EN | M4))  /*GPIO_154 blue */\
+ MUX_VAL(CP(GPMC_NBE1),         (IEN  | PTD | EN | M4))  /*GPIO_61 blue2 */
+
+#endif /* _BOARD_ZOOM2_H_ */
diff --git a/doc/README.omap3 b/doc/README.omap3
index 1ba307f..0dbae9b 100644
--- a/doc/README.omap3
+++ b/doc/README.omap3
@@ -19,6 +19,8 @@ Currently the following boards are supported:
 
 * TI/Logic PD Zoom MDK [6]
 
+* TI/Logic PD Zoom 2 [8]
+
 Toolchain
 =========
 
@@ -54,6 +56,11 @@ make
 make omap3_zoom1_config
 make
 
+* Zoom 2:
+
+make omap3_zoom2_config
+make
+
 Custom commands
 ===============
 
@@ -114,3 +121,9 @@ http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit
 [7] TI OMAP3 U-Boot:
 
 http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz
+
+[8] TI/Logic PD Zoom 2
+
+http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
+
+
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
new file mode 100644
index 0000000..2d8ca92
--- /dev/null
+++ b/include/configs/omap3_zoom2.h
@@ -0,0 +1,247 @@
+/*
+ * (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 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
+
+/*
+ * Miscellaneous configurable options
+ */
+
+#define CONFIG_SYS_LONGHELP		       	      /* undef to save memory */
+#define CONFIG_SYS_PROMPT		"OMAP3 Zoom2# "
+#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)
+
+#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] 20+ messages in thread

* [U-Boot] [PATCH 02/10] OMAP3 Port kernel omap gpio interface.
  2009-04-14 14:40 [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Tom Rix
@ 2009-04-14 14:40 ` Tom Rix
  2009-04-14 14:40   ` [U-Boot] [PATCH 03/10] ZOOM2 Add support for debug board detection Tom Rix
  2009-04-24 21:26 ` [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 UTC (permalink / raw)
  To: u-boot

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

See doc/README.omap3 for instructions on use.

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

diff --git a/cpu/arm_cortexa8/omap3/Makefile b/cpu/arm_cortexa8/omap3/Makefile
index b96b3dd..4fca556 100644
--- a/cpu/arm_cortexa8/omap3/Makefile
+++ b/cpu/arm_cortexa8/omap3/Makefile
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB	=  $(obj)lib$(SOC).a
 
 SOBJS	:= lowlevel_init.o
-COBJS	:= sys_info.o board.o clock.o interrupts.o mem.o syslib.o
+COBJS	:= sys_info.o board.o clock.o gpio.o interrupts.o mem.o syslib.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS))
diff --git a/cpu/arm_cortexa8/omap3/gpio.c b/cpu/arm_cortexa8/omap3/gpio.c
new file mode 100644
index 0000000..fefa1d7
--- /dev/null
+++ b/cpu/arm_cortexa8/omap3/gpio.c
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * This work is derrived from the linux kernel source
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ */
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/io.h>
+#include <asm/errno.h>
+
+static struct gpio_bank gpio_bank_34xx[6] = {
+	{ (void *)OMAP34XX_GPIO1_BASE, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,	METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO2_BASE, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,	METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO3_BASE, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,	METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO4_BASE, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,	METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO5_BASE, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX },
+	{ (void *)OMAP34XX_GPIO6_BASE, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_24XX },
+};
+
+static struct gpio_bank *gpio_bank = &gpio_bank_34xx[0];
+
+static inline struct gpio_bank *get_gpio_bank(int gpio)
+{
+	return &gpio_bank[gpio >> 5];
+}
+
+static inline int get_gpio_index(int gpio)
+{
+	return gpio & 0x1f;
+}
+
+static inline int gpio_valid(int gpio)
+{
+	if (gpio < 0)
+		return -1;
+	if (gpio < 192)
+		return 0;
+	return -1;
+}
+
+static int check_gpio(int gpio)
+{
+	if (gpio_valid(gpio) < 0) {
+		printf("ERROR : check_gpio: invalid GPIO %d\n", gpio);
+		return -1;
+	}
+	return 0;
+}
+
+static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
+{
+	void *reg = bank->base;
+	u32 l;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_OE;
+		break;
+	default:
+		WARNON(1);
+		return;
+	}
+	l = __raw_readl(reg);
+	if (is_input)
+		l |= 1 << gpio;
+	else
+		l &= ~(1 << gpio);
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_direction(int gpio, int is_input)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_direction(bank, get_gpio_index(gpio), is_input);
+}
+
+static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
+{
+	void *reg = bank->base;
+	u32 l = 0;
+
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		if (enable)
+			reg += OMAP24XX_GPIO_SETDATAOUT;
+		else
+			reg += OMAP24XX_GPIO_CLEARDATAOUT;
+		l = 1 << gpio;
+		break;
+	default:
+		printf("omap3-gpio unknown bank method %s %d\n",
+		       __FILE__, __LINE__);
+		return;
+	}
+	__raw_writel(l, reg);
+}
+
+void omap_set_gpio_dataout(int gpio, int enable)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+	_set_gpio_dataout(bank, get_gpio_index(gpio), enable);
+}
+
+int omap_get_gpio_datain(int gpio)
+{
+	struct gpio_bank *bank;
+	void *reg;
+
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+	bank = get_gpio_bank(gpio);
+	reg = bank->base;
+	switch (bank->method) {
+	case METHOD_GPIO_24XX:
+		reg += OMAP24XX_GPIO_DATAIN;
+		break;
+	default:
+		return -EINVAL;
+	}
+	return (__raw_readl(reg)
+			& (1 << get_gpio_index(gpio))) != 0;
+}
+
+static void _reset_gpio(struct gpio_bank *bank, int gpio)
+{
+	_set_gpio_direction(bank, get_gpio_index(gpio), 1);
+}
+
+int omap_request_gpio(int gpio)
+{
+	if (check_gpio(gpio) < 0)
+		return -EINVAL;
+
+	return 0;
+}
+
+void omap_free_gpio(int gpio)
+{
+	struct gpio_bank *bank;
+
+	if (check_gpio(gpio) < 0)
+		return;
+	bank = get_gpio_bank(gpio);
+
+	_reset_gpio(bank, gpio);
+}
diff --git a/doc/README.omap3 b/doc/README.omap3
index 0dbae9b..85afa03 100644
--- a/doc/README.omap3
+++ b/doc/README.omap3
@@ -84,6 +84,38 @@ For all other commands see
 
 help
 
+Interfaces
+==========
+
+gpio
+
+To set a bit : 
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0); 
+		omap_set_gpio_dataout(N, 1);
+	}
+
+To clear a bit : 
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(N, 0); 
+		omap_set_gpio_dataout(N, 0);
+	}
+
+To read a bit : 
+
+	if (!omap_request_gpio(N)) {
+		omap_set_gpio_direction(NULL, 1);
+		val = omap_get_gpio_datain(N);
+		omap_free_gpio(N);
+	}
+	if (val)
+		printf("GPIO N is set\n");
+	else
+		printf("GPIO N is clear\n");
+    
+
 Acknowledgements
 ================
 
diff --git a/include/asm-arm/arch-omap3/gpio.h b/include/asm-arm/arch-omap3/gpio.h
new file mode 100644
index 0000000..08dae7c
--- /dev/null
+++ b/include/asm-arm/arch-omap3/gpio.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * This work is derrived from the linux kernel source
+ *
+ *  linux/arch/arm/plat-omap/gpio.c
+ *
+ * Support functions for OMAP GPIO
+ *
+ * Copyright (C) 2003-2005 Nokia Corporation
+ * Written by Juha Yrj??l?? <juha.yrjola@nokia.com>
+ */
+#ifndef _GPIO_H
+#define _GPIO_H
+
+#define WARNON(c) \
+	if (c) \
+	  printf("WARNING confused at %s %d\n", __func__, __LINE__)
+
+#define OMAP24XX_GPIO_REVISION		0x0000
+#define OMAP24XX_GPIO_SYSCONFIG		0x0010
+#define OMAP24XX_GPIO_SYSSTATUS		0x0014
+#define OMAP24XX_GPIO_IRQSTATUS1	0x0018
+#define OMAP24XX_GPIO_IRQSTATUS2	0x0028
+#define OMAP24XX_GPIO_IRQENABLE2	0x002c
+#define OMAP24XX_GPIO_IRQENABLE1	0x001c
+#define OMAP24XX_GPIO_WAKE_EN		0x0020
+#define OMAP24XX_GPIO_CTRL		0x0030
+#define OMAP24XX_GPIO_OE		0x0034
+#define OMAP24XX_GPIO_DATAIN		0x0038
+#define OMAP24XX_GPIO_DATAOUT		0x003c
+#define OMAP24XX_GPIO_LEVELDETECT0	0x0040
+#define OMAP24XX_GPIO_LEVELDETECT1	0x0044
+#define OMAP24XX_GPIO_RISINGDETECT	0x0048
+#define OMAP24XX_GPIO_FALLINGDETECT	0x004c
+#define OMAP24XX_GPIO_DEBOUNCE_EN	0x0050
+#define OMAP24XX_GPIO_DEBOUNCE_VAL	0x0054
+#define OMAP24XX_GPIO_CLEARIRQENABLE1	0x0060
+#define OMAP24XX_GPIO_SETIRQENABLE1	0x0064
+#define OMAP24XX_GPIO_CLEARWKUENA	0x0080
+#define OMAP24XX_GPIO_SETWKUENA		0x0084
+#define OMAP24XX_GPIO_CLEARDATAOUT	0x0090
+#define OMAP24XX_GPIO_SETDATAOUT	0x0094
+
+/* From arch/arm/plat-omap/include/mach/irqs.h */
+#define INT_34XX_GPIO_BANK1	29
+#define INT_34XX_GPIO_BANK2	30
+#define INT_34XX_GPIO_BANK3	31
+#define INT_34XX_GPIO_BANK4	32
+#define INT_34XX_GPIO_BANK5	33
+#define INT_34XX_GPIO_BANK6	34
+#define IH2_BASE		32
+#define IH_GPIO_BASE		(128 + IH2_BASE)
+
+struct gpio_bank {
+	void *base;
+	u16 irq; /* Unused, kept for compatiblity */
+	u16 virtual_irq_start; /* Unused, kept for compatiblity */
+	int method;
+};
+
+#define METHOD_GPIO_24XX	4
+
+/* This is the interface */
+
+/* Request a gpio before using it */
+int omap_request_gpio(int gpio);
+/* Reset and free a gpio after using it */
+void omap_free_gpio(int gpio);
+/* Sets the gpio as input or output */
+void omap_set_gpio_direction(int gpio, int is_input);
+/* Set or clear a gpio output */
+void omap_set_gpio_dataout(int gpio, int enable);
+/* Get the value of a gpio input */
+int omap_get_gpio_datain(int gpio);
+
+#endif /* _GPIO_H_ */
-- 
1.6.0.5

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

* [U-Boot] [PATCH 03/10] ZOOM2 Add support for debug board detection.
  2009-04-14 14:40 ` [U-Boot] [PATCH 02/10] OMAP3 Port kernel omap gpio interface Tom Rix
@ 2009-04-14 14:40   ` Tom Rix
  2009-04-14 14:40     ` [U-Boot] [PATCH 04/10] ZOOM2 Add serial support Tom Rix
  0 siblings, 1 reply; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 UTC (permalink / raw)
  To: u-boot

The logicpd web site is a good source for general information on this board.
Please start looking here if the below links are broken.
http://www.logicpd.com

This is a pdf of the product
http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf

This is a pdf of the product quick start guide.
The debug board is described here.
http://support.logicpd.com/downloads/1165/

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

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

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/Makefile      |    3 +-
 board/omap3/zoom2/debug_board.c |   58 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 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..55553c9
--- /dev/null
+++ b/board/omap3/zoom2/debug_board.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ */
+#include <common.h>
+#include <asm/arch/cpu.h>
+#include <asm/io.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/gpio.h>
+
+#define DEBUG_BOARD_CONNECTED     1
+#define DEBUG_BOARD_NOT_CONNECTED 0
+
+static int debug_board_connected = DEBUG_BOARD_CONNECTED;
+
+static void zoom2_debug_board_detect (void)
+{
+	int val = 0;
+	if (!omap_request_gpio(158)) {
+		/*
+		 * GPIO to query for debug board
+		 * 158 db board query
+		 */
+		omap_set_gpio_direction(158, 1);
+		val = omap_get_gpio_datain(158);
+		omap_free_gpio(158);
+	}
+
+	if (!val)
+		debug_board_connected = DEBUG_BOARD_NOT_CONNECTED;
+}
+
+int zoom2_debug_board_connected (void)
+{
+	static int first_time = 1;
+
+	if (first_time) {
+		zoom2_debug_board_detect ();
+		first_time = 0;
+	}
+	return debug_board_connected;
+}
-- 
1.6.0.5

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

* [U-Boot] [PATCH 04/10] ZOOM2 Add serial support.
  2009-04-14 14:40   ` [U-Boot] [PATCH 03/10] ZOOM2 Add support for debug board detection Tom Rix
@ 2009-04-14 14:40     ` Tom Rix
  2009-04-14 14:40       ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Tom Rix
  0 siblings, 1 reply; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 UTC (permalink / raw)
  To: u-boot

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

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

The kernel bootargs are
console=ttyS3,115200n8

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 board/omap3/zoom2/Makefile       |    3 +-
 board/omap3/zoom2/zoom2.c        |   30 +++++++++
 board/omap3/zoom2/zoom2_serial.c |  130 ++++++++++++++++++++++++++++++++++++++
 board/omap3/zoom2/zoom2_serial.h |   75 ++++++++++++++++++++++
 common/serial.c                  |    2 +
 drivers/serial/ns16550.c         |    4 +-
 include/configs/omap3_zoom2.h    |   28 ++++----
 include/serial.h                 |    7 ++
 8 files changed, 262 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.c b/board/omap3/zoom2/zoom2.c
index 0700c56..a2a5b5a 100644
--- a/board/omap3/zoom2/zoom2.c
+++ b/board/omap3/zoom2/zoom2.c
@@ -30,10 +30,24 @@
  */
 #include <common.h>
 #include <asm/io.h>
+#include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-types.h>
 #include "zoom2.h"
+#include "zoom2_serial.h"
+
+extern void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base,
+			       u32 base, u32 size);
+
+static u32 gpmc_serial_TL16CP754C[GPMC_MAX_REG] = {
+	0x00011000,
+	0x001F1F01,
+	0x00080803,
+	0x1D091D09,
+	0x041D1F1F,
+	0x1D0904C4, 0
+};
 
 /*
  * Routine: board_init
@@ -42,13 +56,29 @@
 int board_init (void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
+	gpmc_csx_t *serial_cs_base;
+	u32 *gpmc_config;
 
 	gpmc_init ();		/* in SRAM or SDRAM, finish GPMC */
+
+	/* Configure console support on zoom2 */
+	gpmc_config = gpmc_serial_TL16CP754C;
+	serial_cs_base = (gpmc_csx_t *) (GPMC_CONFIG_CS0_BASE +
+					 (3 * GPMC_CONFIG_WIDTH));
+	enable_gpmc_config(gpmc_config,
+			   serial_cs_base,
+			   SERIAL_TL16CP754C_BASE,
+			   GPMC_SIZE_16M);
+
 	/* board id for Linux */
 	gd->bd->bi_arch_number = MACH_TYPE_OMAP_ZOOM2;
 	/* boot param addr */
 	gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
 
+#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
+	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
+#endif
+
 	return 0;
 }
 
diff --git a/board/omap3/zoom2/zoom2_serial.c b/board/omap3/zoom2/zoom2_serial.c
new file mode 100644
index 0000000..5e24fe0
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.c
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * This file was adapted from cpu/mpc5xxx/serial.c
+ *
+ */
+
+#include <common.h>
+#include <serial.h>
+#include <ns16550.h>
+#include <asm/arch/cpu.h>
+#include "zoom2_serial.h"
+
+int quad_init_dev (unsigned long base)
+{
+	/*
+	 * The Quad UART is on the debug board.
+	 * Check if the debug board is attached before using the UART
+	 */
+	if (zoom2_debug_board_connected ()) {
+		NS16550_t com_port = (NS16550_t) base;
+		int baud_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+			CONFIG_BAUDRATE;
+
+		/*
+		 * Zoom2 has a board specific initialization of its UART.
+		 * This generic initialization has been copied from
+		 * drivers/serial/ns16550.c. The macros have been expanded.
+		 *
+		 * Do the following instead of
+		 *
+		 * NS16550_init (port, clock_divisor);
+		 */
+		com_port->ier = 0x00;
+
+		/*
+		 * On Zoom2 board Set pre-scalar to 1
+		 * CLKSEL is GND => MCR[7] is 1 => preslr is 4
+		 * So change the prescl to 1
+		 */
+		com_port->lcr = 0xBF;
+		com_port->fcr |= 0x10;
+		com_port->mcr &= 0x7F;
+
+		/* This is generic ns16550.c setup */
+		com_port->lcr = UART_LCR_BKSE | UART_LCR_8N1;
+		com_port->dll = 0;
+		com_port->dlm = 0;
+		com_port->lcr = UART_LCR_8N1;
+		com_port->mcr = UART_MCR_DTR | UART_MCR_RTS;
+		com_port->fcr = UART_FCR_FIFO_EN | UART_FCR_RXSR |
+			UART_FCR_TXSR;
+		com_port->lcr = UART_LCR_BKSE | UART_LCR_8N1;
+		com_port->dll = baud_divisor & 0xff;
+		com_port->dlm = (baud_divisor >> 8) & 0xff;
+		com_port->lcr = UART_LCR_8N1;
+	}
+	/*
+	 * We have to lie here, otherwise the board init code will hang
+	 * on the check
+	 */
+	return 0;
+}
+
+void quad_putc_dev (unsigned long base, const char c)
+{
+	if (zoom2_debug_board_connected ()) {
+
+		if (c == '\n')
+			quad_putc_dev (base, '\r');
+
+		NS16550_putc ((NS16550_t) base, c);
+	}
+}
+
+void quad_puts_dev (unsigned long base, const char *s)
+{
+	if (zoom2_debug_board_connected ()) {
+		while ((s != NULL) && (*s != '\0'))
+			quad_putc_dev (base, *s++);
+	}
+}
+
+int quad_getc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ())
+		return NS16550_getc ((NS16550_t) base);
+	else
+		return 0;
+}
+
+int quad_tstc_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ())
+		return NS16550_tstc ((NS16550_t) base);
+	else
+		return 0;
+}
+
+void quad_setbrg_dev (unsigned long base)
+{
+	if (zoom2_debug_board_connected ()) {
+
+		int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 /
+			CONFIG_BAUDRATE;
+
+		NS16550_reinit ((NS16550_t) base, clock_divisor);
+	}
+}
+
+QUAD_INIT (0)
+QUAD_INIT (1)
+QUAD_INIT (2)
+QUAD_INIT (3)
diff --git a/board/omap3/zoom2/zoom2_serial.h b/board/omap3/zoom2/zoom2_serial.h
new file mode 100644
index 0000000..ccd42c9
--- /dev/null
+++ b/board/omap3/zoom2/zoom2_serial.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ */
+
+#ifndef ZOOM2_SERIAL_H
+#define ZOOM2_SERIAL_H
+
+extern int zoom2_debug_board_connected (void);
+
+#define SERIAL_TL16CP754C_BASE	0x10000000      /* Zoom2 Serial chip address */
+
+#define QUAD_BASE_0      SERIAL_TL16CP754C_BASE
+#define QUAD_BASE_1      (SERIAL_TL16CP754C_BASE + 0x100)
+#define QUAD_BASE_2      (SERIAL_TL16CP754C_BASE + 0x200)
+#define QUAD_BASE_3      (SERIAL_TL16CP754C_BASE + 0x300)
+
+#define S(a) #a
+#define N(a) S(quad##a)
+#define U(a) S(UART##a)
+
+#define QUAD_INIT(n)				\
+int quad_init_##n(void)				\
+{						\
+	return quad_init_dev(QUAD_BASE_##n);	\
+}						\
+void quad_setbrg_##n(void)			\
+{						\
+	quad_setbrg_dev(QUAD_BASE_##n);		\
+}						\
+void quad_putc_##n(const char c)		\
+{						\
+	quad_putc_dev(QUAD_BASE_##n, c);	\
+}						\
+void quad_puts_##n(const char *s)		\
+{						\
+	quad_puts_dev(QUAD_BASE_##n, s);	\
+}						\
+int quad_getc_##n(void)				\
+{						\
+	return quad_getc_dev(QUAD_BASE_##n);	\
+}						\
+int quad_tstc_##n(void)				\
+{						\
+	return quad_tstc_dev(QUAD_BASE_##n);	\
+}						\
+struct serial_device zoom2_serial_device##n =	\
+{						\
+	N(n),					\
+	U(n),					\
+	quad_init_##n,				\
+	quad_setbrg_##n,			\
+	quad_getc_##n,				\
+	quad_tstc_##n,				\
+	quad_putc_##n,				\
+	quad_puts_##n,				\
+};
+
+#endif /* ZOOM2_SERIAL_H */
diff --git a/common/serial.c b/common/serial.c
index 09385d0..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/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 657c9da..2fcc8c3 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -17,7 +17,7 @@
 void NS16550_init (NS16550_t com_port, int baud_divisor)
 {
 	com_port->ier = 0x00;
-#ifdef CONFIG_OMAP
+#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
 	com_port->mdr1 = 0x7;	/* mode select reset TL16C750*/
 #endif
 	com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
@@ -30,7 +30,7 @@ void NS16550_init (NS16550_t com_port, int baud_divisor)
 	com_port->dll = baud_divisor & 0xff;
 	com_port->dlm = (baud_divisor >> 8) & 0xff;
 	com_port->lcr = UART_LCRVAL;
-#if defined(CONFIG_OMAP)
+#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
 #if defined(CONFIG_APTIX)
 	com_port->mdr1 = 3;	/* /13 mode so Aptix 6MHz can hit 115200 */
 #else
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 2d8ca92..7c1bf65 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -69,26 +69,26 @@
 
 /*
  * NS16550 Configuration
+ * Zoom2 uses the TL16CP754C on the debug board
  */
-#define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
-
-#define CONFIG_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/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] 20+ messages in thread

* [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor
  2009-04-14 14:40     ` [U-Boot] [PATCH 04/10] ZOOM2 Add serial support Tom Rix
@ 2009-04-14 14:40       ` Tom Rix
  2009-04-14 14:40         ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Tom Rix
  2009-04-24 21:31         ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 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 7c1bf65..8f09dd8 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -170,11 +170,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] 20+ messages in thread

* [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API.
  2009-04-14 14:40       ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Tom Rix
@ 2009-04-14 14:40         ` Tom Rix
  2009-04-14 14:41           ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Tom Rix
  2009-04-26 22:01           ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Jean-Christophe PLAGNIOL-VILLARD
  2009-04-24 21:31         ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:40 UTC (permalink / raw)
  To: u-boot

This document describes the u-boot status LED API.
This allows common u-boot commands to use a board's leds to
provide status for activities like booting and downloading files.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 doc/README.LED |   78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)
 create mode 100644 doc/README.LED

diff --git a/doc/README.LED b/doc/README.LED
new file mode 100644
index 0000000..1221177
--- /dev/null
+++ b/doc/README.LED
@@ -0,0 +1,78 @@
+Status LED
+========================================
+
+This README describes the status LED API.
+
+The API is defined by the include file include/status_led.h
+
+The first step is to define CONFIG_STATUS_LED in the board config file.
+
+If the LED support is only for a single board, define CONFIG_BOARD_SPECIFIC_LED
+in the board config file.
+
+At a minimum, these macros must be defined at 
+STATUS_LED_BIT
+STATUS_LED_STATE
+STATUS_LED_PERIOD
+
+If there are multiple status LED's define
+STATUS_LED_BIT<n>
+STATUS_LED_STATE<n>
+STATUS_LED_PERIOD<n>
+
+Where <n> can a integer 1 through 3. 
+
+STATUS_LED_BIT is passed into the __led_* functions to identify which LED is
+being acted on.  As such, the value choose must be unique with with respect to
+the other STATUS_LED_BIT's.  Mapping the value to a physical LED is the
+reponsiblity of the __led_* function.
+
+STATUS_LED_STATE is the initial state of the LED. It should be set to one of
+these values: STATUS_LED_OFF or STATUS_LED_ON.
+
+STATUS_LED_PERIOD is how long is the LED blink period.  This usually set to
+(CONFIG_SYS_HZ / <N>) where <N> is the frequency of the blink. Typical values
+range from 2 to 10.
+
+Some other LED macros
+
+STATUS_LED_BOOT is the LED to light when the board is booting.  This must be a
+valid STATUS_LED_BIT value. 
+
+STATUS_LED_RED is the red LED.  It is used signal errors. This must be a valid
+STATUS_LED_BIT value. Other similar color LED's are STATUS_LED_YELLOW and
+STATUS_LED_BLUE.  
+
+These board must define these functions
+
+__led_init is called once to initialize the LED to STATUS_LED_STATE. One time
+start up code should be placed here.
+
+__led_set is called to change the state of the LED. 
+
+__led_toggle is called to toggle the current state of the LED.
+
+Colour LED
+========================================
+
+Colour LED's are at present only used by ARM. 
+
+The functions names explain their purpose.
+
+coloured_LED_init
+red_LED_on
+red_LED_off
+green_LED_on
+green_LED_off
+yellow_LED_on
+yellow_LED_off
+blue_LED_on
+blue_LED_off
+
+These are weakly defined in lib_arm/board.c to noops. Where applicable, define
+these functions in the board specific source.
+
+TBD : Describe older board dependent macros similar to what is done for
+CONFIG_TQM8xxL.
+
+TBD : Describe general support via asm/status_led.h
-- 
1.6.0.5

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

* [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led.
  2009-04-14 14:40         ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Tom Rix
@ 2009-04-14 14:41           ` Tom Rix
  2009-04-14 14:41             ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Tom Rix
  2009-04-26 22:02             ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Jean-Christophe PLAGNIOL-VILLARD
  2009-04-26 22:01           ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:41 UTC (permalink / raw)
  To: u-boot

There is exiting support for red,yellow,green but no blue.
The main LED on the zoom2 is a blue LED.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
---
 include/status_led.h |    4 ++++
 lib_arm/board.c      |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/status_led.h b/include/status_led.h
index 175972a..9dbf01f 100644
--- a/include/status_led.h
+++ b/include/status_led.h
@@ -397,6 +397,8 @@ extern void	green_LED_on(void);
 extern void	green_LED_off(void);
 extern void	yellow_LED_on(void);
 extern void	yellow_LED_off(void);
+extern void	blue_LED_on(void);
+extern void	blue_LED_off(void);
 #else
 	.extern LED_init
 	.extern red_LED_on
@@ -405,6 +407,8 @@ extern void	yellow_LED_off(void);
 	.extern yellow_LED_off
 	.extern green_LED_on
 	.extern green_LED_off
+	.extern blue_LED_on
+	.extern blue_LED_off
 #endif
 
 #endif	/* CONFIG_STATUS_LED	*/
diff --git a/lib_arm/board.c b/lib_arm/board.c
index 3dfaec0..9053697 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -136,6 +136,10 @@ void inline __yellow_LED_on(void) {}
 void inline yellow_LED_on(void)__attribute__((weak, alias("__yellow_LED_on")));
 void inline __yellow_LED_off(void) {}
 void inline yellow_LED_off(void)__attribute__((weak, alias("__yellow_LED_off")));
+void inline __blue_LED_on(void) {}
+void inline blue_LED_on(void)__attribute__((weak, alias("__blue_LED_on")));
+void inline __blue_LED_off(void) {}
+void inline blue_LED_off(void)__attribute__((weak, alias("__blue_LED_off")));
 
 /************************************************************************
  * Init Utilities							*
-- 
1.6.0.5

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

* [U-Boot] [PATCH 08/10] ZOOM2 Add led support.
  2009-04-14 14:41           ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Tom Rix
@ 2009-04-14 14:41             ` Tom Rix
  2009-04-14 14:41               ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Tom Rix
  2009-04-24 21:35               ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
  2009-04-26 22:02             ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:41 UTC (permalink / raw)
  To: u-boot

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

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

diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
index d27990c..4a716da 100644
--- a/board/omap3/zoom2/Makefile
+++ b/board/omap3/zoom2/Makefile
@@ -25,10 +25,12 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	:= zoom2.o \
-	debug_board.o \
-	zoom2_serial.o
+COBJS-y := $(BOARD).o
+COBJS-y += debug_board.o
+COBJS-y += zoom2_serial.o
+COBJS-${CONFIG_STATUS_LED}   += led.o
 
+COBJS	:= $(sort $(COBJS-y))
 SRCS	:= $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
 
diff --git a/board/omap3/zoom2/led.c b/board/omap3/zoom2/led.c
new file mode 100644
index 0000000..6f25eb7
--- /dev/null
+++ b/board/omap3/zoom2/led.c
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2009 Wind River Systems, Inc.
+ * Tom Rix <Tom.Rix@windriver.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#include <common.h>
+#include <status_led.h>
+#include <asm/arch/cpu.h>
+#include <asm/io.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/gpio.h>
+
+static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
+
+/*
+ * GPIO LEDs
+ * 173 red
+ * 154 blue
+ * 61  blue2
+ */
+void red_LED_off (void)
+{
+	/* red */
+	if (!omap_request_gpio(173)) {
+		omap_set_gpio_direction(173, 0);
+		omap_set_gpio_dataout(173, 0);
+	}
+	saved_state[STATUS_LED_RED] = STATUS_LED_OFF;
+}
+
+void blue_LED_off (void)
+{
+	/* blue */
+	if (!omap_request_gpio(154)) {
+		omap_set_gpio_direction(154, 0);
+		omap_set_gpio_dataout(154, 0);
+	}
+
+	/* blue 2 */
+	if (!omap_request_gpio(61)) {
+		omap_set_gpio_direction(61, 0);
+		omap_set_gpio_dataout(64, 0);
+	}
+	saved_state[STATUS_LED_BLUE] = STATUS_LED_OFF;
+}
+
+void red_LED_on (void)
+{
+	blue_LED_off ();
+
+	/* red */
+	if (!omap_request_gpio(173)) {
+		omap_set_gpio_direction(173, 0);
+		omap_set_gpio_dataout(173, 1);
+	}
+	saved_state[STATUS_LED_RED] = STATUS_LED_ON;
+}
+
+void blue_LED_on (void)
+{
+	red_LED_off ();
+
+	/* blue */
+	if (!omap_request_gpio(154)) {
+		omap_set_gpio_direction(154, 0);
+		omap_set_gpio_dataout(154, 1);
+	}
+
+	/* blue 2 */
+	if (!omap_request_gpio(61)) {
+		omap_set_gpio_direction(61, 0);
+		omap_set_gpio_dataout(64, 1);
+	}
+
+	saved_state[STATUS_LED_BLUE] = STATUS_LED_ON;
+}
+
+void __led_init (led_id_t mask, int state)
+{
+	__led_set (mask, state);
+}
+
+void __led_toggle (led_id_t mask)
+{
+	if (STATUS_LED_BLUE == mask) {
+		if (STATUS_LED_ON == saved_state[STATUS_LED_BLUE])
+			blue_LED_off ();
+		else
+			blue_LED_on ();
+	} else if (STATUS_LED_RED == mask) {
+		if (STATUS_LED_ON == saved_state[STATUS_LED_RED])
+			red_LED_off ();
+		else
+			red_LED_on ();
+	}
+}
+
+void __led_set (led_id_t mask, int state)
+{
+	if (STATUS_LED_BLUE == mask) {
+		if (STATUS_LED_ON == state)
+			blue_LED_on ();
+		else
+			blue_LED_off ();
+	} else if (STATUS_LED_RED == mask) {
+		if (STATUS_LED_ON == state)
+			red_LED_on ();
+		else
+			red_LED_off ();
+	}
+}
diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c
index a2a5b5a..f58c8e6 100644
--- a/board/omap3/zoom2/zoom2.c
+++ b/board/omap3/zoom2/zoom2.c
@@ -29,6 +29,9 @@
  * MA 02111-1307 USA
  */
 #include <common.h>
+#ifdef CONFIG_STATUS_LED
+#include <status_led.h>
+#endif
 #include <asm/io.h>
 #include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
@@ -78,7 +81,6 @@ int board_init (void)
 #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
 	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 #endif
-
 	return 0;
 }
 
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index 8f09dd8..459b994 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -93,6 +93,22 @@
 #define CONFIG_OMAP3_MMC		1
 #define CONFIG_DOS_PARTITION		1
 
+/* Status LED */
+#define CONFIG_STATUS_LED               1 /* Status LED enabled	*/
+#define CONFIG_BOARD_SPECIFIC_LED	1
+#define STATUS_LED_BLUE                 0
+#define STATUS_LED_RED                  1
+/* Blue */
+#define STATUS_LED_BIT                  STATUS_LED_BLUE
+#define STATUS_LED_STATE                STATUS_LED_ON
+#define STATUS_LED_PERIOD               (CONFIG_SYS_HZ / 2)
+/* Red */
+#define STATUS_LED_BIT1                 STATUS_LED_RED
+#define STATUS_LED_STATE1               STATUS_LED_OFF
+#define STATUS_LED_PERIOD1              (CONFIG_SYS_HZ / 2)
+/* Optional value */
+#define STATUS_LED_BOOT                 STATUS_LED_BIT
+
 /* commands to include */
 #include <config_cmd_default.h>
 
-- 
1.6.0.5

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

* [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines.
  2009-04-14 14:41             ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Tom Rix
@ 2009-04-14 14:41               ` Tom Rix
  2009-04-14 14:41                 ` [U-Boot] [PATCH 10/10] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
  2009-04-26 22:01                 ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
  2009-04-24 21:35               ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 2 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:41 UTC (permalink / raw)
  To: u-boot

These legacy NAND defines are no longer needed by this target.

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

diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h
index 8e984b4..3d1ffbe 100644
--- a/include/configs/omap3_zoom1.h
+++ b/include/configs/omap3_zoom1.h
@@ -132,19 +132,6 @@
 
 #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"
-- 
1.6.0.5

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

* [U-Boot] [PATCH 10/10] OMAP Consolidate common u-boot.lds to cpu layer.
  2009-04-14 14:41               ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Tom Rix
@ 2009-04-14 14:41                 ` Tom Rix
  2009-04-26 22:01                 ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 20+ messages in thread
From: Tom Rix @ 2009-04-14 14:41 UTC (permalink / raw)
  To: u-boot

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

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

diff --git a/board/omap3/beagle/u-boot.lds b/board/omap3/beagle/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/beagle/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/evm/u-boot.lds b/board/omap3/evm/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/evm/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/overo/u-boot.lds b/board/omap3/overo/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/overo/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/pandora/u-boot.lds b/board/omap3/pandora/u-boot.lds
deleted file mode 100644
index 66a8925..0000000
--- a/board/omap3/pandora/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/zoom1/u-boot.lds b/board/omap3/zoom1/u-boot.lds
deleted file mode 100644
index 0eb318b..0000000
--- a/board/omap3/zoom1/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004-2008 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/board/omap3/zoom2/u-boot.lds b/board/omap3/zoom2/u-boot.lds
deleted file mode 100644
index 0eb318b..0000000
--- a/board/omap3/zoom2/u-boot.lds
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * January 2004 - Changed to support H4 device
- * Copyright (c) 2004-2008 Texas Instruments
- *
- * (C) Copyright 2002
- * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
-	. = 0x00000000;
-
-	. = ALIGN(4);
-	.text	:
-	{
-		cpu/arm_cortexa8/start.o	(.text)
-		*(.text)
-	}
-
-	. = ALIGN(4);
-	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-	.ARM.extab	: { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-	__exidx_start = .;
-	.ARM.exidx	: { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-	__exidx_end = .;
-
-	. = ALIGN(4);
-	.data : { *(.data) }
-
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__u_boot_cmd_start = .;
-	.u_boot_cmd : { *(.u_boot_cmd) }
-	__u_boot_cmd_end = .;
-
-	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
-}
diff --git a/cpu/arm_cortexa8/omap3/config.mk b/cpu/arm_cortexa8/omap3/config.mk
index fbb753e..7fd364e 100644
--- a/cpu/arm_cortexa8/omap3/config.mk
+++ b/cpu/arm_cortexa8/omap3/config.mk
@@ -34,3 +34,5 @@ PLATFORM_CPPFLAGS +=$(call cc-option)
 PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
 PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,\
 		    $(call cc-option,-malignment-traps,))
+
+LDSCRIPT := $(SRCTREE)/cpu/arm_cortexa8/omap3/u-boot.lds
diff --git a/cpu/arm_cortexa8/omap3/u-boot.lds b/cpu/arm_cortexa8/omap3/u-boot.lds
new file mode 100644
index 0000000..f6874b8
--- /dev/null
+++ b/cpu/arm_cortexa8/omap3/u-boot.lds
@@ -0,0 +1,58 @@
+/*
+ * January 2004 - Changed to support H4 device
+ * Copyright (c) 2004-2008 Texas Instruments
+ *
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text	:
+	{
+		cpu/arm_cortexa8/start.o	(.text)
+		*(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss : { *(.bss) }
+	_end = .;
+}
-- 
1.6.0.5

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

* [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2
  2009-04-14 14:40 [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Tom Rix
  2009-04-14 14:40 ` [U-Boot] [PATCH 02/10] OMAP3 Port kernel omap gpio interface Tom Rix
@ 2009-04-24 21:26 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-24 21:38   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-24 21:26 UTC (permalink / raw)
  To: u-boot

On 09:40 Tue 14 Apr     , Tom Rix wrote:
> Zoom2 is a new board from Texas Instruments and LogicPD
> 
> The logicpd web site is a good source for general information on this board.
> Please start looking here if the below links are broken.
> http://www.logicpd.com
> 
> This is a pdf of the product
> http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
> This is the product description web page
> http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
> 
> This patch provides a zoom2 base target by copying zoom1 and by making some
> obvious changes.
> 
> To configure, run
> make omap3_zoom2_config
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
>  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     |   76 +++++++++++++
>  board/omap3/zoom2/zoom2.h     |  151 +++++++++++++++++++++++++
>  doc/README.omap3              |   13 ++
>  include/configs/omap3_zoom2.h |  247 +++++++++++++++++++++++++++++++++++++++++
>  11 files changed, 641 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 03d59b9..c2a4e33 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -611,6 +611,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 e4eb42b..c72e810 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 e91c051..724ed51 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2980,6 +2980,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
how many CONFIG_X_BOARDS will we have?

It's time to create a functionnality CONFIG_
(it can be done in an other patch but no other new board will be allow to do
it)
>  
>  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
> + * 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 = .;
as said precedently .ARM.extab & .ARM.exidx is not needed please remove
> +
> +	. = 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..0700c56
> --- /dev/null
> +++ b/board/omap3/zoom2/zoom2.c
> new file mode 100644
> index 0000000..08d2321
> --- /dev/null
Best Regards,
J.

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

* [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor
  2009-04-14 14:40       ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Tom Rix
  2009-04-14 14:40         ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Tom Rix
@ 2009-04-24 21:31         ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-24 21:31 UTC (permalink / raw)
  To: u-boot

On 09:40 Tue 14 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
> 
this change need to be done at the first patch
otherwise will not be able to compile it or bisect it at all

Best Regards,
J.

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

* [U-Boot] [PATCH 08/10] ZOOM2 Add led support.
  2009-04-14 14:41             ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Tom Rix
  2009-04-14 14:41               ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Tom Rix
@ 2009-04-24 21:35               ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-24 21:35 UTC (permalink / raw)
  To: u-boot

> +#include <status_led.h>
> +#endif
>  #include <asm/io.h>
>  #include <asm/arch/mem.h>
>  #include <asm/arch/mux.h>
> @@ -78,7 +81,6 @@ int board_init (void)
>  #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
>  	status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
>  #endif
> -
>  	return 0;
>  }
>  
> diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
> index 8f09dd8..459b994 100644
> --- a/include/configs/omap3_zoom2.h
> +++ b/include/configs/omap3_zoom2.h
> @@ -93,6 +93,22 @@
>  #define CONFIG_OMAP3_MMC		1
>  #define CONFIG_DOS_PARTITION		1
>  
> +/* Status LED */
> +#define CONFIG_STATUS_LED               1 /* Status LED enabled	*/
			    ^^^^^^^^^^^^^^^
please use tab not space and so on

Best Regards,
J.

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

* [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2
  2009-04-24 21:26 ` [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-24 21:38   ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-24 22:10     ` Wolfgang Denk
  0 siblings, 1 reply; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-24 21:38 UTC (permalink / raw)
  To: u-boot

On 23:26 Fri 24 Apr     , Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 09:40 Tue 14 Apr     , Tom Rix wrote:
> > Zoom2 is a new board from Texas Instruments and LogicPD
> > 
> > The logicpd web site is a good source for general information on this board.
> > Please start looking here if the below links are broken.
> > http://www.logicpd.com
> > 
> > This is a pdf of the product
> > http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
> > This is the product description web page
> > http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
> > 
> > This patch provides a zoom2 base target by copying zoom1 and by making some
> > obvious changes.
> > 
> > To configure, run
> > make omap3_zoom2_config
> > 
> > Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> > ---
> >  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     |   76 +++++++++++++
> >  board/omap3/zoom2/zoom2.h     |  151 +++++++++++++++++++++++++
> >  doc/README.omap3              |   13 ++
> >  include/configs/omap3_zoom2.h |  247 +++++++++++++++++++++++++++++++++++++++++
> >  11 files changed, 641 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 03d59b9..c2a4e33 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -611,6 +611,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 e4eb42b..c72e810 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 e91c051..724ed51 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -2980,6 +2980,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
> how many CONFIG_X_BOARDS will we have?
> 
> It's time to create a functionnality CONFIG_
> (it can be done in an other patch but no other new board will be allow to do
> it)
> >  
> >  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
> > + * 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 = .;
> as said precedently .ARM.extab & .ARM.exidx is not needed please remove
I've seen you fix it in the 10th patch

Best Regards,
J.

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

* [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2
  2009-04-24 21:38   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-24 22:10     ` Wolfgang Denk
  2009-04-26 22:05       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 20+ messages in thread
From: Wolfgang Denk @ 2009-04-24 22:10 UTC (permalink / raw)
  To: u-boot

Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090424213824.GD32292@game.jcrosoft.org> you wrote:
>
...
[FULL QUOTE DELETED]


It makes no sense to quote the complete patch when you just want to
add one line of comment at the end!


> > > +	. = 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 = .;
> > as said precedently .ARM.extab & .ARM.exidx is not needed please remove
> I've seen you fix it in the 10th patch

So what does this mean now? Will this patch 01/10 be accepted?


I asked you before, and I hereby ask again: please make clear what the
status of a patch is: accepted or rejected?

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
"Don't think; let the machine do it for you!"        - E. C. Berkeley

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

* [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines.
  2009-04-14 14:41               ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Tom Rix
  2009-04-14 14:41                 ` [U-Boot] [PATCH 10/10] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
@ 2009-04-26 22:01                 ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 22:01 UTC (permalink / raw)
  To: u-boot

On 09:41 Tue 14 Apr     , Tom Rix wrote:
> These legacy NAND defines are no longer needed by this target.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
Applied to arm/next

Best Regards,
J.

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

* [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API.
  2009-04-14 14:40         ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Tom Rix
  2009-04-14 14:41           ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Tom Rix
@ 2009-04-26 22:01           ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 22:01 UTC (permalink / raw)
  To: u-boot

On 09:40 Tue 14 Apr     , Tom Rix wrote:
> This document describes the u-boot status LED API.
> This allows common u-boot commands to use a board's leds to
> provide status for activities like booting and downloading files.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
Applied to arm/next

Best Regards,
J.

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

* [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led.
  2009-04-14 14:41           ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Tom Rix
  2009-04-14 14:41             ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Tom Rix
@ 2009-04-26 22:02             ` Jean-Christophe PLAGNIOL-VILLARD
  2009-04-28  1:30               ` Tom
  1 sibling, 1 reply; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 22:02 UTC (permalink / raw)
  To: u-boot

On 09:41 Tue 14 Apr     , Tom Rix wrote:
> There is exiting support for red,yellow,green but no blue.
> The main LED on the zoom2 is a blue LED.
> 
> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
> ---
Applied to arm/next

Best Regards,
J.

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

* [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2
  2009-04-24 22:10     ` Wolfgang Denk
@ 2009-04-26 22:05       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 20+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 22:05 UTC (permalink / raw)
  To: u-boot

On 00:10 Sat 25 Apr     , Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
> 
> In message <20090424213824.GD32292@game.jcrosoft.org> you wrote:
> >
> ...
> [FULL QUOTE DELETED]
> 
> 
> It makes no sense to quote the complete patch when you just want to
> add one line of comment at the end!
> 
> 
> > > > +	. = 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 = .;
> > > as said precedently .ARM.extab & .ARM.exidx is not needed please remove
> > I've seen you fix it in the 10th patch
> 
> So what does this mean now? Will this patch 01/10 be accepted?
As ask on the [PATCH 05/10] ZOOM2: rename timer divisor
this patch and the 5th need to be joined otherwise fine

Best Regards,
J.

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

* [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led.
  2009-04-26 22:02             ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-28  1:30               ` Tom
  0 siblings, 0 replies; 20+ messages in thread
From: Tom @ 2009-04-28  1:30 UTC (permalink / raw)
  To: u-boot

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 09:41 Tue 14 Apr     , Tom Rix wrote:
>   
>> There is exiting support for red,yellow,green but no blue.
>> The main LED on the zoom2 is a blue LED.
>>
>> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
>> ---
>>     
> Applied to arm/next
>
> Best Regards,
> J.
>   
Thanks.
I will work the outstanding zoom2 issues on the arm/next branch.

Tom

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

end of thread, other threads:[~2009-04-28  1:30 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-14 14:40 [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Tom Rix
2009-04-14 14:40 ` [U-Boot] [PATCH 02/10] OMAP3 Port kernel omap gpio interface Tom Rix
2009-04-14 14:40   ` [U-Boot] [PATCH 03/10] ZOOM2 Add support for debug board detection Tom Rix
2009-04-14 14:40     ` [U-Boot] [PATCH 04/10] ZOOM2 Add serial support Tom Rix
2009-04-14 14:40       ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Tom Rix
2009-04-14 14:40         ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Tom Rix
2009-04-14 14:41           ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Tom Rix
2009-04-14 14:41             ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Tom Rix
2009-04-14 14:41               ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Tom Rix
2009-04-14 14:41                 ` [U-Boot] [PATCH 10/10] OMAP Consolidate common u-boot.lds to cpu layer Tom Rix
2009-04-26 22:01                 ` [U-Boot] [PATCH 09/10] ZOOM1 Remove more legacy NAND defines Jean-Christophe PLAGNIOL-VILLARD
2009-04-24 21:35               ` [U-Boot] [PATCH 08/10] ZOOM2 Add led support Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 22:02             ` [U-Boot] [PATCH 07/10] ARM Add blue colour LED to status_led Jean-Christophe PLAGNIOL-VILLARD
2009-04-28  1:30               ` Tom
2009-04-26 22:01           ` [U-Boot] [PATCH 06/10] LED Add documentation describing the status_led and colour led API Jean-Christophe PLAGNIOL-VILLARD
2009-04-24 21:31         ` [U-Boot] [PATCH 05/10] ZOOM2: rename timer divisor Jean-Christophe PLAGNIOL-VILLARD
2009-04-24 21:26 ` [U-Boot] [PATCH 01/10] ZOOM2 Add initial support for Zoom2 Jean-Christophe PLAGNIOL-VILLARD
2009-04-24 21:38   ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-24 22:10     ` Wolfgang Denk
2009-04-26 22:05       ` Jean-Christophe PLAGNIOL-VILLARD

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.