public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX
@ 2010-08-10  4:50 Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                   ` (8 more replies)
  0 siblings, 9 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

These functions are undefined on ARM when using __io. These are the commonly
used versions and can be redefined.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/include/asm/io.h |   46 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index e8f3eb1..ff1518e 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -75,13 +75,47 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
 #define __arch_putw(v,a)		(*(volatile unsigned short *)(a) = (v))
 #define __arch_putl(v,a)		(*(volatile unsigned int *)(a) = (v))
 
-extern void __raw_writesb(unsigned int addr, const void *data, int bytelen);
-extern void __raw_writesw(unsigned int addr, const void *data, int wordlen);
-extern void __raw_writesl(unsigned int addr, const void *data, int longlen);
+extern inline void __raw_writesb(unsigned int addr, const void *data, int bytelen)
+{
+	uint8_t *buf = (uint8_t *)data;
+	while(bytelen--)
+		__arch_putb(*buf++, addr);
+}
+
+extern inline void __raw_writesw(unsigned int addr, const void *data, int wordlen)
+{
+	uint16_t *buf = (uint16_t *)data;
+	while(wordlen--)
+		__arch_putw(*buf++, addr);
+}
+
+extern inline void __raw_writesl(unsigned int addr, const void *data, int longlen)
+{
+	uint32_t *buf = (uint32_t *)data;
+	while(longlen--)
+		__arch_putl(*buf++, addr);
+}
 
-extern void __raw_readsb(unsigned int addr, void *data, int bytelen);
-extern void __raw_readsw(unsigned int addr, void *data, int wordlen);
-extern void __raw_readsl(unsigned int addr, void *data, int longlen);
+extern inline void __raw_readsb(unsigned int addr, void *data, int bytelen)
+{
+	uint8_t *buf = (uint8_t *)data;
+	while(bytelen--)
+		*buf++ = __arch_getb(addr);
+}
+
+extern inline void __raw_readsw(unsigned int addr, void *data, int wordlen)
+{
+	uint16_t *buf = (uint16_t *)data;
+	while(wordlen--)
+		*buf++ = __arch_getw(addr);
+}
+
+extern inline void __raw_readsl(unsigned int addr, void *data, int longlen)
+{
+	uint32_t *buf = (uint32_t *)data;
+	while(longlen--)
+		*buf++ = __arch_getl(addr);
+}
 
 #define __raw_writeb(v,a)		__arch_putb(v,a)
 #define __raw_writew(v,a)		__arch_putw(v,a)
-- 
1.7.1

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

* [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10 21:45   ` Wolfgang Denk
                     ` (8 more replies)
  2010-08-10  4:50 ` [U-Boot] [PATCH 3/9] common: Enable serial for PXA250 Marek Vasut
                   ` (7 subsequent siblings)
  8 siblings, 9 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

ACX517AKN LCD panel is found in Palm Tungsten|C

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
index 524a03b..328fa7a 100644
--- a/arch/arm/cpu/pxa/pxafb.c
+++ b/arch/arm/cpu/pxa/pxafb.c
@@ -215,6 +215,40 @@ vidinfo_t panel_info = {
 
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_ACX517AKN
+
+# define LCD_BPP	LCD_COLOR8
+
+/* you have to set lccr0 and lccr3 (including pcd) */
+# define REG_LCCR0	0x003008f9
+# define REG_LCCR3	0x03700006
+
+vidinfo_t panel_info = {
+	vl_col:		320,
+	vl_row:		320,
+	vl_width:	320,
+	vl_height:	320,
+	vl_clkp:	CONFIG_SYS_HIGH,
+	vl_oep:		CONFIG_SYS_LOW,
+	vl_hsp:		CONFIG_SYS_LOW,
+	vl_vsp:		CONFIG_SYS_LOW,
+	vl_dp:		CONFIG_SYS_HIGH,
+	vl_bpix:	LCD_BPP,
+	vl_lbw:		0,
+	vl_splt:	1,
+	vl_clor:	1,
+	vl_tft:		1,
+	vl_hpw:		0x04,
+	vl_blw:		0x1c,
+	vl_elw:		0x08,
+	vl_vpw:		0x01,
+	vl_bfw:		0x07,
+	vl_efw:		0x08,
+};
+#endif /* CONFIG_ACX517AKN */
+
+/*----------------------------------------------------------------------*/
+
 #if LCD_BPP == LCD_COLOR8
 void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue);
 #endif
-- 
1.7.1

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

* [U-Boot] [PATCH 3/9] common: Enable serial for PXA250
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 4/9] PXA: Palm Tungsten|C Support Marek Vasut
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 common/serial.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/serial.c b/common/serial.c
index fceabfa..7148cb9 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
 static struct serial_device *serial_devices = NULL;
 static struct serial_device *serial_current = NULL;
 
-#if !defined(CONFIG_LWMON) && !defined(CONFIG_PXA27X)
+#if !defined(CONFIG_LWMON) && !defined(CONFIG_PXA27X) && !defined(CONFIG_PXA250)
 struct serial_device *__default_serial_console (void)
 {
 #if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2)
-- 
1.7.1

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

* [U-Boot] [PATCH 4/9] PXA: Palm Tungsten|C Support
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 3/9] common: Enable serial for PXA250 Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 5/9] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

This patch adds support for the Palm Tungsten|C PXA255 board. The support
includes:
- LCD
- MMC
- UART
- NOR

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 MAKEALL                      |    1 +
 board/palmtc/Makefile        |   49 +++++++++
 board/palmtc/config.mk       |    1 +
 board/palmtc/lowlevel_init.S |   39 +++++++
 board/palmtc/palmtc.c        |   61 +++++++++++
 board/palmtc/u-boot.lds      |   56 ++++++++++
 boards.cfg                   |    1 +
 include/configs/palmtc.h     |  246 ++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 454 insertions(+), 0 deletions(-)
 create mode 100644 board/palmtc/Makefile
 create mode 100644 board/palmtc/config.mk
 create mode 100644 board/palmtc/lowlevel_init.S
 create mode 100644 board/palmtc/palmtc.c
 create mode 100644 board/palmtc/u-boot.lds
 create mode 100644 include/configs/palmtc.h

diff --git a/MAKEALL b/MAKEALL
index b34ae33..b871976 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -713,6 +713,7 @@ LIST_pxa="		\
 	delta		\
 	innokom		\
 	lubbock		\
+	palmtc		\
 	pleb2		\
 	polaris		\
 	pxa255_idp	\
diff --git a/board/palmtc/Makefile b/board/palmtc/Makefile
new file mode 100644
index 0000000..20ac4e1
--- /dev/null
+++ b/board/palmtc/Makefile
@@ -0,0 +1,49 @@
+#
+# Palm Tungsten|C Support
+#
+# Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= palmtc.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/palmtc/config.mk b/board/palmtc/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/palmtc/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/palmtc/lowlevel_init.S b/board/palmtc/lowlevel_init.S
new file mode 100644
index 0000000..74050dc
--- /dev/null
+++ b/board/palmtc/lowlevel_init.S
@@ -0,0 +1,39 @@
+/*
+ * Palm Tungsten|C Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/palmtc/palmtc.c b/board/palmtc/palmtc.c
new file mode 100644
index 0000000..6083065
--- /dev/null
+++ b/board/palmtc/palmtc.c
@@ -0,0 +1,61 @@
+/*
+ * Palm Tungsten|C Support
+ *
+ * Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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 <command.h>
+#include <serial.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* memory and cpu-speed are setup before relocation */
+	/* so we do _nothing_ here */
+
+	/* Arch number of Palm Tungsten|C */
+	gd->bd->bi_arch_number = MACH_TYPE_PALMTC;
+
+	/* Adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Set PWM for LCD */
+	PWM_CTRL1 = 0x5f;
+	PWM_PERVAL1 = 0x3ff;
+	PWM_PWDUTY1 = 892;
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+	return 0;
+}
diff --git a/board/palmtc/u-boot.lds b/board/palmtc/u-boot.lds
new file mode 100644
index 0000000..fb4358b
--- /dev/null
+++ b/board/palmtc/u-boot.lds
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2000-2005
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index 69c6897..c6263c9 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -59,6 +59,7 @@ delta		arm	pxa
 innokom		arm	pxa
 logodl		arm	pxa
 lubbock		arm	pxa
+palmtc		arm	pxa
 pleb2		arm	pxa
 xaeniax		arm	pxa
 xm250		arm	pxa
diff --git a/include/configs/palmtc.h b/include/configs/palmtc.h
new file mode 100644
index 0000000..5de5dfe
--- /dev/null
+++ b/include/configs/palmtc.h
@@ -0,0 +1,246 @@
+/*
+ * Palm Tungsten|C configuration file
+ *
+ * Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+#include <asm/arch/pxa-regs.h>
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA250			1	/* Intel PXA255 CPU */
+#define	CONFIG_PALMTC			1	/* Palm Tungsten|C board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if mmc init && fatload mmc 0 0xa0000000 uboot.script ; then "	\
+		"source 0xa0000000; "					\
+	"else "								\
+		"bootm 0x80000; "					\
+	"fi; "
+#define	CONFIG_BOOTARGS							\
+	"console=tty0 console=ttyS0,115200"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ * STUART - the lower serial port on Colibri board
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_FFUART			1
+#define	CONFIG_BAUDRATE			115200
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#define	CONFIG_CMD_ENV
+#define	CONFIG_CMD_MMC
+#define	CONFIG_LCD
+
+/*
+ * MMC Card Configuration
+ */
+#ifdef	CONFIG_CMD_MMC
+#define	CONFIG_MMC
+#define	CONFIG_PXA_MMC
+#define	CONFIG_SYS_MMC_BASE		0xF0000000
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#define	CONFIG_DOS_PARTITION
+#endif
+
+/*
+ * LCD
+ */
+#ifdef	CONFIG_LCD
+#define	CONFIG_ACX517AKN
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400		/* speed to run kgdb serial port */
+#define	CONFIG_KGDB_SER_INDEX		2		/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP				/* undef to save memory	*/
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "		/* Monitor Command Prompt */
+#else
+#define	CONFIG_SYS_PROMPT		"=> "		/* Monitor Command Prompt */
+#endif
+#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size */
+#define	CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)	/* Print Buffer Size */
+#define	CONFIG_SYS_MAXARGS		16		/* max number of command args */
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size */
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3686400		/* Timer @ 3686400 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x161		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
+
+/*
+ * Stack sizes
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		1		/* We have 1 bank of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x04000000	/* 64 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x04000000	/* 64 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_DRAM_BASE
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x01000000	/* 16 MB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+#define	CONFIG_SYS_FLASH_CFI_WIDTH      FLASH_CFI_32BIT
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	64
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x40000
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_SYS_MONITOR_BASE		0x0
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_ENV_SIZE			0x4000
+#define	CONFIG_ENV_ADDR			0x40000
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GAFR0_L_VAL	0x00011004
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5000008
+#define	CONFIG_SYS_GAFR1_L_VAL	0x60888050
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa50aaa
+#define	CONFIG_SYS_GAFR2_L_VAL	0x0aaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x00000000
+#define	CONFIG_SYS_GPCR0_VAL	0x0
+#define	CONFIG_SYS_GPCR1_VAL	0x0
+#define	CONFIG_SYS_GPCR2_VAL	0x0
+#define	CONFIG_SYS_GPDR0_VAL	0xcfff8140
+#define	CONFIG_SYS_GPDR1_VAL	0xfcbfbef3
+#define	CONFIG_SYS_GPDR2_VAL	0x0001ffff
+#define	CONFIG_SYS_GPSR0_VAL	0x00010f8f
+#define	CONFIG_SYS_GPSR1_VAL	0x00bf5de5
+#define	CONFIG_SYS_GPSR2_VAL	0x03fe0800
+
+#define	CONFIG_SYS_PSSR_VAL	PSSR_RDH
+
+/* Clock setup:
+ * 	CKEN[1]		- PWM1
+ * 	CKEN[6]		- FFUART
+ * 	CKEN[12]	- MMC
+ * 	CKEN[16]	- LCD
+ */
+#define	CONFIG_SYS_CKEN		0x00011042
+#define	CONFIG_SYS_CCCR		0x00000161
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x800092c2
+#define	CONFIG_SYS_MSC1_VAL	0x80008000
+#define	CONFIG_SYS_MSC2_VAL	0x80008000
+#define	CONFIG_SYS_MDCNFG_VAL	0x00001ac9
+#define	CONFIG_SYS_MDREFR_VAL	0x00118018
+#define	CONFIG_SYS_MDMRS_VAL	0x00220032
+#define	CONFIG_SYS_FLYCNFG_VAL	0x01fe01fe
+#define	CONFIG_SYS_SXCNFG_VAL	0x00000000
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000000
+#define	CONFIG_SYS_MCMEM0_VAL	0x00010504
+#define	CONFIG_SYS_MCMEM1_VAL	0x00010504
+#define	CONFIG_SYS_MCATT0_VAL	0x00010504
+#define	CONFIG_SYS_MCATT1_VAL	0x00010504
+#define	CONFIG_SYS_MCIO0_VAL	0x00010e04
+#define	CONFIG_SYS_MCIO1_VAL	0x00010e04
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 5/9] PXA: pxafb: Add support for Sharp LQ038J7DH53
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (2 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 4/9] PXA: Palm Tungsten|C Support Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 6/9] PXA: Add initial Palm LifeDrive support Marek Vasut
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

This LCD panel is found in Palm LifeDrive handheld

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
index 328fa7a..066f49e 100644
--- a/arch/arm/cpu/pxa/pxafb.c
+++ b/arch/arm/cpu/pxa/pxafb.c
@@ -249,6 +249,40 @@ vidinfo_t panel_info = {
 
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_LQ038J7DH53
+
+# define LCD_BPP	LCD_COLOR8
+
+/* you have to set lccr0 and lccr3 (including pcd) */
+# define REG_LCCR0	0x003008f9
+# define REG_LCCR3	0x03700004
+
+vidinfo_t panel_info = {
+	vl_col:		320,
+	vl_row:		480,
+	vl_width:	320,
+	vl_height:	480,
+	vl_clkp:	CONFIG_SYS_HIGH,
+	vl_oep:		CONFIG_SYS_LOW,
+	vl_hsp:		CONFIG_SYS_LOW,
+	vl_vsp:		CONFIG_SYS_LOW,
+	vl_dp:		CONFIG_SYS_HIGH,
+	vl_bpix:	LCD_BPP,
+	vl_lbw:		0,
+	vl_splt:	1,
+	vl_clor:	1,
+	vl_tft:		1,
+	vl_hpw:		0x04,
+	vl_blw:		0x20,
+	vl_elw:		0x01,
+	vl_vpw:		0x01,
+	vl_bfw:		0x04,
+	vl_efw:		0x01,
+};
+#endif /* CONFIG_ACX517AKN */
+
+/*----------------------------------------------------------------------*/
+
 #if LCD_BPP == LCD_COLOR8
 void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue);
 #endif
-- 
1.7.1

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

* [U-Boot] [PATCH 6/9] PXA: Add initial Palm LifeDrive support
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (3 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 5/9] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 7/9] PXA: Voipac270 improvements Marek Vasut
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 MAKEALL                      |    1 +
 board/palmld/Makefile        |   49 ++++++++
 board/palmld/config.mk       |    1 +
 board/palmld/lowlevel_init.S |   45 +++++++
 board/palmld/palmld.c        |   71 +++++++++++
 board/palmld/u-boot.lds      |   56 +++++++++
 boards.cfg                   |    1 +
 include/configs/palmld.h     |  272 ++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 496 insertions(+), 0 deletions(-)
 create mode 100644 board/palmld/Makefile
 create mode 100644 board/palmld/config.mk
 create mode 100644 board/palmld/lowlevel_init.S
 create mode 100644 board/palmld/palmld.c
 create mode 100644 board/palmld/u-boot.lds
 create mode 100644 include/configs/palmld.h

diff --git a/MAKEALL b/MAKEALL
index b871976..1642abe 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -713,6 +713,7 @@ LIST_pxa="		\
 	delta		\
 	innokom		\
 	lubbock		\
+	palmld		\
 	palmtc		\
 	pleb2		\
 	polaris		\
diff --git a/board/palmld/Makefile b/board/palmld/Makefile
new file mode 100644
index 0000000..bcb014d
--- /dev/null
+++ b/board/palmld/Makefile
@@ -0,0 +1,49 @@
+#
+# Palm LifeDrive Support
+#
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= palmld.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/palmld/config.mk b/board/palmld/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/palmld/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/palmld/lowlevel_init.S b/board/palmld/lowlevel_init.S
new file mode 100644
index 0000000..e3382ee
--- /dev/null
+++ b/board/palmld/lowlevel_init.S
@@ -0,0 +1,45 @@
+/*
+ * Palm LifeDrive Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+
+	/* Enable GPIO reset */
+	ldr	r0, =PCFR
+	mov	r1, #0x30
+	str	r1, [r0]
+
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/palmld/palmld.c b/board/palmld/palmld.c
new file mode 100644
index 0000000..22362b2
--- /dev/null
+++ b/board/palmld/palmld.c
@@ -0,0 +1,71 @@
+/*
+ * Palm LifeDrive Support
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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 <command.h>
+#include <serial.h>
+#include <asm/arch/pxa-regs.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* memory and cpu-speed are setup before relocation */
+	/* so we do _nothing_ here */
+
+	/* arch number of Lubbock-Board */
+	gd->bd->bi_arch_number = MACH_TYPE_PALMLD;
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Set PWM for LCD */
+	PWM_CTRL0 = 0x7;
+	PWM_PERVAL0 = 0x16c;
+	PWM_PWDUTY0 = 0x11a;
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+
+	return 0;
+}
+
+ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
+{
+	info->portwidth = FLASH_CFI_16BIT;
+	info->chipwidth = FLASH_CFI_BY16;
+	info->interface = FLASH_CFI_X16;
+	return 1;
+}
diff --git a/board/palmld/u-boot.lds b/board/palmld/u-boot.lds
new file mode 100644
index 0000000..fb4358b
--- /dev/null
+++ b/board/palmld/u-boot.lds
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2000-2005
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index c6263c9..b5ee531 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -59,6 +59,7 @@ delta		arm	pxa
 innokom		arm	pxa
 logodl		arm	pxa
 lubbock		arm	pxa
+palmld		arm	pxa
 palmtc		arm	pxa
 pleb2		arm	pxa
 xaeniax		arm	pxa
diff --git a/include/configs/palmld.h b/include/configs/palmld.h
new file mode 100644
index 0000000..942ca5a
--- /dev/null
+++ b/include/configs/palmld.h
@@ -0,0 +1,272 @@
+/*
+ * Palm LifeDrive configuration file
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
+#define	CONFIG_PALMLD		1	/* Palm LifeDrive board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if mmcinfo && fatload mmc 0 0xa0000000 uboot.script ; then "	\
+		"source 0xa0000000; "					\
+	"else "								\
+		"bootm 0x0x60000; "					\
+	"fi; "
+#define	CONFIG_BOOTARGS			"console=tty0 console=ttyS0,9600"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_FFUART			1
+#define	CONFIG_BAUDRATE			9600
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#define	CONFIG_CMD_ENV
+#undef	CONFIG_CMD_IMLS
+#define	CONFIG_CMD_MMC
+#define	CONFIG_CMD_IDE
+#define	CONFIG_LCD
+
+/*
+ * MMC Card Configuration
+ */
+#ifdef	CONFIG_CMD_MMC
+#define	CONFIG_MMC
+#define	CONFIG_GENERIC_MMC
+#define	CONFIG_PXA_MMC_GENERIC
+#define	CONFIG_SYS_MMC_BASE		0xF0000000
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#define	CONFIG_DOS_PARTITION
+#endif
+
+/*
+ * LCD
+ */
+#ifdef CONFIG_LCD
+#define	CONFIG_LQ038J7DH53
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400		/* speed to run kgdb serial port */
+#define	CONFIG_KGDB_SER_INDEX		2		/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP				/* undef to save memory	*/
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "		/* Monitor Command Prompt */
+#else
+#define	CONFIG_SYS_PROMPT		"=> "		/* Monitor Command Prompt */
+#endif
+#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size */
+#define	CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)	/* Print Buffer Size */
+#define	CONFIG_SYS_MAXARGS		16		/* max number of command args */
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size */
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x210		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
+
+/*
+ * Stack sizes
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		1		/* We have 1 bank of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x02000000	/* 32 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x02000000	/* 32 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_DRAM_BASE
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x00080000	/* 512 KB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+
+#define	CONFIG_FLASH_CFI_LEGACY
+#define	CONFIG_SYS_FLASH_LEGACY_512Kx16
+
+#define	CONFIG_SYS_MONITOR_BASE		0
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	256
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x10000
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SIZE			0x4000
+
+/*
+ * IDE
+ */
+#ifdef	CONFIG_CMD_IDE
+#define	CONFIG_LBA48
+#undef	CONFIG_IDE_LED
+#undef	CONFIG_IDE_RESET
+
+#define	__io
+
+#define	CONFIG_SYS_IDE_MAXBUS		1
+#define	CONFIG_SYS_IDE_MAXDEVICE	1
+
+#define	CONFIG_SYS_ATA_BASE_ADDR	0x20000000
+#define	CONFIG_SYS_ATA_IDE0_OFFSET	0x0
+
+#define	CONFIG_SYS_ATA_DATA_OFFSET	0x10
+#define	CONFIG_SYS_ATA_REG_OFFSET	0x10
+#define	CONFIG_SYS_ATA_ALT_OFFSET	0x10
+
+#define	CONFIG_SYS_ATA_STRIDE		1
+#endif
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GAFR0_L_VAL	0x00000000
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5180012
+#define	CONFIG_SYS_GAFR1_L_VAL	0x69988056
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa580aa
+#define	CONFIG_SYS_GAFR2_L_VAL	0x6aaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x01040001
+#define	CONFIG_SYS_GAFR3_L_VAL	0x540a950c
+#define	CONFIG_SYS_GAFR3_U_VAL	0x00000009
+#define	CONFIG_SYS_GPCR0_VAL	0x00000000
+#define	CONFIG_SYS_GPCR1_VAL	0x00000000
+#define	CONFIG_SYS_GPCR2_VAL	0x00000000
+#define	CONFIG_SYS_GPCR3_VAL	0x00000000
+#define	CONFIG_SYS_GPDR0_VAL	0xc26b0000
+#define	CONFIG_SYS_GPDR1_VAL	0xfcdfaa93
+#define	CONFIG_SYS_GPDR2_VAL	0x7bbaffff
+#define	CONFIG_SYS_GPDR3_VAL	0x006ff38d
+#define	CONFIG_SYS_GPSR0_VAL	0x0d9e45ee
+#define	CONFIG_SYS_GPSR1_VAL	0x03affdae
+#define	CONFIG_SYS_GPSR2_VAL	0x07554000
+#define	CONFIG_SYS_GPSR3_VAL	0x01bc0785
+
+#define	CONFIG_SYS_PSSR_VAL	0x30
+
+/*
+ * Clock settings
+ */
+#define	CONFIG_SYS_CKEN		0x01ffffff
+#define	CONFIG_SYS_CCCR		0x02000210
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x7ff844c8
+#define	CONFIG_SYS_MSC1_VAL	0x7ff86ab4
+#define	CONFIG_SYS_MSC2_VAL	0x7ff87ff8
+#define	CONFIG_SYS_MDCNFG_VAL	0x0B880acd
+#define	CONFIG_SYS_MDREFR_VAL	0x201fa031
+#define	CONFIG_SYS_MDMRS_VAL	0x00320032
+#define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
+#define	CONFIG_SYS_SXCNFG_VAL	0x40044004
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000003
+#define	CONFIG_SYS_MCMEM0_VAL	0x0001c391
+#define	CONFIG_SYS_MCMEM1_VAL	0x0001c391
+#define	CONFIG_SYS_MCATT0_VAL	0x0001c391
+#define	CONFIG_SYS_MCATT1_VAL	0x0001c391
+#define	CONFIG_SYS_MCIO0_VAL	0x00014611
+#define	CONFIG_SYS_MCIO1_VAL	0x0001c391
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 7/9] PXA: Voipac270 improvements
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (4 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 6/9] PXA: Add initial Palm LifeDrive support Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10  4:50 ` [U-Boot] [PATCH 8/9] PXA: Balloon3 board support Marek Vasut
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

