Skip to contentSkip to conversation

Adding support for MB86R01

U-Boot New Matthias Weisser 4 participants 23 messages Jan 11, 2010 – Jan 21, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

PATCH 1/1 Add support for MB86R01 from Fujitsu

---
 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
common/serial.c +2 -1
index 5f9ffd7..7397608 100644
@@ -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;
cpu/arm926ejs/jade/Makefile new file +47 -0

47 lines not on this page · raw message

cpu/arm926ejs/jade/reset.c new file +37 -0
new file mode 100644
index 0000000..820c3a1
@@ -0,0 +1,37 @@
+/*
+ * (C) Copyright 2009
+ * Matthias Weisser <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <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 */
+}
cpu/arm926ejs/jade/timer.c new file +127 -0

127 lines not on this page · raw message

include/asm-arm/arch-jade/hardware.h new file +31 -0
new file mode 100644
index 0000000..a26bdca
@@ -0,0 +1,31 @@
+/*
+ * (C) Copyright 2007
+ *
+ * Author : Carsten Schneider, mycable GmbH
+ *          <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#ifndef __ASM_ARCH_HARDWARE_H
+#define __ASM_ARCH_HARDWARE_H
+
+#include <asm/sizes.h>
+#include <asm/arch/jade.h>
+
+#endif
include/asm-arm/arch-jade/jade.h new file +170 -0

170 lines not on this page · raw message

include/serial.h +2 -1
index f2638ec..a560c71 100644
@@ -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)
Signature · 1 line
1.5.6.3
#2 lore raw

PATCH 1/1 Add support for Jade display controller

---
 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
drivers/video/Makefile +1 -0
index bb6b5a0..aadc149 100644
@@ -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
drivers/video/cfb_console.c +1 -1
index c07a26e..506337b 100644
@@ -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)
drivers/video/jadegdc.c new file +193 -0

193 lines not on this page · raw message

Signature · 1 line
1.5.6.3
#3 lore raw

PATCH 1/1 Adding new vendor logo

---
 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
tools/Makefile +3 -0
index 5b8c3c3..702bb83 100644
@@ -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))
tools/logos/syteco.bmp new file binary +0 -0
new file mode 100644
index 0000000000000000000000000000000000000000..141ee8e10edd85caa52b9501e3a4381b81fe772d
GIT binary patch

zhaW%xehW+behuL(l>Wf)7yK^a^U at ywTZsRu;KA|g!}yt)yLX&3%A>CEstzCFdP^T zdt(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)*p12iK3IL=Vr3MQz1&YHL z?g!T5(G$}<te52r@ir{UnfLG|IrA<o(V5;XSwN+d0eDBdHS-))l0rbu^5}5<7SE zRg$sjdj!8hEd8Lmjx~<>uXXIGz-iLz0M#^oeMge4T14zy+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!E6i4vtgM zK%4GqiqZ>a!!mBRTo7yU$TR*rpd^+A%JbZc6eD%0s`up(SQ{|tgv^IC(h;nGKxaB^ J$T5U;;2&8xIXwUX

literal 0
HcmV?d00001

Signature · 1 line
1.5.6.3
#4 lore raw

PATCH 1/1 Add support for jadecpu board

---
 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
MAINTAINERS +4 -0
index 9734b1d..706e847 100644
@@ -744,6 +744,10 @@ Prafulla Wadaskar <[email protected]>
 	rd6281a		ARM926EJS (Kirkwood SoC)
 	sheevaplug	ARM926EJS (Kirkwood SoC)
 
+Matthias Weisser <[email protected]>
+
+	jadecpu		ARM926EJS
+
 Richard Woodruff <[email protected]>
 
 	omap2420h4	ARM1136EJS
MAKEALL +1 -0
index ab1bb6f..33b1dc6 100755
@@ -553,6 +553,7 @@ LIST_ARM9="			\
 	cp966			\
 	da830evm		\
 	imx27lite		\
+	jadecpu			\
 	lpd7a400		\
 	mv88f6281gtw_ge		\
 	mx1ads			\
Makefile +7 -0
index ed6156f..98c147d 100644
@@ -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	\
board/syteco/jadecpu/Makefile new file +55 -0

55 lines not on this page · raw message

board/syteco/jadecpu/config.mk new file +1 -0
new file mode 100644
index 0000000..c661f0b
@@ -0,0 +1 @@
+TEXT_BASE = 0x46000000
board/syteco/jadecpu/jadecpu.c new file +188 -0

188 lines not on this page · raw message

board/syteco/jadecpu/lowlevel_init.S new file +279 -0

279 lines not on this page · raw message

include/configs/jadecpu.h new file +187 -0

187 lines not on this page · raw message

Signature · 1 line
1.5.6.3
#5 lore raw

PATCH 1/1 Add support for jadecpu board

Quoted 4 lines · Matthias Weisser
---
 MAINTAINERS                          |    4 +
 MAKEALL                              |    1 +

<snip>

Makefile TNY_A9260_config : unconfig · line 2880

Quoted 11 lines

index ed6156f..98c147d 100644

Makefile +4 -0
@@ -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'

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

<snip>

Quoted 11 lines

+ */

