All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] Adding support for MB86R01
@ 2010-01-11 17:18 Matthias Weisser
  2010-01-11 17:18 ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Matthias Weisser
  2010-01-16 15:40 ` [U-Boot] Adding support for MB86R01 Tom
  0 siblings, 2 replies; 23+ messages in thread
From: Matthias Weisser @ 2010-01-11 17:18 UTC (permalink / raw)
  To: u-boot


This patchset adds support for the MB86R01 'Jade' SoC from Fujitsu. It
is based on a ARM926EJS core.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu
  2010-01-11 17:18 [U-Boot] Adding support for MB86R01 Matthias Weisser
@ 2010-01-11 17:18 ` Matthias Weisser
  2010-01-11 17:18   ` [U-Boot] [PATCH] Add support for Jade display controller Matthias Weisser
  2010-01-16 15:39   ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Tom
  2010-01-16 15:40 ` [U-Boot] Adding support for MB86R01 Tom
  1 sibling, 2 replies; 23+ messages in thread
From: Matthias Weisser @ 2010-01-11 17:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
---
 common/serial.c                      |    3 +-
 cpu/arm926ejs/jade/Makefile          |   47 +++++++++
 cpu/arm926ejs/jade/reset.c           |   37 ++++++++
 cpu/arm926ejs/jade/timer.c           |  127 +++++++++++++++++++++++++
 include/asm-arm/arch-jade/hardware.h |   31 ++++++
 include/asm-arm/arch-jade/jade.h     |  170 ++++++++++++++++++++++++++++++++++
 include/serial.h                     |    3 +-
 7 files changed, 416 insertions(+), 2 deletions(-)
 create mode 100644 cpu/arm926ejs/jade/Makefile
 create mode 100644 cpu/arm926ejs/jade/reset.c
 create mode 100644 cpu/arm926ejs/jade/timer.c
 create mode 100644 include/asm-arm/arch-jade/hardware.h
 create mode 100644 include/asm-arm/arch-jade/jade.h

diff --git a/common/serial.c b/common/serial.c
index 5f9ffd7..7397608 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -41,7 +41,8 @@ struct serial_device *__default_serial_console (void)
 #elif defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) \
    || defined(CONFIG_405EP) || defined(CONFIG_405EZ) || defined(CONFIG_405EX) \
    || defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC83xx) \
-   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
+   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) \
+   || defined(CONFIG_JADE)
 #if defined(CONFIG_CONS_INDEX) && defined(CONFIG_SYS_NS16550_SERIAL)
 #if (CONFIG_CONS_INDEX==1)
 	return &eserial1_device;
diff --git a/cpu/arm926ejs/jade/Makefile b/cpu/arm926ejs/jade/Makefile
new file mode 100644
index 0000000..360f046
--- /dev/null
+++ b/cpu/arm926ejs/jade/Makefile
@@ -0,0 +1,47 @@
+#
+# (C) Copyright 2000-2006
+# 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$(SOC).a
+
+COBJS	= timer.o reset.o
+SOBJS	=
+
+SRCS	:= $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS))
+START	:= $(addprefix $(obj),$(START))
+
+all:	$(obj).depend $(LIB)
+
+$(LIB):	$(OBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/cpu/arm926ejs/jade/reset.c b/cpu/arm926ejs/jade/reset.c
new file mode 100644
index 0000000..820c3a1
--- /dev/null
+++ b/cpu/arm926ejs/jade/reset.c
@@ -0,0 +1,37 @@
+/*
+ * (C) Copyright 2009
+ * Matthias Weisser <matthias.weisser@graf-syteco.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 <common.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+
+/*
+ * Reset the cpu by setting software reset request bit
+ */
+void reset_cpu(ulong ignored)
+{
+	writel(0x00000002, JADE_CRG_PHYS_BASE + CRG_CRSR);
+	while (1)
+		/* NOP */;
+	/* Never reached */
+}
diff --git a/cpu/arm926ejs/jade/timer.c b/cpu/arm926ejs/jade/timer.c
new file mode 100644
index 0000000..bc20f37
--- /dev/null
+++ b/cpu/arm926ejs/jade/timer.c
@@ -0,0 +1,127 @@
+/*
+ * (C) Copyright 2007-2008
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
+ * Lead Tech Design <www.leadtechdesign.com>
+ * Matthias Weisser <matthias.weisser@graf-syteco.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 <common.h>
+#include <div64.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+
+#define TIMER_LOAD_VAL		0xffffffff
+#define TIMER_BASE		JADE_TIMER_PHYS_BASE
+
+#define TIMER_REG_LOAD		(TIMER_BASE + 0)
+#define TIMER_REG_VALUE		(TIMER_BASE + 4)
+#define TIMER_REG_CONTROL	(TIMER_BASE + 8)
+
+#define TIMER_FREQ		(CONFIG_JADE_IOCLK  / 16)
+
+static ulong timestamp;
+static ulong lastdec;
+
+static inline unsigned long long tick_to_time(unsigned long long tick)
+{
+	tick *= CONFIG_SYS_HZ;
+	do_div(tick, TIMER_FREQ);
+
+	return tick;
+}
+
+static inline unsigned long long usec_to_tick(unsigned long long usec)
+{
+	usec *= TIMER_FREQ;
+	do_div(usec, 1000000);
+
+	return usec;
+}
+
+/* nothing really to do with interrupts, just starts up a counter. */
+int timer_init(void)
+{
+	writel(TIMER_LOAD_VAL, TIMER_REG_LOAD);
+	writel(0x86, TIMER_REG_CONTROL);
+
+	reset_timer_masked();
+
+	return 0;
+}
+
+/*
+ * timer without interrupts
+ */
+unsigned long long get_ticks(void)
+{
+	ulong now = readl(TIMER_REG_VALUE);
+
+	if (now <= lastdec)	/* normal mode (non roll) */
+		/* move stamp forward with absolut diff ticks */
+		timestamp += (lastdec - now);
+	else			/* we have rollover of incrementer */
+		timestamp += lastdec + TIMER_LOAD_VAL - now;
+	lastdec = now;
+	return timestamp;
+}
+
+void reset_timer_masked(void)
+{
+	/* reset time */
+	lastdec = readl(TIMER_REG_VALUE);
+	timestamp = 0;
+}
+
+ulong get_timer_masked(void)
+{
+	return tick_to_time(get_ticks());
+}
+
+void __udelay(unsigned long usec)
+{
+	unsigned long long tmp;
+	ulong tmo;
+
+	tmo = usec_to_tick(usec);
+	tmp = get_ticks() + tmo;	/* get current timestamp */
+
+	while (get_ticks() < tmp)	/* loop till event */
+		/*NOP*/;
+}
+
+void reset_timer(void)
+{
+	reset_timer_masked();
+}
+
+ulong get_timer(ulong base)
+{
+	return get_timer_masked() - base;
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk(void)
+{
+	return CONFIG_SYS_HZ;
+}
diff --git a/include/asm-arm/arch-jade/hardware.h b/include/asm-arm/arch-jade/hardware.h
new file mode 100644
index 0000000..a26bdca
--- /dev/null
+++ b/include/asm-arm/arch-jade/hardware.h
@@ -0,0 +1,31 @@
+/*
+ * (C) Copyright 2007
+ *
+ * Author : Carsten Schneider, mycable GmbH
+ *          <cs@mycable.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
+ */
+#ifndef __ASM_ARCH_HARDWARE_H
+#define __ASM_ARCH_HARDWARE_H
+
+#include <asm/sizes.h>
+#include <asm/arch/jade.h>
+
+#endif
diff --git a/include/asm-arm/arch-jade/jade.h b/include/asm-arm/arch-jade/jade.h
new file mode 100644
index 0000000..8640a62
--- /dev/null
+++ b/include/asm-arm/arch-jade/jade.h
@@ -0,0 +1,170 @@
+/*
+ * (C) Copyright 2007
+ *
+ * jade definitions
+ *
+ * Author : Carsten Schneider, mycable GmbH
+ *          <cs@mycable.de>
+ *
+ * (C) Copyright 2009
+ * Matthias Weisser <matthias.weisser@graf-syteco.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
+ */
+
+#ifndef JADE_H
+#define JADE_H
+
+#ifndef __ASSEMBLY__
+
+/* GPIO registers */
+struct jade_gpio{
+	uint32_t gpdr0;
+	uint32_t gpdr1;
+	uint32_t gpdr2;
+	uint32_t res;
+	uint32_t gpddr0;
+	uint32_t gpddr1;
+	uint32_t gpddr2;
+};
+
+/* PWM registers */
+struct jade_pwm{
+	uint32_t bcr;
+	uint32_t tpr;
+	uint32_t pr;
+	uint32_t dr;
+	uint32_t cr;
+	uint32_t sr;
+	uint32_t ccr;
+	uint32_t ir;
+};
+
+/* The jade chip control (CCNT) register set. */
+struct jade_ccnt{
+	uint32_t ccid;
+	uint32_t csrst;
+	uint32_t pad0[2];
+	uint32_t cist;
+	uint32_t cistm;
+	uint32_t cgpio_ist;
+	uint32_t cgpio_istm;
+	uint32_t cgpio_ip;
+	uint32_t cgpio_im;
+	uint32_t caxi_bw;
+	uint32_t caxi_ps;
+	uint32_t cmux_md;
+	uint32_t cex_pin_st;
+	uint32_t cmlb;
+	uint32_t pad1[1];
+	uint32_t cusb;
+	uint32_t pad2[41];
+	uint32_t cbsc;
+	uint32_t cdcrc;
+	uint32_t cmsr0;
+	uint32_t cmsr1;
+	uint32_t pad3[2];
+};
+
+#endif /* __ASSEMBLY__ */
+
+/*
+ * Physical Address Defines
+ */
+#define JADE_DDR2C_PHYS_BASE		0xf3000000
+#define JADE_GDC_PHYS_BASE		0xf1fc0000
+#define JADE_GDC_DISP0_PHYS_BASE	0xf1fd0000
+#define JADE_GDC_DISP1_PHYS_BASE	0xf1fd2000
+#define JADE_CCNT_PHYS_BASE		0xfff42000
+#define JADE_CAN0_PHYS_BASE		0xfff54000
+#define JADE_CAN1_PHYS_BASE		0xfff55000
+#define JADE_I2C0_PHYS_BASE		0xfff56000
+#define JADE_I2C1_PHYS_BASE		0xfff57000
+#define JADE_EHCI_PHYS_BASE		0xfff80000
+#define JADE_OHCI_PHYS_BASE		0xfff81000
+#define JADE_IRC1_PHYS_BASE		0xfffb0000
+#define JADE_MEMC_PHYS_BASE		0xfffc0000
+#define JADE_TIMER_PHYS_BASE		0xfffe0000
+#define JADE_UART0_PHYS_BASE		0xfffe1000
+#define JADE_UART1_PHYS_BASE		0xfffe2000
+#define JADE_IRCE_PHYS_BASE		0xfffe4000
+#define JADE_CRG_PHYS_BASE		0xfffe7000
+#define JADE_IRC0_PHYS_BASE		0xfffe8000
+#define JADE_GPIO_PHYS_BASE		0xfffe9000
+#define JADE_PWM0_PHYS_BASE		0xfff41000
+#define JADE_PWM1_PHYS_BASE		0xfff41100
+
+/*
+ * Offset definitions for DRAM controller
+ */
+#define DDR2C_DRIC		0x00
+#define DDR2C_DRIC1		0x02
+#define DDR2C_DRIC2		0x04
+#define DDR2C_DRCA		0x06
+#define DDR2C_DRCM		0x08
+#define DDR2C_DRCST1		0x0a
+#define DDR2C_DRCST2		0x0c
+#define DDR2C_DRCR		0x0e
+#define DDR2C_DRCF		0x20
+#define DDR2C_DRASR		0x30
+#define DDR2C_DRIMS		0x50
+#define DDR2C_DROS		0x60
+#define DDR2C_DRIBSLI		0x62
+#define DDR2C_DRIBSODT1		0x64
+#define DDR2C_DRIBSOCD		0x66
+#define DDR2C_DRIBSOCD2		0x68
+#define DDR2C_DROABA		0x70
+#define DDR2C_DROBV		0x80
+#define DDR2C_DROBS		0x84
+#define DDR2C_DROBSR1		0x86
+#define DDR2C_DROBSR2		0x88
+#define DDR2C_DROBSR3		0x8a
+#define DDR2C_DROBSR4		0x8c
+#define DDR2C_DRIMR1		0x90
+#define DDR2C_DRIMR2		0x92
+#define DDR2C_DRIMR3		0x94
+#define DDR2C_DRIMR4		0x96
+#define DDR2C_DROISR1		0x98
+#define DDR2C_DROISR2		0x9a
+
+/*
+ * Offset definitions Chip Control Module
+ */
+#define CCNT_CCID		0x00
+#define CCNT_CSRST		0x1c
+#define CCNT_CIST		0x20
+#define CCNT_CISTM		0x24
+#define CCNT_CMUX_MD		0x30
+#define CCNT_CDCRC		0xec
+
+/*
+ * Offset definitions clock reset generator
+ */
+#define CRG_CRPR		0x00
+#define CRG_CRWR		0x08
+#define CRG_CRSR		0x0c
+#define CRG_CRDA		0x10
+#define CRG_CRDB		0x14
+#define CRG_CRHA		0x18
+#define CRG_CRPA		0x1c
+#define CRG_CRPB		0x20
+#define CRG_CRHB		0x24
+#define CRG_CRAM		0x28
+
+#endif /* jade_H */
diff --git a/include/serial.h b/include/serial.h
index f2638ec..a560c71 100644
--- a/include/serial.h
+++ b/include/serial.h
@@ -25,7 +25,8 @@ extern struct serial_device * default_serial_console (void);
 #if defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) || \
     defined(CONFIG_405EP) || defined(CONFIG_405EZ) || defined(CONFIG_405EX) || \
     defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC83xx) || \
-    defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
+    defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) || \
+    defined(CONFIG_JADE)
 extern struct serial_device serial0_device;
 extern struct serial_device serial1_device;
 #if defined(CONFIG_SYS_NS16550_SERIAL)
