* [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.