Makefile +10 -0
+
+#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)

Makefile

Quoted 10 lines
Makefile +10 -0
+{
+	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.

Quoted 11 lines
Makefile +11 -0
+	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;
+}

Makefile

Quoted 10 lines
Makefile +10 -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*'

Makefile

Quoted 1 line
Makefile +1 -0
+	/* Display 0 */

This should be conditional included if the video in included

#ifdef CONFIG_VIDEO_JADEGDC ..

Quoted 21 lines
Makefile +21 -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;
+

Makefile

Quoted 10 lines
Makefile +10 -0
+				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 ?

Quoted 45 lines
Makefile +45 -0
+	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");

Makefile

Quoted 10 lines
Makefile +10 -0
+		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{'

Quoted 5 lines
Makefile +5 -0
+		setenv("stdin", "serial");
+		setenv("stdout", "serial");
+		setenv("stderr", "serial");
+		if (getenv("gs_devel"))
+			setenv("bootdelay", "5");

Makefile

Quoted 10 lines
Makefile +10 -0
+		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.

Quoted 35 lines
Makefile +23 -0
+	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;
+}
+
board/syteco/jadecpu/lowlevel_init.S new file +6 -0
new file mode 100644
index 0000000..73550c9
@@ -0,0 +1,279 @@
+/*
+ * Board specific setup info
+ *
+ * (C) Copyright 2007, mycable GmbH
+ * Carsten Schneider <[email protected]>, Alexander Bigga <[email protected]>
+ *

board/syteco/jadecpu/lowlevel_init.S line 16

Quoted 10 lines
board/syteco/jadecpu/lowlevel_init.S new file +10 -0
+ * (C) Copyright 2007, mycable GmbH
+ * Carsten Schneider <[email protected]>, Alexander Bigga <[email protected]>
+ *
+ * (C) Copyright 2003, ARM Ltd.
+ * Philippe Robin, <[email protected]>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software/* you can redistribute it and/or

ws
remove '/*'

board/syteco/jadecpu/lowlevel_init.S line 18

Quoted 2 lines
board/syteco/jadecpu/lowlevel_init.S new file +2 -0
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation/* either version 2 of

ws
remove '/*'

board/syteco/jadecpu/lowlevel_init.S line 22

Quoted 4 lines
board/syteco/jadecpu/lowlevel_init.S new file +4 -0
+ * 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 '/*'

board/syteco/jadecpu/lowlevel_init.S line 27

Quoted 5 lines
board/syteco/jadecpu/lowlevel_init.S new file +5 -0
+ * 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..

Quoted 10 lines
board/syteco/jadecpu/lowlevel_init.S new file +10 -0
+ * 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 */

board/syteco/jadecpu/lowlevel_init.S line 47

Quoted 10 lines
board/syteco/jadecpu/lowlevel_init.S new file +10 -0
+.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:'

Quoted 62 lines
board/syteco/jadecpu/lowlevel_init.S new file +62 -0
+	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

board/syteco/jadecpu/lowlevel_init.S line 119

Quoted 10 lines
board/syteco/jadecpu/lowlevel_init.S new file +10 -0
+	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
/* -> */ ?

Quoted 4 lines
board/syteco/jadecpu/lowlevel_init.S new file +4 -0
+	ldr	r0, =JADE_CCNT_PHYS_BASE
+	ldr	r1, =0x00000002
+	str	r1, [r0, #CCNT_CDCRC]
+

<snip>

board/syteco/jadecpu/lowlevel_init.S line 234

Quoted 10 lines
board/syteco/jadecpu/lowlevel_init.S new file +10 -0
+	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

board/syteco/jadecpu/lowlevel_init.S line 246

Quoted 12 lines
board/syteco/jadecpu/lowlevel_init.S new file +12 -0
+	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..

board/syteco/jadecpu/lowlevel_init.S line 250

Quoted 4 lines
board/syteco/jadecpu/lowlevel_init.S new file +4 -0
+	ldr	r1, =0x6e32
+	strh	r1, [r0, #DDR2C_DRCST2]
+
+	/* ldr	r1, =0x0051 */		/* Set CNTL, REF_CNT*/

and here..

Quoted 54 lines
board/syteco/jadecpu/lowlevel_init.S new file +29 -0
+	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
+
include/configs/jadecpu.h new file +19 -0
new file mode 100644
index 0000000..5a19abf
@@ -0,0 +1,187 @@
+/*
+ * (C) Copyright 2007-2008
+ * Matthias Weisser <[email protected]>
+ *
+ * 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.
+ *

include/configs/jadecpu.h line 29

Quoted 10 lines
include/configs/jadecpu.h new file +10 -0
+ * 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

include/configs/jadecpu.h line 30

Quoted 1 line
include/configs/jadecpu.h new file +1 -0
+#define CONFIG_JADE_IOCLK		(41164767)

This is a strange number. please add a comment.

Quoted 30 lines
include/configs/jadecpu.h new file +30 -0
+#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
+

include/configs/jadecpu.h line 70

Quoted 10 lines
include/configs/jadecpu.h new file +10 -0
+/*
+ * 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

Quoted 43 lines
include/configs/jadecpu.h new file +43 -0
+ */
+#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

include/configs/jadecpu.h line 123

Quoted 10 lines
include/configs/jadecpu.h new file +10 -0
+#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

#6 lore raw

PATCH 1/1 Add support for jadecpu board

Dear Matthias Weisser,

Quoted 8 lines · In message <[email protected]> Tom Rix wrote:
Quoted 8 lines

index ed6156f..98c147d 100644

Makefile +0 -0
@@ -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
 
Quoted 6 lines

Makefile TNY_A9260_config : unconfig · line 2880

Quoted 4 lines
Makefile +4 -0
+#########################################################################
+## 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.

Quoted 2 lines

Makefile TNY_A9260_config : unconfig · line 2882

Quoted 2 lines
Makefile +2 -0
+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

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Youth doesn't excuse everything.
	-- Dr. Janice Lester (in Kirk's body), "Turnabout Intruder",
	   stardate 5928.5.
#7 lore raw

[U-Boot] Antw: Re: [PATCH] Add support for jadecpu board

Hello Wolfgang

Quoted 5 lines
Quoted 1 line
Quoted 1 line

Wolfgang Denk <[email protected]> schrieb am 16.01.2010 um 21:11:

Dear Matthias Weisser,

Quoted 1 line · In message <[email protected]> Tom Rix wrote:
Quoted 8 lines
Quoted 8 lines

Makefile TNY_A9260_config : unconfig · line 2877

Quoted 8 lines

index ed6156f..98c147d 100644

Makefile +0 -0
@@ -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
 
 

+#########################################################################

Quoted 2 lines
Quoted 2 lines

Makefile TNY_A9260_config : unconfig · line 2879

Quoted 2 lines
Makefile +1 -0
+## ARM926EJ-S Systems
 

+#########################################################################

Quoted 4 lines
Quoted 3 lines

Makefile TNY_A9260_config : unconfig · line 2880

Quoted 1 line
Makefile +1 -0
+

Change to 'Syteco ARM926EJ-S Systems'

Quoted 8 lines

NAK.

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

Quoted 2 lines

Makefile TNY_A9260_config : unconfig · line 2882

Quoted 2 lines
Makefile +2 -0
+jadecpu_config	:	unconfig
+	@$(MKCONFIG) $(@:_config=) arm arm926ejs jadecpu syteco jade

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

it

Quoted 1 line

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

#8 lore raw

[U-Boot] Antw: Re: [PATCH] Add support for jadecpu board

Dear "Matthias Weisser",

Quoted 10 lines · In message <[email protected]> you wrote:
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Makefile +3 -0
@@ -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
+#########################################################################

...

Quoted 4 lines
Quoted 2 lines

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?

Quoted 4 lines

In the ARM section of the makefile we have
* StrongARM
* ARM92xT
* two Atmel related sections

Quoted 8 lines

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

Quoted 3 lines

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

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It is dangerous to be right on a subject  on  which  the  established
authorities are wrong.                                    -- Voltaire
#9 lore raw

[U-Boot] Antw: Re: [PATCH] Add support for jadecpu board

Hello Wolfgang

Am 18.01.2010 08:57, schrieb Wolfgang Denk:

Quoted 6 lines
Quoted 3 lines

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

#10 lore raw

[U-Boot] Antw: Re: [PATCH] Add support for jadecpu board

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

Quoted 7 lines · In message <[email protected]> you wrote:

Hello Wolfgang

Am 18.01.2010 08:57, schrieb Wolfgang Denk:

Quoted 4 lines
Quoted 3 lines

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.

Quoted 5 lines
Quoted 2 lines

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

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Never face facts; if you do, you'll never get up in the morning."
- Marlo Thomas
#11 lore raw

PATCH 1/1 Add support for jadecpu board

In reply to Tom

Hi Tom

thanks for your feedback.

Am 16.01.2010 20:18, schrieb Tom:

Quoted 10 lines

board/syteco/jadecpu/jadecpu.c line 42

Quoted 5 lines
board/syteco/jadecpu/jadecpu.c new file +5 -0
+/*
+ * 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?

Quoted 6 lines

board/syteco/jadecpu/lowlevel_init.S line 119

Quoted 3 lines
board/syteco/jadecpu/lowlevel_init.S new file +3 -0
+	/*
+	 * (4) IRESET/IUSRRST release
+	/*

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

You are right. Thanks for catching this.

Quoted 4 lines
Quoted 1 line

+#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?

Quoted 3 lines
Quoted 1 line

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

#12 lore raw

PATCH 1/1 Add support for jadecpu board

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

Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 2 lines

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

#13 lore raw

PATCH 1/1 Add support for jadecpu board

Am 18.01.2010 09:52, schrieb Wolfgang Denk:

Quoted 6 lines
Quoted 3 lines

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

#14 lore raw

PATCH 1/1 Add support for jadecpu board

Quoted 4 lines · Matthias Wei?er

Am 18.01.2010 09:52, schrieb Wolfgang Denk:

Quoted 3 lines
Quoted 3 lines

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?

Quoted 8 lines
Quoted 2 lines

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

Quoted 7 lines

Regards,
Matthias

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

#15 lore raw

PATCH 1/1 Add support for jadecpu board

In reply to Matthias Weißer

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

Quoted 19 lines · Matthias Wei?er

Am 18.01.2010 09:52, schrieb Wolfgang Denk:

Quoted 5 lines
Quoted 3 lines

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

#16 lore raw

PATCH 1/1 Adding new vendor logo

In reply to Matthias Weisser
Quoted 12 lines · Matthias Weisser
---
 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
tools/Makefile +0 -0
index 5b8c3c3..702bb83 100644

tools/Makefile endif · line 110

Quoted 6 lines
tools/Makefile +3 -0
@@ -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

Quoted 29 lines
tools/Makefile +0 -0
 # now $(obj) is defined
 HOSTSRCS += $(addprefix $(SRCTREE)/,$(EXT_OBJ_FILES-y:.o=.c))
tools/logos/syteco.bmp new file binary +0 -0
new file mode 100644
index 0000000000000000000000000000000000000000..141ee8e10edd85caa52b9501e3a4381b81fe772d
GIT binary patch

zhaW%xehW+behuL(l>Wf)7yK^a^U at ywTZsRu;KA|g!}yt)yLX&3%A>CEstzCFdP^T zdt(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)*p12iK3IL=Vr3MQz1&YHL z?g!T5(G$}<te52r@ir{UnfLG|IrA<o(V5;XSwN+d0eDBdHS-))l0rbu^5}5<7SE zRg$sjdj!8hEd8Lmjx~<>uXXIGz-iLz0M#^oeMge4T14zy+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!E6i4vtgM zK%4GqiqZ>a!!mBRTo7yU$TR*rpd^+A%JbZc6eD%0s`up(SQ{|tgv^IC(h;nGKxaB^ J$T5U;;2&8xIXwUX

literal 0
HcmV?d00001

#17 lore raw

PATCH 1/1 Adding new vendor logo

Am 16.01.2010 17:43, schrieb Tom:

Quoted 8 lines
Quoted 7 lines · Matthias Weisser
---
  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

Quoted 15 lines

tools/Makefile endif · line 110

Quoted 11 lines
tools/Makefile +3 -0
index 5b8c3c3..702bb83 100644
@@ -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

#18 lore raw

PATCH 1/1 Add support for Jade display controller

In reply to Matthias Weisser
Quoted 25 lines · Matthias Weisser
---
 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
drivers/video/Makefile +1 -0
index bb6b5a0..aadc149 100644
@@ -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
drivers/video/cfb_console.c +0 -0
index c07a26e..506337b 100644

drivers/video/cfb_console.c void console_cursor (int state); · line 324

Quoted 5 lines
drivers/video/cfb_console.c +1 -1
@@ -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.

Quoted 4 lines
drivers/video/cfb_console.c +0 -0
 #define SHORTSWAP32(x)	 ( ((x) >> 16) | ((x) << 16) )
 #else
 #define SHORTSWAP32(x)	 (x)
drivers/video/jadegdc.c +0 -0

<snip>

drivers/video/jadegdc.c line 46

Quoted 8 lines

+ * 4MB (at the end of system RAM)
+ */

drivers/video/jadegdc.c +6 -0
+#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.

Quoted 29 lines
drivers/video/jadegdc.c +29 -0
+
+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;

drivers/video/jadegdc.c line 85

Quoted 10 lines
drivers/video/jadegdc.c +10 -0
+		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

Quoted 3 lines
drivers/video/jadegdc.c +3 -0
+		}
+
+		bpp = 0;

<snip>

drivers/video/jadegdc.c line 191

Quoted 11 lines
drivers/video/jadegdc.c +11 -0
+	}
+
+	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

#19 lore raw

PATCH 1/1 Add support for Jade display controller

Am 16.01.2010 17:30, schrieb Tom:

Quoted 2 lines

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

Done.

Quoted 7 lines

drivers/video/jadegdc.c line 46

Quoted 4 lines
drivers/video/jadegdc.c new file +4 -0
+/*
+ * Graphic Device
+ */
+GraphicDevice jadegdc;

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

Done.

Quoted 33 lines
Quoted 33 lines
drivers/video/jadegdc.c new file +33 -0
+
+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);
Quoted 8 lines

drivers/video/jadegdc.c line 85

Quoted 6 lines
drivers/video/jadegdc.c new file +6 -0
+
+		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.

Quoted 8 lines

drivers/video/jadegdc.c line 191

Quoted 6 lines
drivers/video/jadegdc.c new file +6 -0
+/*
+ * 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

#20 lore raw

PATCH 1/1 Add support for MB86R01 from Fujitsu

In reply to Matthias Weisser
Quoted 21 lines · Matthias Weisser
---
 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
common/serial.c +0 -0
index 5f9ffd7..7397608 100644

common/serial.c struct serial_device *__default_serial_console (void) · line 48

Quoted 9 lines
common/serial.c +2 -1
@@ -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

#21 lore raw

PATCH 1/1 Add support for MB86R01 from Fujitsu

Am 16.01.2010 16:39, schrieb Tom:

Quoted 15 lines

common/serial.c struct serial_device *__default_serial_console (void) · line 48

Quoted 10 lines · Matthias Weisser
common/serial.c +2 -1
@@ -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

Quoted 1 line

Otherwise this patch looks fine.

Thanks for checking.

Regards,
Matthias

#22 lore raw
In reply to Matthias Weisser
Quoted 3 lines · Matthias Weisser

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

Quoted 4 lines

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