Patchwork [U-Boot,v4,4/4] tegra2: Add support for Ventana

login
register
mail settings
Submitter Stephen Warren
Date Oct. 12, 2011, 3:18 p.m.
Message ID <1318432727-32446-4-git-send-email-swarren@nvidia.com>
Download mbox | patch
Permalink /patch/119234/
State Superseded
Headers show

Comments

Stephen Warren - Oct. 12, 2011, 3:18 p.m.
Ventana is a board which is very similar to Seaboard. Support it by
re-using board/nvidia/seaboard/seaboard.c with minor run-time conditionals.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 board/nvidia/seaboard/seaboard.c |   11 ++++++-
 board/nvidia/ventana/Makefile    |   55 ++++++++++++++++++++++++++++++++++++++
 boards.cfg                       |    1 +
 include/configs/ventana.h        |   55 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 120 insertions(+), 2 deletions(-)
 create mode 100644 board/nvidia/ventana/Makefile
 create mode 100644 include/configs/ventana.h
Mike Frysinger - Oct. 12, 2011, 3:26 p.m.
On Wednesday 12 October 2011 11:18:47 Stephen Warren wrote:
> --- /dev/null
> +++ b/board/nvidia/ventana/Makefile
>
> +$(LIB):	$(obj).depend $(OBJS)
> +	$(AR) $(ARFLAGS) $@ $(OBJS)

your build file is out of date.  this needs to use the cmd link target.  seem 
just about any other board Makefile for an example.

> +clean:
> +	rm -f $(OBJS)
> +
> +distclean:	clean
> +	rm -f $(LIB) core *.bak $(obj).depend

unused ... just punt them
-mike
Stephen Warren - Oct. 12, 2011, 4:11 p.m.
Mike Frysinger wrote at Wednesday, October 12, 2011 9:27 AM:
> On Wednesday 12 October 2011 11:18:47 Stephen Warren wrote:
> > --- /dev/null
> > +++ b/board/nvidia/ventana/Makefile
> >
> > +$(LIB):	$(obj).depend $(OBJS)
> > +	$(AR) $(ARFLAGS) $@ $(OBJS)
> 
> your build file is out of date.  this needs to use the cmd link target.  seem
> just about any other board Makefile for an example.

Which repo/branch contains the updated files?

I'm using git://git.denx.de/u-boot.git master, and this new Makefile is
identical to existing board/nvidia/{harmony,seaboard}/Makefile. I guess
looking at some other board vendors though, you mean that I should make
the following change:

$(LIB):	$(obj).depend $(OBJS)
-	$(call cmd_link_o_target, $(OBJS))
+	$(AR) $(ARFLAGS) $@ $(OBJS)

If so, I'll also include a patch to update the Harmony/Seaboard files
first.

> > +clean:
> > +	rm -f $(OBJS)
> > +
> > +distclean:	clean
> > +	rm -f $(LIB) core *.bak $(obj).depend
>
> unused ... just punt them

These rules appear to be present in at least 80-90% of other board files.
Has there simply not been a pass to remove them everywhere yet?

Thanks for the feedback.
Mike Frysinger - Oct. 12, 2011, 5:01 p.m.
On Wednesday 12 October 2011 12:11:23 Stephen Warren wrote:
> Mike Frysinger wrote at Wednesday, October 12, 2011 9:27 AM:
> > On Wednesday 12 October 2011 11:18:47 Stephen Warren wrote:
> > > --- /dev/null
> > > +++ b/board/nvidia/ventana/Makefile
> > > 
> > > +$(LIB):	$(obj).depend $(OBJS)
> > > +	$(AR) $(ARFLAGS) $@ $(OBJS)
> > 
> > your build file is out of date.  this needs to use the cmd link target. 
> > seem just about any other board Makefile for an example.
> 
> Which repo/branch contains the updated files?
> 
> I'm using git://git.denx.de/u-boot.git master, and this new Makefile is
> identical to existing board/nvidia/{harmony,seaboard}/Makefile. I guess
> looking at some other board vendors though, you mean that I should make
> the following change:
> 
> $(LIB):	$(obj).depend $(OBJS)
> -	$(call cmd_link_o_target, $(OBJS))
> +	$(AR) $(ARFLAGS) $@ $(OBJS)

your patch is reverted :).  if other boards are using $(AR), it's because 
during review people didn't notice.  calling $(AR) is wrong now.  please post 
patches for those boards too :).

> > > +clean:
> > > +	rm -f $(OBJS)
> > > +
> > > +distclean:	clean
> > > +	rm -f $(LIB) core *.bak $(obj).depend
> > 
> > unused ... just punt them
> 
> These rules appear to be present in at least 80-90% of other board files.
> Has there simply not been a pass to remove them everywhere yet?

i've posted a big patch to do that already, but it hasn't yet been merged
-mike
Stephen Warren - Oct. 12, 2011, 5:18 p.m.
Mike Frysinger wrote at Wednesday, October 12, 2011 11:02 AM:
> On Wednesday 12 October 2011 12:11:23 Stephen Warren wrote:
> > Mike Frysinger wrote at Wednesday, October 12, 2011 9:27 AM:
> > > On Wednesday 12 October 2011 11:18:47 Stephen Warren wrote:
...
> > > > +clean:
> > > > +	rm -f $(OBJS)
> > > > +
> > > > +distclean:	clean
> > > > +	rm -f $(LIB) core *.bak $(obj).depend
> > >
> > > unused ... just punt them
> >
> > These rules appear to be present in at least 80-90% of other board files.
> > Has there simply not been a pass to remove them everywhere yet?
> 
> i've posted a big patch to do that already, but it hasn't yet been merged
> -mike

I found it at:
http://lists.denx.de/pipermail/u-boot/2011-September/101648.html

It's unclear from the discussion there if the patch was accepted and is
simply waiting to be merged, or if it was rejected. I'm a little hesitant
to apply the same patch to the new Ventana board file it the linked patch
isn't actually going to be accepted. Can you comment on this?

Thanks.
Mike Frysinger - Oct. 12, 2011, 5:45 p.m.
On Wednesday 12 October 2011 13:18:10 Stephen Warren wrote:
> Mike Frysinger wrote at Wednesday, October 12, 2011 11:02 AM:
> > On Wednesday 12 October 2011 12:11:23 Stephen Warren wrote:
> > > Mike Frysinger wrote at Wednesday, October 12, 2011 9:27 AM:
> > > > On Wednesday 12 October 2011 11:18:47 Stephen Warren wrote:
> > > > > +clean:
> > > > > +	rm -f $(OBJS)
> > > > > +
> > > > > +distclean:	clean
> > > > > +	rm -f $(LIB) core *.bak $(obj).depend
> > > > 
> > > > unused ... just punt them
> > > 
> > > These rules appear to be present in at least 80-90% of other board
> > > files. Has there simply not been a pass to remove them everywhere yet?
> > 
> > i've posted a big patch to do that already, but it hasn't yet been merged
> > -mike
> 
> I found it at:
> http://lists.denx.de/pipermail/u-boot/2011-September/101648.html
> 
> It's unclear from the discussion there if the patch was accepted and is
> simply waiting to be merged, or if it was rejected. I'm a little hesitant
> to apply the same patch to the new Ventana board file it the linked patch
> isn't actually going to be accepted. Can you comment on this?

obviously i think it's just a matter of time ;).  important point being that 
there are boards already without these targets and they build/clean just fine 
since these sub-targets never get used.
-mike
Wolfgang Denk - Oct. 12, 2011, 6:38 p.m.
Dear Mike Frysinger,

In message <201110121345.35351.vapier@gentoo.org> you wrote:
>
> > > i've posted a big patch to do that already, but it hasn't yet been merged
> > > -mike
> > 
> > I found it at:
> > http://lists.denx.de/pipermail/u-boot/2011-September/101648.html
> > 
> > It's unclear from the discussion there if the patch was accepted and is
> > simply waiting to be merged, or if it was rejected. I'm a little hesitant
> > to apply the same patch to the new Ventana board file it the linked patch
> > isn't actually going to be accepted. Can you comment on this?
>
> obviously i think it's just a matter of time ;).  important point being that 
> there are boards already without these targets and they build/clean just fine 
> since these sub-targets never get used.

I don't have this patch on my list. My interpretation was we skip it?

Best regards,

Wolfgang Denk
Mike Frysinger - Oct. 12, 2011, 7:15 p.m.
On Wednesday 12 October 2011 14:38:18 Wolfgang Denk wrote:
> Mike Frysinger wrote:
> > > > i've posted a big patch to do that already, but it hasn't yet been
> > > > merged -mike
> > > 
> > > I found it at:
> > > http://lists.denx.de/pipermail/u-boot/2011-September/101648.html
> > > 
> > > It's unclear from the discussion there if the patch was accepted and is
> > > simply waiting to be merged, or if it was rejected. I'm a little
> > > hesitant to apply the same patch to the new Ventana board file it the
> > > linked patch isn't actually going to be accepted. Can you comment on
> > > this?
> > 
> > obviously i think it's just a matter of time ;).  important point being
> > that there are boards already without these targets and they build/clean
> > just fine since these sub-targets never get used.
> 
> I don't have this patch on my list. My interpretation was we skip it?

it's dead/inconsistent code (as i showed), and i don't think using it gains us 
anything.  for the few edge cases where arches/boards are adding custom 
targets to the top level "clean" target, i think that better solved by moving 
to a kbuild style system where the targets are defined in the subdirs and the 
top level clean target simply removes the summation of all those variables.
-mike
Wolfgang Denk - Oct. 12, 2011, 7:29 p.m.
Dear Mike Frysinger,

