public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX
@ 2010-07-22 15:03 Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 2/7] PXA: pxafb: Add ACX517AKN support Marek Vasut
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 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] 10+ messages in thread

* [U-Boot] [PATCH 2/7] PXA: pxafb: Add ACX517AKN support
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 3/7] common: Enable serial for PXA250 Marek Vasut
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 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] 10+ messages in thread

* [U-Boot] [PATCH 3/7] common: Enable serial for PXA250
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 2/7] PXA: pxafb: Add ACX517AKN support Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support Marek Vasut
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 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] 10+ messages in thread

* [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 2/7] PXA: pxafb: Add ACX517AKN support Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 3/7] common: Enable serial for PXA250 Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-08-03 21:10   ` Wolfgang Denk
  2010-07-22 15:03 ` [U-Boot] [PATCH 5/7] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 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>
---
 board/palmtc/Makefile        |   54 +++++++++
 board/palmtc/config.mk       |    3 +
 board/palmtc/lowlevel_init.S |   40 +++++++
 board/palmtc/palmtc.c        |   77 +++++++++++++
 board/palmtc/u-boot.lds      |   56 ++++++++++
 boards.cfg                   |    1 +
 include/configs/palmtc.h     |  250 ++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 481 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/board/palmtc/Makefile b/board/palmtc/Makefile
new file mode 100644
index 0000000..92e5288
--- /dev/null
+++ b/board/palmtc/Makefile
@@ -0,0 +1,54 @@
+
+#
+# Copyright (C) 2009
+# Marek Vasut <marek.vasut@gmail.com>
+#
+# Heavily based on pxa255_idp platform
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).a
+
+COBJS	:= 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..bcb42e7
--- /dev/null
+++ b/board/palmtc/config.mk
@@ -0,0 +1,3 @@
+#TEXT_BASE = 0xa1700000
+TEXT_BASE = 0xa1000000
+#TEXT_BASE = 0
diff --git a/board/palmtc/lowlevel_init.S b/board/palmtc/lowlevel_init.S
new file mode 100644
index 0000000..72c4441
--- /dev/null
+++ b/board/palmtc/lowlevel_init.S
@@ -0,0 +1,40 @@
+/*
+ * 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..17528b7
--- /dev/null
+++ b/board/palmtc/palmtc.c
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2009
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * Heavily based on pxa255_idp platform
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <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 Lubbock-Board */
+	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;
+}
+
+int board_late_init(void)
+{
+#ifdef CONFIG_LCD
+	setenv("stdout", "lcd");
+	setenv("stderr", "lcd");
+#else
+	setenv("stdout", "serial");
+	setenv("stderr", "serial");
+#endif
+	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 b82f530..2af8d20 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..6f05cb2
--- /dev/null
+++ b/include/configs/palmtc.h
@@ -0,0 +1,250 @@
+/*
+ * Copyright (C) 2009-2010
+ * Marek Vasut <marek.vasut@gmail.com>
+ * Configuration settings for Palm Tungsten|C
+ *
+ * Heavily based on pxa255_idp platform
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#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 */
+
+#undef	BOARD_LATE_INIT
+#undef	CONFIG_SKIP_RELOCATE_UBOOT
+#undef	CONFIG_USE_IRQ
+#undef	CONFIG_SKIP_LOWLEVEL_INIT
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_OVERWRITE
+#define CONFIG_ENV_IS_IN_FLASH		1
+#define CONFIG_ENV_ADDR			0x40000
+#define CONFIG_ENV_SIZE			0x40000
+
+#define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + CONFIG_STACKSIZE)
+#define	CONFIG_SYS_GBL_DATA_SIZE	512
+
+#define	CONFIG_BOOTCOMMAND						\
+	"if mmcinfo && fatload mmc 0 0xa0000000 uboot.script ; then "	\
+		"source 0xa0000000; "					\
+	"else "								\
+		"bootm 0x80000; "					\
+	"fi; "
+#define	CONFIG_BOOTARGS							\
+	"console=tty0 console=ttyS0,57600"
+#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_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_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
+ */
+#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_MONITOR_BASE		0x0
+#define CONFIG_SYS_MONITOR_LEN		0x40000
+
+#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
+
+/*
+ * 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] 10+ messages in thread

* [U-Boot] [PATCH 5/7] PXA: pxafb: Add support for Sharp LQ038J7DH53
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (2 preceding siblings ...)
  2010-07-22 15:03 ` [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support Marek Vasut
  2010-07-22 15:03 ` [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes Marek Vasut
  5 siblings, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 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] 10+ messages in thread

* [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (3 preceding siblings ...)
  2010-07-22 15:03 ` [U-Boot] [PATCH 5/7] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-08-03 21:13   ` Wolfgang Denk
  2010-07-22 15:03 ` [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes Marek Vasut
  5 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 board/palmld/Makefile        |   54 ++++++++
 board/palmld/config.mk       |    1 +
 board/palmld/lowlevel_init.S |   46 +++++++
 board/palmld/palmld.c        |   81 ++++++++++++
 board/palmld/u-boot.lds      |   56 +++++++++
 boards.cfg                   |    1 +
 include/configs/palmld.h     |  275 ++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 514 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/board/palmld/Makefile b/board/palmld/Makefile
new file mode 100644
index 0000000..c184cf6
--- /dev/null
+++ b/board/palmld/Makefile
@@ -0,0 +1,54 @@
+
+#
+# Copyright (C) 2009
+# Marek Vasut <marek.vasut@gmail.com>
+#
+# Heavily based on pxa255_idp platform
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).a
+
+COBJS	:= 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..6b6d11f
--- /dev/null
+++ b/board/palmld/lowlevel_init.S
@@ -0,0 +1,46 @@
+/*
+ * Aeronix Zipit Z2 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..679a47c
--- /dev/null
+++ b/board/palmld/palmld.c
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2009
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * Heavily based on pxa255_idp platform
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <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;
+}
+
+int board_late_init(void)
+{
+	setenv("stdout", "serial");
+	setenv("stderr", "serial");
+	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;
+}
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 2af8d20..4acd3eb 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..9f0be73
--- /dev/null
+++ b/include/configs/palmld.h
@@ -0,0 +1,275 @@
+/*
+ * 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 */
+
+#undef	BOARD_LATE_INIT
+#undef	CONFIG_SKIP_RELOCATE_UBOOT
+#undef	CONFIG_USE_IRQ
+#undef	CONFIG_SKIP_LOWLEVEL_INIT
+
+/*
+ * Environment settings
+ */
+#define	CONFIG_ENV_SIZE			0x10000
+#define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + CONFIG_STACKSIZE)
+#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,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_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
+ */
+#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_ADDR			0x40000
+#define CONFIG_ENV_SIZE			0x10000
+#define	CONFIG_ENV_SECT_SIZE		0x10000
+
+/*
+ * IDE
+ */
+#ifdef	CONFIG_CMD_IDE
+#define	CONFIG_LBA48
+#undef	CONFIG_IDE_LED
+#undef	CONFIG_IDE_RESET
+
+/*
+ * HACK WARNING: __io
+ * This MUST go away once the readb/writeb and inb/outb issue is solved
+ */
+#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] 10+ messages in thread

* [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes
  2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
                   ` (4 preceding siblings ...)
  2010-07-22 15:03 ` [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support Marek Vasut
@ 2010-07-22 15:03 ` Marek Vasut
  2010-08-03 21:16   ` Wolfgang Denk
  5 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2010-07-22 15:03 UTC (permalink / raw)
  To: u-boot

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>
---
 include/configs/vpac270.h |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index 6d02995..a0383b2 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -36,7 +36,7 @@
 /*
  * Environment settings
  */
-#define	CONFIG_ENV_SIZE			0x4000
+#define	CONFIG_ENV_SIZE			0x20000
 #define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128*1024)
 #define	CONFIG_SYS_GBL_DATA_SIZE	128
 
@@ -49,6 +49,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
@@ -116,6 +119,7 @@
 #define	CONFIG_PXA_MMC
 #define	CONFIG_SYS_MMC_BASE		0xF0000000
 #define	CONFIG_CMD_FAT
+#define	CONFIG_CMD_EXT2
 #define	CONFIG_DOS_PARTITION
 #endif
 
@@ -228,6 +232,12 @@
 #undef	CONFIG_IDE_LED
 #undef	CONFIG_IDE_RESET
 
+/*
+ * HACK WARNING: __io
+ * This MUST go away once the readb/writeb and inb/outb issue is solved
+ */
+#define __io
+
 #define CONFIG_SYS_IDE_MAXBUS		1
 #define CONFIG_SYS_IDE_MAXDEVICE	1
 
-- 
1.7.1

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

* [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support
  2010-07-22 15:03 ` [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support Marek Vasut
@ 2010-08-03 21:10   ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2010-08-03 21:10 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1279811005-21858-4-git-send-email-marek.vasut@gmail.com> you wrote:
> 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>
> ---
>  board/palmtc/Makefile        |   54 +++++++++
>  board/palmtc/config.mk       |    3 +
>  board/palmtc/lowlevel_init.S |   40 +++++++
>  board/palmtc/palmtc.c        |   77 +++++++++++++
>  board/palmtc/u-boot.lds      |   56 ++++++++++
>  boards.cfg                   |    1 +
>  include/configs/palmtc.h     |  250 ++++++++++++++++++++++++++++++++++++++++++
>  7 files changed, 481 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

Entries to MAINTAINERS and MAKEALL missing.

> diff --git a/board/palmtc/Makefile b/board/palmtc/Makefile
> new file mode 100644
> index 0000000..92e5288
> --- /dev/null
> +++ b/board/palmtc/Makefile
> @@ -0,0 +1,54 @@
> +
> +#
> +# Copyright (C) 2009

2009?


> --- /dev/null
> +++ b/board/palmtc/config.mk
> @@ -0,0 +1,3 @@
> +#TEXT_BASE = 0xa1700000
> +TEXT_BASE = 0xa1000000
> +#TEXT_BASE = 0

Please remove dead code.


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

Incorrect multiline comment style.

> +	/* arch number of Lubbock-Board */
> +	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;
> +}
> +
> +int board_late_init(void)
> +{
> +#ifdef CONFIG_LCD
> +	setenv("stdout", "lcd");
> +	setenv("stderr", "lcd");
> +#else
> +	setenv("stdout", "serial");
> +	setenv("stderr", "serial");
> +#endif

It's a bad idea to force such settings on a user without leaving him
any other choice.  We had such discussions before. Please don't.

...
> +#define CONFIG_PXA250			1	/* Intel PXA255 CPU */
> +#define CONFIG_PALMTC			1	/* Palm Tungsten|C board */
> +
> +#undef	BOARD_LATE_INIT
> +#undef	CONFIG_SKIP_RELOCATE_UBOOT
> +#undef	CONFIG_USE_IRQ
> +#undef	CONFIG_SKIP_LOWLEVEL_INIT

Please do not undef what is not defined anyway.

> +/*
> + * Environment settings
> + */
> +#define	CONFIG_ENV_OVERWRITE
> +#define CONFIG_ENV_IS_IN_FLASH		1
> +#define CONFIG_ENV_ADDR			0x40000
> +#define CONFIG_ENV_SIZE			0x40000

Decide if you use TABs or SPACEs here (SPACEs recommended), but use
that consistently then.

> +#define	CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + CONFIG_STACKSIZE)

That looks awfully wrong - the stack has nothing to do with the malloc
arena. If you want to use just the same size (which does not make much
sense to me either), then use aan independent variable for that.

> +#define	CONFIG_SYS_GBL_DATA_SIZE	512

Don't! Make as small as possible. You probably do NOT need that much,
or do you?

...
> +#define CONFIG_SYS_CPUSPEED		0x161		/* standard setting for 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */

Line too long. Please fix globally.


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
There's an old story about the person who wished his computer were as
easy to use as his telephone. That wish has come  true,  since  I  no
longer know how to use my telephone.

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

* [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support
  2010-07-22 15:03 ` [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support Marek Vasut
@ 2010-08-03 21:13   ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2010-08-03 21:13 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1279811005-21858-6-git-send-email-marek.vasut@gmail.com> you wrote:
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
>  board/palmld/Makefile        |   54 ++++++++
>  board/palmld/config.mk       |    1 +
>  board/palmld/lowlevel_init.S |   46 +++++++
>  board/palmld/palmld.c        |   81 ++++++++++++
>  board/palmld/u-boot.lds      |   56 +++++++++
>  boards.cfg                   |    1 +
>  include/configs/palmld.h     |  275 ++++++++++++++++++++++++++++++++++++++++++
>  7 files changed, 514 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

Entries to MAINTAINERS and MAKEALL missing.

> diff --git a/board/palmld/Makefile b/board/palmld/Makefile
> new file mode 100644
> index 0000000..c184cf6
> --- /dev/null
> +++ b/board/palmld/Makefile
> @@ -0,0 +1,54 @@
> +
> +#

Don't waste too many empty lines.

> +# Copyright (C) 2009

2009?

[Please see comments for previous patch; seems this one looks pretty
much similar.]


Actually the code looks pretty much similar, too.

Are you sure that multiple copies of htis code are needed?

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
We want to create puppets that pull their own strings.   - Ann Marion

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

* [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes
  2010-07-22 15:03 ` [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes Marek Vasut
@ 2010-08-03 21:16   ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2010-08-03 21:16 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <1279811005-21858-7-git-send-email-marek.vasut@gmail.com> you wrote:
> 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>
> ---
>  include/configs/vpac270.h |   12 +++++++++++-
>  1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
> index 6d02995..a0383b2 100644
> --- a/include/configs/vpac270.h
> +++ b/include/configs/vpac270.h
> @@ -36,7 +36,7 @@
>  /*
>   * Environment settings
>   */
> -#define	CONFIG_ENV_SIZE			0x4000
> +#define	CONFIG_ENV_SIZE			0x20000


Do you really need 128 KiB for environment data? [Note that this is
NOT a sector size or so!]

Really???  I think this is not true.

> +/*
> + * HACK WARNING: __io
> + * This MUST go away once the readb/writeb and inb/outb issue is solved
> + */
> +#define __io

Drop that.

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
"Plan to throw one away. You will anyway."
                              - Fred Brooks, "The Mythical Man Month"

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

end of thread, other threads:[~2010-08-03 21:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-22 15:03 [U-Boot] [PATCH 1/7] ARM: Define __raw_readX and __raw_writeX Marek Vasut
2010-07-22 15:03 ` [U-Boot] [PATCH 2/7] PXA: pxafb: Add ACX517AKN support Marek Vasut
2010-07-22 15:03 ` [U-Boot] [PATCH 3/7] common: Enable serial for PXA250 Marek Vasut
2010-07-22 15:03 ` [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support Marek Vasut
2010-08-03 21:10   ` Wolfgang Denk
2010-07-22 15:03 ` [U-Boot] [PATCH 5/7] PXA: pxafb: Add support for Sharp LQ038J7DH53 Marek Vasut
2010-07-22 15:03 ` [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support Marek Vasut
2010-08-03 21:13   ` Wolfgang Denk
2010-07-22 15:03 ` [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes Marek Vasut
2010-08-03 21:16   ` Wolfgang Denk

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