[U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-06-10 Thread Andre Schwarz
Add MPC8343 based board mvBlueLYNX-M7.
It's a single board stereo camera system.
Please read doc/README.mvblm7 for details.

Signed-off-by: Andre Schwarz [EMAIL PROTECTED]
---


MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler  - Registergericht: 
Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
 MAKEALL|1 +
 Makefile   |3 +
 board/mvblm7/Makefile  |   48 ++
 board/mvblm7/config.mk |   25 ++
 board/mvblm7/fpga.c|  188 
 board/mvblm7/fpga.h|   34 +++
 board/mvblm7/mvblm7.c  |  157 +
 board/mvblm7/mvblm7.h  |   21 +
 board/mvblm7/mvblm7_autoscript |   37 
 board/mvblm7/pci.c |  165 +++
 10 files changed, 679 insertions(+), 0 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 3cb1d24..c751586 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -331,6 +331,7 @@ LIST_83xx= \
MPC8360ERDK_66  \
MPC837XEMDS \
MPC837XERDB \
+   MVBLM7  \
sbc8349 \
TQM834x \
 
diff --git a/Makefile b/Makefile
index cc988e1..fd9c949 100644
--- a/Makefile
+++ b/Makefile
@@ -2107,6 +2107,9 @@ MPC837XEMDS_HOST_config:  unconfig
 MPC837XERDB_config:unconfig
@$(MKCONFIG) -a MPC837XERDB ppc mpc83xx mpc837xerdb freescale
 
+MVBLM7_config: unconfig
+   @$(MKCONFIG) $(@:_config=) ppc mpc83xx mvblm7
+
 sbc8349_config:unconfig
@$(MKCONFIG) $(@:_config=) ppc mpc83xx sbc8349
 
diff --git a/board/mvblm7/Makefile b/board/mvblm7/Makefile
new file mode 100644
index 000..84cd14a
--- /dev/null
+++ b/board/mvblm7/Makefile
@@ -0,0 +1,48 @@
+#
+# Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
+#
+# 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  := $(BOARD).o pci.o fpga.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS)
+
+clean:
+   rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak .depend
+
+#
+
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/mvblm7/config.mk b/board/mvblm7/config.mk
new file mode 100644
index 000..1d85f4f
--- /dev/null
+++ b/board/mvblm7/config.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
+#
+# 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
+#
+
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
+
+TEXT_BASE  = 0xFFF0
diff --git a/board/mvblm7/fpga.c b/board/mvblm7/fpga.c
new file mode 100644
index 000..a60af01
--- /dev/null
+++ b/board/mvblm7/fpga.c
@@ -0,0 +1,188 @@
+/*
+ * (C) Copyright 2002
+ * Rich Ireland, Enterasys Networks, [EMAIL PROTECTED]
+ * Keith Outwater, [EMAIL PROTECTED]
+ *
+ * (C) Copyright 2008
+ * Andre Schwarz, Matrix Vision GmbH, [EMAIL PROTECTED]
+ *
+ * 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 

Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-27 Thread Kim Phillips
On Tue, 27 May 2008 10:44:32 +0200
Andre Schwarz [EMAIL PROTECTED] wrote:

 Do you want me to re-send a complete set of patches for the M7-Board
 against the latest version ?
 
I'd appreciate it since I seem to have lost the board config file.

Kim

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users


Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-08 Thread Kim Phillips
On Wed, 7 May 2008 10:36:56 -0500
Kim Phillips [EMAIL PROTECTED] wrote:

 On Wed, 07 May 2008 12:01:48 +0200
 André Schwarz [EMAIL PROTECTED] wrote:
 
  I'll re-send the 23rd try after my vacation at end of may.
  If the merge window will be closed at that date it's obviously bad luck.
 
 I can make the changes, André, thanks!

hmm..made the below changes, but I don't know how to recover from:

fpga.c:55: error: ‘Altera_EP2C20_SIZE’ undeclared here (not in a function)

it seems this never built? also, we are missing a config file in the
latest submission.  One more thing: please submit patches in an order
that will not break future builds during a git-bisect session, i.e.,
since I believe a single patch is less than the ML limit of 40KB, make
it a single patch, please.

Thanks,

Kim

diff --git a/board/mvblm7/Makefile b/board/mvblm7/Makefile
index 84cd14a..42e0243 100644
--- a/board/mvblm7/Makefile
+++ b/board/mvblm7/Makefile
@@ -24,8 +24,11 @@ include $(TOPDIR)/config.mk
 
 LIB= $(obj)lib$(BOARD).a
 
-COBJS  := $(BOARD).o pci.o fpga.o
+COBJS-y:= $(BOARD).o
+COBJS-$(CONFIG_PCI) += pci.o
+COBJS-$(CONFIG_FPGA) += fpga.o
 
+COBJS  := $(COBJS-y)
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS))
 SOBJS  := $(addprefix $(obj),$(SOBJS))
diff --git a/board/mvblm7/fpga.c b/board/mvblm7/fpga.c
index 5eaa037..a60af01 100644
--- a/board/mvblm7/fpga.c
+++ b/board/mvblm7/fpga.c
@@ -32,8 +32,6 @@
 #include fpga.h
 #include mvblm7.h
 
-#ifdef CONFIG_FPGA
-
 #ifdef FPGA_DEBUG
 #define fpga_debug(fmt, args...)  printf(%s: fmt, __func__, ##args)
 #else
@@ -83,8 +81,8 @@ int fpga_config_fn(int assert, int flush, int cookie)
 {
volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
-
u32 dvo = gpio-dat;
+
fpga_debug(SET config : %s\n, assert ? low : high);
if (assert)
dvo |= FPGA_CONFIG;
@@ -134,8 +132,8 @@ int fpga_clk_fn(int assert_clk, int flush, int cookie)
 {
volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
-
u32 dvo = gpio-dat;
+
fpga_debug(CLOCK %s\n, assert_clk ? high : low);
if (assert_clk)
dvo |= FPGA_CCLK;
@@ -188,4 +186,3 @@ int fpga_wr_fn(void *buf, size_t len, int flush, int cookie)
 
return FPGA_SUCCESS;
 }
-#endif
diff --git a/board/mvblm7/mvblm7.c b/board/mvblm7/mvblm7.c
index 8f8e299..7e9b71f 100644
--- a/board/mvblm7/mvblm7.c
+++ b/board/mvblm7/mvblm7.c
@@ -43,15 +43,14 @@ int fixed_sdram(void)
u32 ddr_size_log2;
 
msize = CFG_DDR_SIZE;
-   for (ddr_size = msize  20, ddr_size_log2 = 0;
-   (ddr_size  1);
-   ddr_size = ddr_size1, ddr_size_log2++) {
+   for (ddr_size = msize  20, ddr_size_log2 = 0; ddr_size  1;
+   ddr_size = ddr_size  1, ddr_size_log2++)
if (ddr_size  1)
return -1;
-   }
+
im-sysconf.ddrlaw[0].bar = ((CFG_DDR_SDRAM_BASE12)  0xf);
im-sysconf.ddrlaw[0].ar = LAWAR_EN | ((ddr_size_log2 - 1) 
-   LAWAR_SIZE);
+  LAWAR_SIZE);
 
im-ddr.csbnds[0].csbnds = CFG_DDR_CS0_BNDS;
im-ddr.cs_config[0] = CFG_DDR_CS0_CONFIG;
@@ -131,5 +130,4 @@ void ft_board_setup(void *blob, bd_t *bd)
ft_pci_setup(blob, bd);
 #endif
 }
-
 #endif
diff --git a/board/mvblm7/pci.c b/board/mvblm7/pci.c
index b6453d0..72123c8 100644
--- a/board/mvblm7/pci.c
+++ b/board/mvblm7/pci.c
@@ -28,11 +28,14 @@
 #include libfdt.h
 #endif
 #include pci.h
+#include fpga.h
 #include mpc83xx.h
 #include mvblm7.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
+extern int mvblm7_init_fpga(void);
+
 /* System RAM mapped to PCI space */
 #define CONFIG_PCI_SYS_MEM_BUS CFG_SDRAM_BASE
 #define CONFIG_PCI_SYS_MEM_PHYSCFG_SDRAM_BASE

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users


Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-07 Thread André Schwarz

Thanks,

unfortunately I'm out of office right now.

I'll re-send the 23rd try after my vacation at end of may.
If the merge window will be closed at that date it's obviously bad luck.


Cheers,
André


Jean-Christophe PLAGNIOL-VILLARD wrote:

+ * Andre Schwarz, Matrix Vision GmbH, [EMAIL PROTECTED]
+ *
+ * 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 ACEX1K.h
+#include command.h
+#include fpga.h
+#include mvblm7.h
+
+#ifdef CONFIG_FPGA


Please move it to the Makefile
  

+
+#ifdef FPGA_DEBUG
+#define fpga_debug(fmt, args...)  printf(%s: fmt, __func__, ##args)
+#else
+#define fpga_debug(fmt, args...)
+#endif
+
+Altera_CYC2_Passive_Serial_fns altera_fns = {
+   fpga_null_fn,
+   fpga_config_fn,
+   fpga_status_fn,
+   fpga_done_fn,
+   fpga_wr_fn,
+   fpga_null_fn,
+   fpga_null_fn,
+   0
+};
+
+Altera_desc cyclone2 = {
+   Altera_CYC2,
+   passive_serial,
+   Altera_EP2C20_SIZE,
+   (void *) altera_fns,
+   NULL,
+   0
+};
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int mvblm7_init_fpga(void)
+{
+   fpga_debug(Initialize FPGA interface (reloc 0x%.8lx)\n,
+   gd-reloc_off);
+   fpga_init(gd-reloc_off);
+   fpga_add(fpga_altera, cyclone2);
+   fpga_config_fn(0, 1, 0);
+   udelay(60);
+
+   return 1;
+}
+
+int fpga_null_fn(int cookie)
+{
+   return 0;
+}
+
+int fpga_config_fn(int assert, int flush, int cookie)
+{
+   volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
+   volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];


please remove empty line
  

+
+   u32 dvo = gpio-dat;


please add empty line
  

+   fpga_debug(SET config : %s\n, assert ? low : high);
+   if (assert)
+   dvo |= FPGA_CONFIG;
+   else
+   dvo = ~FPGA_CONFIG;
+
+   if (flush)
+   gpio-dat = dvo;
+
+   return assert;
+}
+
+int fpga_done_fn(int cookie)
+{
+   volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
+   volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
+   int result = 0;
+
+   udelay(10);
+   fpga_debug(CONF_DONE check ... );
+   if (gpio-dat  FPGA_CONF_DONE)  {
+   fpga_debug(high\n);
+   result = 1;
+   } else
+   fpga_debug(low\n);
+
+   return result;
+}
+
+int fpga_status_fn(int cookie)
+{
+   volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
+   volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
+   int result = 0;
+
+   fpga_debug(STATUS check ... );
+   if (gpio-dat  FPGA_STATUS)  {
+   fpga_debug(high\n);
+   result = 1;
+   } else
+   fpga_debug(low\n);
+
+   return result;
+}
+
+int fpga_clk_fn(int assert_clk, int flush, int cookie)
+{
+   volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
+   volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];