128MB NOR module support.
Define __io to get harddrive working.
Fix saving of environment into OneNAND.
Boot from harddrive when possible.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 MAKEALL                       |    3 +-
 Makefile                      |    7 +++-
 board/vpac270/Makefile        |    7 +--
 board/vpac270/lowlevel_init.S |    1 -
 board/vpac270/vpac270.c       |   41 +++++++-------------
 include/configs/vpac270.h     |   83 ++++++++++++++++++++++++----------------
 6 files changed, 75 insertions(+), 67 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 1642abe..52472de 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -719,7 +719,8 @@ LIST_pxa="		\
 	polaris		\
 	pxa255_idp	\
 	trizepsiv	\
-	vpac270_nor	\
+	vpac270_128M_nor\
+	vpac270_256M_nor\
 	vpac270_onenand	\
 	wepep250	\
 	xaeniax		\
diff --git a/Makefile b/Makefile
index 4f1cb1b..3f2b304 100644
--- a/Makefile
+++ b/Makefile
@@ -2180,13 +2180,18 @@ trizepsiv_config	:	unconfig
 	fi;
 	@$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv
 
-vpac270_nor_config \
+vpac270_nor_256M_config \
+vpac270_nor_128M_config \
 vpac270_onenand_config	: unconfig
 	@mkdir -p $(obj)include
 	@if [ "$(findstring onenand,$@)" ] ; then \
 		echo "#define CONFIG_ONENAND_U_BOOT" \
 			>>$(obj)include/config.h ; \
 	fi;
+	@if [ "$(findstring 256M,$@)" ] ; then \
+		echo "#define CONFIG_256M_U_BOOT" \
+			>>$(obj)include/config.h ; \
+	fi;
 	@$(MKCONFIG) -n $@ -a vpac270 arm pxa vpac270
 
 #########################################################################
diff --git a/board/vpac270/Makefile b/board/vpac270/Makefile
index c6f4c7c..f5014fc 100644
--- a/board/vpac270/Makefile
+++ b/board/vpac270/Makefile
@@ -1,10 +1,7 @@
-
 #
-# (C) Copyright 2000
-# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+# Voipac PXA270 Support
 #
-# See file CREDITS for list of people who contributed to this
-# project.
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License as
diff --git a/board/vpac270/lowlevel_init.S b/board/vpac270/lowlevel_init.S
index ec0d12c..c40d12f 100644
--- a/board/vpac270/lowlevel_init.S
+++ b/board/vpac270/lowlevel_init.S
@@ -3,7 +3,6 @@
  *
  * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
  *
- *
  * See file CREDITS for list of people who contributed to this
  * project.
  *
diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
index 18e47e2..2d01e22 100644
--- a/board/vpac270/vpac270.c
+++ b/board/vpac270/vpac270.c
@@ -1,16 +1,7 @@
 /*
- * (C) Copyright 2004
- * Robert Whaley, Applied Data Systems, Inc. rwhaley at applieddata.net
+ * Voipac PXA270 Support
  *
- * (C) Copyright 2002
- * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -31,29 +22,19 @@
 #include <common.h>
 #include <asm/arch/hardware.h>
 #include <netdev.h>
+#include <serial.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-/* ------------------------------------------------------------------------- */
-
 /*
  * Miscelaneous platform dependent initialisations
  */
-extern struct serial_device serial_ffuart_device;
-extern struct serial_device serial_btuart_device;
-extern struct serial_device serial_stuart_device;
-
-struct serial_device *default_serial_console (void)
-{
-	return &serial_ffuart_device;
-}
-
 int board_init (void)
 {
 	/* memory and cpu-speed are setup before relocation */
 	/* so we do _nothing_ here */
 
-	/* arch number of vpac270 */
+	/* Arch number of vpac270 */
 	gd->bd->bi_arch_number = MACH_TYPE_VPAC270;
 
 	/* adress of boot parameters */
@@ -62,17 +43,24 @@ int board_init (void)
 	return 0;
 }
 
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
 int dram_init (void)
 {
 	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
-
 	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
 
+#ifdef	CONFIG_256M_U_BOOT
+	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
+	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
+#endif
 	return 0;
 }
 
+#ifdef	CONFIG_CMD_USB
 int usb_board_init(void)
 {
 	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
@@ -119,6 +107,7 @@ void usb_board_stop(void)
 
 	return;
 }
+#endif
 
 #ifdef CONFIG_DRIVER_DM9000
 int board_eth_init(bd_t *bis)
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index d3e22d9..09c040b 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -10,7 +10,7 @@
  *
  * 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
+ * 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
@@ -19,8 +19,8 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __CONFIG_H
-#define __CONFIG_H
+#ifndef	__CONFIG_H
+#define	__CONFIG_H
 
 /*
  * High Level Board Configuration Options
@@ -28,20 +28,13 @@
 #define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
 #define	CONFIG_VPAC270		1	/* Voipac PXA270 board */
 
-#undef	BOARD_LATE_INIT
-#undef	CONFIG_SKIP_RELOCATE_UBOOT
-#undef	CONFIG_USE_IRQ
-#undef	CONFIG_SKIP_LOWLEVEL_INIT
-
 /*
  * Environment settings
  */
-#define	CONFIG_ENV_SIZE			0x4000
-#define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128*1024)
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
 #define	CONFIG_SYS_GBL_DATA_SIZE	128
 
-#define	CONFIG_ENV_OVERWRITE		/* override default environment */
-
 #define	CONFIG_BOOTCOMMAND						\
 	"if mmc init && fatload mmc 0 0xa4000000 uImage; then "		\
 		"bootm 0xa4000000; "					\
@@ -49,6 +42,9 @@
 	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
 		"bootm 0xa4000000; "					\
 	"fi; "								\
+	"if ide reset && fatload ide 0 0xa4000000 uImage; then "	\
+		"bootm 0xa4000000; "					\
+	"fi; "								\
 	"bootm 0x40000;"
 #define	CONFIG_BOOTARGS			"console=tty0 console=ttyS0,115200"
 #define	CONFIG_TIMESTAMP
@@ -97,9 +93,9 @@
 
 #define	CONFIG_NET_MULTI		1
 #define	CONFIG_DRIVER_DM9000		1
-#define CONFIG_DM9000_BASE		0x08000300	/* CS2 */
-#define DM9000_IO			(CONFIG_DM9000_BASE)
-#define DM9000_DATA			(CONFIG_DM9000_BASE + 4)
+#define	CONFIG_DM9000_BASE		0x08000300	/* CS2 */
+#define	DM9000_IO			(CONFIG_DM9000_BASE)
+#define	DM9000_DATA			(CONFIG_DM9000_BASE + 4)
 #define	CONFIG_NET_RETRY_COUNT		10
 
 #define	CONFIG_BOOTP_BOOTFILESIZE
@@ -116,6 +112,7 @@
 #define	CONFIG_PXA_MMC
 #define	CONFIG_SYS_MMC_BASE		0xF0000000
 #define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
 #define	CONFIG_DOS_PARTITION
 #endif
 
@@ -150,7 +147,7 @@
  */
 #undef	CONFIG_SYS_CLKS_IN_HZ
 #define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
-#define CONFIG_SYS_CPUSPEED		0x190		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
+#define	CONFIG_SYS_CPUSPEED		0x190		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
 
 /*
  * Stack sizes
@@ -169,14 +166,21 @@
 #define	CONFIG_NR_DRAM_BANKS		2		/* We have 2 banks of DRAM */
 #define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
 #define	PHYS_SDRAM_1_SIZE		0x08000000	/* 128 MB */
+
+#ifdef	CONFIG_256M_U_BOOT
 #define	PHYS_SDRAM_2			0x80000000	/* SDRAM Bank #2 */
 #define	PHYS_SDRAM_2_SIZE		0x08000000	/* 128 MB */
+#endif
 
 #define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_DRAM_SIZE		0x10000000	/* 256 MB DRAM */
+#else
+#define	CONFIG_SYS_DRAM_SIZE		0x08000000	/* 128 MB DRAM */
+#endif
 
-#define CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
-#define CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
 
 #define	CONFIG_SYS_LOAD_ADDR		(0x5c000000)
 
@@ -185,14 +189,22 @@
  */
 #if	defined(CONFIG_CMD_FLASH)	/* NOR */
 #define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+
+#ifdef	CONFIG_256M_U_BOOT
 #define	PHYS_FLASH_2			0x02000000	/* Flash Bank #2 */
+#endif
 
 #define	CONFIG_SYS_FLASH_CFI
 #define	CONFIG_FLASH_CFI_DRIVER		1
 
 #define	CONFIG_SYS_MAX_FLASH_SECT	(4 + 255)
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_MAX_FLASH_BANKS	2
 #define	CONFIG_SYS_FLASH_BANKS_LIST	{ PHYS_FLASH_1, PHYS_FLASH_2 }
+#else
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+#endif
 
 #define	CONFIG_SYS_FLASH_ERASE_TOUT	(25*CONFIG_SYS_HZ)
 #define	CONFIG_SYS_FLASH_WRITE_TOUT	(25*CONFIG_SYS_HZ)
@@ -200,25 +212,26 @@
 #define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
 #define	CONFIG_SYS_FLASH_PROTECTION		1
 
-#define CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x4000
 
 #elif	defined(CONFIG_CMD_ONENAND)	/* OneNAND */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ONENAND_BASE		0x00000000
+
 #define	CONFIG_ENV_IS_IN_ONENAND	1
