Skip to contentSkip to conversation

create and use common code for Matrix Vision boards

PATCH Superseded André Schwarz 2 participants 3 messages Jul 17, 2009 – Aug 19, 2009

v3 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 create and use common code for Matrix Vision boards

This patch adds and uses common code for all Matrix Vision boards.

---

Heiko's comments have been addressed and common/mv_common.h has been included where needed.

 board/matrix_vision/common/Makefile    |   54 ++++++++++++++
 board/matrix_vision/common/mv_common.c |  125
++++++++++++++++++++++++++++++++
 board/matrix_vision/common/mv_common.h |   25 +++++++
 board/matrix_vision/mvbc_p/mvbc_p.c    |   76 +-------------------
 board/matrix_vision/mvblm7/mvblm7.c    |   38 +++-------
 board/matrix_vision/mvblm7/pci.c       |   35 ++--------
 include/configs/MVBC_P.h               |   14 +++-
 include/configs/MVBLM7.h               |   49 +++++--------
 8 files changed, 254 insertions(+), 162 deletions(-)
(quoted diff) +0 -0

b/board/matrix_vision/common/Makefile
new file mode 100644
index 0000000..b496258

board/matrix_vision/common/Makefile new file +54 -0

54 lines not on this page · raw message

(quoted diff) +0 -0

b/board/matrix_vision/common/mv_common.c
new file mode 100644
index 0000000..284de16

board/matrix_vision/common/mv_common.c new file +125 -0

125 lines not on this page · raw message

(quoted diff) +0 -0

b/board/matrix_vision/common/mv_common.h
new file mode 100644
index 0000000..046c038

board/matrix_vision/common/mv_common.h new file +25 -0
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2008 Matrix Vision GmbH
+ *
+ * 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
+ */
+
+
+extern int mv_load_fpga(void);
+extern void mv_reset_environment(void);
(quoted diff) +0 -0

b/board/matrix_vision/mvbc_p/mvbc_p.c
index a300342..4ebe185 100644

board/matrix_vision/mvbc_p/mvbc_p.c +3 -73

108 lines not on this page · raw message

(quoted diff) +0 -0

b/board/matrix_vision/mvblm7/mvblm7.c
index 6984af9..2cecd1f 100644

board/matrix_vision/mvblm7/mvblm7.c +10 -28
@@ -64,7 +64,7 @@ int fixed_sdram(void)
 	im->ddr.sdram_cfg2 = CONFIG_SYS_DDR_SDRAM_CFG2;
 	im->ddr.sdram_mode = CONFIG_SYS_DDR_MODE;
 	im->ddr.sdram_interval = CONFIG_SYS_DDR_INTERVAL;
-	im->ddr.sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CNTL;
+	im->ddr.sdram_clk_cntl = CONFIG_SYS_DDR_SDRAM_CLK_CNTL;
 
 	udelay(300);
 
@@ -88,40 +88,22 @@ phys_size_t initdram(int board_type)
 	return msize * 1024 * 1024;
 }
 
-int checkboard(void)
+int misc_init_r(void)
 {
-	puts("Board: Matrix Vision mvBlueLYNX-M7\n");
-
-	return 0;
-}
+	char *s = getenv("reset_env");
 