please remove empty line
  

+
+   u32 dvo = gpio-dat;


please add empty line
  

+   fpga_debug(CLOCK %s\n, assert_clk ? high : low);
+   if (assert_clk)
+   dvo |= FPGA_CCLK;
+   else
+   dvo = ~FPGA_CCLK;
+
+   if (flush)
+ *
+ * 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 ioports.h
+#include mpc83xx.h
+#include asm/mpc8349_pci.h
+#include pci.h
+#include asm/mmu.h
+#if defined(CONFIG_OF_LIBFDT)
+#include libfdt.h
+#endif
+
+#include mvblm7.h
+
+int fixed_sdram(void)
+{
+

Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-07 Thread Kim Phillips
On Wed, 07 May 2008 12:01:48 +0200
André Schwarz [EMAIL PROTECTED] wrote:

 I'll re-send the 23rd try after my vacation at end of may.
 If the merge window will be closed at that date it's obviously bad luck.

I can make the changes, André, thanks!

Kim

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users


Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-06 Thread Andre Schwarz
Add MPC8343 based board mvBlueLYNX-M7.
It's a single board stereo camera system.
Please read doc/README.mvblm7 for details.

Signed-off-by: Andre Schwarz [EMAIL PROTECTED]
--


MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler  - Registergericht: 
Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
 board/mvblm7/Makefile  |   48 ++
 board/mvblm7/config.mk |   25 +
 board/mvblm7/fpga.c|  191 
 board/mvblm7/fpga.h|   34 +++
 board/mvblm7/mvblm7.c  |  135 
 board/mvblm7/mvblm7.h  |   21 +
 board/mvblm7/mvblm7_autoscript |   37 
 board/mvblm7/pci.c |  160 +
 8 files changed, 651 insertions(+), 0 deletions(-)

diff --git a/board/mvblm7/Makefile b/board/mvblm7/Makefile
new file mode 100644
index 000..84cd14a
--- /dev/null
+++ b/board/mvblm7/Makefile
@@ -0,0 +1,48 @@
+#
+# Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
+#
+# 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  := $(BOARD).o pci.o fpga.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS)
+
+clean:
+   rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak .depend
+
+#
+
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/mvblm7/config.mk b/board/mvblm7/config.mk
new file mode 100644
index 000..1d85f4f
--- /dev/null
+++ b/board/mvblm7/config.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
+#
+# 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
+#
+
+sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
+
+TEXT_BASE  = 0xFFF0
diff --git a/board/mvblm7/fpga.c b/board/mvblm7/fpga.c
new file mode 100644
index 000..5eaa037
--- /dev/null
+++ b/board/mvblm7/fpga.c
@@ -0,0 +1,191 @@
+/*
+ * (C) Copyright 2002
+ * Rich Ireland, Enterasys Networks, [EMAIL PROTECTED]
+ * Keith Outwater, [EMAIL PROTECTED]
+ *
+ * (C) Copyright 2008
+ * Andre Schwarz, Matrix Vision GmbH, [EMAIL PROTECTED]
+ *
+ * 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 ACEX1K.h
+#include command.h
+#include fpga.h
+#include mvblm7.h
+
+#ifdef CONFIG_FPGA
+
+#ifdef FPGA_DEBUG
+#define fpga_debug(fmt, args...)  

Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7

2008-05-06 Thread Jean-Christophe PLAGNIOL-VILLARD
 + * Andre Schwarz, Matrix Vision GmbH, [EMAIL PROTECTED]
 + *
 + * 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 ACEX1K.h
 +#include command.h
 +#include fpga.h
 +#include mvblm7.h
 +
 +#ifdef CONFIG_FPGA
Please move it to the Makefile
 +
 +#ifdef FPGA_DEBUG
 +#define fpga_debug(fmt, args...)  printf(%s: fmt, __func__, ##args)
 +#else
 +#define fpga_debug(fmt, args...)
 +#endif
 +
 +Altera_CYC2_Passive_Serial_fns altera_fns = {
 + fpga_null_fn,
 + fpga_config_fn,
 + fpga_status_fn,
 + fpga_done_fn,
 + fpga_wr_fn,
 + fpga_null_fn,
 + fpga_null_fn,
 + 0
 +};
 +
 +Altera_desc cyclone2 = {
 + Altera_CYC2,
 + passive_serial,
 + Altera_EP2C20_SIZE,
 + (void *) altera_fns,
 + NULL,
 + 0
 +};
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +int mvblm7_init_fpga(void)
 +{
 + fpga_debug(Initialize FPGA interface (reloc 0x%.8lx)\n,
 + gd-reloc_off);
 + fpga_init(gd-reloc_off);
 + fpga_add(fpga_altera, cyclone2);
 + fpga_config_fn(0, 1, 0);
 + udelay(60);
 +
 + return 1;
 +}
 +
 +int fpga_null_fn(int cookie)
 +{
 + return 0;
 +}
 +
 +int fpga_config_fn(int assert, int flush, int cookie)
 +{
 + volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 + volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
please remove empty line
 +
 + u32 dvo = gpio-dat;
please add empty line
 + fpga_debug(SET config : %s\n, assert ? low : high);
 + if (assert)
 + dvo |= FPGA_CONFIG;
 + else
 + dvo = ~FPGA_CONFIG;
 +
 + if (flush)
 + gpio-dat = dvo;
 +
 + return assert;
 +}
 +
 +int fpga_done_fn(int cookie)
 +{
 + volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 + volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
 + int result = 0;
 +
 + udelay(10);
 + fpga_debug(CONF_DONE check ... );
 + if (gpio-dat  FPGA_CONF_DONE)  {
 + fpga_debug(high\n);
 + result = 1;
 + } else
 + fpga_debug(low\n);
 +
 + return result;
 +}
 +
 +int fpga_status_fn(int cookie)
 +{
 + volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 + volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
 + int result = 0;
 +
 + fpga_debug(STATUS check ... );
 + if (gpio-dat  FPGA_STATUS)  {
 + fpga_debug(high\n);
 + result = 1;
 + } else
 + fpga_debug(low\n);
 +
 + return result;
 +}
 +
 +int fpga_clk_fn(int assert_clk, int flush, int cookie)
 +{
 + volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
 + volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)im-gpio[0];
please remove empty line
 +
 + u32 dvo = gpio-dat;
please add empty line
 + fpga_debug(CLOCK %s\n, assert_clk ? high : low);
 + if (assert_clk)
 + dvo |= FPGA_CCLK;
 + else
 + dvo = ~FPGA_CCLK;
 +
 + if (flush)
 + *
 + * 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 ioports.h
 +#include mpc83xx.h
 +#include asm/mpc8349_pci.h
 +#include pci.h
 +#include asm/mmu.h
 +#if defined(CONFIG_OF_LIBFDT)
 +#include libfdt.h
 +#endif
 +
 +#include mvblm7.h
 +
 +int fixed_sdram(void)
 +{
 + volatile immap_t *im = (immap_t *)CFG_IMMR;
 + u32 msize = 0;
 + u32 ddr_size;
 + u32 ddr_size_log2;
 +
 + msize = CFG_DDR_SIZE;
 + for (ddr_size = msize  20, ddr_size_log2 = 0;
 + (ddr_size  1);
 + 

Re: [U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7 aka mvblm7

2008-04-11 Thread André Schwarz
Kim,

2nd part of the mvblm7 board patch.

Cheers,
André

Signed-off-by: Andre Schwarz [EMAIL PROTECTED]
--

diff --git a/board/mvblm7/mvblm7_autoscript b/board/mvblm7/mvblm7_autoscript
new file mode 100644
index 000..8ebb4ca
--- /dev/null
+++ b/board/mvblm7/mvblm7_autoscript
@@ -0,0 +1,38 @@
+echo
+echo  running autoscript 
+echo
+setenv bootdtb bootm \${kernel_boot} \${mv_initrd_addr_ram} 
\${mv_dtb_addr_ram}
+setenv ramkernel setenv kernel_boot \${mv_kernel_addr_ram}
+setenv flashkernel setenv kernel_boot \${mv_kernel_addr}
+setenv cpinitrd cp \${mv_initrd_addr} \${mv_initrd_addr_ram} 
\${mv_initrd_length}
+setenv bootfromflash run flashkernel cpinitrd ramparam
+setenv getdtb tftp \${mv_dtb_addr_ram} \${dtb_name}
+setenv cpdtb cp \${mv_dtb_addr} \${mv_dtb_addr_ram} 0x2000
+setenv rundtb fdt addr \${mv_dtb_addr_ram}\;fdt boardsetup\;fdt print
+setenv bootfromnet tftp \${mv_initrd_addr_ram} \${initrd_name}\;run 
ramkernel
+setenv addcons setenv bootargs \${bootargs} 
console=ttyS\${console_nr},\${baudrate}N8
+setenv set_static_ip setenv ipaddr \${static_ipaddr}
+setenv set_static_nm setenv netmask \${static_netmask}
+setenv set_static_gw setenv gatewayip \${static_gateway}
+setenv set_ip setenv ip \${ipaddr}::\${gatewayip}:\${netmask}
+setenv ramparam setenv bootargs root=/dev/ram ro rootfstype=squashfs
+if test ${autoscr_boot} != no;
+then
+  if test ${netboot} = yes;
+  then
+bootp
+if test $? = 0;
+then
+  echo === bootp succeeded - netboot ===
+  run set_ip
+  run getdtb rundtb bootfromnet ramparam bootdtb
+else
+  echo === netboot failed ===
+fi
+  fi
+  run set_static_ip set_static_nm set_static_gw set_ip
+  echo === bootfromflash ===
+  run cpdtb rundtb bootfromflash
+else
+  echo === boot stopped with autoscr_boot no ===
+fi
diff --git a/board/mvblm7/pci.c b/board/mvblm7/pci.c
new file mode 100644
index 000..25e4c6f
--- /dev/null
+++ b/board/mvblm7/pci.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
+ *
+ * (C) Copyright 2008
+ * Andre Schwarz, Matrix Vision GmbH, [EMAIL PROTECTED]
+ *
+ * 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
+#if defined(CONFIG_OF_LIBFDT)
+#include libfdt.h
+#endif
+#include pci.h
+#include mpc83xx.h
+#include mvblm7.h
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/* System RAM mapped to PCI space */
+#define CONFIG_PCI_SYS_MEM_BUSCFG_SDRAM_BASE
+#define CONFIG_PCI_SYS_MEM_PHYSCFG_SDRAM_BASE
+
+#define SLOT0_IRQ3
+#define SLOT1_IRQ4
+void pci_mvblm7_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
+{
+unsigned char line = 0xff;
+
+if (PCI_BUS(dev) == 0) {
+switch (PCI_DEV(dev)) {
+case 0x0:
+return;
+case 0xb:
+line = 0;
+break;
+case 0xc:
+line = 1;
+break;
+default:
+printf(***pci_scan: illegal dev = 0x%08x\n,
+PCI_DEV(dev));
+line = 0xff;
+break;
+}
+pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE, line);
+}
+}
+
+static struct pci_controller pci_hose = {
+fixup_irq:pci_mvblm7_fixup_irq
+};
+
+int mvblm7_load_fpga(void)
+{
+size_t data_size = 0;
+void *fpga_data = NULL;
+char *datastr = getenv(fpgadata);
+char *sizestr = getenv(fpgadatasize);
+
+if (datastr)
+fpga_data = (void *)simple_strtoul(datastr, NULL, 16);
+if (sizestr)
+data_size = (size_t)simple_strtoul(sizestr, NULL, 16);
+
+return fpga_load(0, fpga_data, data_size);
+}
+
+static struct pci_region pci_regions[] = {
+{
+bus_start: CFG_PCI1_MEM_BASE,
+phys_start: CFG_PCI1_MEM_PHYS,
+size: CFG_PCI1_MEM_SIZE,
+flags: PCI_REGION_MEM | PCI_REGION_PREFETCH
+},
+{
+bus_start: CFG_PCI1_MMIO_BASE,
+phys_start: CFG_PCI1_MMIO_PHYS,
+size: CFG_PCI1_MMIO_SIZE,
+flags: PCI_REGION_MEM
+},
+{
+bus_start: CFG_PCI1_IO_BASE,
+phys_start: CFG_PCI1_IO_PHYS,
+size: CFG_PCI1_IO_SIZE,
+flags: PCI_REGION_IO
+}
+};
+
+void pci_init_board(void)
+{
+char *s;
+int warmboot;
+volatile immap_t *immr;