+#define	CONFIG_ENV_SECT_SIZE		0x20000
 
 #else	/* No flash */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ENV_IS_NOWHERE
 #endif
 
-#define	CONFIG_SYS_MONITOR_BASE		0x000000
+#define	CONFIG_SYS_MONITOR_BASE		0x0
 #define	CONFIG_SYS_MONITOR_LEN		0x40000
 
-#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_SECT_SIZE	0x40000
-#define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE)
-#define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SIZE			0x4000
 
 /*
  * IDE
@@ -230,15 +243,15 @@
 
 #define	__io
 
-#define CONFIG_SYS_IDE_MAXBUS		1
-#define CONFIG_SYS_IDE_MAXDEVICE	1
+#define	CONFIG_SYS_IDE_MAXBUS		1
+#define	CONFIG_SYS_IDE_MAXDEVICE	1
 
-#define CONFIG_SYS_ATA_BASE_ADDR	0x0c000000
-#define CONFIG_SYS_ATA_IDE0_OFFSET	0x0
+#define	CONFIG_SYS_ATA_BASE_ADDR	0x0c000000
+#define	CONFIG_SYS_ATA_IDE0_OFFSET	0x0
 
-#define CONFIG_SYS_ATA_DATA_OFFSET	0x120
-#define CONFIG_SYS_ATA_REG_OFFSET	0x120
-#define CONFIG_SYS_ATA_ALT_OFFSET	0x120
+#define	CONFIG_SYS_ATA_DATA_OFFSET	0x120
+#define	CONFIG_SYS_ATA_REG_OFFSET	0x120
+#define	CONFIG_SYS_ATA_ALT_OFFSET	0x120
 
 #define	CONFIG_SYS_ATA_STRIDE		2
 #endif
@@ -284,7 +297,11 @@
 #define	CONFIG_SYS_MSC0_VAL	0x3ffc95fa
 #define	CONFIG_SYS_MSC1_VAL	0x02ccf974
 #define	CONFIG_SYS_MSC2_VAL	0x00000000
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_MDCNFG_VAL	0x8ad30ad3
+#else
+#define	CONFIG_SYS_MDCNFG_VAL	0x88000ad3
+#endif
 #define	CONFIG_SYS_MDREFR_VAL	0x201fe01e
 #define	CONFIG_SYS_MDMRS_VAL	0x00000000
 #define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
@@ -306,13 +323,13 @@
  * LCD
  */
 #ifdef	CONFIG_LCD
-#define CONFIG_VOIPAC_LCD
+#define	CONFIG_VOIPAC_LCD
 #endif
 
 /*
  * USB
  */
-#ifdef CONFIG_CMD_USB
+#ifdef	CONFIG_CMD_USB
 #define	CONFIG_USB_OHCI_NEW
 #define	CONFIG_SYS_USB_OHCI_CPU_INIT
 #define	CONFIG_SYS_USB_OHCI_BOARD_INIT
-- 
1.7.1

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