-u8 *dhcp_vendorex_prep(u8 *e)
-{
-	char *ptr;
-
-	/* DHCP vendor-class-identifier = 60 */
-	ptr = getenv("dhcp_vendor-class-identifier");
-	if (ptr) {
-		*e++ = 60;
-		*e++ = strlen(ptr);
-		while (*ptr)
-			*e++ = *ptr++;
-	}
-	/* DHCP_CLIENT_IDENTIFIER = 61 */
-	ptr = getenv("dhcp_client_id");
-	if (ptr) {
-		*e++ = 61;
-		*e++ = strlen(ptr);
-		while (*ptr)
-			*e++ = *ptr++;
+	if (s) {
+		mv_reset_environment();
 	}
 
-	return e;
+	return 0;
 }
 
-u8 *dhcp_vendorex_proc(u8 *popt)
+int checkboard(void)
 {
-	return NULL;
+	puts("Board: Matrix Vision mvBlueLYNX-M7\n");
+
+	return 0;
 }
 
 #ifdef CONFIG_HARD_SPI
(quoted diff) +0 -0

b/board/matrix_vision/mvblm7/pci.c
index 9f31719..2db51f1 100644

board/matrix_vision/mvblm7/pci.c +5 -30
@@ -32,24 +32,10 @@
 #include <fpga.h>
 #include "mvblm7.h"
 #include "fpga.h"
+#include "../common/mv_common.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
-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: CONFIG_SYS_PCI1_MEM_BASE,
@@ -73,10 +59,8 @@ static struct pci_region pci_regions[] = {
 
 void pci_init_board(void)
 {
-	char *s;
 	int i;
 	int warmboot;
-	int load_fpga;
 	volatile immap_t *immr;
 	volatile pcictrl83xx_t *pci_ctrl;
 	volatile gpio83xx_t *gpio;
@@ -84,32 +68,23 @@ void pci_init_board(void)
 	volatile law83xx_t *pci_law;
 	struct pci_region *reg[] = { pci_regions };
 
-	load_fpga = 1;
 	immr = (immap_t *) CONFIG_SYS_IMMR;
 	clk = (clk83xx_t *) &immr->clk;
 	pci_ctrl = immr->pci_ctrl;
 	pci_law = immr->sysconf.pcilaw;
 	gpio  = (volatile gpio83xx_t *)&immr->gpio[0];
 
-	s = getenv("skip_fpga");
-	if (s) {
-		printf("found 'skip_fpga' -> FPGA _not_ loaded !\n");
-		load_fpga = 0;
-	}
-
 	gpio->dat = MV_GPIO_DAT;
 	gpio->odr = MV_GPIO_ODE;
-	if (load_fpga)
-		gpio->dir = MV_GPIO_OUT;
-	else
-		gpio->dir = MV_GPIO_OUT & ~(FPGA_DIN|FPGA_CCLK);
+	gpio->dir = MV_GPIO_OUT;
 
 	printf("SICRH / SICRL : 0x%08x / 0x%08x\n", immr->sysconf.sicrh,
 		immr->sysconf.sicrl);
 
 	mvblm7_init_fpga();
-	if (load_fpga)
-		mvblm7_load_fpga();
+	mv_load_fpga();
+
+	gpio->dir = MV_GPIO_OUT & ~(FPGA_DIN|FPGA_CCLK);
 
 	/* Enable PCI_CLK_OUTPUTs 0 and 1 with 1:1 clocking */
 	clk->occr = 0xc0000000;
include/configs/MVBC_P.h +12 -2
index edbc701..867e8e0 100644
@@ -68,9 +68,9 @@
 #define MV_VCI			mvBlueCOUGAR-P
 #define MV_FPGA_DATA		0xff860000
 #define MV_FPGA_SIZE		0x0003c886
-#define MV_KERNEL_ADDR		0xffc00000
+#define MV_KERNEL_ADDR		0xffd00000
 #define MV_INITRD_ADDR		0xff900000
-#define MV_INITRD_LENGTH	0x00300000
+#define MV_INITRD_LENGTH	0x00400000
 #define MV_SCRATCH_ADDR		0x00000000
 #define MV_SCRATCH_LENGTH	MV_INITRD_LENGTH
 #define MV_SOURCE_ADDR		0xff840000
@@ -105,6 +105,7 @@
 #define CONFIG_CMD_SDRAM
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_FPGA
+#define CONFIG_CMD_I2C
 
 #undef CONFIG_WATCHDOG
 
@@ -182,6 +183,7 @@
 	"propdev_debug=0\0"					\
 	"gevss_debug=0\0"					\
 	"watchdog=1\0"						\
+	"sensor_cnt=1\0"					\
 	""
 
 #undef XMK_STR
@@ -249,6 +251,14 @@
 #define CONFIG_SYS_BOOTMAPSZ		(8 << 20)
 
 /*
+ * I2C configuration
+ */
+#define CONFIG_HARD_I2C		1
+#define CONFIG_SYS_I2C_MODULE	1
+#define CONFIG_SYS_I2C_SPEED	86000
+#define CONFIG_SYS_I2C_SLAVE	0x7F
+
+/*
  * Ethernet configuration
  */
 #define CONFIG_NET_MULTI
include/configs/MVBLM7.h +20 -29

89 lines not on this page · raw message

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschiaeftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich

#1 lore raw

PATCH v3 1/1 create and use common code for Matrix Vision boards

Dear =?ISO-8859-1?Q?Andr=E9?= Schwarz,

Quoted 9 lines · In message <1247842785.3953.90.camel@swa-m460> you wrote:

This patch adds and uses common code for all Matrix Vision boards.

---

Heiko's comments have been addressed and common/mv_common.h has been included where needed.

Quoted 10 lines
 board/matrix_vision/common/Makefile    |   54 ++++++++++++++
 board/matrix_vision/common/mv_common.c |  125
++++++++++++++++++++++++++++++++
 board/matrix_vision/common/mv_common.h |   25 +++++++
 board/matrix_vision/mvbc_p/mvbc_p.c    |   76 +-------------------
 board/matrix_vision/mvblm7/mvblm7.c    |   38 +++-------
 board/matrix_vision/mvblm7/pci.c       |   35 ++--------
 include/configs/MVBC_P.h               |   14 +++-
 include/configs/MVBLM7.h               |   49 +++++--------
 8 files changed, 254 insertions(+), 162 deletions(-)

Sorry, this patch doesn't apply:

/home/wd/git/u-boot/work/.git/rebase-apply/patch:179: trailing whitespace.

error: patch failed: include/configs/MVBC_P.h:68
error: include/configs/MVBC_P.h: patch does not apply
fatal: sha1 information is lacking or useless (board/matrix_vision/mvbc_p/mvbc_p.c).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Patch failed at 0001.

Please clean up and resubmit.

Best regards,

Wolfgang Denk

Signature · 4 lines
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
panic: can't find /
#2 lore raw

PATCH v3 1/1 create and use common code for Matrix Vision boards

Wolfgang,

Quoted 23 lines · Wolfgang Denk

Dear =?ISO-8859-1?Q?Andr=E9?= Schwarz,

Quoted 9 lines · In message <1247842785.3953.90.camel@swa-m460> you wrote:

This patch adds and uses common code for all Matrix Vision boards.

---

Heiko's comments have been addressed and common/mv_common.h has been included where needed.

Quoted 10 lines
 board/matrix_vision/common/Makefile    |   54 ++++++++++++++
 board/matrix_vision/common/mv_common.c |  125
++++++++++++++++++++++++++++++++
 board/matrix_vision/common/mv_common.h |   25 +++++++
 board/matrix_vision/mvbc_p/mvbc_p.c    |   76 +-------------------
 board/matrix_vision/mvblm7/mvblm7.c    |   38 +++-------
 board/matrix_vision/mvblm7/pci.c       |   35 ++--------
 include/configs/MVBC_P.h               |   14 +++-
 include/configs/MVBLM7.h               |   49 +++++--------
 8 files changed, 254 insertions(+), 162 deletions(-)
Quoted 1 line

Sorry, this patch doesn't apply:

hmm - something went wrong. Maybe it's because of the patches have been applied by both Kim and you. A fresh git-clone gives me non-working binaries for both mvBC-P and mvBL-M7.
The new board/matrix-vision/common directory is missing completely.

Most probably the patches have been built the wrong way by me :-(

Quoted 11 lines

/home/wd/git/u-boot/work/.git/rebase-apply/patch:179: trailing whitespace.

error: patch failed: include/configs/MVBC_P.h:68
error: include/configs/MVBC_P.h: patch does not apply
fatal: sha1 information is lacking or useless (board/matrix_vision/mvbc_p/mvbc_p.c).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Patch failed at 0001.

Quoted 1 line

Please clean up and resubmit.

I'll send a single patch fixing both boards in a few minutes.

Quoted 5 lines

Best regards,

Wolfgang Denk

Regards,
Andr?

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich