[U-Boot-Users] [PATCH 2/2] add MPC8343 based board mvBlueLYNX-M7
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
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
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
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
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
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
+ * 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
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;