* [U-Boot] [PATCH 8/9] PXA: Balloon3 board support
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (5 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 7/9] PXA: Voipac270 improvements Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10 21:52   ` Wolfgang Denk
  2010-08-10  4:50 ` [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries Marek Vasut
  2010-08-10 21:38 ` [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Wolfgang Denk
  8 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

The following hardware is currently supported:
- UART
- USB Host
- FPGA

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 MAKEALL                        |    1 +
 board/balloon3/Makefile        |   49 +++++++
 board/balloon3/balloon3.c      |  227 +++++++++++++++++++++++++++++++++
 board/balloon3/config.mk       |    1 +
 board/balloon3/lowlevel_init.S |   36 ++++++
 board/balloon3/u-boot.lds      |   55 ++++++++
 boards.cfg                     |    1 +
 include/configs/balloon3.h     |  270 ++++++++++++++++++++++++++++++++++++++++
 8 files changed, 640 insertions(+), 0 deletions(-)
 create mode 100644 board/balloon3/Makefile
 create mode 100644 board/balloon3/balloon3.c
 create mode 100644 board/balloon3/config.mk
 create mode 100644 board/balloon3/lowlevel_init.S
 create mode 100644 board/balloon3/u-boot.lds
 create mode 100644 include/configs/balloon3.h

diff --git a/MAKEALL b/MAKEALL
index 52472de..9d149e2 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -706,6 +706,7 @@ LIST_at91="			\
 #########################################################################
 
 LIST_pxa="		\
+	balloon3	\
 	cerf250		\
 	colibri_pxa270	\
 	cradle		\
diff --git a/board/balloon3/Makefile b/board/balloon3/Makefile
new file mode 100644
index 0000000..3928e1f
--- /dev/null
+++ b/board/balloon3/Makefile
@@ -0,0 +1,49 @@
+#
+# Balloon3 Support
+#
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= balloon3.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/balloon3/balloon3.c b/board/balloon3/balloon3.c
new file mode 100644
index 0000000..1ab06d9
--- /dev/null
+++ b/board/balloon3/balloon3.c
@@ -0,0 +1,227 @@
+/*
+ * Balloon3 Support
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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/arch/hardware.h>
+#include <serial.h>
+#include <asm/io.h>
+#include <spartan3.h>
+#include <command.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void balloon3_init_fpga(void);
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* memory and cpu-speed are setup before relocation */
+	/* so we do _nothing_ here */
+
+	/* arch number of vpac270 */
+	gd->bd->bi_arch_number = MACH_TYPE_BALLOON3;
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Init the FPGA */
+	balloon3_init_fpga();
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_stuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
+	gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
+
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
+	gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
+
+	return 0;
+}
+
+#ifdef	CONFIG_CMD_USB
+int usb_board_init(void)
+{
+	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
+		~(UHCHR_SSEP0 | UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
+
+	UHCHR |= UHCHR_FSBIR;
+
+	while (UHCHR & UHCHR_FSBIR);
+
+	UHCHR &= ~UHCHR_SSE;
+	UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);
+
+	/* Clear any OTG Pin Hold */
+	if (PSSR & PSSR_OTGPH)
+		PSSR |= PSSR_OTGPH;
+
+	UHCRHDA &= ~(0x200);
+	UHCRHDA |= 0x100;
+
+	/* Set port power control mask bits, only 3 ports. */
+	UHCRHDB |= (0x7<<17);
+
+	/* enable port 2 */
+	UP2OCR |= UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE;
+
+	return 0;
+}
+
+void usb_board_init_fail(void)
+{
+	return;
+}
+
+void usb_board_stop(void)
+{
+	UHCHR |= UHCHR_FHR;
+	udelay(11);
+	UHCHR &= ~UHCHR_FHR;
+
+	UHCCOMS |= 1;
+	udelay(10);
+
+	CKEN &= ~CKEN10_USBHOST;
+
+	return;
+}
+#endif
+
+#if defined(CONFIG_FPGA)
+/* Toggle GPIO103 and GPIO104 --  PROGB and RDnWR */
+int fpga_pgm_fn(int nassert, int nflush, int cookie)
+{
+	if (nassert)
+		GPCR3 = 0x80;
+	else
+		GPSR3 = 0x80;
+	if (nflush)
+		GPCR3 = 0x100;
+	else
+		GPSR3 = 0x100;
+	return nassert;
+}
+
+/* Check GPIO83 -- INITB */
+int fpga_init_fn(int cookie)
+{
+	return !(GPLR2 & 0x80000);
+}
+
+/* Check GPIO84 -- BUSY */
+int fpga_busy_fn(int cookie)
+{
+	return !(GPLR2 & 0x100000);
+}
+
+/* Check GPIO111 -- DONE */
+int fpga_done_fn(int cookie)
+{
+	return GPLR3 & 0x8000;
+}
+
+/* Configure GPIO104 as GPIO and deassert it */
+int fpga_pre_config_fn(int cookie)
+{
+	GAFR3_L &= ~0x30000;
+	GPCR3 = 0x100;
+	return 0;
+}
+
+/* Configure GPIO104 as nSKTSEL */
+int fpga_post_config_fn(int cookie)
+{
+	GAFR3_L |= 0x10000;
+	return 0;
+}
+
+/* Toggle RDnWR */
+int fpga_wr_fn(int nassert_write, int flush, int cookie)
+{
+	udelay(1000);
+
+	if (nassert_write)
+		GPCR3 = 0x100;
+	else
+		GPSR3 = 0x100;
+
+	return nassert_write;
+}
+
+/* Write program to the FPGA */
+int fpga_wdata_fn(uchar data, int flush, int cookie)
+{
+	writeb(data, 0x10f00000);
+	return 0;
+}
+
+/* Toggle Clock pin -- NO-OP */
+int fpga_clk_fn(int assert_clk, int flush, int cookie)
+{
+	return assert_clk;
+}
+
+/* Toggle ChipSelect pin -- NO-OP */
+int fpga_cs_fn(int assert_clk, int flush, int cookie)
+{
+	return assert_clk;
+}
+
+Xilinx_Spartan3_Slave_Parallel_fns balloon3_fpga_fns = {
+	fpga_pre_config_fn,
+	fpga_pgm_fn,
+	fpga_init_fn,
+	NULL,	/* err */
+	fpga_done_fn,
+	fpga_clk_fn,
+	fpga_cs_fn,
+	fpga_wr_fn,
+	NULL,	/* rdata */
+	fpga_wdata_fn,
+	fpga_busy_fn,
+	NULL,	/* abort */
+	fpga_post_config_fn,
+};
+
+Xilinx_desc fpga = XILINX_XC3S1000_DESC(slave_parallel, (void *)&balloon3_fpga_fns, 0);
+
+/* Initialize the FPGA */
+void balloon3_init_fpga(void)
+{
+	fpga_init();
+	fpga_add (fpga_xilinx, &fpga);
+}
+#else
+void balloon3_init_fpga(void) {}
+#endif /* CONFIG_FPGA */
diff --git a/board/balloon3/config.mk b/board/balloon3/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/balloon3/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/balloon3/lowlevel_init.S b/board/balloon3/lowlevel_init.S
new file mode 100644
index 0000000..d7b5be6
--- /dev/null
+++ b/board/balloon3/lowlevel_init.S
@@ -0,0 +1,36 @@
+/*
+ * Balloon3 Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/balloon3/u-boot.lds b/board/balloon3/u-boot.lds
new file mode 100644
index 0000000..58c371d
--- /dev/null
+++ b/board/balloon3/u-boot.lds
@@ -0,0 +1,55 @@
+/*
+ * (C) Copyright 2000
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(.rodata) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss : { *(.bss) }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index b5ee531..04ca7de 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -51,6 +51,7 @@ actux2		arm	ixp
 actux3		arm	ixp
 actux4		arm	ixp
 ixdp425		arm	ixp
+balloon3	arm	pxa
 cerf250		arm	pxa
 colibri_pxa270	arm	pxa
 cradle		arm	pxa
diff --git a/include/configs/balloon3.h b/include/configs/balloon3.h
new file mode 100644
index 0000000..4082768
--- /dev/null
+++ b/include/configs/balloon3.h
@@ -0,0 +1,270 @@
+/*
+ * Balloon3 configuration file
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
+#define	CONFIG_BALLOON3		1	/* Balloon3 board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
+		"bootm 0xa4000000; "					\
+	"fi; "								\
+	"bootm 0x40000;"
+#define	CONFIG_BOOTARGS			"console=tty0 console=ttyS2,115200"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_STUART			1
+#define	CONFIG_BAUDRATE			115200
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#undef	CONFIG_CMD_ENV
+#undef	CONFIG_CMD_IMLS
+#define	CONFIG_CMD_USB
+#define	CONFIG_CMD_FPGA
+#undef	CONFIG_LCD
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400		/* speed to run kgdb serial port */
+#define	CONFIG_KGDB_SER_INDEX		2		/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP				/* undef to save memory	*/
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "		/* Monitor Command Prompt */
+#else
+#define	CONFIG_SYS_PROMPT		"=> "		/* Monitor Command Prompt */
+#endif
+#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size */
+#define	CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)	/* Print Buffer Size */
+#define	CONFIG_SYS_MAXARGS		16		/* max number of command args */
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size */
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x290		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
+
+/*
+ * Stack sizes
+ *
+ * The stack sizes are set up in start.S using the settings below
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		3		/* We have 2 banks of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x08000000	/* 128 MB */
+#define	PHYS_SDRAM_2			0xb0000000	/* SDRAM Bank #2 */
+#define	PHYS_SDRAM_2_SIZE		0x08000000	/* 128 MB */
+#define	PHYS_SDRAM_3			0x80000000	/* SDRAM Bank #2 */
+#define	PHYS_SDRAM_3_SIZE		0x08000000	/* 128 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x18000000	/* 384 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		0xa1000000
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x00800000	/* 8 MB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+#define	CONFIG_SYS_FLASH_CFI_WIDTH      FLASH_CFI_16BIT
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	256
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+#define	CONFIG_ENV_IS_IN_FLASH
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_SYS_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_SYS_MONITOR_BASE		0x000000
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_ENV_SIZE			0x2000
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SECT_SIZE		0x10000
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GPSR0_VAL	0x307dc7fd
+#define	CONFIG_SYS_GPSR1_VAL	0x03cffa4e
+#define	CONFIG_SYS_GPSR2_VAL	0x7131c000
+#define	CONFIG_SYS_GPSR3_VAL	0x01e1f3ff
+
+#define	CONFIG_SYS_GPCR0_VAL	0x0
+#define	CONFIG_SYS_GPCR1_VAL	0x0
+#define	CONFIG_SYS_GPCR2_VAL	0x0
+#define	CONFIG_SYS_GPCR3_VAL	0x0
+
+#define	CONFIG_SYS_GPDR0_VAL	0xc0f98e02
+#define	CONFIG_SYS_GPDR1_VAL	0xfcffa8b7
+#define	CONFIG_SYS_GPDR2_VAL	0x22e3ffff
+#define	CONFIG_SYS_GPDR3_VAL	0x000201fe
+
+#define	CONFIG_SYS_GAFR0_L_VAL	0x96c00000
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5e5459b
+#define	CONFIG_SYS_GAFR1_L_VAL	0x699b759a
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa5a5aa
+#define	CONFIG_SYS_GAFR2_L_VAL	0xaaaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x01f9a6aa
+#define	CONFIG_SYS_GAFR3_L_VAL	0x54510003
+#define	CONFIG_SYS_GAFR3_U_VAL	0x00001599
+
+#define	CONFIG_SYS_PSSR_VAL	0x30
+
+/*
+ * Clock settings
+ */
+#define	CONFIG_SYS_CKEN		0xffffffff
+#define	CONFIG_SYS_CCCR		0x00000290
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x7ff07ff8
+#define	CONFIG_SYS_MSC1_VAL	0x7ff07ff0
+#define	CONFIG_SYS_MSC2_VAL	0x74a42491
+#define	CONFIG_SYS_MDCNFG_VAL	0x89d309d3
+#define	CONFIG_SYS_MDREFR_VAL	0x001d8018
+#define	CONFIG_SYS_MDMRS_VAL	0x00220022
+#define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
+#define	CONFIG_SYS_SXCNFG_VAL	0x00000000
+#define	CONFIG_SYS_MEM_BUF_IMP	0x0f
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000000
+#define	CONFIG_SYS_MCMEM0_VAL	0x00014307
+#define	CONFIG_SYS_MCMEM1_VAL	0x00014307
+#define	CONFIG_SYS_MCATT0_VAL	0x0001c787
+#define	CONFIG_SYS_MCATT1_VAL	0x0001c787
+#define	CONFIG_SYS_MCIO0_VAL	0x0001430f
+#define	CONFIG_SYS_MCIO1_VAL	0x0001430f
+
+/*
+ * LCD
+ */
+#ifdef	CONFIG_LCD
+#define	CONFIG_BALLOON3LCD
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * USB
+ */
+#ifdef	CONFIG_CMD_USB
+#define	CONFIG_USB_OHCI_NEW
+#define	CONFIG_SYS_USB_OHCI_CPU_INIT
+#define	CONFIG_SYS_USB_OHCI_BOARD_INIT
+#define	CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	2
+#define	CONFIG_SYS_USB_OHCI_REGS_BASE	0x4C000000
+#define	CONFIG_SYS_USB_OHCI_SLOT_NAME	"balloon3"
+#define	CONFIG_USB_STORAGE
+#define	CONFIG_DOS_PARTITION
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#endif
+
+/*
+ * FPGA
+ */
+#ifdef	CONFIG_CMD_FPGA
+#define	CONFIG_FPGA
+#define	CONFIG_FPGA_XILINX
+#define	CONFIG_FPGA_SPARTAN3
+#define	CONFIG_SYS_FPGA_PROG_FEEDBACK
+#define	CONFIG_SYS_FPGA_WAIT	1000
+#define	CONFIG_MAX_FPGA_DEVICES	1
+#endif
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (6 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 8/9] PXA: Balloon3 board support Marek Vasut
@ 2010-08-10  4:50 ` Marek Vasut
  2010-08-10 21:48   ` Wolfgang Denk
  2010-08-10 21:38 ` [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Wolfgang Denk
  8 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2010-08-10  4:50 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 MAINTAINERS |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4b91b0f..f782f64 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -815,6 +815,15 @@ Alex Z
 	lart		SA1100
 	dnp1110		SA1110
 
+Marek Vasut <marek.vasut@gmail.com>
+
+	balloon3	xscale
+	colibri_pxa270	xscale
+	palmld		xscale
+	palmtc		xscale
+	vpac270		xscale
+	zipitz2		xscale
+
 -------------------------------------------------------------------------
 
 Unknown / orphaned boards:
-- 
1.7.1

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

* [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX
  2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (7 preceding siblings ...)
  2010-08-10  4:50 ` [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries Marek Vasut
@ 2010-08-10 21:38 ` Wolfgang Denk
  2010-08-10 23:52   ` Marek Vasut
  8 siblings, 1 reply; 28+ messages in thread
From: Wolfgang Denk @ 2010-08-10 21:38 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1281415810-31363-1-git-send-email-marek.vasut@gmail.com> you wrote:
> These functions are undefined on ARM when using __io. These are the commonly
> used versions and can be redefined.
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
>  arch/arm/include/asm/io.h |   46 +++++++++++++++++++++++++++++++++++++++-----
>  1 files changed, 40 insertions(+), 6 deletions(-)

Why are you submitting this?  This patch has been pulled into mainline
on Thu Jul 22 already.

If there should be anything wrong with these, please submit an
incremental patch.

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
If all the Chinese simultaneously jumped into the Pacific  off  a  10
foot platform erected 10 feet off their coast, it would cause a tidal
wave that would destroy everything in this country west of Nebraska.

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

* [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
@ 2010-08-10 21:45   ` Wolfgang Denk
  2010-08-10 23:56     ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 1/8] " Marek Vasut
                     ` (7 subsequent siblings)
  8 siblings, 1 reply; 28+ messages in thread
From: Wolfgang Denk @ 2010-08-10 21:45 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1281415810-31363-2-git-send-email-marek.vasut@gmail.com> you wrote:
> ACX517AKN LCD panel is found in Palm Tungsten|C
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
>  arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
>  1 files changed, 34 insertions(+), 0 deletions(-)

This is a resubmission, right?

Why do you not mark the patch version in the subject,
like "[PATCH 2/9 v2]" or so?

And why is there no thread information present? (i. e. why are the
In-reply-to: and References: headers not set to point to the previous
versions of the patch?)

And why did you not include any information what has been changed
between the previous version and this one?


I do not intend to run diff over your patches.

Please document your changes to the patches!

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
Many aligators will be slain, but the swamp will remain.

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

* [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries
  2010-08-10  4:50 ` [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries Marek Vasut
@ 2010-08-10 21:48   ` Wolfgang Denk
  0 siblings, 0 replies; 28+ messages in thread
From: Wolfgang Denk @ 2010-08-10 21:48 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1281415810-31363-9-git-send-email-marek.vasut@gmail.com> you wrote:
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
>  MAINTAINERS |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 4b91b0f..f782f64 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -815,6 +815,15 @@ Alex Z
>  	lart		SA1100
>  	dnp1110		SA1110
>  
> +Marek Vasut <marek.vasut@gmail.com>

Please keep the list sorted. "V" goes before "Z".

> +	balloon3	xscale
> +	colibri_pxa270	xscale
> +	palmld		xscale
> +	palmtc		xscale
> +	vpac270		xscale
> +	zipitz2		xscale
> +

NAK!!

These changes should be squashed into the commits that add the board
support. OK, colibri_pxa270, vpac270 and zipitz2 these affect boards
already present. But the other ones must be merged into the
respective commits.

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
Operating-system software is the program that  orchestrates  all  the
basic functions of a computer.
- The Wall Street Journal, Tuesday, September 15, 1987, page 40

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

* [U-Boot] [PATCH 8/9] PXA: Balloon3 board support
  2010-08-10  4:50 ` [U-Boot] [PATCH 8/9] PXA: Balloon3 board support Marek Vasut
@ 2010-08-10 21:52   ` Wolfgang Denk
  0 siblings, 0 replies; 28+ messages in thread
From: Wolfgang Denk @ 2010-08-10 21:52 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1281415810-31363-8-git-send-email-marek.vasut@gmail.com> you wrote:
> The following hardware is currently supported:
> - UART
> - USB Host
> - FPGA
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
>  MAKEALL                        |    1 +
>  board/balloon3/Makefile        |   49 +++++++
>  board/balloon3/balloon3.c      |  227 +++++++++++++++++++++++++++++++++
>  board/balloon3/config.mk       |    1 +
>  board/balloon3/lowlevel_init.S |   36 ++++++
>  board/balloon3/u-boot.lds      |   55 ++++++++
>  boards.cfg                     |    1 +
>  include/configs/balloon3.h     |  270 ++++++++++++++++++++++++++++++++++++++++
>  8 files changed, 640 insertions(+), 0 deletions(-)
>  create mode 100644 board/balloon3/Makefile
>  create mode 100644 board/balloon3/balloon3.c
>  create mode 100644 board/balloon3/config.mk
>  create mode 100644 board/balloon3/lowlevel_init.S
>  create mode 100644 board/balloon3/u-boot.lds
>  create mode 100644 include/configs/balloon3.h

MAINTAINERS entry missing.

...
> +int board_init (void)
> +{
> +	/* memory and cpu-speed are setup before relocation */
> +	/* so we do _nothing_ here */

Nothing?  This comment is wrong.

> +	/* arch number of vpac270 */
> +	gd->bd->bi_arch_number = MACH_TYPE_BALLOON3;
> +
> +	/* adress of boot parameters */
> +	gd->bd->bi_boot_params = 0xa0000100;
> +
> +	/* Init the FPGA */
> +	balloon3_init_fpga();

This is definitely more than nothing.


> +	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
> +		~(UHCHR_SSEP0 | UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
> +
> +	UHCHR |= UHCHR_FSBIR;

Please use I/O accessors to access device registers.  Please fix
globally.

> +	while (UHCHR & UHCHR_FSBIR);

The semicolon goes to the next line.


> +#ifdef	CONFIG_CMD_KGDB
> +#define	CONFIG_KGDB_BAUDRATE		230400		/* speed to run kgdb serial port */

Line too long. Please fix globally.



I stop reviewing here.  Please check the other patches for similar
issues, and fix these as well.  Please also re-read the review
comments for the first patch series.

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
I am not now, nor have I ever been, a member of the demigodic party.
                                                   -- Dennis Ritchie

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

* [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX
  2010-08-10 21:38 ` [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Wolfgang Denk
@ 2010-08-10 23:52   ` Marek Vasut
  0 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10 23:52 UTC (permalink / raw)
  To: u-boot

Dne ?t 10. srpna 2010 23:38:25 Wolfgang Denk napsal(a):
> Dear Marek Vasut,
> 
> In message <1281415810-31363-1-git-send-email-marek.vasut@gmail.com> you 
wrote:
> > These functions are undefined on ARM when using __io. These are the
> > commonly used versions and can be redefined.
> > 
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > ---
> > 
> >  arch/arm/include/asm/io.h |   46
> >  +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 40
> >  insertions(+), 6 deletions(-)
> 
> Why are you submitting this?  This patch has been pulled into mainline
> on Thu Jul 22 already.

Sorry, ignore this please.
> 
> If there should be anything wrong with these, please submit an
> incremental patch.
> 
> Best regards,
> 
> Wolfgang Denk

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

* [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support
  2010-08-10 21:45   ` Wolfgang Denk
@ 2010-08-10 23:56     ` Marek Vasut
  0 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-10 23:56 UTC (permalink / raw)
  To: u-boot

Dne ?t 10. srpna 2010 23:45:05 Wolfgang Denk napsal(a):
> Dear Marek Vasut,
> 
> In message <1281415810-31363-2-git-send-email-marek.vasut@gmail.com> you 
wrote:
> > ACX517AKN LCD panel is found in Palm Tungsten|C
> > 
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > ---
> > 
> >  arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
> >  1 files changed, 34 insertions(+), 0 deletions(-)
> 
> This is a resubmission, right?
> 
> Why do you not mark the patch version in the subject,
> like "[PATCH 2/9 v2]" or so?
> 
> And why is there no thread information present? (i. e. why are the
> In-reply-to: and References: headers not set to point to the previous
> versions of the patch?)
> 
> And why did you not include any information what has been changed
> between the previous version and this one?
> 
> 
> I do not intend to run diff over your patches.
> 
> Please document your changes to the patches!

Ok, there's nothing changed in this one. I'll document it properly in the next 
round. Sorry for the trouble.
> 
> Best regards,
> 
> Wolfgang Denk

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

* [U-Boot] [PATCH 1/8] PXA: pxafb: Add ACX517AKN support
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
  2010-08-10 21:45   ` Wolfgang Denk
@ 2010-08-20  9:31   ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 2/8] common: Enable serial for PXA250 Marek Vasut
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

ACX517AKN LCD panel is found in Palm Tungsten|C

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
No changes

 arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
index 524a03b..328fa7a 100644
--- a/arch/arm/cpu/pxa/pxafb.c
+++ b/arch/arm/cpu/pxa/pxafb.c
@@ -215,6 +215,40 @@ vidinfo_t panel_info = {
 
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_ACX517AKN
+
+# define LCD_BPP	LCD_COLOR8
+
+/* you have to set lccr0 and lccr3 (including pcd) */
+# define REG_LCCR0	0x003008f9
+# define REG_LCCR3	0x03700006
+
+vidinfo_t panel_info = {
+	vl_col:		320,
+	vl_row:		320,
+	vl_width:	320,
+	vl_height:	320,
+	vl_clkp:	CONFIG_SYS_HIGH,
+	vl_oep:		CONFIG_SYS_LOW,
+	vl_hsp:		CONFIG_SYS_LOW,
+	vl_vsp:		CONFIG_SYS_LOW,
+	vl_dp:		CONFIG_SYS_HIGH,
+	vl_bpix:	LCD_BPP,
+	vl_lbw:		0,
+	vl_splt:	1,
+	vl_clor:	1,
+	vl_tft:		1,
+	vl_hpw:		0x04,
+	vl_blw:		0x1c,
+	vl_elw:		0x08,
+	vl_vpw:		0x01,
+	vl_bfw:		0x07,
+	vl_efw:		0x08,
+};
+#endif /* CONFIG_ACX517AKN */
+
+/*----------------------------------------------------------------------*/
+
 #if LCD_BPP == LCD_COLOR8
 void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue);
 #endif
-- 
1.7.1

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

* [U-Boot] [PATCH 2/8] common: Enable serial for PXA250
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
  2010-08-10 21:45   ` Wolfgang Denk
  2010-08-20  9:31   ` [U-Boot] [PATCH 1/8] " Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 3/8 v2] PXA: Palm Tungsten|C Support Marek Vasut
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
No changes

 common/serial.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/serial.c b/common/serial.c
index fceabfa..7148cb9 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
 static struct serial_device *serial_devices = NULL;
 static struct serial_device *serial_current = NULL;
 
-#if !defined(CONFIG_LWMON) && !defined(CONFIG_PXA27X)
+#if !defined(CONFIG_LWMON) && !defined(CONFIG_PXA27X) && !defined(CONFIG_PXA250)
 struct serial_device *__default_serial_console (void)
 {
 #if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2)
-- 
1.7.1

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

* [U-Boot] [PATCH 3/8 v2] PXA: Palm Tungsten|C Support
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (2 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 2/8] common: Enable serial for PXA250 Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 4/8] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

This patch adds support for the Palm Tungsten|C PXA255 board. The support
includes:
- LCD
- MMC
- UART
- NOR

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
Fix line-over-80s
Fix off-tree build
Fix buggy comments
Add missing MAINTAINERS and MAKEALL entries
(the above is true for the rest of patches adding new platforms)

 MAINTAINERS                  |    4 +
 MAKEALL                      |    1 +
 board/palmtc/Makefile        |   49 +++++++++
 board/palmtc/config.mk       |    1 +
 board/palmtc/lowlevel_init.S |   39 +++++++
 board/palmtc/palmtc.c        |   58 ++++++++++
 board/palmtc/u-boot.lds      |   56 ++++++++++
 boards.cfg                   |    1 +
 include/configs/palmtc.h     |  247 ++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 456 insertions(+), 0 deletions(-)
 create mode 100644 board/palmtc/Makefile
 create mode 100644 board/palmtc/config.mk
 create mode 100644 board/palmtc/lowlevel_init.S
 create mode 100644 board/palmtc/palmtc.c
 create mode 100644 board/palmtc/u-boot.lds
 create mode 100644 include/configs/palmtc.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4b91b0f..70f03fb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -796,6 +796,10 @@ Greg Ungerer <greg.ungerer@opengear.com>
 	cm4116		ks8695p
 	cm4148		ks8695p
 
+Marek Vasut <marek.vasut@gmail.com>
+
+	palmtc		xscale
+
 Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
 
 	SFFSDR		ARM926EJS
diff --git a/MAKEALL b/MAKEALL
index b34ae33..b871976 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -713,6 +713,7 @@ LIST_pxa="		\
 	delta		\
 	innokom		\
 	lubbock		\
+	palmtc		\
 	pleb2		\
 	polaris		\
 	pxa255_idp	\
diff --git a/board/palmtc/Makefile b/board/palmtc/Makefile
new file mode 100644
index 0000000..20ac4e1
--- /dev/null
+++ b/board/palmtc/Makefile
@@ -0,0 +1,49 @@
+#
+# Palm Tungsten|C Support
+#
+# Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= palmtc.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/palmtc/config.mk b/board/palmtc/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/palmtc/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/palmtc/lowlevel_init.S b/board/palmtc/lowlevel_init.S
new file mode 100644
index 0000000..74050dc
--- /dev/null
+++ b/board/palmtc/lowlevel_init.S
@@ -0,0 +1,39 @@
+/*
+ * Palm Tungsten|C Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/palmtc/palmtc.c b/board/palmtc/palmtc.c
new file mode 100644
index 0000000..0c98eb6
--- /dev/null
+++ b/board/palmtc/palmtc.c
@@ -0,0 +1,58 @@
+/*
+ * Palm Tungsten|C Support
+ *
+ * Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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 <command.h>
+#include <serial.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* Arch number of Palm Tungsten|C */
+	gd->bd->bi_arch_number = MACH_TYPE_PALMTC;
+
+	/* Adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Set PWM for LCD */
+	PWM_CTRL1 = 0x5f;
+	PWM_PERVAL1 = 0x3ff;
+	PWM_PWDUTY1 = 892;
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+	return 0;
+}
diff --git a/board/palmtc/u-boot.lds b/board/palmtc/u-boot.lds
new file mode 100644
index 0000000..fb4358b
--- /dev/null
+++ b/board/palmtc/u-boot.lds
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2000-2005
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index 69c6897..c6263c9 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -59,6 +59,7 @@ delta		arm	pxa
 innokom		arm	pxa
 logodl		arm	pxa
 lubbock		arm	pxa
+palmtc		arm	pxa
 pleb2		arm	pxa
 xaeniax		arm	pxa
 xm250		arm	pxa
diff --git a/include/configs/palmtc.h b/include/configs/palmtc.h
new file mode 100644
index 0000000..1fd9488
--- /dev/null
+++ b/include/configs/palmtc.h
@@ -0,0 +1,247 @@
+/*
+ * Palm Tungsten|C configuration file
+ *
+ * Copyright (C) 2009-2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+#include <asm/arch/pxa-regs.h>
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA250			1	/* Intel PXA255 CPU */
+#define	CONFIG_PALMTC			1	/* Palm Tungsten|C board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if mmc init && fatload mmc 0 0xa0000000 uboot.script ; then "	\
+		"source 0xa0000000; "					\
+	"else "								\
+		"bootm 0x80000; "					\
+	"fi; "
+#define	CONFIG_BOOTARGS							\
+	"console=tty0 console=ttyS0,115200"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ * STUART - the lower serial port on Colibri board
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_FFUART			1
+#define	CONFIG_BAUDRATE			115200
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#define	CONFIG_CMD_ENV
+#define	CONFIG_CMD_MMC
+#define	CONFIG_LCD
+
+/*
+ * MMC Card Configuration
+ */
+#ifdef	CONFIG_CMD_MMC
+#define	CONFIG_MMC
+#define	CONFIG_PXA_MMC
+#define	CONFIG_SYS_MMC_BASE		0xF0000000
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#define	CONFIG_DOS_PARTITION
+#endif
+
+/*
+ * LCD
+ */
+#ifdef	CONFIG_LCD
+#define	CONFIG_ACX517AKN
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400	/* kgdb serial port speed */
+#define	CONFIG_KGDB_SER_INDEX		2	/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "
+#else
+#define	CONFIG_SYS_PROMPT		"=> "
+#endif
+#define	CONFIG_SYS_CBSIZE		256
+#define	CONFIG_SYS_PBSIZE		\
+	(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
+#define	CONFIG_SYS_MAXARGS		16
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3686400		/* Timer @ 3686400 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x161		/* 400MHz;L=1 M=3 T=1 */
+
+/*
+ * Stack sizes
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x04000000	/* 64 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x04000000	/* 64 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_DRAM_BASE
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x01000000	/* 16 MB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+#define	CONFIG_SYS_FLASH_CFI_WIDTH      FLASH_CFI_32BIT
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	64
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x40000
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_SYS_MONITOR_BASE		0x0
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_ENV_SIZE			0x4000
+#define	CONFIG_ENV_ADDR			0x40000
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GAFR0_L_VAL	0x00011004
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5000008
+#define	CONFIG_SYS_GAFR1_L_VAL	0x60888050
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa50aaa
+#define	CONFIG_SYS_GAFR2_L_VAL	0x0aaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x00000000
+#define	CONFIG_SYS_GPCR0_VAL	0x0
+#define	CONFIG_SYS_GPCR1_VAL	0x0
+#define	CONFIG_SYS_GPCR2_VAL	0x0
+#define	CONFIG_SYS_GPDR0_VAL	0xcfff8140
+#define	CONFIG_SYS_GPDR1_VAL	0xfcbfbef3
+#define	CONFIG_SYS_GPDR2_VAL	0x0001ffff
+#define	CONFIG_SYS_GPSR0_VAL	0x00010f8f
+#define	CONFIG_SYS_GPSR1_VAL	0x00bf5de5
+#define	CONFIG_SYS_GPSR2_VAL	0x03fe0800
+
+#define	CONFIG_SYS_PSSR_VAL	PSSR_RDH
+
+/* Clock setup:
+ * 	CKEN[1]		- PWM1
+ * 	CKEN[6]		- FFUART
+ * 	CKEN[12]	- MMC
+ * 	CKEN[16]	- LCD
+ */
+#define	CONFIG_SYS_CKEN		0x00011042
+#define	CONFIG_SYS_CCCR		0x00000161
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x800092c2
+#define	CONFIG_SYS_MSC1_VAL	0x80008000
+#define	CONFIG_SYS_MSC2_VAL	0x80008000
+#define	CONFIG_SYS_MDCNFG_VAL	0x00001ac9
+#define	CONFIG_SYS_MDREFR_VAL	0x00118018
+#define	CONFIG_SYS_MDMRS_VAL	0x00220032
+#define	CONFIG_SYS_FLYCNFG_VAL	0x01fe01fe
+#define	CONFIG_SYS_SXCNFG_VAL	0x00000000
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000000
+#define	CONFIG_SYS_MCMEM0_VAL	0x00010504
+#define	CONFIG_SYS_MCMEM1_VAL	0x00010504
+#define	CONFIG_SYS_MCATT0_VAL	0x00010504
+#define	CONFIG_SYS_MCATT1_VAL	0x00010504
+#define	CONFIG_SYS_MCIO0_VAL	0x00010e04
+#define	CONFIG_SYS_MCIO1_VAL	0x00010e04
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 4/8] PXA: pxafb: Add support for Sharp LQ038J7DH53
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (3 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 3/8 v2] PXA: Palm Tungsten|C Support Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 5/8] PXA: Add initial Palm LifeDrive support Marek Vasut
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

This LCD panel is found in Palm LifeDrive handheld

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
No changes

 arch/arm/cpu/pxa/pxafb.c |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
index 328fa7a..066f49e 100644
--- a/arch/arm/cpu/pxa/pxafb.c
+++ b/arch/arm/cpu/pxa/pxafb.c
@@ -249,6 +249,40 @@ vidinfo_t panel_info = {
 
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_LQ038J7DH53
+
+# define LCD_BPP	LCD_COLOR8
+
+/* you have to set lccr0 and lccr3 (including pcd) */
+# define REG_LCCR0	0x003008f9
+# define REG_LCCR3	0x03700004
+
+vidinfo_t panel_info = {
+	vl_col:		320,
+	vl_row:		480,
+	vl_width:	320,
+	vl_height:	480,
+	vl_clkp:	CONFIG_SYS_HIGH,
+	vl_oep:		CONFIG_SYS_LOW,
+	vl_hsp:		CONFIG_SYS_LOW,
+	vl_vsp:		CONFIG_SYS_LOW,
+	vl_dp:		CONFIG_SYS_HIGH,
+	vl_bpix:	LCD_BPP,
+	vl_lbw:		0,
+	vl_splt:	1,
+	vl_clor:	1,
+	vl_tft:		1,
+	vl_hpw:		0x04,
+	vl_blw:		0x20,
+	vl_elw:		0x01,
+	vl_vpw:		0x01,
+	vl_bfw:		0x04,
+	vl_efw:		0x01,
+};
+#endif /* CONFIG_ACX517AKN */
+
+/*----------------------------------------------------------------------*/
+
 #if LCD_BPP == LCD_COLOR8
 void lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue);
 #endif
-- 
1.7.1

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

* [U-Boot] [PATCH 5/8] PXA: Add initial Palm LifeDrive support
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (4 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 4/8] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements Marek Vasut
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
Changes same as in PalmTC

 MAINTAINERS                  |    1 +
 MAKEALL                      |    1 +
 board/palmld/Makefile        |   49 ++++++++
 board/palmld/config.mk       |    1 +
 board/palmld/lowlevel_init.S |   45 +++++++
 board/palmld/palmld.c        |   68 +++++++++++
 board/palmld/u-boot.lds      |   56 +++++++++
 boards.cfg                   |    1 +
 include/configs/palmld.h     |  273 ++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 495 insertions(+), 0 deletions(-)
 create mode 100644 board/palmld/Makefile
 create mode 100644 board/palmld/config.mk
 create mode 100644 board/palmld/lowlevel_init.S
 create mode 100644 board/palmld/palmld.c
 create mode 100644 board/palmld/u-boot.lds
 create mode 100644 include/configs/palmld.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 70f03fb..5d20dca 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -798,6 +798,7 @@ Greg Ungerer <greg.ungerer@opengear.com>
 
 Marek Vasut <marek.vasut@gmail.com>
 
+	palmld		xscale
 	palmtc		xscale
 
 Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
diff --git a/MAKEALL b/MAKEALL
index b871976..1642abe 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -713,6 +713,7 @@ LIST_pxa="		\
 	delta		\
 	innokom		\
 	lubbock		\
+	palmld		\
 	palmtc		\
 	pleb2		\
 	polaris		\
diff --git a/board/palmld/Makefile b/board/palmld/Makefile
new file mode 100644
index 0000000..bcb014d
--- /dev/null
+++ b/board/palmld/Makefile
@@ -0,0 +1,49 @@
+#
+# Palm LifeDrive Support
+#
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= palmld.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/palmld/config.mk b/board/palmld/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/palmld/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/palmld/lowlevel_init.S b/board/palmld/lowlevel_init.S
new file mode 100644
index 0000000..e3382ee
--- /dev/null
+++ b/board/palmld/lowlevel_init.S
@@ -0,0 +1,45 @@
+/*
+ * Palm LifeDrive Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+
+	/* Enable GPIO reset */
+	ldr	r0, =PCFR
+	mov	r1, #0x30
+	str	r1, [r0]
+
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/palmld/palmld.c b/board/palmld/palmld.c
new file mode 100644
index 0000000..209f0b4
--- /dev/null
+++ b/board/palmld/palmld.c
@@ -0,0 +1,68 @@
+/*
+ * Palm LifeDrive Support
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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 <command.h>
+#include <serial.h>
+#include <asm/arch/pxa-regs.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* arch number of Lubbock-Board */
+	gd->bd->bi_arch_number = MACH_TYPE_PALMLD;
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Set PWM for LCD */
+	PWM_CTRL0 = 0x7;
+	PWM_PERVAL0 = 0x16c;
+	PWM_PWDUTY0 = 0x11a;
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+
+	return 0;
+}
+
+ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
+{
+	info->portwidth = FLASH_CFI_16BIT;
+	info->chipwidth = FLASH_CFI_BY16;
+	info->interface = FLASH_CFI_X16;
+	return 1;
+}
diff --git a/board/palmld/u-boot.lds b/board/palmld/u-boot.lds
new file mode 100644
index 0000000..fb4358b
--- /dev/null
+++ b/board/palmld/u-boot.lds
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2000-2005
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	. = .;
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index c6263c9..b5ee531 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -59,6 +59,7 @@ delta		arm	pxa
 innokom		arm	pxa
 logodl		arm	pxa
 lubbock		arm	pxa