In message <201110121515.59543.vapier@gentoo.org> you wrote:
>
> > I don't have this patch on my list. My interpretation was we skip it?
>
> it's dead/inconsistent code (as i showed), and i don't think using it gains us 
> anything.  for the few edge cases where arches/boards are adding custom 
> targets to the top level "clean" target, i think that better solved by moving 
> to a kbuild style system where the targets are defined in the subdirs and the 
> top level clean target simply removes the summation of all those variables.

Is the patch still OK, or is rebasing needed?

Best regards,

Wolfgang Denk
Mike Frysinger - Oct. 12, 2011, 7:35 p.m.
On Wednesday 12 October 2011 15:29:34 Wolfgang Denk wrote:
> Mike Frysinger wrote:
> > > I don't have this patch on my list. My interpretation was we skip it?
> > 
> > it's dead/inconsistent code (as i showed), and i don't think using it
> > gains us anything.  for the few edge cases where arches/boards are
> > adding custom targets to the top level "clean" target, i think that
> > better solved by moving to a kbuild style system where the targets are
> > defined in the subdirs and the top level clean target simply removes the
> > summation of all those variables.
> 
> Is the patch still OK, or is rebasing needed?

i'll check tonight to see if more boards were added since i last posted
-mike

Patch

diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c
index 356d616..013f1d0 100644
--- a/board/nvidia/seaboard/seaboard.c
+++ b/board/nvidia/seaboard/seaboard.c
@@ -32,10 +32,10 @@ 
 #include "../common/board.h"
 
 /*
- * Routine: gpio_config_uart
+ * Routine: gpio_config_uart_seaboard
  * Description: Force GPIO_PI3 low on Seaboard so UART4 works.
  */
-void gpio_config_uart(void)
+void gpio_config_uart_seaboard(void)
 {
 	int gp = GPIO_PI3;
 	struct gpio_ctlr *gpio = (struct gpio_ctlr *)NV_PA_GPIO_BASE;
@@ -56,6 +56,13 @@  void gpio_config_uart(void)
 	writel(val, &bank->gpio_dir_out[GPIO_PORT(gp)]);
 }
 
+void gpio_config_uart(void)
+{
+	if (machine_is_ventana())
+		return;
+	gpio_config_uart_seaboard();
+}
+
 #ifdef CONFIG_TEGRA2_MMC
 /*
  * Routine: pin_mux_mmc
diff --git a/board/nvidia/ventana/Makefile b/board/nvidia/ventana/Makefile
new file mode 100644
index 0000000..029673f
--- /dev/null
+++ b/board/nvidia/ventana/Makefile
@@ -0,0 +1,55 @@ 
+#
+#  (C) Copyright 2010,2011
+#  NVIDIA Corporation <www.nvidia.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 $(TOPDIR)/config.mk
+
+ifneq ($(OBJTREE),$(SRCTREE))
+$(shell mkdir -p $(obj)../common)
+endif
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	+= ../seaboard/seaboard.o
+COBJS	+= ../common/board.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/boards.cfg b/boards.cfg
index 65482ac..9211c0a 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -192,6 +192,7 @@  s5pc210_universal            arm         armv7       universal_c210      samsung
 smdkv310		     arm	 armv7	     smdkv310		 samsung	s5pc2xx
 harmony                      arm         armv7       harmony             nvidia         tegra2
 seaboard                     arm         armv7       seaboard            nvidia         tegra2
+ventana                      arm         armv7       ventana             nvidia         tegra2
 u8500_href                   arm         armv7       u8500               st-ericsson    u8500
 actux1_4_16                  arm         ixp         actux1              -              -           actux1:FLASH2X2
 actux1_8_16                  arm         ixp         actux1              -              -           actux1:FLASH1X8
diff --git a/include/configs/ventana.h b/include/configs/ventana.h
new file mode 100644
index 0000000..afd6ff6
--- /dev/null
+++ b/include/configs/ventana.h
@@ -0,0 +1,55 @@ 
+/*
+ *  (C) Copyright 2010,2011
+ *  NVIDIA Corporation <www.nvidia.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 __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/sizes.h>
+#include "tegra2-common.h"
+
+/* High-level configuration options */
+#define TEGRA2_SYSMEM		"mem=384M@0M nvmem=128M@384M mem=512M@512M"
+#define V_PROMPT		"Tegra2 (Ventana) # "
+#define CONFIG_TEGRA2_BOARD_STRING	"NVIDIA Ventana"
+
+/* Board-specific serial config */
+#define CONFIG_SERIAL_MULTI
+#define CONFIG_TEGRA2_ENABLE_UARTD
+#define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTD_BASE
+
+#define CONFIG_MACH_TYPE		MACH_TYPE_VENTANA
+#define CONFIG_SYS_BOARD_ODMDATA	0x300d8011 /* lp1, 1GB */
+
+#define CONFIG_BOARD_EARLY_INIT_F
+
+/* SD/MMC */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_TEGRA2_MMC
+#define CONFIG_CMD_MMC
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#endif /* __CONFIG_H */