-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for Jade display controller
  2010-01-11 17:18 ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Matthias Weisser
@ 2010-01-11 17:18   ` Matthias Weisser
  2010-01-11 17:18     ` [U-Boot] [PATCH] Adding new vendor logo Matthias Weisser
  2010-01-16 16:30     ` [U-Boot] [PATCH] Add support for Jade display controller Tom
  2010-01-16 15:39   ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Tom
  1 sibling, 2 replies; 23+ messages in thread
From: Matthias Weisser @ 2010-01-11 17:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
---
 drivers/video/Makefile      |    1 +
 drivers/video/cfb_console.c |    2 +-
 drivers/video/jadegdc.c     |  193 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 195 insertions(+), 1 deletions(-)
 create mode 100644 drivers/video/jadegdc.c

diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index bb6b5a0..aadc149 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -30,6 +30,7 @@ COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o
 COBJS-$(CONFIG_CFB_CONSOLE) += cfb_console.o
 COBJS-$(CONFIG_S6E63D6) += s6e63d6.o
 COBJS-$(CONFIG_VIDEO_CT69000) += ct69000.o
+COBJS-$(CONFIG_VIDEO_JADEGDC) += jadegdc.o
 COBJS-$(CONFIG_VIDEO_MB862xx) += mb862xx.o
 COBJS-$(CONFIG_VIDEO_MX3) += mx3fb.o
 COBJS-$(CONFIG_VIDEO_SED13806) += sed13806.o
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index c07a26e..506337b 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -321,7 +321,7 @@ void	console_cursor (int state);
 #else
 #define SWAP16(x)	 (x)
 #define SWAP32(x)	 (x)
-#if defined(VIDEO_FB_16BPP_WORD_SWAP)
+#if defined(VIDEO_FB_16BPP_WORD_SWAP) || defined(CONFIG_VIDEO_JADEGDC)
 #define SHORTSWAP32(x)	 ( ((x) >> 16) | ((x) << 16) )
 #else
 #define SHORTSWAP32(x)	 (x)
diff --git a/drivers/video/jadegdc.c b/drivers/video/jadegdc.c
new file mode 100644
index 0000000..354de11
--- /dev/null
+++ b/drivers/video/jadegdc.c
@@ -0,0 +1,193 @@
+/*
+ * (C) Copyright 2007-2009
+ * Matthias Weisser <matthias.weisser@graf-syteco.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
+ */
+
+/*
+ * jade.c - Graphic interface for Fujitsu Jade integrated graphic
+ * controller. Derived from mb862xx.c
+ */
+
+#include <common.h>
+
+#include <malloc.h>
+#include <mb862xx.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+#include <video_fb.h>
+#include "videomodes.h"
+
+/*
+ * 4MB (at the end of system RAM)
+ */
+#define VIDEO_MEM_SIZE		0x400000
+
+/*
+ * Graphic Device
+ */
+GraphicDevice jadegdc;
+
+void *video_hw_init(void)
+{
+	GraphicDevice *pGD = &jadegdc;
+	struct ctfb_res_modes var_mode[2];
+	unsigned long *vid;
+	unsigned long div;
+	unsigned long dspBase[2];
+	char *penv;
+	int bpp;
+	int i, j;
+
+	memset(pGD, 0, sizeof(GraphicDevice));
+
+	dspBase[0] = JADE_GDC_DISP0_PHYS_BASE;
+	dspBase[1] = JADE_GDC_DISP1_PHYS_BASE;
+
+	pGD->gdfIndex = GDF_15BIT_555RGB;
+	pGD->gdfBytesPP = 2;
+
+	pGD->memSize = VIDEO_MEM_SIZE;
+	pGD->frameAdrs = PHYS_SDRAM + PHYS_SDRAM_SIZE - VIDEO_MEM_SIZE;
+	vid = (unsigned long *)pGD->frameAdrs;
+
+	for (i = 0; i < 2; i++) {
+		char varName[32];
+		u32 dcm1, dcm2, dcm3;
+		u16 htp, hdp, hdb, hsp, vtr, vsp, vdp;
+		u8 hsw, vsw;
+		u32 l2m, l2em, l2oa0, l2da0, l2oa1, l2da1;
+		u16 l2dx, l2dy, l2wx, l2wy, l2ww, l2wh;
+
+		sprintf(varName, "gs_dsp_%d_param", i);
+
+		penv = getenv(varName);
+		if (penv == NULL) {
+			penv = getenv("videomode");
+			if ((i == 1) || (penv == NULL))
+				continue;
+		}
+
+		bpp = 0;
+		bpp = video_get_params(&var_mode[i], penv);
+
+		if (bpp == 0) {
+			var_mode[i].xres = 640;
+			var_mode[i].yres = 480;
+			var_mode[i].pixclock = 39721;	/* 25MHz */
+			var_mode[i].left_margin = 48;
+			var_mode[i].right_margin = 16;
+			var_mode[i].upper_margin = 33;
+			var_mode[i].lower_margin = 10;
+			var_mode[i].hsync_len = 96;
+			var_mode[i].vsync_len = 2;
+			var_mode[i].sync = 0;
+			var_mode[i].vmode = 0;
+		}
+
+		for (j = 0; j < var_mode[i].xres * var_mode[i].yres / 2; j++)
+			*vid++ = 0xFFFFFFFF;
+
+		pGD->winSizeX = var_mode[i].xres;
+		pGD->winSizeY = var_mode[i].yres;
+
+		/* LCD base clock is ~ 660MHZ. We do calculations in kHz */
+		div = 660000 / (1000000000L / var_mode[i].pixclock);
+		if (div > 64)
+			div = 64;
+		if (0 == div)
+			div = 1;
+
+		dcm1 = (div - 1) << 8;
+		dcm2 = 0x00000000;
+		dcm3 = 0x00000000;
+
+		htp = var_mode[i].left_margin + var_mode[i].xres +
+			var_mode[i].hsync_len + var_mode[i].right_margin;
+		hdp = var_mode[i].xres;
+		hdb = var_mode[i].xres;
+		hsp = var_mode[i].xres + var_mode[i].right_margin;
+		hsw = var_mode[i].hsync_len;
+
+		vsw = var_mode[i].vsync_len;
+		vtr = var_mode[i].upper_margin + var_mode[i].yres +
+			var_mode[i].vsync_len + var_mode[i].lower_margin;
+		vsp = var_mode[i].yres + var_mode[i].lower_margin;
+		vdp = var_mode[i].yres;
+
+		l2m =	((var_mode[i].yres - 1) << (0)) |
+			(((var_mode[i].xres * 2) / 64) << (16)) |
+			((1) << (31));
+
+		l2em = (1 << 0) | (1 << 1);
+
+		l2oa0 = pGD->frameAdrs;
+		l2da0 = pGD->frameAdrs;
+		l2oa1 = pGD->frameAdrs;
+		l2da1 = pGD->frameAdrs;
+		l2dx = 0;
+		l2dy = 0;
+		l2wx = 0;
+		l2wy = 0;
+		l2ww = var_mode[i].xres;
+		l2wh = var_mode[i].yres - 1;
+
+		writel(dcm1, dspBase[i] + GC_DCM1);
+		writel(dcm2, dspBase[i] + GC_DCM2);
+		writel(dcm3, dspBase[i] + GC_DCM3);
+
+		writew(htp, dspBase[i] + GC_HTP);
+		writew(hdp, dspBase[i] + GC_HDP);
+		writew(hdb, dspBase[i] + GC_HDB);
+		writew(hsp, dspBase[i] + GC_HSP);
+		writeb(hsw, dspBase[i] + GC_HSW);
+
+		writeb(vsw, dspBase[i] + GC_VSW);
+		writew(vtr, dspBase[i] + GC_VTR);
+		writew(vsp, dspBase[i] + GC_VSP);
+		writew(vdp, dspBase[i] + GC_VDP);
+
+		writel(l2m, dspBase[i] + GC_L2M);
+		writel(l2em, dspBase[i] + GC_L2EM);
+		writel(l2oa0, dspBase[i] + GC_L2OA0);
+		writel(l2da0, dspBase[i] + GC_L2DA0);
+		writel(l2oa1, dspBase[i] + GC_L2OA1);
+		writel(l2da1, dspBase[i] + GC_L2DA1);
+		writew(l2dx, dspBase[i] + GC_L2DX);
+		writew(l2dy, dspBase[i] + GC_L2DY);
+		writew(l2wx, dspBase[i] + GC_L2WX);
+		writew(l2wy, dspBase[i] + GC_L2WY);
+		writew(l2ww, dspBase[i] + GC_L2WW);
+		writew(l2wh, dspBase[i] + GC_L2WH);
+
+		writel(dcm1 | (1 << 18) | (1 << 31), dspBase[i] + GC_DCM1);
+	}
+
+	return pGD;
+}
+
+/*
+ * Set a RGB color in the LUT
+ */
+void video_set_lut(unsigned int index, unsigned char r,
+			unsigned char g, unsigned char b)
+{
+
+}
-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Adding new vendor logo
  2010-01-11 17:18   ` [U-Boot] [PATCH] Add support for Jade display controller Matthias Weisser
@ 2010-01-11 17:18     ` Matthias Weisser
  2010-01-11 17:18       ` [U-Boot] [PATCH] Add support for jadecpu board Matthias Weisser
  2010-01-16 16:43       ` [U-Boot] [PATCH] Adding new vendor logo Tom
  2010-01-16 16:30     ` [U-Boot] [PATCH] Add support for Jade display controller Tom
  1 sibling, 2 replies; 23+ messages in thread
From: Matthias Weisser @ 2010-01-11 17:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
---
 tools/Makefile         |    3 +++
 tools/logos/syteco.bmp |  Bin 0 -> 12278 bytes
 2 files changed, 3 insertions(+), 0 deletions(-)
 create mode 100644 tools/logos/syteco.bmp

diff --git a/tools/Makefile b/tools/Makefile
index 5b8c3c3..702bb83 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -105,6 +105,9 @@ endif
 ifeq ($(VENDOR),ronetix)
 LOGO_BMP= logos/ronetix.bmp
 endif
+ifeq ($(VENDOR),syteco)
+LOGO_BMP= logos/syteco.bmp
+endif
 
 # now $(obj) is defined
 HOSTSRCS += $(addprefix $(SRCTREE)/,$(EXT_OBJ_FILES-y:.o=.c))
diff --git a/tools/logos/syteco.bmp b/tools/logos/syteco.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..141ee8e10edd85caa52b9501e3a4381b81fe772d
GIT binary patch
literal 12278
zcmeI0TdvbE5Qg2PNJwmiH{MtP??`Ncopb>#s;lC)jN^<mx5VSvEtQTf72hWQzx=+$
zhaW%xehW+behuL(l>Wf)7yK^a^U at yw`TZsRu;KA|g!}yt)yLX&3%A>CEstzCFdP^T
zd`t(f&J=<Se1cz6Vz2%xn8}kC7#8>(XPCrZWxxz)aQVUR*)s#%*H9UWBXrEA1QO&t
zYstvm(XSvSGDIqb%bIEx at j1x-j~>EAlo=D;a@~oAc7b6ib0rJDLd at MXyUuWw7M5lh
zfih3b_~Yq<Q0mM4sm&RQGEdX7KJAq(ZPTPs8d(~qNu#u~oQ5$_npsY+84IPE<=mPv
zQ97`kn5KBBu^pKzRr@FeV}ujV0E-%key8+JPwjR%PSg-fL+v?Zuuzm~N*8k07B$EL
zgOci{u%n!(&w*xPvQV*M3>M{ZnIT6kFp5Q@?7&zo5+*A-3K2%KXp{&O|B7Qh)*L|?
zpC$*w76J<5c_x at E8fJ%u!)!vHl9NR{v&%xA at eq(0pD%ivp1}fG^iANr-ANEg*UW!q
z5!3Wi7BY`!(b&_ei5$V^gNKdw934IaoiAk}Vud1NtB)*p`12iK3IL=Vr3MQz1&YHL
z?g!T5(G$}<te52r@ir{UnfLG|IrA<o(V5;X`SwN+d0eDBdHS-))l0rbu^5}`5<7SE
zRg$sjdj!8hEd8L`mjx~<>uXXIGz-iLz0M#^oeMge`4T14zy+4)zzCKVrZ7jqYdS;U
zK)-geMY1HAGK&er_EJ$=1t^vU#=&C1z*A)XDyd=veR|!7ux30g3PzkUMQIhlSTc-@
zMZgG@*7F4qsH=~K!AO*L798Qkj$n(W{oIW!FU?{FOAaOLb{j}7ih~CEHp_s~Z*R(>
z0tFpD&{ka*OeKq?NOh&;XfR-ESl~bKOcsZ-5uyjHVwp at 9L&w#mVCq;V!xxvX86;tv
zS at 1$`sudaqOe;&gcN7#4x;acE%W?(k1=GfoP<lDj#DXX-Fy!*w!m^>X!E6i4`vtgM
zK%4GqiqZ>a!!mBRTo7yU$TR*rpd^+A%JbZc6eD%0s`up(SQ{|tgv^IC(h;nGKxaB^
J$T5U;;2&8xIXwUX

literal 0
HcmV?d00001

-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-11 17:18     ` [U-Boot] [PATCH] Adding new vendor logo Matthias Weisser
@ 2010-01-11 17:18       ` Matthias Weisser
  2010-01-16 19:18         ` Tom
  2010-01-16 16:43       ` [U-Boot] [PATCH] Adding new vendor logo Tom
  1 sibling, 1 reply; 23+ messages in thread
From: Matthias Weisser @ 2010-01-11 17:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
---
 MAINTAINERS                          |    4 +
 MAKEALL                              |    1 +
 Makefile                             |    7 +
 board/syteco/jadecpu/Makefile        |   55 +++++++
 board/syteco/jadecpu/config.mk       |    1 +
 board/syteco/jadecpu/jadecpu.c       |  188 +++++++++++++++++++++++
 board/syteco/jadecpu/lowlevel_init.S |  279 ++++++++++++++++++++++++++++++++++
 include/configs/jadecpu.h            |  187 +++++++++++++++++++++++
 8 files changed, 722 insertions(+), 0 deletions(-)
 create mode 100644 board/syteco/jadecpu/Makefile
 create mode 100644 board/syteco/jadecpu/config.mk
 create mode 100644 board/syteco/jadecpu/jadecpu.c
 create mode 100644 board/syteco/jadecpu/lowlevel_init.S
 create mode 100644 include/configs/jadecpu.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 9734b1d..706e847 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -744,6 +744,10 @@ Prafulla Wadaskar <prafulla@marvell.com>
 	rd6281a		ARM926EJS (Kirkwood SoC)
 	sheevaplug	ARM926EJS (Kirkwood SoC)
 
+Matthias Weisser <matthias.weisser@graf-syteco.de>
+
+	jadecpu		ARM926EJS
+
 Richard Woodruff <r-woodruff2@ti.com>
 
 	omap2420h4	ARM1136EJS
diff --git a/MAKEALL b/MAKEALL
index ab1bb6f..33b1dc6 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -553,6 +553,7 @@ LIST_ARM9="			\
 	cp966			\
 	da830evm		\
 	imx27lite		\
+	jadecpu			\
 	lpd7a400		\
 	mv88f6281gtw_ge		\
 	mx1ads			\
diff --git a/Makefile b/Makefile
index ed6156f..98c147d 100644
--- a/Makefile
+++ b/Makefile
@@ -2874,6 +2874,13 @@ TNY_A9260_config	:	unconfig
 	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
 	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
 
+#########################################################################
+## ARM926EJ-S Systems
+#########################################################################
+
+jadecpu_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm926ejs jadecpu syteco jade
+
 ########################################################################
 ## ARM Integrator boards - see doc/README-integrator for more info.
 integratorap_config	\
diff --git a/board/syteco/jadecpu/Makefile b/board/syteco/jadecpu/Makefile
new file mode 100644
index 0000000..87d2234
--- /dev/null
+++ b/board/syteco/jadecpu/Makefile
@@ -0,0 +1,55 @@
+#
+# (C) Copyright 2003-2008
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# (C) Copyright 2008
+# Stelian Pop <stelian.pop@leadtechdesign.com>
+# Lead Tech Design <www.leadtechdesign.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
+
+LIB	= $(obj)lib$(BOARD).a
+
+COBJS-y	+= jadecpu.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS-y))
+SOBJS	:= $(addprefix $(obj),$(SOBJS))
+
+$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
+	$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+
+clean:
+	rm -f $(SOBJS) $(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/syteco/jadecpu/config.mk b/board/syteco/jadecpu/config.mk
new file mode 100644
index 0000000..c661f0b
--- /dev/null
+++ b/board/syteco/jadecpu/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0x46000000
diff --git a/board/syteco/jadecpu/jadecpu.c b/board/syteco/jadecpu/jadecpu.c
new file mode 100644
index 0000000..aba3e54
--- /dev/null
+++ b/board/syteco/jadecpu/jadecpu.c
@@ -0,0 +1,188 @@
+/*
+ * (c) 2009 Graf-Syteco, Matthias Weisser
+ * <matthias.weisser@graf-syteco.de>
+ *
+ * (C) Copyright 2007, mycable GmbH
+ * Carsten Schneider <cs@mycable.de>, Alexander Bigga <ab@mycable.de>
+ *
+ * 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 <netdev.h>
+#include <asm/io.h>
+#include <asm/arch/jade.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#if defined(CONFIG_SHOW_BOOT_PROGRESS)
+void show_boot_progress(int progress)
+{
+	printf("Boot reached stage %d\n", progress);
+}
+#endif
+
+/*
+ * Miscellaneous platform dependent initialisations
+ */
+int board_init(void)
+{
+	struct jade_ccnt * ccnt = (struct jade_ccnt *)JADE_CCNT_PHYS_BASE;
+
+	/* We select mode 0 for group 2 and mode 1 for group 4 */
+	writel(0x00000010, &ccnt->cmux_md);
+
+	gd->flags = 0;
+
+	icache_enable();
+
+	return 0;
+}
+
+int board_late_init(void)
+{
+	struct jade_gpio *gpio = (struct jade_gpio *)JADE_GPIO_PHYS_BASE;
+	struct jade_pwm *pwm;
+	uint32_t in_word;
+	const char *e;
+	const char *s;
+
+	/* Check if we have valid display settings and turn on power if so*/
+	/* Display 0 */
+	if (getenv("gs_dsp_0_param")) {
+		writel(readl(&gpio->gpdr2) | (1 << 3), &gpio->gpdr2);
+
+		e = getenv("gs_dsp_0_pwm");
+		if (e != NULL) {
+			uint32_t freq, init;
+
+			freq = 0;
+			init = 0;
+
+			s = strchr(e, 'f');
+			if (s != NULL)
+				freq = simple_strtol(s + 2, NULL, 0);
+
+			s = strchr(e, 'i');
+			if (s != NULL)
+				init = simple_strtol(s + 2, NULL, 0);
+
+			if (freq > 0) {
+				pwm = (struct jade_pwm *)JADE_PWM0_PHYS_BASE;
+
+				writel(CONFIG_JADE_IOCLK / 1000 / freq,
+					&pwm->bcr);
+				writel(1002, &pwm->tpr);
+				writel(1, &pwm->pr);
+				writel(init * 10 + 1, &pwm->dr);
+				writel(1, &pwm->cr);
+				writel(1, &pwm->sr);
+			}
+		}
+	}
+	writel(readl(&gpio->gpddr2) | (1 << 3), &gpio->gpddr2);
+
+	/* Display 1 */
+	if (getenv("gs_dsp_1_param")) {
+		writel(readl(&gpio->gpdr2) | (1 << 4), &gpio->gpdr2);
+
+		e = getenv("gs_dsp_1_pwm");
+		if (e != NULL) {
+			uint32_t freq, init;
+
+			freq = 0;
+			init = 0;
+
+			s = strchr(e, 'f');
+			if (s != NULL)
+				freq = simple_strtol(s + 2, NULL, 0);
+
+			s = strchr(e, 'i');
+			if (s != NULL)
+				init = simple_strtol(s + 2, NULL, 0);
+
+			if (freq > 0) {
+				pwm = (struct jade_pwm *)JADE_PWM1_PHYS_BASE;
+
+				writel(CONFIG_JADE_IOCLK / 1000 / freq,
+					&pwm->bcr);
+				writel(1002, &pwm->tpr);
+				writel(1, &pwm->pr);
+				writel(init * 10 + 1, &pwm->dr);
+				writel(1, &pwm->cr);
+				writel(1, &pwm->sr);
+			}
+		}
+	}
+	writel(readl(&gpio->gpddr2) | (1 << 4), &gpio->gpddr2);
+
+	/* 5V enable */
+	writel(readl(&gpio->gpddr1) | (1 << 5), &gpio->gpddr1);
+	writel(readl(&gpio->gpdr1) & ~(1 << 5), &gpio->gpdr1);
+
+	/* We have special boot options if told by GPIOs */
+	in_word = readl(&gpio->gpdr1);
+
+	if ((in_word & 0xC0) == 0xC0) {
+		setenv("stdin", "eserial0");
+		setenv("stdout", "eserial0");
+		setenv("stderr", "eserial0");
+		setenv("bootdelay", "10");
+	} else if ((in_word & 0xC0) != 0) {
+		setenv("stdout", "vga");
+		setenv("bootcmd", "mw.l 0x40000000 0 1024; usb start;"
+			"fatls usb 0; fatload usb 0 0x40000000 mcq5resq.bin;"
+			"bootelf 0x40000000; bootelf 0x10080000");
+		setenv("bootdelay", "5");
+	} else{
+		setenv("stdin", "serial");
+		setenv("stdout", "serial");
+		setenv("stderr", "serial");
+		if (getenv("gs_devel"))
+			setenv("bootdelay", "5");
+		else
+			setenv("bootdelay", "0");
+	}
+
+	return 0;
+}
+
+int misc_init_r(void)
+{
+	setenv("verify", "n");
+	return 0;
+}
+
+/*
+ * DRAM configuration
+ */
+int dram_init(void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM;
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
+
+	return 0;
+}
+
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_SMC911X
+	rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
+#endif
+	return rc;
+}
+
diff --git a/board/syteco/jadecpu/lowlevel_init.S b/board/syteco/jadecpu/lowlevel_init.S
new file mode 100644
index 0000000..73550c9
--- /dev/null
+++ b/board/syteco/jadecpu/lowlevel_init.S
@@ -0,0 +1,279 @@
+/*
+ * Board specific setup info
+ *
+ * (C) Copyright 2007, mycable GmbH
+ * Carsten Schneider <cs@mycable.de>, Alexander Bigga <ab@mycable.de>
+ *
+ * (C) Copyright 2007, mycable GmbH
+ * Carsten Schneider <cs@mycable.de>, Alexander Bigga <ab@mycable.de>
+ *
+ * (C) Copyright 2003, ARM Ltd.
+ * Philippe Robin, <philippe.robin@arm.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 <config.h>
+#include <version.h>
+#include <asm/macro.h>
+#include <asm/arch/jade.h>
+
+/* Set up the platform, once the cpu has been initialized */
+.globl lowlevel_init
+lowlevel_init:
+/*
+ * Initialize Clock Reset Generator (CRG)
+ */
+
+	ldr		r0, =JADE_CRG_PHYS_BASE
+
+	/* Not change the initial value that is set by external pin.*/
+1:	ldr		r2, [r0, #CRG_CRPR]	/* Wait for PLLREADY */
+	tst		r2, #0x00000100
+	beq		1b
+
+	/* Set clock gate control */
+	ldr		r1, =0x0000ffff		/* Open */
+	str		r1, [r0, #CRG_CRHA]	/* CRHA: AHB clock */
+	ldr		r1, =0x0000ffff		/* Open */
+	str		r1, [r0, #CRG_CRPA]	/* CRPA: APB-A clock */
+	ldr		r1, =0xfffffffe		/* Close */
+	str		r1, [r0, #CRG_CRPB]	/* CRPA: APB-B clock */
+	ldr		r1, =0x0000ffff		/* Open */
+	str		r1, [r0, #CRG_CRHB]	/* CRHB: ExtAHB clock */
+	ldr		r1, =0xffffffef		/* Open ARM926EJ-S only */
+	str		r1, [r0, #CRG_CRAM]	/* CRAM: ARM core clock */
+
+/*
+ * Initialize External Bus Interface
+ */
+
+	ldr		r0, =JADE_MEMC_PHYS_BASE
+
+	/*
+	 * SRAM/flash _mode_ registers (XCS4 is set by external pin)
+	 * XCS0: Ethernet Controller
+	 * XCS2: not used (?)
+	 * XCS4: Flash
+	 */
+	ldr		r1, =0x00000001		/* XCS0: 16bit */
+	str		r1, [r0, #0x00]
+	ldr		r1, =0x00000001		/* XCS2: 16bit */
+	str		r1, [r0, #0x08]
+	ldr		r1, =0x00000021		/* XCS4: 16bit, */
+	str		r1, [r0, #0x10]
+
+	/* SRAM/flash _timing_ registers (HCLK=83.3/80MHz) */
+	ldr		r1, =0x03061008		/* XCS0: FPGA*/
+	str		r1, [r0, #0x20]
+	ldr		r1, =0x03061008		/* XCS2: Ethernet */
+	str		r1, [r0, #0x28]
+	ldr		r1, =0x03061804		/* XCS4: FLASH ROM */
+	str		r1, [r0, #0x30]
+
+	/* SRAM/flash _area_ registers (address of XCS4 is set by hardware) */
+	ldr		r1, =0x000000c0		/* XCS0: 0x0c000000/1MB */
+	str		r1, [r0, #0x40]
+	ldr		r1, =0x00000020		/* XCS2: 0x02000000/1MB */
+	str		r1, [r0, #0x48]
+	ldr		r1, =0x001f0000		/* XCS4: 32 MB */
+	str		r1, [r0, #0x50]
+
+/*
+ * Initialize DDR2 Controller
+ */
+
+	/* Wait for PLL LOCK up time or more */
+	wait_timer	20
+
+	/*
+	 * (2) Initialize DDRIF
+	 */
+	ldr	r0, =JADE_DDR2C_PHYS_BASE
+	ldr	r1, =0x5555
+	strh	r1, [r0, #DDR2C_DRIMS]
+
+	/*
+	 * (3) Wait for 20MCKPs(120nsec) or more
+	 */
+	wait_timer	20
+
+	/*
+	 * (4) IRESET/IUSRRST release
+	/*
+	ldr	r0, =JADE_CCNT_PHYS_BASE
+	ldr	r1, =0x00000002
+	str	r1, [r0, #CCNT_CDCRC]
+
+	/*
+	 * (5) Wait for 20MCKPs(120nsec) or more
+	 */
+	wait_timer	20
+
+	/*
+	 * (6) IDLLRST release
+	 */
+	ldr	r0, =JADE_CCNT_PHYS_BASE
+	ldr	r1, =0x00000003
+	str	r1, [r0, #CCNT_CDCRC]
+
+	/*
+	 * (7+8) Wait for 200us(=200000ns) or more (DDR2 Spec)
+	 */
+	wait_timer	33536
+
+	/*
+	 * (9) MCKE ON
+	 */
+	ldr	r0, =JADE_DDR2C_PHYS_BASE
+	ldr	r1, =0x003f
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0000
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc124		/* 512Mbit DDR2SDRAM x 2 */
+	strh	r1, [r0, #DDR2C_DRCA]
+	ldr	r1, =0xc000
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	/*
+	 * (10) Initialize SDRAM
+	 */
+
+	ldr	r1, =0xc001		/* NOP Command */
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	wait_timer	67			/* 400ns wait */
+
+	ldr	r1, =0x0017		/* PALL Command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0400
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0006		/* EMR(2) command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0000
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0007		/* EMR(3) command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0000
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0005		/* EMR(1) command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0000		/* Extended Mode Register 1 clear*/
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0004		/* MRS command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0532		/* Mode Register */
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	wait_timer 200
+
+	ldr	r1, =0x0017		/* PALL command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0400
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x000f		/* REF command 1 */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0000		/* (changed) */
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	wait_timer	18			/* 105ns wait */
+
+	ldr	r1, =0x0004		/* MRS command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0432
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	wait_timer	200			/* MRS to OCD: 200clock */
+
+	ldr	r1, =0x0005		/* EMR(1) command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	ldr	r1, =0x0380		/* Extended Mode Register 1 set OCD */
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0005		/* EMR(1) command */
+	strh	r1, [r0, #DDR2C_DRIC1]
+	/* ldr  r1, =0x0044 */
+	ldr	r1, =0x0002		/* EMR(1) set reduced strength */
+	strh	r1, [r0, #DDR2C_DRIC2]
+	ldr	r1, =0xc001
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	ldr	r1, =0x0032		/* Set BT, AL, CL, BL */
+	strh	r1, [r0, #DDR2C_DRCM]
+
+	ldr	r1, =0x3418		/* Set tRCD, tRAS, tRP, tRC */
+	strh	r1, [r0, #DDR2C_DRCST1]
+
+	/* ldr	r1, =0x2e22 */		/* Set tRFC, tRRD, tWR */
+	ldr	r1, =0x6e32
+	strh	r1, [r0, #DDR2C_DRCST2]
+
+	/* ldr	r1, =0x0051 */		/* Set CNTL, REF_CNT*/
+	ldr	r1, =0x0141		/* (changed) */
+	strh	r1, [r0, #DDR2C_DRCR]
+
+	ldr	r1, =0x0002		/* Set Address FIFO (8 steps) */
+	strh	r1, [r0, #DDR2C_DRCF]
+
+	ldr	r1, =0x0001		/* Enable AXI Cache */
+	strh	r1, [r0, #DDR2C_DRASR]
+
+	/*
+	 * (11) ODT setting
+	 */
+	ldr	r1, =0x0001
+	strh	r1, [r0, #DDR2C_DROBS]
+	ldr	r1, =0x0103		/* ODT auto adjustment on */
+	strh	r1, [r0, #DDR2C_DROABA]
+	ldr	r1, =0x003F		/* Set ODT to on 50/100 Ohm */
+	strh	r1, [r0, #DDR2C_DRIBSODT1]
+
+	/*
+	 * (12) Shift to ODTCONT ON (SDRAM side) and DDR2C usual operation mode
+	 */
+	ldr	r1, =0x0001
+	strh	r1, [r0, #DDR2C_DROS]
+	ldr	r1, =0x4000
+	strh	r1, [r0, #DDR2C_DRIC]
+
+	mov pc, lr
+
diff --git a/include/configs/jadecpu.h b/include/configs/jadecpu.h
new file mode 100644
index 0000000..5a19abf
--- /dev/null
+++ b/include/configs/jadecpu.h
@@ -0,0 +1,187 @@
+/*
+ * (C) Copyright 2007-2008
+ * Matthias Weisser <matthias.weisser@graf-syteco.de>
+ *
+ * Configuation settings for the AT91SAM9260EK & AT91SAM9G20EK boards.
+ *
+ * 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
+
+#define CONFIG_JADE
+#define CONFIG_JADE_IOCLK		(41164767)
+#define CONFIG_SYS_HZ			(CONFIG_JADE_IOCLK / 16)
+#define CONFIG_SYS_TIMERBASE		0xfffe0000
+
+#define CONFIG_ARM926EJS	1	/* This is an ARM926EJS Core */
+#undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff */
+
+#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs */
+#define CONFIG_SETUP_MEMORY_TAGS 1
+#define CONFIG_INITRD_TAG	1
+#define BOARD_LATE_INIT		1
+
+/*
+ * Hardware drivers
+ */
+
+/*
+ * Serial
+ */
+#define CONFIG_SERIAL_MULTI
+#define CONFIG_SYS_NS16550
+#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
+#define CONFIG_SYS_NS16550_CLK		CONFIG_JADE_IOCLK
+#define CONFIG_SYS_NS16550_COM1		0xfffe1000	/* UART 0 */
+#define CONFIG_SYS_NS16550_COM2		0xfff50000	/* UART 2 (SP) */
+#define CONFIG_SYS_NS16550_COM3		0xfff51000	/* UART 3 */
+#define CONFIG_SYS_NS16550_COM4		0xfff43000	/* UART 4 */
+
+#define CONFIG_CONS_INDEX	4
+
+/*
+ * Ethernet
+ */
+#define CONFIG_NET_MULTI
+#define CONFIG_SMC911X
+#define CONFIG_SMC911X_BASE	0x02000000
+#define CONFIG_SMC911X_16_BIT
+
+/*
+ * Video
+ */
+#define CONFIG_VIDEO
+#define CONFIG_VIDEO_JADEGDC
+#define CONFIG_SYS_WHITE_ON_BLACK
+#define CONFIG_CFB_CONSOLE
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define CONFIG_SYS_CONSOLE_ENV_OVERWRITE
+#define CONFIG_VIDEO_LOGO
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_SPLASH_SCREEN_ALIGN
+#define CONFIG_VIDEO_BMP_LOGO
+#define CONFIG_VIDEO_BMP_GZIP
+#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(800*480 + 256*4 + 10*1024)
+#define VIDEO_KBD_INIT_FCT		0
+#define VIDEO_TSTC_FCT			serial_tstc
+#define VIDEO_GETC_FCT			serial_getc
+
+/*
+ * BOOTP options
+ */
+#define CONFIG_BOOTP_BOOTFILESIZE	1
+#define CONFIG_BOOTP_BOOTPATH		1
+#define CONFIG_BOOTP_GATEWAY		1
+#define CONFIG_BOOTP_HOSTNAME		1
+
+/*
+ * Command line configuration.
+ */
+#include <config_cmd_default.h>
+#undef CONFIG_CMD_BDI
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_IMI
+#undef CONFIG_CMD_IMLS
+#undef CONFIG_CMD_LOADS
+#undef CONFIG_CMD_SOURCE
+#undef CONFIG_CMD_NFS
+#undef CONFIG_CMD_XIMG
+
+#define CONFIG_CMD_IMI		1
+#define CONFIG_CMD_ELF		1
+#define CONFIG_CMD_PING		1
+#define CONFIG_CMD_DHCP		1
+#define CONFIG_CMD_BMP		1
+#define CONFIG_CMD_USB		1
+#define CONFIG_CMD_FAT		1
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
+
+/* USB */
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_SYS_USB_OHCI_REGS_BASE       0xFFF81000
+#define CONFIG_SYS_USB_OHCI_SLOT_NAME       "jadeusb"
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS  1
+#define CONFIG_USB_STORAGE
+#define CONFIG_DOS_PARTITION
+
+/* SDRAM */
+#define CONFIG_NR_DRAM_BANKS	1
+#define PHYS_SDRAM		0x40000000	/* Start address of DDRRAM */
+#define PHYS_SDRAM_SIZE	0x08000000	/* 128 megs */
+
+/*
+ * FLASH and environment organization
+ */
+#define CONFIG_SYS_FLASH_BASE		0x10000000
+#define CONFIG_SYS_MAX_FLASH_BANKS	1
+#define CONFIG_SYS_MAX_FLASH_SECT	256
+#define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_FLASH_BASE
+
+#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x00040000)
+#define CONFIG_ENV_IS_IN_FLASH		1
+#define CONFIG_ENV_SECT_SIZE		(128 * 1024)
+#define CONFIG_ENV_SIZE		(128 * 1024)
+
+/*
+ * CFI FLASH driver setup
+ */
+#define CONFIG_SYS_FLASH_CFI		1
+#define CONFIG_FLASH_CFI_DRIVER	1
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1	/* ~10x faster */
+
+#define CONFIG_SYS_LOAD_ADDR		0x40000000	/* load address */
+
+#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM + (512*1024))
+#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM + PHYS_SDRAM_SIZE)
+
+#define CONFIG_BAUDRATE		115200
+#define CONFIG_SYS_BAUDRATE_TABLE	{115200, 19200, 38400, 57600, 9600 }
+
+#define CONFIG_SYS_PROMPT	"jade> "
+#define CONFIG_SYS_CBSIZE	256
+#define CONFIG_SYS_MAXARGS	16
+#define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) \
+				+ 16)
+#define CONFIG_SYS_LONGHELP	1
+#define CONFIG_CMDLINE_EDITING	1
+
+#define CONFIG_BOOTDELAY	2
+#define CONFIG_AUTOBOOT_KEYED
+#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay
+#define CONFIG_AUTOBOOT_DELAY_STR	"delaygs"
+#define CONFIG_AUTOBOOT_STOP_STR	"stopgs"
+
+/*
+ * Size of malloc() pool
+ */
+#define CONFIG_SYS_MALLOC_LEN		(0x400000 - 0x8000)
+#define CONFIG_SYS_GBL_DATA_SIZE	128	/* 128 bytes for initial data */
+
+#define CONFIG_STACKSIZE	(32*1024)	/* regular stack */
+
+#ifdef CONFIG_USE_IRQ
+#error CONFIG_USE_IRQ not supported
+#endif
+
+#endif	/* __CONFIG_H */
+
-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu
  2010-01-11 17:18 ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Matthias Weisser
  2010-01-11 17:18   ` [U-Boot] [PATCH] Add support for Jade display controller Matthias Weisser
@ 2010-01-16 15:39   ` Tom
  2010-01-18 14:01     ` Matthias Weißer
  1 sibling, 1 reply; 23+ messages in thread
From: Tom @ 2010-01-16 15:39 UTC (permalink / raw)
  To: u-boot

Matthias Weisser wrote:
> Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
> ---
>  common/serial.c                      |    3 +-
>  cpu/arm926ejs/jade/Makefile          |   47 +++++++++
>  cpu/arm926ejs/jade/reset.c           |   37 ++++++++
>  cpu/arm926ejs/jade/timer.c           |  127 +++++++++++++++++++++++++
>  include/asm-arm/arch-jade/hardware.h |   31 ++++++
>  include/asm-arm/arch-jade/jade.h     |  170 ++++++++++++++++++++++++++++++++++
>  include/serial.h                     |    3 +-
>  7 files changed, 416 insertions(+), 2 deletions(-)
>  create mode 100644 cpu/arm926ejs/jade/Makefile
>  create mode 100644 cpu/arm926ejs/jade/reset.c
>  create mode 100644 cpu/arm926ejs/jade/timer.c
>  create mode 100644 include/asm-arm/arch-jade/hardware.h
>  create mode 100644 include/asm-arm/arch-jade/jade.h
> 
> diff --git a/common/serial.c b/common/serial.c
> index 5f9ffd7..7397608 100644
> --- a/common/serial.c
> +++ b/common/serial.c
> @@ -41,7 +41,8 @@ struct serial_device *__default_serial_console (void)
>  #elif defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) \
>     || defined(CONFIG_405EP) || defined(CONFIG_405EZ) || defined(CONFIG_405EX) \
>     || defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC83xx) \
> -   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
> +   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) \
> +   || defined(CONFIG_JADE)
>  #if defined(CONFIG_CONS_INDEX) && defined(CONFIG_SYS_NS16550_SERIAL)
>  #if (CONFIG_CONS_INDEX==1)
>  	return &eserial1_device;

Including serial here is premature.
I do not see where you set up there serial devices.
Please save this for a later serial-only patch.

Otherwise this patch looks fine.
Tom

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] Adding support for MB86R01
  2010-01-11 17:18 [U-Boot] Adding support for MB86R01 Matthias Weisser
  2010-01-11 17:18 ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Matthias Weisser
@ 2010-01-16 15:40 ` Tom
  1 sibling, 0 replies; 23+ messages in thread
From: Tom @ 2010-01-16 15:40 UTC (permalink / raw)
  To: u-boot

Matthias Weisser wrote:
> This patchset adds support for the MB86R01 'Jade' SoC from Fujitsu. It
> is based on a ARM926EJS core.
> 
Please in the future use
git format-patch -n
This will number the patch set.

Tom

> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for Jade display controller
  2010-01-11 17:18   ` [U-Boot] [PATCH] Add support for Jade display controller Matthias Weisser
  2010-01-11 17:18     ` [U-Boot] [PATCH] Adding new vendor logo Matthias Weisser
@ 2010-01-16 16:30     ` Tom
  2010-01-18 14:06       ` Matthias Weißer
  1 sibling, 1 reply; 23+ messages in thread
From: Tom @ 2010-01-16 16:30 UTC (permalink / raw)
  To: u-boot

Matthias Weisser wrote:
> Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
> ---
>  drivers/video/Makefile      |    1 +
>  drivers/video/cfb_console.c |    2 +-
>  drivers/video/jadegdc.c     |  193 +++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 195 insertions(+), 1 deletions(-)
>  create mode 100644 drivers/video/jadegdc.c
> 
> diff --git a/drivers/video/Makefile b/drivers/video/Makefile
> index bb6b5a0..aadc149 100644
> --- a/drivers/video/Makefile
> +++ b/drivers/video/Makefile
> @@ -30,6 +30,7 @@ COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o
>  COBJS-$(CONFIG_CFB_CONSOLE) += cfb_console.o
>  COBJS-$(CONFIG_S6E63D6) += s6e63d6.o
>  COBJS-$(CONFIG_VIDEO_CT69000) += ct69000.o
> +COBJS-$(CONFIG_VIDEO_JADEGDC) += jadegdc.o
>  COBJS-$(CONFIG_VIDEO_MB862xx) += mb862xx.o
>  COBJS-$(CONFIG_VIDEO_MX3) += mx3fb.o
>  COBJS-$(CONFIG_VIDEO_SED13806) += sed13806.o
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index c07a26e..506337b 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -321,7 +321,7 @@ void	console_cursor (int state);
>  #else
>  #define SWAP16(x)	 (x)
>  #define SWAP32(x)	 (x)
> -#if defined(VIDEO_FB_16BPP_WORD_SWAP)
> +#if defined(VIDEO_FB_16BPP_WORD_SWAP) || defined(CONFIG_VIDEO_JADEGDC)

Instead of adding CONFIG_VIDEO_JADEGDC, define VIDEO_FB_16BPP_WORD_SWAP
in your board config file or a more appropriate file.

>  #define SHORTSWAP32(x)	 ( ((x) >> 16) | ((x) << 16) )
>  #else
>  #define SHORTSWAP32(x)	 (x)
> diff --git a/drivers/video/jadegdc.c b/drivers/video/jadegdc.c
<snip>

> + * 4MB (at the end of system RAM)
> + */
> +#define VIDEO_MEM_SIZE		0x400000
> +
> +/*
> + * Graphic Device
> + */
> +GraphicDevice jadegdc;

It does not look like this global is accessed output of this function
It should be declared static.

> +
> +void *video_hw_init(void)
> +{
> +	GraphicDevice *pGD = &jadegdc;
> +	struct ctfb_res_modes var_mode[2];
> +	unsigned long *vid;
> +	unsigned long div;
> +	unsigned long dspBase[2];
> +	char *penv;
> +	int bpp;
> +	int i, j;
> +
> +	memset(pGD, 0, sizeof(GraphicDevice));
> +
> +	dspBase[0] = JADE_GDC_DISP0_PHYS_BASE;
> +	dspBase[1] = JADE_GDC_DISP1_PHYS_BASE;
> +
> +	pGD->gdfIndex = GDF_15BIT_555RGB;
> +	pGD->gdfBytesPP = 2;
> +
> +	pGD->memSize = VIDEO_MEM_SIZE;
> +	pGD->frameAdrs = PHYS_SDRAM + PHYS_SDRAM_SIZE - VIDEO_MEM_SIZE;
> +	vid = (unsigned long *)pGD->frameAdrs;
> +
> +	for (i = 0; i < 2; i++) {
> +		char varName[32];
> +		u32 dcm1, dcm2, dcm3;
> +		u16 htp, hdp, hdb, hsp, vtr, vsp, vdp;
> +		u8 hsw, vsw;
> +		u32 l2m, l2em, l2oa0, l2da0, l2oa1, l2da1;
> +		u16 l2dx, l2dy, l2wx, l2wy, l2ww, l2wh;
> +
> +		sprintf(varName, "gs_dsp_%d_param", i);
> +
> +		penv = getenv(varName);
> +		if (penv == NULL) {
> +			penv = getenv("videomode");
> +			if ((i == 1) || (penv == NULL))
> +				continue;

This check for (i == 1) should be moved before the getenv

> +		}
> +
> +		bpp = 0;

<snip>
> +	}
> +
> +	return pGD;
> +}
> +
> +/*
> + * Set a RGB color in the LUT
> + */
> +void video_set_lut(unsigned int index, unsigned char r,
> +			unsigned char g, unsigned char b)
> +{

If leaving this a noop is intentional, add a comment.

Tom

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Adding new vendor logo
  2010-01-11 17:18     ` [U-Boot] [PATCH] Adding new vendor logo Matthias Weisser
  2010-01-11 17:18       ` [U-Boot] [PATCH] Add support for jadecpu board Matthias Weisser
@ 2010-01-16 16:43       ` Tom
  2010-01-18 13:55         ` Matthias Weißer
  1 sibling, 1 reply; 23+ messages in thread
From: Tom @ 2010-01-16 16:43 UTC (permalink / raw)
  To: u-boot

Matthias Weisser wrote:
> Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
> ---
>  tools/Makefile         |    3 +++
>  tools/logos/syteco.bmp |  Bin 0 -> 12278 bytes
>  2 files changed, 3 insertions(+), 0 deletions(-)
>  create mode 100644 tools/logos/syteco.bmp
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index 5b8c3c3..702bb83 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -105,6 +105,9 @@ endif
>  ifeq ($(VENDOR),ronetix)
>  LOGO_BMP= logos/ronetix.bmp
>  endif
> +ifeq ($(VENDOR),syteco)
> +LOGO_BMP= logos/syteco.bmp
> +endif

The grey S in the middle looks a bit lighter that
what is on the website
http://www.graf-syteco.de/html/deutsch/bediengerate.html

How the bmp is included looks fine.
Tom

>  
>  # now $(obj) is defined
>  HOSTSRCS += $(addprefix $(SRCTREE)/,$(EXT_OBJ_FILES-y:.o=.c))
> diff --git a/tools/logos/syteco.bmp b/tools/logos/syteco.bmp
> new file mode 100644
> index 0000000000000000000000000000000000000000..141ee8e10edd85caa52b9501e3a4381b81fe772d
> GIT binary patch
> literal 12278
> zcmeI0TdvbE5Qg2PNJwmiH{MtP??`Ncopb>#s;lC)jN^<mx5VSvEtQTf72hWQzx=+$
> zhaW%xehW+behuL(l>Wf)7yK^a^U at yw`TZsRu;KA|g!}yt)yLX&3%A>CEstzCFdP^T
> zd`t(f&J=<Se1cz6Vz2%xn8}kC7#8>(XPCrZWxxz)aQVUR*)s#%*H9UWBXrEA1QO&t
> zYstvm(XSvSGDIqb%bIEx at j1x-j~>EAlo=D;a@~oAc7b6ib0rJDLd at MXyUuWw7M5lh
> zfih3b_~Yq<Q0mM4sm&RQGEdX7KJAq(ZPTPs8d(~qNu#u~oQ5$_npsY+84IPE<=mPv
> zQ97`kn5KBBu^pKzRr at FeV}ujV0E-%key8+JPwjR%PSg-fL+v?Zuuzm~N*8k07B$EL
> zgOci{u%n!(&w*xPvQV*M3>M{ZnIT6kFp5Q@?7&zo5+*A-3K2%KXp{&O|B7Qh)*L|?
> zpC$*w76J<5c_x at E8fJ%u!)!vHl9NR{v&%xA@eq(0pD%ivp1}fG^iANr-ANEg*UW!q
> z5!3Wi7BY`!(b&_ei5$V^gNKdw934IaoiAk}Vud1NtB)*p`12iK3IL=Vr3MQz1&YHL
> z?g!T5(G$}<te52r@ir{UnfLG|IrA<o(V5;X`SwN+d0eDBdHS-))l0rbu^5}`5<7SE
> zRg$sjdj!8hEd8L`mjx~<>uXXIGz-iLz0M#^oeMge`4T14zy+4)zzCKVrZ7jqYdS;U
> zK)-geMY1HAGK&er_EJ$=1t^vU#=&C1z*A)XDyd=veR|!7ux30g3PzkUMQIhlSTc-@
> zMZgG@*7F4qsH=~K!AO*L798Qkj$n(W{oIW!FU?{FOAaOLb{j}7ih~CEHp_s~Z*R(>
> z0tFpD&{ka*OeKq?NOh&;XfR-ESl~bKOcsZ-5uyjHVwp at 9L&w#mVCq;V!xxvX86;tv
> zS at 1$`sudaqOe;&gcN7#4x;acE%W?(k1=GfoP<lDj#DXX-Fy!*w!m^>X!E6i4`vtgM
> zK%4GqiqZ>a!!mBRTo7yU$TR*rpd^+A%JbZc6eD%0s`up(SQ{|tgv^IC(h;nGKxaB^
> J$T5U;;2&8xIXwUX
> 
> literal 0
> HcmV?d00001
> 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-11 17:18       ` [U-Boot] [PATCH] Add support for jadecpu board Matthias Weisser
@ 2010-01-16 19:18         ` Tom
  2010-01-16 20:11           ` Wolfgang Denk
  2010-01-18  7:54           ` [U-Boot] " Matthias Weißer
  0 siblings, 2 replies; 23+ messages in thread
From: Tom @ 2010-01-16 19:18 UTC (permalink / raw)
  To: u-boot

Matthias Weisser wrote:
> Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
> ---
>  MAINTAINERS                          |    4 +
>  MAKEALL                              |    1 +
<snip>

> index ed6156f..98c147d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2874,6 +2874,13 @@ TNY_A9260_config	:	unconfig
>  	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
>  	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
>  
> +#########################################################################
> +## ARM926EJ-S Systems
> +#########################################################################
> +

Change to 'Syteco ARM926EJ-S Systems'

> +jadecpu_config	:	unconfig
> +	@$(MKCONFIG) $(@:_config=) arm arm926ejs jadecpu syteco jade
> +
>  ########################################################################
>  ## ARM Integrator boards - see doc/README-integrator for more info.
>  integratorap_config	\

<snip>

> + */
> +
> +#include <common.h>
> +#include <netdev.h>
> +#include <asm/io.h>
> +#include <asm/arch/jade.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +#if defined(CONFIG_SHOW_BOOT_PROGRESS)
> +void show_boot_progress(int progress)
> +{
> +	printf("Boot reached stage %d\n", progress);
> +}
> +#endif
> +
> +/*
> + * Miscellaneous platform dependent initialisations
> + */
> +int board_init(void)
> +{

board_init should fill out entries in
struct	global_data.
See other board like lopgicpd/zoom1 as an example.
Make sure to include the machine id.


> +	struct jade_ccnt * ccnt = (struct jade_ccnt *)JADE_CCNT_PHYS_BASE;
> +
> +	/* We select mode 0 for group 2 and mode 1 for group 4 */
> +	writel(0x00000010, &ccnt->cmux_md);
> +
> +	gd->flags = 0;
> +
> +	icache_enable();
> +
> +	return 0;
> +}
> +
> +int board_late_init(void)
> +{
> +	struct jade_gpio *gpio = (struct jade_gpio *)JADE_GPIO_PHYS_BASE;
> +	struct jade_pwm *pwm;
> +	uint32_t in_word;
> +	const char *e;
> +	const char *s;
> +
> +	/* Check if we have valid display settings and turn on power if so*/

ws
Add as space between 'so*'

> +	/* Display 0 */

This should be conditional included if the video in included

#ifdef CONFIG_VIDEO_JADEGDC ..

> +	if (getenv("gs_dsp_0_param")) {
> +		writel(readl(&gpio->gpdr2) | (1 << 3), &gpio->gpdr2);
> +
> +		e = getenv("gs_dsp_0_pwm");
> +		if (e != NULL) {
> +			uint32_t freq, init;
> +
> +			freq = 0;
> +			init = 0;
> +
> +			s = strchr(e, 'f');
> +			if (s != NULL)
> +				freq = simple_strtol(s + 2, NULL, 0);
> +
> +			s = strchr(e, 'i');
> +			if (s != NULL)
> +				init = simple_strtol(s + 2, NULL, 0);
> +
> +			if (freq > 0) {
> +				pwm = (struct jade_pwm *)JADE_PWM0_PHYS_BASE;
> +
> +				writel(CONFIG_JADE_IOCLK / 1000 / freq,
> +					&pwm->bcr);
> +				writel(1002, &pwm->tpr);
> +				writel(1, &pwm->pr);
> +				writel(init * 10 + 1, &pwm->dr);
> +				writel(1, &pwm->cr);
> +				writel(1, &pwm->sr);
> +			}
> +		}
> +	}

The video patch has logic to fall back reading
		if (penv == NULL) {
			penv = getenv("videomode");
			if ((i == 1) || (penv == NULL))
Should similar logic be added here ?


> +	writel(readl(&gpio->gpddr2) | (1 << 3), &gpio->gpddr2);
> +
> +	/* Display 1 */
> +	if (getenv("gs_dsp_1_param")) {
> +		writel(readl(&gpio->gpdr2) | (1 << 4), &gpio->gpdr2);
> +
> +		e = getenv("gs_dsp_1_pwm");
> +		if (e != NULL) {
> +			uint32_t freq, init;
> +
> +			freq = 0;
> +			init = 0;
> +
> +			s = strchr(e, 'f');
> +			if (s != NULL)
> +				freq = simple_strtol(s + 2, NULL, 0);
> +
> +			s = strchr(e, 'i');
> +			if (s != NULL)
> +				init = simple_strtol(s + 2, NULL, 0);
> +
> +			if (freq > 0) {
> +				pwm = (struct jade_pwm *)JADE_PWM1_PHYS_BASE;
> +
> +				writel(CONFIG_JADE_IOCLK / 1000 / freq,
> +					&pwm->bcr);
> +				writel(1002, &pwm->tpr);
> +				writel(1, &pwm->pr);
> +				writel(init * 10 + 1, &pwm->dr);
> +				writel(1, &pwm->cr);
> +				writel(1, &pwm->sr);
> +			}
> +		}
> +	}
> +	writel(readl(&gpio->gpddr2) | (1 << 4), &gpio->gpddr2);
> +
> +	/* 5V enable */
> +	writel(readl(&gpio->gpddr1) | (1 << 5), &gpio->gpddr1);
> +	writel(readl(&gpio->gpdr1) & ~(1 << 5), &gpio->gpdr1);
> +
> +	/* We have special boot options if told by GPIOs */
> +	in_word = readl(&gpio->gpdr1);
> +
> +	if ((in_word & 0xC0) == 0xC0) {
> +		setenv("stdin", "eserial0");
> +		setenv("stdout", "eserial0");
> +		setenv("stderr", "eserial0");
> +		setenv("bootdelay", "10");
> +	} else if ((in_word & 0xC0) != 0) {
> +		setenv("stdout", "vga");
> +		setenv("bootcmd", "mw.l 0x40000000 0 1024; usb start;"
> +			"fatls usb 0; fatload usb 0 0x40000000 mcq5resq.bin;"
> +			"bootelf 0x40000000; bootelf 0x10080000");
> +		setenv("bootdelay", "5");
> +	} else{


ws
space between 'else{'

> +		setenv("stdin", "serial");
> +		setenv("stdout", "serial");
> +		setenv("stderr", "serial");
> +		if (getenv("gs_devel"))
> +			setenv("bootdelay", "5");
> +		else
> +			setenv("bootdelay", "0");
> +	}
> +
> +	return 0;
> +}
> +
> +int misc_init_r(void)
> +{
> +	setenv("verify", "n");


This should be added to the list of
#define CONFIG_EXTRA_ENV_SETTINGS
set the the board config file.


> +	return 0;
> +}
> +
> +/*
> + * DRAM configuration
> + */
> +int dram_init(void)
> +{
> +	gd->bd->bi_dram[0].start = PHYS_SDRAM;
> +	gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
> +
> +	return 0;
> +}
> +
> +int board_eth_init(bd_t *bis)
> +{
> +	int rc = 0;
> +#ifdef CONFIG_SMC911X
> +	rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
> +#endif
> +	return rc;
> +}
> +
> diff --git a/board/syteco/jadecpu/lowlevel_init.S b/board/syteco/jadecpu/lowlevel_init.S
> new file mode 100644
> index 0000000..73550c9
> --- /dev/null
> +++ b/board/syteco/jadecpu/lowlevel_init.S
> @@ -0,0 +1,279 @@
> +/*
> + * Board specific setup info
> + *
> + * (C) Copyright 2007, mycable GmbH
> + * Carsten Schneider <cs@mycable.de>, Alexander Bigga <ab@mycable.de>
> + *
> + * (C) Copyright 2007, mycable GmbH
> + * Carsten Schneider <cs@mycable.de>, Alexander Bigga <ab@mycable.de>
> + *
> + * (C) Copyright 2003, ARM Ltd.
> + * Philippe Robin, <philippe.robin@arm.com>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software/* you can redistribute it and/or

ws
remove '/*'

> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation/* either version 2 of

ws
remove '/*'

> + * 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

ws
remove '/*'

> + * 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


here too..


> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <config.h>
> +#include <version.h>
> +#include <asm/macro.h>
> +#include <asm/arch/jade.h>
> +
> +/* Set up the platform, once the cpu has been initialized */
> +.globl lowlevel_init
> +lowlevel_init:
> +/*
> + * Initialize Clock Reset Generator (CRG)
> + */
> +
> +	ldr		r0, =JADE_CRG_PHYS_BASE
> +
> +	/* Not change the initial value that is set by external pin.*/
> +1:	ldr		r2, [r0, #CRG_CRPR]	/* Wait for PLLREADY */

Use a better label that '1:'

> +	tst		r2, #0x00000100
> +	beq		1b
> +
> +	/* Set clock gate control */
> +	ldr		r1, =0x0000ffff		/* Open */
> +	str		r1, [r0, #CRG_CRHA]	/* CRHA: AHB clock */
> +	ldr		r1, =0x0000ffff		/* Open */
> +	str		r1, [r0, #CRG_CRPA]	/* CRPA: APB-A clock */
> +	ldr		r1, =0xfffffffe		/* Close */
> +	str		r1, [r0, #CRG_CRPB]	/* CRPA: APB-B clock */
> +	ldr		r1, =0x0000ffff		/* Open */
> +	str		r1, [r0, #CRG_CRHB]	/* CRHB: ExtAHB clock */
> +	ldr		r1, =0xffffffef		/* Open ARM926EJ-S only */
> +	str		r1, [r0, #CRG_CRAM]	/* CRAM: ARM core clock */
> +
> +/*
> + * Initialize External Bus Interface
> + */
> +
> +	ldr		r0, =JADE_MEMC_PHYS_BASE
> +
> +	/*
> +	 * SRAM/flash _mode_ registers (XCS4 is set by external pin)
> +	 * XCS0: Ethernet Controller
> +	 * XCS2: not used (?)
> +	 * XCS4: Flash
> +	 */
> +	ldr		r1, =0x00000001		/* XCS0: 16bit */
> +	str		r1, [r0, #0x00]
> +	ldr		r1, =0x00000001		/* XCS2: 16bit */
> +	str		r1, [r0, #0x08]
> +	ldr		r1, =0x00000021		/* XCS4: 16bit, */
> +	str		r1, [r0, #0x10]
> +
> +	/* SRAM/flash _timing_ registers (HCLK=83.3/80MHz) */
> +	ldr		r1, =0x03061008		/* XCS0: FPGA*/
> +	str		r1, [r0, #0x20]
> +	ldr		r1, =0x03061008		/* XCS2: Ethernet */
> +	str		r1, [r0, #0x28]
> +	ldr		r1, =0x03061804		/* XCS4: FLASH ROM */
> +	str		r1, [r0, #0x30]
> +
> +	/* SRAM/flash _area_ registers (address of XCS4 is set by hardware) */
> +	ldr		r1, =0x000000c0		/* XCS0: 0x0c000000/1MB */
> +	str		r1, [r0, #0x40]
> +	ldr		r1, =0x00000020		/* XCS2: 0x02000000/1MB */
> +	str		r1, [r0, #0x48]
> +	ldr		r1, =0x001f0000		/* XCS4: 32 MB */
> +	str		r1, [r0, #0x50]
> +
> +/*
> + * Initialize DDR2 Controller
> + */
> +
> +	/* Wait for PLL LOCK up time or more */
> +	wait_timer	20
> +
> +	/*
> +	 * (2) Initialize DDRIF
> +	 */
> +	ldr	r0, =JADE_DDR2C_PHYS_BASE
> +	ldr	r1, =0x5555
> +	strh	r1, [r0, #DDR2C_DRIMS]
> +
> +	/*
> +	 * (3) Wait for 20MCKPs(120nsec) or more
> +	 */
> +	wait_timer	20
> +
> +	/*
> +	 * (4) IRESET/IUSRRST release
> +	/*


This looks like a programming error
/* -> */  ?

> +	ldr	r0, =JADE_CCNT_PHYS_BASE
> +	ldr	r1, =0x00000002
> +	str	r1, [r0, #CCNT_CDCRC]
> +

<snip>

> +	ldr	r1, =0x0005		/* EMR(1) command */
> +	strh	r1, [r0, #DDR2C_DRIC1]
> +	ldr	r1, =0x0380		/* Extended Mode Register 1 set OCD */
> +	strh	r1, [r0, #DDR2C_DRIC2]
> +	ldr	r1, =0xc001
> +	strh	r1, [r0, #DDR2C_DRIC]
> +
> +	ldr	r1, =0x0005		/* EMR(1) command */
> +	strh	r1, [r0, #DDR2C_DRIC1]
> +	/* ldr  r1, =0x0044 */

Do not include commented out code.
Remove or add appropriate if-def

> +	ldr	r1, =0x0002		/* EMR(1) set reduced strength */
> +	strh	r1, [r0, #DDR2C_DRIC2]
> +	ldr	r1, =0xc001
> +	strh	r1, [r0, #DDR2C_DRIC]
> +
> +	ldr	r1, =0x0032		/* Set BT, AL, CL, BL */
> +	strh	r1, [r0, #DDR2C_DRCM]
> +
> +	ldr	r1, =0x3418		/* Set tRCD, tRAS, tRP, tRC */
> +	strh	r1, [r0, #DDR2C_DRCST1]
> +
> +	/* ldr	r1, =0x2e22 */		/* Set tRFC, tRRD, tWR */

Same here..

> +	ldr	r1, =0x6e32
> +	strh	r1, [r0, #DDR2C_DRCST2]
> +
> +	/* ldr	r1, =0x0051 */		/* Set CNTL, REF_CNT*/

and here..

> +	ldr	r1, =0x0141		/* (changed) */
> +	strh	r1, [r0, #DDR2C_DRCR]
> +
> +	ldr	r1, =0x0002		/* Set Address FIFO (8 steps) */
> +	strh	r1, [r0, #DDR2C_DRCF]
> +
> +	ldr	r1, =0x0001		/* Enable AXI Cache */
> +	strh	r1, [r0, #DDR2C_DRASR]
> +
> +	/*
> +	 * (11) ODT setting
> +	 */
> +	ldr	r1, =0x0001
> +	strh	r1, [r0, #DDR2C_DROBS]
> +	ldr	r1, =0x0103		/* ODT auto adjustment on */
> +	strh	r1, [r0, #DDR2C_DROABA]
> +	ldr	r1, =0x003F		/* Set ODT to on 50/100 Ohm */
> +	strh	r1, [r0, #DDR2C_DRIBSODT1]
> +
> +	/*
> +	 * (12) Shift to ODTCONT ON (SDRAM side) and DDR2C usual operation mode
> +	 */
> +	ldr	r1, =0x0001
> +	strh	r1, [r0, #DDR2C_DROS]
> +	ldr	r1, =0x4000
> +	strh	r1, [r0, #DDR2C_DRIC]
> +
> +	mov pc, lr
> +
> diff --git a/include/configs/jadecpu.h b/include/configs/jadecpu.h
> new file mode 100644
> index 0000000..5a19abf
> --- /dev/null
> +++ b/include/configs/jadecpu.h
> @@ -0,0 +1,187 @@
> +/*
> + * (C) Copyright 2007-2008
> + * Matthias Weisser <matthias.weisser@graf-syteco.de>
> + *
> + * Configuation settings for the AT91SAM9260EK & AT91SAM9G20EK boards.
> + *
> + * 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
> +
> +#define CONFIG_JADE

The board and cpu defines go first
move the device configs to later

> +#define CONFIG_JADE_IOCLK		(41164767)

This is a strange number. please add a comment.

> +#define CONFIG_SYS_HZ			(CONFIG_JADE_IOCLK / 16)
> +#define CONFIG_SYS_TIMERBASE		0xfffe0000
> +
> +#define CONFIG_ARM926EJS	1	/* This is an ARM926EJS Core */
> +#undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff */
> +
> +#define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs */
> +#define CONFIG_SETUP_MEMORY_TAGS 1
> +#define CONFIG_INITRD_TAG	1
> +#define BOARD_LATE_INIT		1
> +
> +/*
> + * Hardware drivers
> + */
> +
> +/*
> + * Serial
> + */
> +#define CONFIG_SERIAL_MULTI
> +#define CONFIG_SYS_NS16550
> +#define CONFIG_SYS_NS16550_SERIAL
> +#define CONFIG_SYS_NS16550_REG_SIZE	(-4)
> +#define CONFIG_SYS_NS16550_CLK		CONFIG_JADE_IOCLK
> +#define CONFIG_SYS_NS16550_COM1		0xfffe1000	/* UART 0 */
> +#define CONFIG_SYS_NS16550_COM2		0xfff50000	/* UART 2 (SP) */
> +#define CONFIG_SYS_NS16550_COM3		0xfff51000	/* UART 3 */
> +#define CONFIG_SYS_NS16550_COM4		0xfff43000	/* UART 4 */
> +
> +#define CONFIG_CONS_INDEX	4
> +
> +/*
> + * Ethernet
> + */
> +#define CONFIG_NET_MULTI
> +#define CONFIG_SMC911X
> +#define CONFIG_SMC911X_BASE	0x02000000
> +#define CONFIG_SMC911X_16_BIT
> +
> +/*
> + * Video

This should be conditional on CONFIG_VIDEO_JADEDC

> + */
> +#define CONFIG_VIDEO
> +#define CONFIG_VIDEO_JADEGDC
> +#define CONFIG_SYS_WHITE_ON_BLACK
> +#define CONFIG_CFB_CONSOLE
> +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
> +#define CONFIG_SYS_CONSOLE_ENV_OVERWRITE
> +#define CONFIG_VIDEO_LOGO
> +#define CONFIG_SPLASH_SCREEN
> +#define CONFIG_SPLASH_SCREEN_ALIGN
> +#define CONFIG_VIDEO_BMP_LOGO
> +#define CONFIG_VIDEO_BMP_GZIP
> +#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(800*480 + 256*4 + 10*1024)
> +#define VIDEO_KBD_INIT_FCT		0
> +#define VIDEO_TSTC_FCT			serial_tstc
> +#define VIDEO_GETC_FCT			serial_getc
> +
> +/*
> + * BOOTP options
> + */
> +#define CONFIG_BOOTP_BOOTFILESIZE	1
> +#define CONFIG_BOOTP_BOOTPATH		1
> +#define CONFIG_BOOTP_GATEWAY		1
> +#define CONFIG_BOOTP_HOSTNAME		1
> +
> +/*
> + * Command line configuration.
> + */
> +#include <config_cmd_default.h>
> +#undef CONFIG_CMD_BDI
> +#undef CONFIG_CMD_FPGA
> +#undef CONFIG_CMD_IMI
> +#undef CONFIG_CMD_IMLS
> +#undef CONFIG_CMD_LOADS
> +#undef CONFIG_CMD_SOURCE
> +#undef CONFIG_CMD_NFS
> +#undef CONFIG_CMD_XIMG
> +
> +#define CONFIG_CMD_IMI		1
> +#define CONFIG_CMD_ELF		1
> +#define CONFIG_CMD_PING		1
> +#define CONFIG_CMD_DHCP		1
> +#define CONFIG_CMD_BMP		1
> +#define CONFIG_CMD_USB		1
> +#define CONFIG_CMD_FAT		1
> +#define CONFIG_SYS_HUSH_PARSER
> +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
> +
> +/* USB */
> +#define CONFIG_USB_OHCI_NEW
> +#define CONFIG_SYS_USB_OHCI_REGS_BASE       0xFFF81000
> +#define CONFIG_SYS_USB_OHCI_SLOT_NAME       "jadeusb"
> +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS  1

ws
convert spaces in the last 3 lines to tabs


Tom

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-16 19:18         ` Tom
@ 2010-01-16 20:11           ` Wolfgang Denk
  2010-01-18  7:05             ` [U-Boot] Antw: " Matthias Weisser
  2010-01-18  7:54           ` [U-Boot] " Matthias Weißer
  1 sibling, 1 reply; 23+ messages in thread
From: Wolfgang Denk @ 2010-01-16 20:11 UTC (permalink / raw)
  To: u-boot

Dear Matthias Weisser,

In message <4B5210EA.8000503@windriver.com> Tom Rix wrote:
> 
> > index ed6156f..98c147d 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -2874,6 +2874,13 @@ TNY_A9260_config	:	unconfig
> >  	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
> >  	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
> >  
> > +#########################################################################
> > +## ARM926EJ-S Systems
> > +#########################################################################
> > +
> 
> Change to 'Syteco ARM926EJ-S Systems'

NAK.

Please remove this header completely. We don't add so much comments
for a single board.

> > +jadecpu_config	:	unconfig
> > +	@$(MKCONFIG) $(@:_config=) arm arm926ejs jadecpu syteco jade

Also note that lists are sorted, so please move this entry to where it
belongs.


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
Youth doesn't excuse everything.
	-- Dr. Janice Lester (in Kirk's body), "Turnabout Intruder",
	   stardate 5928.5.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] Antw: Re:  [PATCH] Add support for jadecpu board
  2010-01-16 20:11           ` Wolfgang Denk
@ 2010-01-18  7:05             ` Matthias Weisser
  2010-01-18  7:57               ` Wolfgang Denk
  0 siblings, 1 reply; 23+ messages in thread
From: Matthias Weisser @ 2010-01-18  7:05 UTC (permalink / raw)
  To: u-boot

Hello Wolfgang

>>> Wolfgang Denk <wd@denx.de> schrieb am 16.01.2010 um 21:11:
> Dear Matthias Weisser,
> 
> In message <4B5210EA.8000503@windriver.com> Tom Rix wrote:
>> 
>> > index ed6156f..98c147d 100644
>> > --- a/Makefile
>> > +++ b/Makefile
>> > @@ -2874,6 +2874,13 @@ TNY_A9260_config	:	unconfig
>> >  	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
>> >  	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
>> >  
>> >
+#########################################################################
>> > +## ARM926EJ-S Systems
>> >
+#########################################################################
>> > +
>> 
>> Change to 'Syteco ARM926EJ-S Systems'
> 
> NAK.
> 
> Please remove this header completely. We don't add so much comments
> for a single board.
>> > +jadecpu_config	:	unconfig
>> > +	@$(MKCONFIG) $(@:_config=) arm arm926ejs jadecpu syteco jade
> 
> Also note that lists are sorted, so please move this entry to where
it
> belongs.

Can you tell me where it belongs to then?
In the ARM section of the makefile we have 
  * StrongARM
  * ARM92xT
  * two Atmel related sections
  * ARM integrator boards 
  * ARM supplied versatile development boards
  * S3C44B0 (Samsung)
  * ARM720T
  * ARM Cortex
  * XScale
  * ARM1136
  * ARM1176

My board doesn't match any of the above categories so I thought 
introducing a new category for generic ARM926EJS devices would be 
a good idea.

Regards,
Matthias


------------------------------------ 
Amtsgericht Freiburg HRA 602707
Ust. ID-Nr.: DE232464428

Gesch?ftsf?hrer: 
Dipl. Ing. (FH) Martin Graf 
Dipl. Ing. (FH) David Graf 
Dipl. Inf. Fabian Graf
 
Komplement?rin:
GRAF-SYTECO Verwaltungs-GmbH
Amtsgericht Freiburg HRB 602868 
------------------------------------

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-16 19:18         ` Tom
  2010-01-16 20:11           ` Wolfgang Denk
@ 2010-01-18  7:54           ` Matthias Weißer
  2010-01-18  8:52             ` Wolfgang Denk
  1 sibling, 1 reply; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18  7:54 UTC (permalink / raw)
  To: u-boot

Hi Tom

thanks for your feedback.

Am 16.01.2010 20:18, schrieb Tom:
>> +/*
>> + * Miscellaneous platform dependent initialisations
>> + */
>> +int board_init(void)
>> +{
>
> board_init should fill out entries in
> struct	global_data.
> See other board like lopgicpd/zoom1 as an example.
> Make sure to include the machine id.

As I don't use Linux on this board I don't have such an id. How to deal 
with such a situation? Should I get a machine id anyway? And if so can 
you give me a hint on how I can get such an id?

>> +	/*
>> +	 * (4) IRESET/IUSRRST release
>> +	/*
>
> This looks like a programming error
> /* ->  */  ?

You are right. Thanks for catching this.

>> +#define CONFIG_JADE
>
> The board and cpu defines go first
> move the device configs to later

Can you please explain what you mean with this comment?

>> +#define CONFIG_JADE_IOCLK		(41164767)
>
> This is a strange number. please add a comment.

Well, it is the clock frequency of the IO blocks of the SoC. Its 
14,31818 MHz * 46 / 16. I added a comment.

I have fixed the other stuff you pointed out.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] Antw: Re:  [PATCH] Add support for jadecpu board
  2010-01-18  7:05             ` [U-Boot] Antw: " Matthias Weisser
@ 2010-01-18  7:57               ` Wolfgang Denk
  2010-01-18  8:21                 ` Matthias Weißer
  0 siblings, 1 reply; 23+ messages in thread
From: Wolfgang Denk @ 2010-01-18  7:57 UTC (permalink / raw)
  To: u-boot

Dear "Matthias Weisser",

In message <4B541652.2E8A.0063.0@graf-syteco.de> you wrote:
>
> >> > --- a/Makefile
> >> > +++ b/Makefile
> >> > @@ -2874,6 +2874,13 @@ TNY_A9260_config	:	unconfig
> >> >  	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
> >> >  	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
> >> >  
> >> > +#########################################################################
> >> > +## ARM926EJ-S Systems
> >> > +#########################################################################
...
> > Also note that lists are sorted, so please move this entry to where it
> > belongs.
> 
> Can you tell me where it belongs to then?

In the "ARM926EJ-S Systems" group?

> In the ARM section of the makefile we have 
>   * StrongARM
>   * ARM92xT
>   * two Atmel related sections
>   * ARM integrator boards 
>   * ARM supplied versatile development boards
>   * S3C44B0 (Samsung)
>   * ARM720T
>   * ARM Cortex
>   * XScale
>   * ARM1136
>   * ARM1176

I also see an entry "Atmel ARM926EJ-S Systems" here, which already
lists a numnber of arm926ejs boards.

> My board doesn't match any of the above categories so I thought 
> introducing a new category for generic ARM926EJS devices would be 
> a good idea.

Why do you think your board does not fit into the "Atmel ARM926EJ-S
Systems" group?

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
It is dangerous to be right on a subject  on  which  the  established
authorities are wrong.                                    -- Voltaire

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] Antw: Re:  [PATCH] Add support for jadecpu board
  2010-01-18  7:57               ` Wolfgang Denk
@ 2010-01-18  8:21                 ` Matthias Weißer
  2010-01-18  8:55                   ` Wolfgang Denk
  0 siblings, 1 reply; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18  8:21 UTC (permalink / raw)
  To: u-boot

Hello Wolfgang

Am 18.01.2010 08:57, schrieb Wolfgang Denk:
 >> My board doesn't match any of the above categories so I thought
 >> introducing a new category for generic ARM926EJS devices would be
 >> a good idea.
 >
 > Why do you think your board does not fit into the "Atmel ARM926EJ-S
 > Systems" group?

Because the MB86R01 'Jade' is not manufactured by Atmel. And therefore I 
thought that "Atmel ARM926EJ-S Systems" does not match.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-18  7:54           ` [U-Boot] " Matthias Weißer
@ 2010-01-18  8:52             ` Wolfgang Denk
  2010-01-18 12:10               ` Matthias Weißer
  0 siblings, 1 reply; 23+ messages in thread
From: Wolfgang Denk @ 2010-01-18  8:52 UTC (permalink / raw)
  To: u-boot

Dear =?ISO-8859-1?Q?Matthias_Wei=DFer?=,

In message <4B5413AC.2000604@arcor.de> you wrote:
>
> > Make sure to include the machine id.
> 
> As I don't use Linux on this board I don't have such an id. How to deal 
> with such a situation? Should I get a machine id anyway? And if so can 
> you give me a hint on how I can get such an id?

Yes, you are required to register a machine ID. See
http://www.arm.linux.org.uk/developer/machines/?action=new

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] Antw: Re: [PATCH] Add support for jadecpu board
  2010-01-18  8:21                 ` Matthias Weißer
@ 2010-01-18  8:55                   ` Wolfgang Denk
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfgang Denk @ 2010-01-18  8:55 UTC (permalink / raw)
  To: u-boot

Dear =?ISO-8859-1?Q?Matthias_Wei=DFer?=,

In message <4B541A25.7060002@arcor.de> you wrote:
> Hello Wolfgang
> 
> Am 18.01.2010 08:57, schrieb Wolfgang Denk:
>  >> My board doesn't match any of the above categories so I thought
>  >> introducing a new category for generic ARM926EJS devices would be
>  >> a good idea.
>  >
>  > Why do you think your board does not fit into the "Atmel ARM926EJ-S
>  > Systems" group?
> 
> Because the MB86R01 'Jade' is not manufactured by Atmel. And therefore I 
> thought that "Atmel ARM926EJ-S Systems" does not match.

Feel free to submit a patch to remove the "Atmel" part, then. It
probably was added when only Atmel had ARM926EJ-S systems in the
field.

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
"Never face facts; if you do, you'll never get up in the morning."
- Marlo Thomas

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-18  8:52             ` Wolfgang Denk
@ 2010-01-18 12:10               ` Matthias Weißer
  2010-01-18 13:11                 ` Tom
  2010-01-21 19:52                 ` Tom
  0 siblings, 2 replies; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18 12:10 UTC (permalink / raw)
  To: u-boot

Am 18.01.2010 09:52, schrieb Wolfgang Denk:
>> As I don't use Linux on this board I don't have such an id. How to deal
>> with such a situation? Should I get a machine id anyway? And if so can
>> you give me a hint on how I can get such an id?
>
> Yes, you are required to register a machine ID. See
> http://www.arm.linux.org.uk/developer/machines/?action=new

I have registered a machine id now. Should I include the id into my 
reworked patch set or will that be synced with the linux kernel by one 
of the u-boot maintainers? I think the latter option has to be done but 
then my patch will not build until the sync takes place.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-18 12:10               ` Matthias Weißer
@ 2010-01-18 13:11                 ` Tom
  2010-01-21 19:52                 ` Tom
  1 sibling, 0 replies; 23+ messages in thread
From: Tom @ 2010-01-18 13:11 UTC (permalink / raw)
  To: u-boot

Matthias Wei?er wrote:
> Am 18.01.2010 09:52, schrieb Wolfgang Denk:
>>> As I don't use Linux on this board I don't have such an id. How to deal
>>> with such a situation? Should I get a machine id anyway? And if so can
>>> you give me a hint on how I can get such an id?
>> Yes, you are required to register a machine ID. See
>> http://www.arm.linux.org.uk/developer/machines/?action=new
> 
> I have registered a machine id now. Should I include the id into my 
> reworked patch set or will that be synced with the linux kernel by one 
> of the u-boot maintainers? I think the latter option has to be done but 
> then my patch will not build until the sync takes place.
> 

You post a request to u-boot list and cc me.
I do the sync-ing.

This normally happens once a month or so but I will do it as required.
I will take care of this.

Tom


> Regards,
> Matthias
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Adding new vendor logo
  2010-01-16 16:43       ` [U-Boot] [PATCH] Adding new vendor logo Tom
@ 2010-01-18 13:55         ` Matthias Weißer
  0 siblings, 0 replies; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18 13:55 UTC (permalink / raw)
  To: u-boot

Am 16.01.2010 17:43, schrieb Tom:
> Matthias Weisser wrote:
>> Signed-off-by: Matthias Weisser<matthias.weisser@graf-syteco.de>
>> ---
>>   tools/Makefile         |    3 +++
>>   tools/logos/syteco.bmp |  Bin 0 ->  12278 bytes
>>   2 files changed, 3 insertions(+), 0 deletions(-)
>>   create mode 100644 tools/logos/syteco.bmp
>>
>> diff --git a/tools/Makefile b/tools/Makefile
>> index 5b8c3c3..702bb83 100644
>> --- a/tools/Makefile
>> +++ b/tools/Makefile
>> @@ -105,6 +105,9 @@ endif
>>   ifeq ($(VENDOR),ronetix)
>>   LOGO_BMP= logos/ronetix.bmp
>>   endif
>> +ifeq ($(VENDOR),syteco)
>> +LOGO_BMP= logos/syteco.bmp
>> +endif
>
> The grey S in the middle looks a bit lighter that
> what is on the website
> http://www.graf-syteco.de/html/deutsch/bediengerate.html

Thats OK. We use that bitmap since "ever" as logo in our devices and I 
think I am going to use it in u-boot also.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu
  2010-01-16 15:39   ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Tom
@ 2010-01-18 14:01     ` Matthias Weißer
  0 siblings, 0 replies; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18 14:01 UTC (permalink / raw)
  To: u-boot

Am 16.01.2010 16:39, schrieb Tom:
> Matthias Weisser wrote:
>> @@ -41,7 +41,8 @@ struct serial_device *__default_serial_console (void)
>>   #elif defined(CONFIG_405GP) || defined(CONFIG_405CR) || defined(CONFIG_440) \
>>      || defined(CONFIG_405EP) || defined(CONFIG_405EZ) || defined(CONFIG_405EX) \
>>      || defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC83xx) \
>> -   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
>> +   || defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) \
>> +   || defined(CONFIG_JADE)
>>   #if defined(CONFIG_CONS_INDEX)&&  defined(CONFIG_SYS_NS16550_SERIAL)
>>   #if (CONFIG_CONS_INDEX==1)
>>   	return&eserial1_device;
>
> Including serial here is premature.
> I do not see where you set up there serial devices.
> Please save this for a later serial-only patch.

Well, the SoC has UARTs which are fully compatible with the ns16550 
driver (drivers/serial/serial.c) and therefore I simply set it up like 
this. What would be the right way to do it? I don't see a reason to add 
a serial_mb860x.c driver which is virtually identical to the current 
stuff in serial.c

> Otherwise this patch looks fine.

Thanks for checking.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for Jade display controller
  2010-01-16 16:30     ` [U-Boot] [PATCH] Add support for Jade display controller Tom
@ 2010-01-18 14:06       ` Matthias Weißer
  0 siblings, 0 replies; 23+ messages in thread
From: Matthias Weißer @ 2010-01-18 14:06 UTC (permalink / raw)
  To: u-boot

Am 16.01.2010 17:30, schrieb Tom:
> Instead of adding CONFIG_VIDEO_JADEGDC, define VIDEO_FB_16BPP_WORD_SWAP
> in your board config file or a more appropriate file.

Done.

>> +/*
>> + * Graphic Device
>> + */
>> +GraphicDevice jadegdc;
>
> It does not look like this global is accessed output of this function
> It should be declared static.

Done.

>> +
>> +void *video_hw_init(void)
>> +{
>> +	GraphicDevice *pGD =&jadegdc;
>> +	struct ctfb_res_modes var_mode[2];
>> +	unsigned long *vid;
>> +	unsigned long div;
>> +	unsigned long dspBase[2];
>> +	char *penv;
>> +	int bpp;
>> +	int i, j;
>> +
>> +	memset(pGD, 0, sizeof(GraphicDevice));
>> +
>> +	dspBase[0] = JADE_GDC_DISP0_PHYS_BASE;
>> +	dspBase[1] = JADE_GDC_DISP1_PHYS_BASE;
>> +
>> +	pGD->gdfIndex = GDF_15BIT_555RGB;
>> +	pGD->gdfBytesPP = 2;
>> +
>> +	pGD->memSize = VIDEO_MEM_SIZE;
>> +	pGD->frameAdrs = PHYS_SDRAM + PHYS_SDRAM_SIZE - VIDEO_MEM_SIZE;
>> +	vid = (unsigned long *)pGD->frameAdrs;
>> +
>> +	for (i = 0; i<  2; i++) {
>> +		char varName[32];
>> +		u32 dcm1, dcm2, dcm3;
>> +		u16 htp, hdp, hdb, hsp, vtr, vsp, vdp;
>> +		u8 hsw, vsw;
>> +		u32 l2m, l2em, l2oa0, l2da0, l2oa1, l2da1;
>> +		u16 l2dx, l2dy, l2wx, l2wy, l2ww, l2wh;
>> +
>> +		sprintf(varName, "gs_dsp_%d_param", i);
>> +
>> +		penv = getenv(varName);
>> +		if (penv == NULL) {
>> +			penv = getenv("videomode");
>> +			if ((i == 1) || (penv == NULL))
>> +				continue;
>
> This check for (i == 1) should be moved before the getenv

Done.


>> +/*
>> + * Set a RGB color in the LUT
>> + */
>> +void video_set_lut(unsigned int index, unsigned char r,
>> +			unsigned char g, unsigned char b)
>> +{
>
> If leaving this a noop is intentional, add a comment.

Done.

Thanks for checking.

Regards,
Matthias

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [U-Boot] [PATCH] Add support for jadecpu board
  2010-01-18 12:10               ` Matthias Weißer
  2010-01-18 13:11                 ` Tom
@ 2010-01-21 19:52                 ` Tom
  1 sibling, 0 replies; 23+ messages in thread
From: Tom @ 2010-01-21 19:52 UTC (permalink / raw)
  To: u-boot

I have updated the mach-types.h
You can get this by sync-ing with u-boot-arm/master.
Tom

Matthias Wei?er wrote:
> Am 18.01.2010 09:52, schrieb Wolfgang Denk:
>>> As I don't use Linux on this board I don't have such an id. How to deal
>>> with such a situation? Should I get a machine id anyway? And if so can
>>> you give me a hint on how I can get such an id?
>> Yes, you are required to register a machine ID. See
>> http://www.arm.linux.org.uk/developer/machines/?action=new
> 
> I have registered a machine id now. Should I include the id into my 
> reworked patch set or will that be synced with the linux kernel by one 
> of the u-boot maintainers? I think the latter option has to be done but 
> then my patch will not build until the sync takes place.
> 
> Regards,
> Matthias
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2010-01-21 19:52 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-11 17:18 [U-Boot] Adding support for MB86R01 Matthias Weisser
2010-01-11 17:18 ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Matthias Weisser
2010-01-11 17:18   ` [U-Boot] [PATCH] Add support for Jade display controller Matthias Weisser
2010-01-11 17:18     ` [U-Boot] [PATCH] Adding new vendor logo Matthias Weisser
2010-01-11 17:18       ` [U-Boot] [PATCH] Add support for jadecpu board Matthias Weisser
2010-01-16 19:18         ` Tom
2010-01-16 20:11           ` Wolfgang Denk
2010-01-18  7:05             ` [U-Boot] Antw: " Matthias Weisser
2010-01-18  7:57               ` Wolfgang Denk
2010-01-18  8:21                 ` Matthias Weißer
2010-01-18  8:55                   ` Wolfgang Denk
2010-01-18  7:54           ` [U-Boot] " Matthias Weißer
2010-01-18  8:52             ` Wolfgang Denk
2010-01-18 12:10               ` Matthias Weißer
2010-01-18 13:11                 ` Tom
2010-01-21 19:52                 ` Tom
2010-01-16 16:43       ` [U-Boot] [PATCH] Adding new vendor logo Tom
2010-01-18 13:55         ` Matthias Weißer
2010-01-16 16:30     ` [U-Boot] [PATCH] Add support for Jade display controller Tom
2010-01-18 14:06       ` Matthias Weißer
2010-01-16 15:39   ` [U-Boot] [PATCH] Add support for MB86R01 from Fujitsu Tom
2010-01-18 14:01     ` Matthias Weißer
2010-01-16 15:40 ` [U-Boot] Adding support for MB86R01 Tom

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.