+palmld		arm	pxa
 palmtc		arm	pxa
 pleb2		arm	pxa
 xaeniax		arm	pxa
diff --git a/include/configs/palmld.h b/include/configs/palmld.h
new file mode 100644
index 0000000..affc116
--- /dev/null
+++ b/include/configs/palmld.h
@@ -0,0 +1,273 @@
+/*
+ * Palm LifeDrive configuration file
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
+#define	CONFIG_PALMLD		1	/* Palm LifeDrive board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if mmcinfo && fatload mmc 0 0xa0000000 uboot.script ; then "	\
+		"source 0xa0000000; "					\
+	"else "								\
+		"bootm 0x0x60000; "					\
+	"fi; "
+#define	CONFIG_BOOTARGS			"console=tty0 console=ttyS0,9600"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_FFUART			1
+#define	CONFIG_BAUDRATE			9600
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#define	CONFIG_CMD_ENV
+#undef	CONFIG_CMD_IMLS
+#define	CONFIG_CMD_MMC
+#define	CONFIG_CMD_IDE
+#define	CONFIG_LCD
+
+/*
+ * MMC Card Configuration
+ */
+#ifdef	CONFIG_CMD_MMC
+#define	CONFIG_MMC
+#define	CONFIG_GENERIC_MMC
+#define	CONFIG_PXA_MMC_GENERIC
+#define	CONFIG_SYS_MMC_BASE		0xF0000000
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#define	CONFIG_DOS_PARTITION
+#endif
+
+/*
+ * LCD
+ */
+#ifdef CONFIG_LCD
+#define	CONFIG_LQ038J7DH53
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400	/* kgdb serial port speed */
+#define	CONFIG_KGDB_SER_INDEX		2	/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "
+#else
+#define	CONFIG_SYS_PROMPT		"=> "
+#endif
+#define	CONFIG_SYS_CBSIZE		256
+#define	CONFIG_SYS_PBSIZE		\
+	(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
+#define	CONFIG_SYS_MAXARGS		16
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x210		/* 416MHz ; N=2,L=16 */
+
+/*
+ * Stack sizes
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x02000000	/* 32 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x02000000	/* 32 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_DRAM_BASE
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x00080000	/* 512 KB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+
+#define	CONFIG_FLASH_CFI_LEGACY
+#define	CONFIG_SYS_FLASH_LEGACY_512Kx16
+
+#define	CONFIG_SYS_MONITOR_BASE		0
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	256
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(25*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x10000
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SIZE			0x4000
+
+/*
+ * IDE
+ */
+#ifdef	CONFIG_CMD_IDE
+#define	CONFIG_LBA48
+#undef	CONFIG_IDE_LED
+#undef	CONFIG_IDE_RESET
+
+#define	__io
+
+#define	CONFIG_SYS_IDE_MAXBUS		1
+#define	CONFIG_SYS_IDE_MAXDEVICE	1
+
+#define	CONFIG_SYS_ATA_BASE_ADDR	0x20000000
+#define	CONFIG_SYS_ATA_IDE0_OFFSET	0x0
+
+#define	CONFIG_SYS_ATA_DATA_OFFSET	0x10
+#define	CONFIG_SYS_ATA_REG_OFFSET	0x10
+#define	CONFIG_SYS_ATA_ALT_OFFSET	0x10
+
+#define	CONFIG_SYS_ATA_STRIDE		1
+#endif
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GAFR0_L_VAL	0x00000000
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5180012
+#define	CONFIG_SYS_GAFR1_L_VAL	0x69988056
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa580aa
+#define	CONFIG_SYS_GAFR2_L_VAL	0x6aaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x01040001
+#define	CONFIG_SYS_GAFR3_L_VAL	0x540a950c
+#define	CONFIG_SYS_GAFR3_U_VAL	0x00000009
+#define	CONFIG_SYS_GPCR0_VAL	0x00000000
+#define	CONFIG_SYS_GPCR1_VAL	0x00000000
+#define	CONFIG_SYS_GPCR2_VAL	0x00000000
+#define	CONFIG_SYS_GPCR3_VAL	0x00000000
+#define	CONFIG_SYS_GPDR0_VAL	0xc26b0000
+#define	CONFIG_SYS_GPDR1_VAL	0xfcdfaa93
+#define	CONFIG_SYS_GPDR2_VAL	0x7bbaffff
+#define	CONFIG_SYS_GPDR3_VAL	0x006ff38d
+#define	CONFIG_SYS_GPSR0_VAL	0x0d9e45ee
+#define	CONFIG_SYS_GPSR1_VAL	0x03affdae
+#define	CONFIG_SYS_GPSR2_VAL	0x07554000
+#define	CONFIG_SYS_GPSR3_VAL	0x01bc0785
+
+#define	CONFIG_SYS_PSSR_VAL	0x30
+
+/*
+ * Clock settings
+ */
+#define	CONFIG_SYS_CKEN		0x01ffffff
+#define	CONFIG_SYS_CCCR		0x02000210
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x7ff844c8
+#define	CONFIG_SYS_MSC1_VAL	0x7ff86ab4
+#define	CONFIG_SYS_MSC2_VAL	0x7ff87ff8
+#define	CONFIG_SYS_MDCNFG_VAL	0x0B880acd
+#define	CONFIG_SYS_MDREFR_VAL	0x201fa031
+#define	CONFIG_SYS_MDMRS_VAL	0x00320032
+#define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
+#define	CONFIG_SYS_SXCNFG_VAL	0x40044004
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000003
+#define	CONFIG_SYS_MCMEM0_VAL	0x0001c391
+#define	CONFIG_SYS_MCMEM1_VAL	0x0001c391
+#define	CONFIG_SYS_MCATT0_VAL	0x0001c391
+#define	CONFIG_SYS_MCATT1_VAL	0x0001c391
+#define	CONFIG_SYS_MCIO0_VAL	0x00014611
+#define	CONFIG_SYS_MCIO1_VAL	0x0001c391
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (5 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 5/8] PXA: Add initial Palm LifeDrive support Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-09-07 21:13     ` Wolfgang Denk
  2010-08-20  9:31   ` [U-Boot] [PATCH 7/8] PXA: Balloon3 board support Marek Vasut
  2010-08-20  9:31   ` [U-Boot] [PATCH 8/8] PXA: Add missing MAINTAINERS entries Marek Vasut
  8 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

128MB NOR module support.
Define __io to get harddrive working.
Fix saving of environment into OneNAND.
Boot from harddrive when possible.
Add missing MAINTAINERS entry.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
Changes same as in PalmTC

 MAINTAINERS                   |    1 +
 MAKEALL                       |    3 +-
 Makefile                      |    7 ++-
 board/vpac270/Makefile        |    7 +--
 board/vpac270/lowlevel_init.S |    1 -
 board/vpac270/vpac270.c       |   41 ++++++----------
 include/configs/vpac270.h     |  106 +++++++++++++++++++++++-----------------
 7 files changed, 87 insertions(+), 79 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5d20dca..c35a277 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -800,6 +800,7 @@ Marek Vasut <marek.vasut@gmail.com>
 
 	palmld		xscale
 	palmtc		xscale
+	vpac270		xscale
 
 Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
 
diff --git a/MAKEALL b/MAKEALL
index 1642abe..52472de 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -719,7 +719,8 @@ LIST_pxa="		\
 	polaris		\
 	pxa255_idp	\
 	trizepsiv	\
-	vpac270_nor	\
+	vpac270_128M_nor\
+	vpac270_256M_nor\
 	vpac270_onenand	\
 	wepep250	\
 	xaeniax		\
diff --git a/Makefile b/Makefile
index 4f1cb1b..3f2b304 100644
--- a/Makefile
+++ b/Makefile
@@ -2180,13 +2180,18 @@ trizepsiv_config	:	unconfig
 	fi;
 	@$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv
 
-vpac270_nor_config \
+vpac270_nor_256M_config \
+vpac270_nor_128M_config \
 vpac270_onenand_config	: unconfig
 	@mkdir -p $(obj)include
 	@if [ "$(findstring onenand,$@)" ] ; then \
 		echo "#define CONFIG_ONENAND_U_BOOT" \
 			>>$(obj)include/config.h ; \
 	fi;
+	@if [ "$(findstring 256M,$@)" ] ; then \
+		echo "#define CONFIG_256M_U_BOOT" \
+			>>$(obj)include/config.h ; \
+	fi;
 	@$(MKCONFIG) -n $@ -a vpac270 arm pxa vpac270
 
 #########################################################################
diff --git a/board/vpac270/Makefile b/board/vpac270/Makefile
index c6f4c7c..f5014fc 100644
--- a/board/vpac270/Makefile
+++ b/board/vpac270/Makefile
@@ -1,10 +1,7 @@
-
 #
-# (C) Copyright 2000
-# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+# Voipac PXA270 Support
 #
-# See file CREDITS for list of people who contributed to this
-# project.
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License as
diff --git a/board/vpac270/lowlevel_init.S b/board/vpac270/lowlevel_init.S
index ec0d12c..c40d12f 100644
--- a/board/vpac270/lowlevel_init.S
+++ b/board/vpac270/lowlevel_init.S
@@ -3,7 +3,6 @@
  *
  * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
  *
- *
  * See file CREDITS for list of people who contributed to this
  * project.
  *
diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
index 18e47e2..2d01e22 100644
--- a/board/vpac270/vpac270.c
+++ b/board/vpac270/vpac270.c
@@ -1,16 +1,7 @@
 /*
- * (C) Copyright 2004
- * Robert Whaley, Applied Data Systems, Inc. rwhaley at applieddata.net
+ * Voipac PXA270 Support
  *
- * (C) Copyright 2002
- * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -31,29 +22,19 @@
 #include <common.h>
 #include <asm/arch/hardware.h>
 #include <netdev.h>
+#include <serial.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-/* ------------------------------------------------------------------------- */
-
 /*
  * Miscelaneous platform dependent initialisations
  */
-extern struct serial_device serial_ffuart_device;
-extern struct serial_device serial_btuart_device;
-extern struct serial_device serial_stuart_device;
-
-struct serial_device *default_serial_console (void)
-{
-	return &serial_ffuart_device;
-}
-
 int board_init (void)
 {
 	/* memory and cpu-speed are setup before relocation */
 	/* so we do _nothing_ here */
 
-	/* arch number of vpac270 */
+	/* Arch number of vpac270 */
 	gd->bd->bi_arch_number = MACH_TYPE_VPAC270;
 
 	/* adress of boot parameters */
@@ -62,17 +43,24 @@ int board_init (void)
 	return 0;
 }
 
+struct serial_device *default_serial_console (void)
+{
+	return &serial_ffuart_device;
+}
+
 int dram_init (void)
 {
 	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
-	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
-
 	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
 
+#ifdef	CONFIG_256M_U_BOOT
+	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
+	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
+#endif
 	return 0;
 }
 
+#ifdef	CONFIG_CMD_USB
 int usb_board_init(void)
 {
 	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
@@ -119,6 +107,7 @@ void usb_board_stop(void)
 
 	return;
 }
+#endif
 
 #ifdef CONFIG_DRIVER_DM9000
 int board_eth_init(bd_t *bis)
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index d3e22d9..694a8f9 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -10,7 +10,7 @@
  *
  * 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
+ * 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
@@ -19,8 +19,8 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __CONFIG_H
-#define __CONFIG_H
+#ifndef	__CONFIG_H
+#define	__CONFIG_H
 
 /*
  * High Level Board Configuration Options
@@ -28,20 +28,13 @@
 #define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
 #define	CONFIG_VPAC270		1	/* Voipac PXA270 board */
 
-#undef	BOARD_LATE_INIT
-#undef	CONFIG_SKIP_RELOCATE_UBOOT
-#undef	CONFIG_USE_IRQ
-#undef	CONFIG_SKIP_LOWLEVEL_INIT
-
 /*
  * Environment settings
  */
-#define	CONFIG_ENV_SIZE			0x4000
-#define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128*1024)
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
 #define	CONFIG_SYS_GBL_DATA_SIZE	128
 
-#define	CONFIG_ENV_OVERWRITE		/* override default environment */
-
 #define	CONFIG_BOOTCOMMAND						\
 	"if mmc init && fatload mmc 0 0xa4000000 uImage; then "		\
 		"bootm 0xa4000000; "					\
@@ -49,6 +42,9 @@
 	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
 		"bootm 0xa4000000; "					\
 	"fi; "								\
+	"if ide reset && fatload ide 0 0xa4000000 uImage; then "	\
+		"bootm 0xa4000000; "					\
+	"fi; "								\
 	"bootm 0x40000;"
 #define	CONFIG_BOOTARGS			"console=tty0 console=ttyS0,115200"
 #define	CONFIG_TIMESTAMP
@@ -97,9 +93,9 @@
 
 #define	CONFIG_NET_MULTI		1
 #define	CONFIG_DRIVER_DM9000		1
-#define CONFIG_DM9000_BASE		0x08000300	/* CS2 */
-#define DM9000_IO			(CONFIG_DM9000_BASE)
-#define DM9000_DATA			(CONFIG_DM9000_BASE + 4)
+#define	CONFIG_DM9000_BASE		0x08000300	/* CS2 */
+#define	DM9000_IO			(CONFIG_DM9000_BASE)
+#define	DM9000_DATA			(CONFIG_DM9000_BASE + 4)
 #define	CONFIG_NET_RETRY_COUNT		10
 
 #define	CONFIG_BOOTP_BOOTFILESIZE
@@ -116,6 +112,7 @@
 #define	CONFIG_PXA_MMC
 #define	CONFIG_SYS_MMC_BASE		0xF0000000
 #define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
 #define	CONFIG_DOS_PARTITION
 #endif
 
@@ -123,8 +120,8 @@
  * KGDB
  */
 #ifdef	CONFIG_CMD_KGDB
-#define	CONFIG_KGDB_BAUDRATE		230400		/* speed to run kgdb serial port */
-#define	CONFIG_KGDB_SER_INDEX		2		/* which serial port to use */
+#define	CONFIG_KGDB_BAUDRATE		230400	/* kgdb serial port speed */
+#define	CONFIG_KGDB_SER_INDEX		2	/* which serial port to use */
 #endif
 
 /*
@@ -133,16 +130,17 @@
 #define	CONFIG_SYS_HUSH_PARSER		1
 #define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
 
-#define	CONFIG_SYS_LONGHELP				/* undef to save memory	*/
+#define	CONFIG_SYS_LONGHELP
 #ifdef	CONFIG_SYS_HUSH_PARSER
-#define	CONFIG_SYS_PROMPT		"$ "		/* Monitor Command Prompt */
+#define	CONFIG_SYS_PROMPT		"$ "
 #else
-#define	CONFIG_SYS_PROMPT		"=> "		/* Monitor Command Prompt */
+#define	CONFIG_SYS_PROMPT		"=> "
 #endif
-#define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size */
-#define	CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)	/* Print Buffer Size */
-#define	CONFIG_SYS_MAXARGS		16		/* max number of command args */
-#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size */
+#define	CONFIG_SYS_CBSIZE		256
+#define	CONFIG_SYS_PBSIZE		\
+	(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
+#define	CONFIG_SYS_MAXARGS		16
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 #define	CONFIG_SYS_DEVICE_NULLDEV	1
 
 /*
@@ -150,12 +148,10 @@
  */
 #undef	CONFIG_SYS_CLKS_IN_HZ
 #define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
-#define CONFIG_SYS_CPUSPEED		0x190		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */
+#define	CONFIG_SYS_CPUSPEED		0x190		/* 312MHz */
 
 /*
  * Stack sizes
- *
- * The stack sizes are set up in start.S using the settings below
  */
 #define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
 #ifdef	CONFIG_USE_IRQ
@@ -166,17 +162,24 @@
 /*
  * DRAM Map
  */
-#define	CONFIG_NR_DRAM_BANKS		2		/* We have 2 banks of DRAM */
+#define	CONFIG_NR_DRAM_BANKS		2		/* 2 banks of DRAM */
 #define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
 #define	PHYS_SDRAM_1_SIZE		0x08000000	/* 128 MB */
+
+#ifdef	CONFIG_256M_U_BOOT
 #define	PHYS_SDRAM_2			0x80000000	/* SDRAM Bank #2 */
 #define	PHYS_SDRAM_2_SIZE		0x08000000	/* 128 MB */
+#endif
 
 #define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_DRAM_SIZE		0x10000000	/* 256 MB DRAM */
+#else
+#define	CONFIG_SYS_DRAM_SIZE		0x08000000	/* 128 MB DRAM */
+#endif
 
-#define CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
-#define CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
 
 #define	CONFIG_SYS_LOAD_ADDR		(0x5c000000)
 
@@ -185,14 +188,22 @@
  */
 #if	defined(CONFIG_CMD_FLASH)	/* NOR */
 #define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+
+#ifdef	CONFIG_256M_U_BOOT
 #define	PHYS_FLASH_2			0x02000000	/* Flash Bank #2 */
+#endif
 
 #define	CONFIG_SYS_FLASH_CFI
 #define	CONFIG_FLASH_CFI_DRIVER		1
 
 #define	CONFIG_SYS_MAX_FLASH_SECT	(4 + 255)
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_MAX_FLASH_BANKS	2
 #define	CONFIG_SYS_FLASH_BANKS_LIST	{ PHYS_FLASH_1, PHYS_FLASH_2 }
+#else
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+#endif
 
 #define	CONFIG_SYS_FLASH_ERASE_TOUT	(25*CONFIG_SYS_HZ)
 #define	CONFIG_SYS_FLASH_WRITE_TOUT	(25*CONFIG_SYS_HZ)
@@ -200,25 +211,26 @@
 #define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
 #define	CONFIG_SYS_FLASH_PROTECTION		1
 
-#define CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_IS_IN_FLASH		1
+#define	CONFIG_ENV_SECT_SIZE		0x4000
 
 #elif	defined(CONFIG_CMD_ONENAND)	/* OneNAND */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ONENAND_BASE		0x00000000
+
 #define	CONFIG_ENV_IS_IN_ONENAND	1
+#define	CONFIG_ENV_SECT_SIZE		0x20000
 
 #else	/* No flash */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ENV_IS_NOWHERE
 #endif
 
-#define	CONFIG_SYS_MONITOR_BASE		0x000000
+#define	CONFIG_SYS_MONITOR_BASE		0x0
 #define	CONFIG_SYS_MONITOR_LEN		0x40000
 
-#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_SECT_SIZE	0x40000
-#define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE)
-#define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SIZE			0x4000
 
 /*
  * IDE
@@ -230,15 +242,15 @@
 
 #define	__io
 
-#define CONFIG_SYS_IDE_MAXBUS		1
-#define CONFIG_SYS_IDE_MAXDEVICE	1
+#define	CONFIG_SYS_IDE_MAXBUS		1
+#define	CONFIG_SYS_IDE_MAXDEVICE	1
 
-#define CONFIG_SYS_ATA_BASE_ADDR	0x0c000000
-#define CONFIG_SYS_ATA_IDE0_OFFSET	0x0
+#define	CONFIG_SYS_ATA_BASE_ADDR	0x0c000000
+#define	CONFIG_SYS_ATA_IDE0_OFFSET	0x0
 
-#define CONFIG_SYS_ATA_DATA_OFFSET	0x120
-#define CONFIG_SYS_ATA_REG_OFFSET	0x120
-#define CONFIG_SYS_ATA_ALT_OFFSET	0x120
+#define	CONFIG_SYS_ATA_DATA_OFFSET	0x120
+#define	CONFIG_SYS_ATA_REG_OFFSET	0x120
+#define	CONFIG_SYS_ATA_ALT_OFFSET	0x120
 
 #define	CONFIG_SYS_ATA_STRIDE		2
 #endif
@@ -284,7 +296,11 @@
 #define	CONFIG_SYS_MSC0_VAL	0x3ffc95fa
 #define	CONFIG_SYS_MSC1_VAL	0x02ccf974
 #define	CONFIG_SYS_MSC2_VAL	0x00000000
+#ifdef	CONFIG_256M_U_BOOT
 #define	CONFIG_SYS_MDCNFG_VAL	0x8ad30ad3
+#else
+#define	CONFIG_SYS_MDCNFG_VAL	0x88000ad3
+#endif
 #define	CONFIG_SYS_MDREFR_VAL	0x201fe01e
 #define	CONFIG_SYS_MDMRS_VAL	0x00000000
 #define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
@@ -306,13 +322,13 @@
  * LCD
  */
 #ifdef	CONFIG_LCD
-#define CONFIG_VOIPAC_LCD
+#define	CONFIG_VOIPAC_LCD
 #endif
 
 /*
  * USB
  */
-#ifdef CONFIG_CMD_USB
+#ifdef	CONFIG_CMD_USB
 #define	CONFIG_USB_OHCI_NEW
 #define	CONFIG_SYS_USB_OHCI_CPU_INIT
 #define	CONFIG_SYS_USB_OHCI_BOARD_INIT
-- 
1.7.1

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

* [U-Boot] [PATCH 7/8] PXA: Balloon3 board support
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (6 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  2010-09-07 21:17     ` Wolfgang Denk
  2010-08-20  9:31   ` [U-Boot] [PATCH 8/8] PXA: Add missing MAINTAINERS entries Marek Vasut
  8 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

The following hardware is currently supported:
- UART
- USB Host
- FPGA

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
Changes same as in PalmTC

 MAINTAINERS                    |    1 +
 MAKEALL                        |    1 +
 board/balloon3/Makefile        |   49 +++++++
 board/balloon3/balloon3.c      |  224 +++++++++++++++++++++++++++++++++
 board/balloon3/config.mk       |    1 +
 board/balloon3/lowlevel_init.S |   36 ++++++
 board/balloon3/u-boot.lds      |   55 ++++++++
 boards.cfg                     |    1 +
 include/configs/balloon3.h     |  269 ++++++++++++++++++++++++++++++++++++++++
 9 files changed, 637 insertions(+), 0 deletions(-)
 create mode 100644 board/balloon3/Makefile
 create mode 100644 board/balloon3/balloon3.c
 create mode 100644 board/balloon3/config.mk
 create mode 100644 board/balloon3/lowlevel_init.S
 create mode 100644 board/balloon3/u-boot.lds
 create mode 100644 include/configs/balloon3.h

diff --git a/MAINTAINERS b/MAINTAINERS
index c35a277..433eae4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -798,6 +798,7 @@ Greg Ungerer <greg.ungerer@opengear.com>
 
 Marek Vasut <marek.vasut@gmail.com>
 
+	balloon3	xscale
 	palmld		xscale
 	palmtc		xscale
 	vpac270		xscale
diff --git a/MAKEALL b/MAKEALL
index 52472de..9d149e2 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -706,6 +706,7 @@ LIST_at91="			\
 #########################################################################
 
 LIST_pxa="		\
+	balloon3	\
 	cerf250		\
 	colibri_pxa270	\
 	cradle		\
diff --git a/board/balloon3/Makefile b/board/balloon3/Makefile
new file mode 100644
index 0000000..3928e1f
--- /dev/null
+++ b/board/balloon3/Makefile
@@ -0,0 +1,49 @@
+#
+# Balloon3 Support
+#
+# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+#
+# 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	:= balloon3.o
+SOBJS	:= lowlevel_init.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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/balloon3/balloon3.c b/board/balloon3/balloon3.c
new file mode 100644
index 0000000..6d682d9
--- /dev/null
+++ b/board/balloon3/balloon3.c
@@ -0,0 +1,224 @@
+/*
+ * Balloon3 Support
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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/arch/hardware.h>
+#include <serial.h>
+#include <asm/io.h>
+#include <spartan3.h>
+#include <command.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void balloon3_init_fpga(void);
+
+/*
+ * Miscelaneous platform dependent initialisations
+ */
+
+int board_init (void)
+{
+	/* arch number of vpac270 */
+	gd->bd->bi_arch_number = MACH_TYPE_BALLOON3;
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params = 0xa0000100;
+
+	/* Init the FPGA */
+	balloon3_init_fpga();
+
+	return 0;
+}
+
+struct serial_device *default_serial_console (void)
+{
+	return &serial_stuart_device;
+}
+
+int dram_init (void)
+{
+	gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+	gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
+	gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
+
+	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
+	gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
+	gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
+
+	return 0;
+}
+
+#ifdef	CONFIG_CMD_USB
+int usb_board_init(void)
+{
+	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
+		~(UHCHR_SSEP0 | UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
+
+	UHCHR |= UHCHR_FSBIR;
+
+	while (UHCHR & UHCHR_FSBIR);
+
+	UHCHR &= ~UHCHR_SSE;
+	UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);
+
+	/* Clear any OTG Pin Hold */
+	if (PSSR & PSSR_OTGPH)
+		PSSR |= PSSR_OTGPH;
+
+	UHCRHDA &= ~(0x200);
+	UHCRHDA |= 0x100;
+
+	/* Set port power control mask bits, only 3 ports. */
+	UHCRHDB |= (0x7<<17);
+
+	/* enable port 2 */
+	UP2OCR |= UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE;
+
+	return 0;
+}
+
+void usb_board_init_fail(void)
+{
+	return;
+}
+
+void usb_board_stop(void)
+{
+	UHCHR |= UHCHR_FHR;
+	udelay(11);
+	UHCHR &= ~UHCHR_FHR;
+
+	UHCCOMS |= 1;
+	udelay(10);
+
+	CKEN &= ~CKEN10_USBHOST;
+
+	return;
+}
+#endif
+
+#if defined(CONFIG_FPGA)
+/* Toggle GPIO103 and GPIO104 --  PROGB and RDnWR */
+int fpga_pgm_fn(int nassert, int nflush, int cookie)
+{
+	if (nassert)
+		GPCR3 = 0x80;
+	else
+		GPSR3 = 0x80;
+	if (nflush)
+		GPCR3 = 0x100;
+	else
+		GPSR3 = 0x100;
+	return nassert;
+}
+
+/* Check GPIO83 -- INITB */
+int fpga_init_fn(int cookie)
+{
+	return !(GPLR2 & 0x80000);
+}
+
+/* Check GPIO84 -- BUSY */
+int fpga_busy_fn(int cookie)
+{
+	return !(GPLR2 & 0x100000);
+}
+
+/* Check GPIO111 -- DONE */
+int fpga_done_fn(int cookie)
+{
+	return GPLR3 & 0x8000;
+}
+
+/* Configure GPIO104 as GPIO and deassert it */
+int fpga_pre_config_fn(int cookie)
+{
+	GAFR3_L &= ~0x30000;
+	GPCR3 = 0x100;
+	return 0;
+}
+
+/* Configure GPIO104 as nSKTSEL */
+int fpga_post_config_fn(int cookie)
+{
+	GAFR3_L |= 0x10000;
+	return 0;
+}
+
+/* Toggle RDnWR */
+int fpga_wr_fn(int nassert_write, int flush, int cookie)
+{
+	udelay(1000);
+
+	if (nassert_write)
+		GPCR3 = 0x100;
+	else
+		GPSR3 = 0x100;
+
+	return nassert_write;
+}
+
+/* Write program to the FPGA */
+int fpga_wdata_fn(uchar data, int flush, int cookie)
+{
+	writeb(data, 0x10f00000);
+	return 0;
+}
+
+/* Toggle Clock pin -- NO-OP */
+int fpga_clk_fn(int assert_clk, int flush, int cookie)
+{
+	return assert_clk;
+}
+
+/* Toggle ChipSelect pin -- NO-OP */
+int fpga_cs_fn(int assert_clk, int flush, int cookie)
+{
+	return assert_clk;
+}
+
+Xilinx_Spartan3_Slave_Parallel_fns balloon3_fpga_fns = {
+	fpga_pre_config_fn,
+	fpga_pgm_fn,
+	fpga_init_fn,
+	NULL,	/* err */
+	fpga_done_fn,
+	fpga_clk_fn,
+	fpga_cs_fn,
+	fpga_wr_fn,
+	NULL,	/* rdata */
+	fpga_wdata_fn,
+	fpga_busy_fn,
+	NULL,	/* abort */
+	fpga_post_config_fn,
+};
+
+Xilinx_desc fpga = XILINX_XC3S1000_DESC(slave_parallel, (void *)&balloon3_fpga_fns, 0);
+
+/* Initialize the FPGA */
+void balloon3_init_fpga(void)
+{
+	fpga_init();
+	fpga_add (fpga_xilinx, &fpga);
+}
+#else
+void balloon3_init_fpga(void) {}
+#endif /* CONFIG_FPGA */
diff --git a/board/balloon3/config.mk b/board/balloon3/config.mk
new file mode 100644
index 0000000..1d650ac
--- /dev/null
+++ b/board/balloon3/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0xa1000000
diff --git a/board/balloon3/lowlevel_init.S b/board/balloon3/lowlevel_init.S
new file mode 100644
index 0000000..d7b5be6
--- /dev/null
+++ b/board/balloon3/lowlevel_init.S
@@ -0,0 +1,36 @@
+/*
+ * Balloon3 Lowlevel Hardware Initialization
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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/arch/pxa-regs.h>
+#include <asm/arch/macro.h>
+
+.globl lowlevel_init
+lowlevel_init:
+	pxa_gpio_setup
+	pxa_wait_ticks	0x8000
+	pxa_mem_setup
+	pxa_wakeup
+	pxa_intr_setup
+	pxa_clock_setup
+
+	mov	pc, lr
diff --git a/board/balloon3/u-boot.lds b/board/balloon3/u-boot.lds
new file mode 100644
index 0000000..58c371d
--- /dev/null
+++ b/board/balloon3/u-boot.lds
@@ -0,0 +1,55 @@
+/*
+ * (C) Copyright 2000
+ * 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
+ */
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	  cpu/pxa/start.o	(.text)
+	  *(.text)
+	}
+
+	. = ALIGN(4);
+	.rodata : { *(.rodata) }
+
+	. = ALIGN(4);
+	.data : { *(.data) }
+
+	. = ALIGN(4);
+	.got : { *(.got) }
+
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : { *(.u_boot_cmd) }
+	__u_boot_cmd_end = .;
+
+	. = ALIGN(4);
+	__bss_start = .;
+	.bss : { *(.bss) }
+	_end = .;
+}
diff --git a/boards.cfg b/boards.cfg
index b5ee531..04ca7de 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -51,6 +51,7 @@ actux2		arm	ixp
 actux3		arm	ixp
 actux4		arm	ixp
 ixdp425		arm	ixp
+balloon3	arm	pxa
 cerf250		arm	pxa
 colibri_pxa270	arm	pxa
 cradle		arm	pxa
diff --git a/include/configs/balloon3.h b/include/configs/balloon3.h
new file mode 100644
index 0000000..9066a24
--- /dev/null
+++ b/include/configs/balloon3.h
@@ -0,0 +1,269 @@
+/*
+ * Balloon3 configuration file
+ *
+ * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * 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
+
+/*
+ * High Level Board Configuration Options
+ */
+#define	CONFIG_PXA27X		1	/* Marvell PXA270 CPU */
+#define	CONFIG_BALLOON3		1	/* Balloon3 board */
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define	CONFIG_SYS_MALLOC_LEN		(128*1024)
+#define	CONFIG_SYS_GBL_DATA_SIZE	128
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
+		"bootm 0xa4000000; "					\
+	"fi; "								\
+	"bootm 0x40000;"
+#define	CONFIG_BOOTARGS			"console=tty0 console=ttyS2,115200"
+#define	CONFIG_TIMESTAMP
+#define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
+#define	CONFIG_CMDLINE_TAG
+#define	CONFIG_SETUP_MEMORY_TAGS
+
+#define	CONFIG_LZMA			/* LZMA compression support */
+
+/*
+ * Serial Console Configuration
+ */
+#define	CONFIG_PXA_SERIAL
+#define	CONFIG_STUART			1
+#define	CONFIG_BAUDRATE			115200
+#define	CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/*
+ * Bootloader Components Configuration
+ */
+#include <config_cmd_default.h>
+
+#undef	CONFIG_CMD_NET
+#undef	CONFIG_CMD_ENV
+#undef	CONFIG_CMD_IMLS
+#define	CONFIG_CMD_USB
+#define	CONFIG_CMD_FPGA
+#undef	CONFIG_LCD
+
+/*
+ * KGDB
+ */
+#ifdef	CONFIG_CMD_KGDB
+#define	CONFIG_KGDB_BAUDRATE		230400	/* kgdb serial port speed */
+#define	CONFIG_KGDB_SER_INDEX		2	/* which serial port to use */
+#endif
+
+/*
+ * HUSH Shell Configuration
+ */
+#define	CONFIG_SYS_HUSH_PARSER		1
+#define	CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+#define	CONFIG_SYS_LONGHELP
+#ifdef	CONFIG_SYS_HUSH_PARSER
+#define	CONFIG_SYS_PROMPT		"$ "
+#else
+#define	CONFIG_SYS_PROMPT		"=> "
+#endif
+#define	CONFIG_SYS_CBSIZE		256
+#define	CONFIG_SYS_PBSIZE		\
+	(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
+#define	CONFIG_SYS_MAXARGS		16
+#define	CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
+#define	CONFIG_SYS_DEVICE_NULLDEV	1
+
+/*
+ * Clock Configuration
+ */
+#undef	CONFIG_SYS_CLKS_IN_HZ
+#define	CONFIG_SYS_HZ			3250000		/* Timer @ 3250000 Hz */
+#define	CONFIG_SYS_CPUSPEED		0x290		/* 520MHz */
+
+/*
+ * Stack sizes
+ */
+#define	CONFIG_STACKSIZE		(128*1024)	/* regular stack */
+#ifdef	CONFIG_USE_IRQ
+#define	CONFIG_STACKSIZE_IRQ		(4*1024)	/* IRQ stack */
+#define	CONFIG_STACKSIZE_FIQ		(4*1024)	/* FIQ stack */
+#endif
+
+/*
+ * DRAM Map
+ */
+#define	CONFIG_NR_DRAM_BANKS		3		/* 2 banks of DRAM */
+#define	PHYS_SDRAM_1			0xa0000000	/* SDRAM Bank #1 */
+#define	PHYS_SDRAM_1_SIZE		0x08000000	/* 128 MB */
+#define	PHYS_SDRAM_2			0xb0000000	/* SDRAM Bank #2 */
+#define	PHYS_SDRAM_2_SIZE		0x08000000	/* 128 MB */
+#define	PHYS_SDRAM_3			0x80000000	/* SDRAM Bank #2 */
+#define	PHYS_SDRAM_3_SIZE		0x08000000	/* 128 MB */
+
+#define	CONFIG_SYS_DRAM_BASE		0xa0000000	/* CS0 */
+#define	CONFIG_SYS_DRAM_SIZE		0x18000000	/* 384 MB DRAM */
+
+#define	CONFIG_SYS_MEMTEST_START	0xa0400000	/* memtest works on */
+#define	CONFIG_SYS_MEMTEST_END		0xa0800000	/* 4 ... 8 MB in DRAM */
+
+#define	CONFIG_SYS_LOAD_ADDR		0xa1000000
+
+/*
+ * NOR FLASH
+ */
+#ifdef	CONFIG_CMD_FLASH
+#define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
+#define	PHYS_FLASH_SIZE			0x00800000	/* 8 MB */
+#define	CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
+
+#define	CONFIG_SYS_FLASH_CFI
+#define	CONFIG_FLASH_CFI_DRIVER		1
+#define	CONFIG_SYS_FLASH_CFI_WIDTH      FLASH_CFI_16BIT
+
+#define	CONFIG_SYS_MAX_FLASH_BANKS	1
+#define	CONFIG_SYS_MAX_FLASH_SECT	256
+
+#define	CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
+
+#define	CONFIG_SYS_FLASH_ERASE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_WRITE_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_LOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_UNLOCK_TOUT	(2*CONFIG_SYS_HZ)
+#define	CONFIG_SYS_FLASH_PROTECTION
+#define	CONFIG_ENV_IS_IN_FLASH
+#else
+#define	CONFIG_SYS_NO_FLASH
+#define	CONFIG_SYS_ENV_IS_NOWHERE
+#endif
+
+#define	CONFIG_SYS_MONITOR_BASE		0x000000
+#define	CONFIG_SYS_MONITOR_LEN		0x40000
+
+#define	CONFIG_ENV_SIZE			0x2000
+#define	CONFIG_ENV_ADDR			0x40000
+#define	CONFIG_ENV_SECT_SIZE		0x10000
+
+/*
+ * GPIO settings
+ */
+#define	CONFIG_SYS_GPSR0_VAL	0x307dc7fd
+#define	CONFIG_SYS_GPSR1_VAL	0x03cffa4e
+#define	CONFIG_SYS_GPSR2_VAL	0x7131c000
+#define	CONFIG_SYS_GPSR3_VAL	0x01e1f3ff
+
+#define	CONFIG_SYS_GPCR0_VAL	0x0
+#define	CONFIG_SYS_GPCR1_VAL	0x0
+#define	CONFIG_SYS_GPCR2_VAL	0x0
+#define	CONFIG_SYS_GPCR3_VAL	0x0
+
+#define	CONFIG_SYS_GPDR0_VAL	0xc0f98e02
+#define	CONFIG_SYS_GPDR1_VAL	0xfcffa8b7
+#define	CONFIG_SYS_GPDR2_VAL	0x22e3ffff
+#define	CONFIG_SYS_GPDR3_VAL	0x000201fe
+
+#define	CONFIG_SYS_GAFR0_L_VAL	0x96c00000
+#define	CONFIG_SYS_GAFR0_U_VAL	0xa5e5459b
+#define	CONFIG_SYS_GAFR1_L_VAL	0x699b759a
+#define	CONFIG_SYS_GAFR1_U_VAL	0xaaa5a5aa
+#define	CONFIG_SYS_GAFR2_L_VAL	0xaaaaaaaa
+#define	CONFIG_SYS_GAFR2_U_VAL	0x01f9a6aa
+#define	CONFIG_SYS_GAFR3_L_VAL	0x54510003
+#define	CONFIG_SYS_GAFR3_U_VAL	0x00001599
+
+#define	CONFIG_SYS_PSSR_VAL	0x30
+
+/*
+ * Clock settings
+ */
+#define	CONFIG_SYS_CKEN		0xffffffff
+#define	CONFIG_SYS_CCCR		0x00000290
+
+/*
+ * Memory settings
+ */
+#define	CONFIG_SYS_MSC0_VAL	0x7ff07ff8
+#define	CONFIG_SYS_MSC1_VAL	0x7ff07ff0
+#define	CONFIG_SYS_MSC2_VAL	0x74a42491
+#define	CONFIG_SYS_MDCNFG_VAL	0x89d309d3
+#define	CONFIG_SYS_MDREFR_VAL	0x001d8018
+#define	CONFIG_SYS_MDMRS_VAL	0x00220022
+#define	CONFIG_SYS_FLYCNFG_VAL	0x00000000
+#define	CONFIG_SYS_SXCNFG_VAL	0x00000000
+#define	CONFIG_SYS_MEM_BUF_IMP	0x0f
+
+/*
+ * PCMCIA and CF Interfaces
+ */
+#define	CONFIG_SYS_MECR_VAL	0x00000000
+#define	CONFIG_SYS_MCMEM0_VAL	0x00014307
+#define	CONFIG_SYS_MCMEM1_VAL	0x00014307
+#define	CONFIG_SYS_MCATT0_VAL	0x0001c787
+#define	CONFIG_SYS_MCATT1_VAL	0x0001c787
+#define	CONFIG_SYS_MCIO0_VAL	0x0001430f
+#define	CONFIG_SYS_MCIO1_VAL	0x0001430f
+
+/*
+ * LCD
+ */
+#ifdef	CONFIG_LCD
+#define	CONFIG_BALLOON3LCD
+#define	CONFIG_VIDEO_LOGO
+#define	CONFIG_CMD_BMP
+#define	CONFIG_SPLASH_SCREEN
+#define	CONFIG_SPLASH_SCREEN_ALIGN
+#define	CONFIG_VIDEO_BMP_GZIP
+#define	CONFIG_VIDEO_BMP_RLE8
+#define	CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(2 << 20)
+#endif
+
+/*
+ * USB
+ */
+#ifdef	CONFIG_CMD_USB
+#define	CONFIG_USB_OHCI_NEW
+#define	CONFIG_SYS_USB_OHCI_CPU_INIT
+#define	CONFIG_SYS_USB_OHCI_BOARD_INIT
+#define	CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	2
+#define	CONFIG_SYS_USB_OHCI_REGS_BASE	0x4C000000
+#define	CONFIG_SYS_USB_OHCI_SLOT_NAME	"balloon3"
+#define	CONFIG_USB_STORAGE
+#define	CONFIG_DOS_PARTITION
+#define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
+#endif
+
+/*
+ * FPGA
+ */
+#ifdef	CONFIG_CMD_FPGA
+#define	CONFIG_FPGA
+#define	CONFIG_FPGA_XILINX
+#define	CONFIG_FPGA_SPARTAN3
+#define	CONFIG_SYS_FPGA_PROG_FEEDBACK
+#define	CONFIG_SYS_FPGA_WAIT	1000
+#define	CONFIG_MAX_FPGA_DEVICES	1
+#endif
+
+#endif	/* __CONFIG_H */
-- 
1.7.1

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

* [U-Boot] [PATCH 8/8] PXA: Add missing MAINTAINERS entries
  2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
                     ` (7 preceding siblings ...)
  2010-08-20  9:31   ` [U-Boot] [PATCH 7/8] PXA: Balloon3 board support Marek Vasut
@ 2010-08-20  9:31   ` Marek Vasut
  8 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-08-20  9:31 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
No changes

 MAINTAINERS |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 433eae4..7d66f7d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -799,9 +799,11 @@ Greg Ungerer <greg.ungerer@opengear.com>
 Marek Vasut <marek.vasut@gmail.com>
 
 	balloon3	xscale
+	colibri_pxa270	xscale
 	palmld		xscale
 	palmtc		xscale
 	vpac270		xscale
+	zipitz2		xscale
 
 Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
 
-- 
1.7.1

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

* [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements
  2010-08-20  9:31   ` [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements Marek Vasut
@ 2010-09-07 21:13     ` Wolfgang Denk
  2010-09-07 21:30       ` Marek Vasut
  0 siblings, 1 reply; 28+ messages in thread
From: Wolfgang Denk @ 2010-09-07 21:13 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1282296691-15910-6-git-send-email-marek.vasut@gmail.com> you wrote:
> 128MB NOR module support.
> Define __io to get harddrive working.
> Fix saving of environment into OneNAND.
> Boot from harddrive when possible.
> Add missing MAINTAINERS entry.
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
> Changes same as in PalmTC
> 
>  MAINTAINERS                   |    1 +
>  MAKEALL                       |    3 +-
>  Makefile                      |    7 ++-
>  board/vpac270/Makefile        |    7 +--
>  board/vpac270/lowlevel_init.S |    1 -
>  board/vpac270/vpac270.c       |   41 ++++++----------
>  include/configs/vpac270.h     |  106 +++++++++++++++++++++++-----------------
>  7 files changed, 87 insertions(+), 79 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5d20dca..c35a277 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -800,6 +800,7 @@ Marek Vasut <marek.vasut@gmail.com>
>  
>  	palmld		xscale
>  	palmtc		xscale
> +	vpac270		xscale
>  
>  Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
>  
> diff --git a/Makefile b/Makefile
> index 4f1cb1b..3f2b304 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2180,13 +2180,18 @@ trizepsiv_config	:	unconfig
>  	fi;
>  	@$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv
>  
> -vpac270_nor_config \
> +vpac270_nor_256M_config \
> +vpac270_nor_128M_config \
>  vpac270_onenand_config	: unconfig

Um... we don't accept such changes to the Makefile any more. Such
configuration should be moved to the boards.cfg file instead.

...
> --- a/board/vpac270/Makefile
> +++ b/board/vpac270/Makefile
> @@ -1,10 +1,7 @@
> -
>  #
> -# (C) Copyright 2000
> -# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> +# Voipac PXA270 Support
>  #
> -# See file CREDITS for list of people who contributed to this
> -# project.
> +# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
>  #
>  # This program is free software; you can redistribute it and/or
>  # modify it under the terms of the GNU General Public License as
...
> diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
> index 18e47e2..2d01e22 100644
> --- a/board/vpac270/vpac270.c
> +++ b/board/vpac270/vpac270.c
> @@ -1,16 +1,7 @@
>  /*
> - * (C) Copyright 2004
> - * Robert Whaley, Applied Data Systems, Inc. rwhaley at applieddata.net
> + * Voipac PXA270 Support
>   *
> - * (C) Copyright 2002
> - * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
> - *
> - * (C) Copyright 2002
> - * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
> - * Marius Groeger <mgroeger@sysgo.de>
> - *
> - * See file CREDITS for list of people who contributed to this
> - * project.
> + * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>

What makes you think it was legitimate to delete these old Copyright
notices?


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
HEALTH WARNING: Care Should Be Taken When Lifting This Product, Since
Its Mass, and Thus Its Weight, Is Dependent on Its Velocity  Relative
to the User.

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

* [U-Boot] [PATCH 7/8] PXA: Balloon3 board support
  2010-08-20  9:31   ` [U-Boot] [PATCH 7/8] PXA: Balloon3 board support Marek Vasut
@ 2010-09-07 21:17     ` Wolfgang Denk
  2010-09-07 21:27       ` Marek Vasut
  0 siblings, 1 reply; 28+ messages in thread
From: Wolfgang Denk @ 2010-09-07 21:17 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1282296691-15910-7-git-send-email-marek.vasut@gmail.com> you wrote:
> The following hardware is currently supported:
> - UART
> - USB Host
> - FPGA
...
> +int usb_board_init(void)
> +{
> +	UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
> +		~(UHCHR_SSEP0 | UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
> +
> +	UHCHR |= UHCHR_FSBIR;
> +
> +	while (UHCHR & UHCHR_FSBIR);
> +
> +	UHCHR &= ~UHCHR_SSE;
> +	UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);
> +
> +	/* Clear any OTG Pin Hold */
> +	if (PSSR & PSSR_OTGPH)
> +		PSSR |= PSSR_OTGPH;
> +
> +	UHCRHDA &= ~(0x200);
> +	UHCRHDA |= 0x100;
> +
> +	/* Set port power control mask bits, only 3 ports. */
> +	UHCRHDB |= (0x7<<17);
> +
> +	/* enable port 2 */
> +	UP2OCR |= UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE;

Why aren't you using I/O accessors here?

> +void usb_board_stop(void)
> +{
> +	UHCHR |= UHCHR_FHR;
> +	udelay(11);
> +	UHCHR &= ~UHCHR_FHR;
> +
> +	UHCCOMS |= 1;
> +	udelay(10);
> +
> +	CKEN &= ~CKEN10_USBHOST;

And here, and so on?


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
Don't tell me how hard you work.  Tell me how much you get done.
                                                     -- James J. Ling

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

* [U-Boot] [PATCH 7/8] PXA: Balloon3 board support
  2010-09-07 21:17     ` Wolfgang Denk
@ 2010-09-07 21:27       ` Marek Vasut
  0 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-09-07 21:27 UTC (permalink / raw)
  To: u-boot

N900 mailclient is stupid ... Bear with it please.
----- P?vodn? zpr?va -----
> Dear Marek Vasut,
> 
> In message <1282296691-15910-7-git-send-email-marek.vasut@gmail.com> you
> wrote:
> > The following hardware is currently supported:
> > - UART
> > - USB Host
> > - FPGA
> ...
> > +int usb_board_init(void)
> > +{
> > +??? UHCHR = (UHCHR | UHCHR_PCPL | UHCHR_PSPL) &
> > +??? ??? ~(UHCHR_SSEP0 | UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
> > +
> > +??? UHCHR |= UHCHR_FSBIR;
> > +
> > +??? while (UHCHR & UHCHR_FSBIR);
> > +
> > +??? UHCHR &= ~UHCHR_SSE;
> > +??? UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);
> > +
> > +??? /* Clear any OTG Pin Hold */
> > +??? if (PSSR & PSSR_OTGPH)
> > +??? ??? PSSR |= PSSR_OTGPH;
> > +
> > +??? UHCRHDA &= ~(0x200);
> > +??? UHCRHDA |= 0x100;
> > +
> > +??? /* Set port power control mask bits, only 3 ports. */
> > +??? UHCRHDB |= (0x7<<17);
> > +
> > +??? /* enable port 2 */
> > +??? UP2OCR |= UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE;
> 
> Why aren't you using I/O accessors here?
> 

Hey Wolfgang,

we already discussed this somewhere. Check how arch/arm/include/mach-pxa/pxa-regs.h is done. It's ripped off the linux kernel. We already came to a conclusion that it needs to be reworked (remove the _REG() macro crud and use io accessors).

Though I'd like to propose if we could get this stuff in prior to reworking pxa-regs.h as the change will be very intrusive. To have a stable revision where the boards work in case something went wrong.

> > +void usb_board_stop(void)
> > +{
> > +??? UHCHR |= UHCHR_FHR;
> > +??? udelay(11);
> > +??? UHCHR &= ~UHCHR_FHR;
> > +
> > +??? UHCCOMS |= 1;
> > +??? udelay(10);
> > +
> > +??? CKEN &= ~CKEN10_USBHOST;
> 
> And here, and so on?
> 
> 
> 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
> Don't tell me how hard you work.?  Tell me how much you get done.
>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  -- James J. Ling

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

* [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements
  2010-09-07 21:13     ` Wolfgang Denk
@ 2010-09-07 21:30       ` Marek Vasut
  2010-09-07 22:34         ` Marek Vasut
  0 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2010-09-07 21:30 UTC (permalink / raw)
  To: u-boot

N900 again, sorry.
----- P?vodn? zpr?va -----
> Dear Marek Vasut,
> 
> In message <1282296691-15910-6-git-send-email-marek.vasut@gmail.com> you
> wrote:
> > 128MB NOR module support.
> > Define __io to get harddrive working.
> > Fix saving of environment into OneNAND.
> > Boot from harddrive when possible.
> > Add missing MAINTAINERS entry.
> > 
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > ---
> > Changes same as in PalmTC
> > 
> > MAINTAINERS? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  |? ? ?  1 +
> > MAKEALL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  |? ? ?  3 +-
> > Makefile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  |? ? ?  7 ++-
> > board/vpac270/Makefile? ? ? ? ? ? ?  |? ? ?  7 +--
> > board/vpac270/lowlevel_init.S |? ? ?  1 -
> > board/vpac270/vpac270.c? ? ? ? ? ?  |? ?  41 ++++++----------
> > include/configs/vpac270.h? ? ? ?  |?  106
> > +++++++++++++++++++++++----------------- 7 files changed, 87
> > insertions(+), 79 deletions(-)
> > 
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 5d20dca..c35a277 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -800,6 +800,7 @@ Marek Vasut <marek.vasut@gmail.com>
> > 
> > ??? palmld??? ??? xscale
> > ??? palmtc??? ??? xscale
> > +??? vpac270??? ??? xscale
> > 
> > Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
> > 
> > diff --git a/Makefile b/Makefile
> > index 4f1cb1b..3f2b304 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -2180,13 +2180,18 @@ trizepsiv_config??? :??? unconfig
> > ??? fi;
> > ??? @$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv
> > 
> > -vpac270_nor_config \
> > +vpac270_nor_256M_config \
> > +vpac270_nor_128M_config \
> > vpac270_onenand_config??? : unconfig
> 
> Um... we don't accept such changes to the Makefile any more. Such
> configuration should be moved to the boards.cfg file instead.

I'm aware of this. Though I have to admit I don't know how to do it through boards.cfg. I will take a look when I get home (in about 1 hour). Or if you'd be so kind to point me in some direction?

Thanks
> 
> ...
> > --- a/board/vpac270/Makefile
> > +++ b/board/vpac270/Makefile
> > @@ -1,10 +1,7 @@
> > -
> > #
> > -# (C) Copyright 2000
> > -# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> > +# Voipac PXA270 Support
> > #
> > -# See file CREDITS for list of people who contributed to this
> > -# project.
> > +# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
> > #
> > # This program is free software; you can redistribute it and/or
> > # modify it under the terms of the GNU General Public License as
> ...
> > diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
> > index 18e47e2..2d01e22 100644
> > --- a/board/vpac270/vpac270.c
> > +++ b/board/vpac270/vpac270.c
> > @@ -1,16 +1,7 @@
> > /*
> > - * (C) Copyright 2004
> > - * Robert Whaley, Applied Data Systems, Inc. rwhaley at applieddata.net
> > + * Voipac PXA270 Support
> > *
> > - * (C) Copyright 2002
> > - * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
> > - *
> > - * (C) Copyright 2002
> > - * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
> > - * Marius Groeger <mgroeger@sysgo.de>
> > - *
> > - * See file CREDITS for list of people who contributed to this
> > - * project.
> > + * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
> 
> What makes you think it was legitimate to delete these old Copyright
> notices?
> 
> 
> 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
> HEALTH WARNING: Care Should Be Taken When Lifting This Product, Since
> Its Mass, and Thus Its Weight, Is Dependent on Its Velocity?  Relative
> to the User.

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

* [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements
  2010-09-07 21:30       ` Marek Vasut
@ 2010-09-07 22:34         ` Marek Vasut
  0 siblings, 0 replies; 28+ messages in thread
From: Marek Vasut @ 2010-09-07 22:34 UTC (permalink / raw)
  To: u-boot

Dne ?t 7. z??? 2010 23:30:16 Marek Vasut napsal(a):
> N900 again, sorry.
> ----- P?vodn? zpr?va -----
> 
> > Dear Marek Vasut,
> > 
> > In message <1282296691-15910-6-git-send-email-marek.vasut@gmail.com> you
> > 
> > wrote:
> > > 128MB NOR module support.
> > > Define __io to get harddrive working.
> > > Fix saving of environment into OneNAND.
> > > Boot from harddrive when possible.
> > > Add missing MAINTAINERS entry.
> > > 
> > > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > > ---
> > > Changes same as in PalmTC
> > > 
> > > MAINTAINERS                                     |       1 +
> > > MAKEALL                                             |       3 +-
> > > Makefile                                           |       7 ++-
> > > board/vpac270/Makefile               |       7 +--
> > > board/vpac270/lowlevel_init.S |       1 -
> > > board/vpac270/vpac270.c             |     41 ++++++----------
> > > include/configs/vpac270.h         |   106
> > > +++++++++++++++++++++++----------------- 7 files changed, 87
> > > insertions(+), 79 deletions(-)
> > > 
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index 5d20dca..c35a277 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -800,6 +800,7 @@ Marek Vasut <marek.vasut@gmail.com>
> > > 
> > >     palmld        xscale
> > >     palmtc        xscale
> > > +    vpac270        xscale
> > > 
> > > Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
> > > 
> > > diff --git a/Makefile b/Makefile
> > > index 4f1cb1b..3f2b304 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -2180,13 +2180,18 @@ trizepsiv_config    :    unconfig
> > >     fi;
> > >     @$(MKCONFIG) -n $@ -a trizepsiv arm pxa trizepsiv
> > > 
> > > -vpac270_nor_config \
> > > +vpac270_nor_256M_config \
> > > +vpac270_nor_128M_config \
> > > vpac270_onenand_config    : unconfig
> > 
> > Um... we don't accept such changes to the Makefile any more. Such
> > configuration should be moved to the boards.cfg file instead.
> 
> I'm aware of this. Though I have to admit I don't know how to do it through
> boards.cfg. I will take a look when I get home (in about 1 hour). Or if
> you'd be so kind to point me in some direction?
> 
> Thanks
> 
> > ...
> > 
> > > --- a/board/vpac270/Makefile
> > > +++ b/board/vpac270/Makefile
> > > @@ -1,10 +1,7 @@
> > > -
> > > #
> > > -# (C) Copyright 2000
> > > -# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> > > +# Voipac PXA270 Support
> > > #
> > > -# See file CREDITS for list of people who contributed to this
> > > -# project.
> > > +# Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
> > > #
> > > # This program is free software; you can redistribute it and/or
> > > # modify it under the terms of the GNU General Public License as
> > 
> > ...
> > 
> > > diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
> > > index 18e47e2..2d01e22 100644
> > > --- a/board/vpac270/vpac270.c
> > > +++ b/board/vpac270/vpac270.c
> > > @@ -1,16 +1,7 @@
> > > /*
> > > - * (C) Copyright 2004
> > > - * Robert Whaley, Applied Data Systems, Inc. rwhaley at applieddata.net
> > > + * Voipac PXA270 Support
> > > *
> > > - * (C) Copyright 2002
> > > - * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net
> > > - *
> > > - * (C) Copyright 2002
> > > - * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
> > > - * Marius Groeger <mgroeger@sysgo.de>
> > > - *
> > > - * See file CREDITS for list of people who contributed to this
> > > - * project.
> > > + * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
> > 
> > What makes you think it was legitimate to delete these old Copyright
> > notices?
> > 

btw. this file never had anything to do with these people ... it's just a fix 
for a copy-paste thing/mistake.
> > 
> > Best regards,
> > 
> > Wolfgang Denk

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

end of thread, other threads:[~2010-09-07 22:34 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-10  4:50 [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 2/9] PXA: pxafb: Add ACX517AKN support Marek Vasut
2010-08-10 21:45   ` Wolfgang Denk
2010-08-10 23:56     ` Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 1/8] " Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 2/8] common: Enable serial for PXA250 Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 3/8 v2] PXA: Palm Tungsten|C Support Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 4/8] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 5/8] PXA: Add initial Palm LifeDrive support Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 6/8] PXA: Voipac270 improvements Marek Vasut
2010-09-07 21:13     ` Wolfgang Denk
2010-09-07 21:30       ` Marek Vasut
2010-09-07 22:34         ` Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 7/8] PXA: Balloon3 board support Marek Vasut
2010-09-07 21:17     ` Wolfgang Denk
2010-09-07 21:27       ` Marek Vasut
2010-08-20  9:31   ` [U-Boot] [PATCH 8/8] PXA: Add missing MAINTAINERS entries Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 3/9] common: Enable serial for PXA250 Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 4/9] PXA: Palm Tungsten|C Support Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 5/9] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 6/9] PXA: Add initial Palm LifeDrive support Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 7/9] PXA: Voipac270 improvements Marek Vasut
2010-08-10  4:50 ` [U-Boot] [PATCH 8/9] PXA: Balloon3 board support Marek Vasut
2010-08-10 21:52   ` Wolfgang Denk
2010-08-10  4:50 ` [U-Boot] [PATCH 9/9] PXA: Add missing MAINTAINERS entries Marek Vasut
2010-08-10 21:48   ` Wolfgang Denk
2010-08-10 21:38 ` [U-Boot] [PATCH 1/9] ARM: Define __raw_readX and __raw_writeX Wolfgang Denk
2010-08-10 23:52   ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox