Skip to contentSkip to conversation

devkit3250: add Timll DevKit3250 board initial support

PATCH RESEND New Vladimir Zapolskiy 2 participants 6 messages Nov 7, 2011 – Nov 14, 2011

Subsystems (2)
lore
Share & tools
lore

Vladimir Zapolskiy

author maintainer
#0 lore raw

cover devkit3250: add Timll DevKit3250 board initial support

This patchset adds generic NXP LPC32XX SoC support and basic support for Embest/Timll DevKit3250 board, which powered by this SoC.

Vladimir Zapolskiy (3):
arm926ejs: add NXP LPC32x0 cpu series support
devkit3250: add Timll DevKit3250 board initial support
devkit3250: add DevKit3250 board maintainer

 MAINTAINERS                                   |    4 +
 arch/arm/cpu/arm926ejs/lpc32xx/Makefile       |   45 +++++++
 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c       |  118 ++++++++++++++++++
 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c          |   58 +++++++++
 arch/arm/cpu/arm926ejs/lpc32xx/devices.c      |   47 +++++++
 arch/arm/cpu/arm926ejs/lpc32xx/timer.c        |   94 ++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/clk.h       |  162 +++++++++++++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/config.h    |   59 +++++++++
 arch/arm/include/asm/arch-lpc32xx/cpu.h       |   64 ++++++++++
 arch/arm/include/asm/arch-lpc32xx/emc.h       |   92 ++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   25 ++++
 arch/arm/include/asm/arch-lpc32xx/timer.h     |   74 +++++++++++
 arch/arm/include/asm/arch-lpc32xx/uart.h      |   54 ++++++++
 arch/arm/include/asm/arch-lpc32xx/wdt.h       |   51 ++++++++
 board/timll/devkit3250/Makefile               |   50 ++++++++
 board/timll/devkit3250/devkit3250.c           |   74 +++++++++++
 boards.cfg                                    |    3 +-
 include/configs/devkit3250.h                  |  121 ++++++++++++++++++
 18 files changed, 1194 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h
 create mode 100644 board/timll/devkit3250/Makefile
 create mode 100644 board/timll/devkit3250/devkit3250.c
 create mode 100644 include/configs/devkit3250.h
Signature · 1 line
1.7.5.4
author maintainer
#1 lore raw

PATCH RESEND v4 1/3 arm926ejs: add NXP LPC32x0 cpu series support

This change adds initial support for NXP LPC32x0 SoC series.

---
Changes from v3 to v4:
* extended memory controller definitions are introduced
* added print_cpuinfo() function

Changes from v2 to v3:
* checkpatch.pl reports zero errors and warnings

Changes from v1 to v2:
* BIT(n) and SBF(s, v) macro are not used anymore
* removed NS16550 and 14-clock UART definitions from uart.h
* added devices.c file, which contains standard UART preinitialization routine
* added get_serial_clock() function, it returns actual frequency of UART clock
* __udelay() realization is simplified, no need of interrupt handling

 arch/arm/cpu/arm926ejs/lpc32xx/Makefile       |   45 +++++++
 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c       |  118 ++++++++++++++++++
 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c          |   58 +++++++++
 arch/arm/cpu/arm926ejs/lpc32xx/devices.c      |   47 +++++++
 arch/arm/cpu/arm926ejs/lpc32xx/timer.c        |   94 ++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/clk.h       |  162 +++++++++++++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/config.h    |   59 +++++++++
 arch/arm/include/asm/arch-lpc32xx/cpu.h       |   64 ++++++++++
 arch/arm/include/asm/arch-lpc32xx/emc.h       |   92 ++++++++++++++
 arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   25 ++++
 arch/arm/include/asm/arch-lpc32xx/timer.h     |   74 +++++++++++
 arch/arm/include/asm/arch-lpc32xx/uart.h      |   54 ++++++++
 arch/arm/include/asm/arch-lpc32xx/wdt.h       |   51 ++++++++
 13 files changed, 943 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h
arch/arm/cpu/arm926ejs/lpc32xx/Makefile new file +45 -0
new file mode 100644
index 0000000..29b4dc8
@@ -0,0 +1,45 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB     = $(obj)lib$(SOC).o
+
+COBJS   = cpu.o clkpwr.o devices.o timer.o
+
+SRCS    := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS    := $(addprefix $(obj),$(COBJS) $(SOBJS))
+
+all:    $(obj).depend $(LIB)
+
+$(LIB): $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c new file +118 -0

118 lines not on this page · raw message

arch/arm/cpu/arm926ejs/lpc32xx/cpu.c new file +58 -0

58 lines not on this page · raw message

arch/arm/cpu/arm926ejs/lpc32xx/devices.c new file +47 -0

47 lines not on this page · raw message

arch/arm/cpu/arm926ejs/lpc32xx/timer.c new file +94 -0

94 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/clk.h new file +162 -0

162 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/config.h new file +59 -0

59 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/cpu.h new file +64 -0

64 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/emc.h new file +92 -0

92 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/sys_proto.h new file +25 -0
new file mode 100644
index 0000000..882da58
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2011 Vladimir Zapolskiy <[email protected]>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#ifndef _SYS_PROTO_H_
+#define _SYS_PROTO_H_
+
+void lpc32xx_uart_init(unsigned int uart_id);
+
+#endif
arch/arm/include/asm/arch-lpc32xx/timer.h new file +74 -0

74 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/uart.h new file +54 -0

54 lines not on this page · raw message

arch/arm/include/asm/arch-lpc32xx/wdt.h new file +51 -0

51 lines not on this page · raw message

Signature · 1 line
1.7.5.4
author maintainer
#2 lore raw

PATCH RESEND 2/3 devkit3250: add Timll DevKit3250 board initial support

In reply to Vladimir Zapolskiy

This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution.

---
 board/timll/devkit3250/Makefile     |   50 ++++++++++++++
 board/timll/devkit3250/devkit3250.c |   74 +++++++++++++++++++++
 boards.cfg                          |    3 +-
 include/configs/devkit3250.h        |  121 +++++++++++++++++++++++++++++++++++
 4 files changed, 247 insertions(+), 1 deletions(-)
 create mode 100644 board/timll/devkit3250/Makefile
 create mode 100644 board/timll/devkit3250/devkit3250.c
 create mode 100644 include/configs/devkit3250.h
board/timll/devkit3250/Makefile new file +50 -0
new file mode 100644
index 0000000..99cb16f
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiy <[email protected]>
+# Copyright (C) 2008, Guennadi Liakhovetski <[email protected]>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	:= devkit3250.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+SOBJS	:= $(addprefix $(obj),$(SOBJS))
+
+$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
+	$(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+clean:
+	rm -f $(SOBJS) $(OBJS)
+
+distclean:	clean
+	rm -f $(LIB) core *.bak .depend
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
board/timll/devkit3250/devkit3250.c new file +74 -0

74 lines not on this page · raw message

boards.cfg +2 -1
index e982ec6..8784b29 100644
@@ -160,7 +160,8 @@ nhk8815                      arm         arm926ejs   nhk8815             st
 nhk8815_onenand              arm         arm926ejs   nhk8815             st             nomadik       nhk8815:BOOT_ONENAND
 omap5912osk                  arm         arm926ejs   -                   ti             omap
 edminiv2                     arm         arm926ejs   -                   LaCie          orion5x
-dkb			     arm         arm926ejs   -                   Marvell        pantheon
+dkb                          arm         arm926ejs   -                   Marvell        pantheon
+devkit3250                   arm         arm926ejs   devkit3250          timll          lpc32xx
 integratorap_cm946es         arm         arm946es    integrator          armltd         -               integratorap
 integratorcp_cm946es         arm         arm946es    integrator          armltd         -               integratorcp
 ca9x4_ct_vxp                 arm         armv7       vexpress            armltd
include/configs/devkit3250.h new file +121 -0

121 lines not on this page · raw message

Signature · 1 line
1.7.5.4
#3 lore raw

PATCH RESEND 2/3 devkit3250: add Timll DevKit3250 board initial support

Hi Vladimir,

Quoted 33 lines · Vladimir Zapolskiy

This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution.

---
 board/timll/devkit3250/Makefile     |   50 ++++++++++++++
 board/timll/devkit3250/devkit3250.c |   74 +++++++++++++++++++++
 boards.cfg                          |    3 +-
 include/configs/devkit3250.h        |  121 +++++++++++++++++++++++++++++++++++
 4 files changed, 247 insertions(+), 1 deletions(-)
 create mode 100644 board/timll/devkit3250/Makefile
 create mode 100644 board/timll/devkit3250/devkit3250.c
 create mode 100644 include/configs/devkit3250.h
board/timll/devkit3250/Makefile new file +11 -0
new file mode 100644
index 0000000..99cb16f
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiy <[email protected]>
+# Copyright (C) 2008, Guennadi Liakhovetski <[email protected]>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.

board/timll/devkit3250/Makefile line 21

Quoted 10 lines
board/timll/devkit3250/Makefile new file +10 -0
+#
+# 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

Probably, it will be a good thing to drop the address part globally, as it can change and you may not be around to look for your files to change it.

Quoted 10 lines
board/timll/devkit3250/Makefile new file +10 -0
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	:= devkit3250.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))

board/timll/devkit3250/Makefile line 41

Quoted 10 lines
board/timll/devkit3250/Makefile new file +10 -0
+SOBJS	:= $(addprefix $(obj),$(SOBJS))
+
+$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
+	$(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+clean:
+	rm -f $(SOBJS) $(OBJS)
+
+distclean:	clean
+	rm -f $(LIB) core *.bak .depend

clean and distclean have no use in this directory level and have been removed all over by Mike,
so please don't add any new ones.

Quoted 52 lines
board/timll/devkit3250/Makefile new file +9 -0
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
board/timll/devkit3250/devkit3250.c new file +37 -0
new file mode 100644
index 0000000..b2f7863
@@ -0,0 +1,74 @@
+/*
+ * Embest/Timll DevKit3250 board support
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiy <[email protected]>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#include <common.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/cpu.h>
+#include <asm/arch/emc.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct emc_t *emc = (struct emc_t *)EMC_BASE;
+
+int board_early_init_f(void)
+{
+	lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+
+	return 0;
+}
+

board/timll/devkit3250/devkit3250.c line 47

Quoted 10 lines
board/timll/devkit3250/devkit3250.c new file +10 -0
+int board_init(void)
+{
+	/*
+	 * It might be necessary to flush data cache, if U-boot is loaded
+	 * from kickstart bootloader, e.g. from S1L loader
+	 */
+	flush_cache(0, 0);
+
+	/* set machine id of Embest DevKit3250 */
+	gd->bd->bi_arch_number  = MACH_TYPE_DEVKIT3250;

You already setup the CONFIG_MACH_TYPE.
The above line should be removed (along with the comment).

Quoted 5 lines
board/timll/devkit3250/devkit3250.c new file +5 -0
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params  = CONFIG_ENV_ADDR;
+
+#ifdef CONFIG_SYS_FLASH_CFI

board/timll/devkit3250/devkit3250.c line 62

Quoted 10 lines
board/timll/devkit3250/devkit3250.c new file +10 -0
+	/* Use 16-bit memory interface for NOR Flash */
+	emc->stat[0].config     = EMC_STAT_CONFIG_PB | EMC_STAT_CONFIG_16BIT;
+
+	/* Change the NOR timings to optimum value to get maximum bandwidth */
+	emc->stat[0].waitwen    = EMC_STAT_WAITWEN(1);
+	emc->stat[0].waitoen    = EMC_STAT_WAITOEN(1);
+	emc->stat[0].waitrd     = EMC_STAT_WAITRD(12);
+	emc->stat[0].waitpage   = EMC_STAT_WAITPAGE(12);
+	emc->stat[0].waitwr     = EMC_STAT_WAITWR(5);
+	emc->stat[0].waitturn   = EMC_STAT_WAITTURN(2);

Indentation of all the above should be done with tabs.

Quoted 153 lines
board/timll/devkit3250/devkit3250.c new file +12 -0
+#endif
+
+	return 0;
+}
+
+int dram_init(void)
+{
+	gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE,
+				    CONFIG_SYS_SDRAM_SIZE);
+
+	return 0;
+}
boards.cfg +2 -1
index e982ec6..8784b29 100644
@@ -160,7 +160,8 @@ nhk8815                      arm         arm926ejs   nhk8815             st
 nhk8815_onenand              arm         arm926ejs   nhk8815             st             nomadik       nhk8815:BOOT_ONENAND
 omap5912osk                  arm         arm926ejs   -                   ti             omap
 edminiv2                     arm         arm926ejs   -                   LaCie          orion5x
-dkb			     arm         arm926ejs   -                   Marvell        pantheon
+dkb                          arm         arm926ejs   -                   Marvell        pantheon
+devkit3250                   arm         arm926ejs   devkit3250          timll          lpc32xx
 integratorap_cm946es         arm         arm946es    integrator          armltd         -               integratorap
 integratorcp_cm946es         arm         arm946es    integrator          armltd         -               integratorcp
 ca9x4_ct_vxp                 arm         armv7       vexpress            armltd
include/configs/devkit3250.h new file +121 -0
new file mode 100644
index 0000000..31b04b2
@@ -0,0 +1,121 @@
+/*
+ * Embest/Timll DevKit3250 board configuration file
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiy <[email protected]>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#ifndef __CONFIG_DEVKIT3250_H__
+#define __CONFIG_DEVKIT3250_H__
+
+/* SoC and board defines */
+#include <asm/sizes.h>
+#include <asm/arch/cpu.h>
+
+/*
+ * Define DevKit3250 machine type by hand until it lands in mach-types
+ */
+#define MACH_TYPE_DEVKIT3250        3697
+#define CONFIG_MACH_TYPE            MACH_TYPE_DEVKIT3250
+
+#define CONFIG_SYS_ICACHE_OFF
+#define CONFIG_SYS_DCACHE_OFF
+#define CONFIG_SKIP_LOWLEVEL_INIT
+#define CONFIG_BOARD_EARLY_INIT_F
+
+/*
+ * Memory configurations
+ */
+#define CONFIG_NR_DRAM_BANKS        1
+#define CONFIG_STACKSIZE            SZ_32K
+#define CONFIG_SYS_MALLOC_LEN       SZ_1M
+#define CONFIG_SYS_GBL_DATA_SIZE    128
+#define CONFIG_SYS_SDRAM_BASE       EMC_DYCS0_BASE
+#define CONFIG_SYS_SDRAM_SIZE       SZ_64M
+#define CONFIG_SYS_MEMTEST_START    CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END      (CONFIG_SYS_TEXT_BASE - SZ_1M)
+
+#define CONFIG_SYS_TEXT_BASE        0x82FA0000
+#define CONFIG_SYS_LOAD_ADDR        (CONFIG_SYS_MEMTEST_START + SZ_32K)
+
+#define CONFIG_SYS_INIT_RAM_SIZE    SZ_4K
+#define CONFIG_SYS_GBL_DATA_OFFSET  (CONFIG_SYS_SDRAM_BASE + \
+				     CONFIG_SYS_INIT_RAM_SIZE - \
+				     GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR     CONFIG_SYS_GBL_DATA_OFFSET
+
+/*
+ * Serial Driver
+ */
+#define CONFIG_SYS_LPC32XX_UART     5   /* UART5 */
+#define CONFIG_BAUDRATE             115200
+
+/*
+ * NOR Flash
+ */
+#define CONFIG_CMD_FLASH
+#define CONFIG_SYS_MAX_FLASH_BANKS  1
+#define CONFIG_SYS_MAX_FLASH_SECT   71
+#define CONFIG_SYS_FLASH_BASE       EMC_CS0_BASE
+#define CONFIG_SYS_FLASH_SIZE       SZ_4M
+#define CONFIG_SYS_FLASH_CFI
+
+/*
+ * U-Boot General Configurations
+ */
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_SYS_PROMPT           "=> "
+#define CONFIG_SYS_CBSIZE           1024    /* Console I/O buffer size */
+#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_AUTO_COMPLETE
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_VERSION_VARIABLE
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DOS_PARTITION
+
+#define CONFIG_ENV_IS_NOWHERE
+#define CONFIG_ENV_SIZE             SZ_128K
+#define CONFIG_ENV_ADDR             0x80000100
+
+/*
+ * U-Boot Commands
+ */
+#include <config_cmd_default.h>
+#define CONFIG_CMD_CACHE
+
+/*
+ * Boot Linux
+ */
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+#define CONFIG_BOOTDELAY            3
+
+#define CONFIG_BOOTFILE             uImage
+#define CONFIG_BOOTARGS             "console=ttyS2,115200n8"
+#define CONFIG_LOADADDR             0x80008000
+
+/*
+ * SoC specific configuration
+ */
+#include <asm/arch/config.h>
+
+#endif  /* __CONFIG_DEVKIT3250_H__*/
Signature · 2 lines
Regards,
Igor.
author maintainer
#4 lore raw

PATCH RESEND 2/3 devkit3250: add Timll DevKit3250 board initial support

Hi Igor,

thank you for your review, especially because it's a sole one.

Quoted 42 lines · Igor Grinberg

Hi Vladimir,

Quoted 39 lines · Vladimir Zapolskiy

This change adds a basic support for Embest/Timll DevKit3250 board, NOR and UART are the only supported peripherals for a moment. The board doesn't require low-level init, because the initial SDRAM and GPIO configuration is performed during kickstart bootloader execution.

---
  board/timll/devkit3250/Makefile     |   50 ++++++++++++++
  board/timll/devkit3250/devkit3250.c |   74 +++++++++++++++++++++
  boards.cfg                          |    3 +-
  include/configs/devkit3250.h        |  121 +++++++++++++++++++++++++++++++++++
  4 files changed, 247 insertions(+), 1 deletions(-)

create mode 100644 board/timll/devkit3250/Makefile create mode 100644 board/timll/devkit3250/devkit3250.c create mode 100644 include/configs/devkit3250.h

board/timll/devkit3250/Makefile new file +17 -0
new file mode 100644
index 0000000..99cb16f
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiy<[email protected]>
+# Copyright (C) 2008, Guennadi Liakhovetski<[email protected]>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
Quoted 8 lines

board/timll/devkit3250/Makefile line 21

Quoted 4 lines
board/timll/devkit3250/Makefile new file +4 -0
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA

Probably, it will be a good thing to drop the address part globally, as it can change and you may not be around to look for your files to change it.

I checked the current license from gnu.org, and yes, it has another address in its body. I corrected the address in newly introduced files, but globally in my opinion it should be one mass change of about 5000 files though.

Quoted 16 lines
Quoted 16 lines
board/timll/devkit3250/Makefile new file +16 -0
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	:= devkit3250.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+SOBJS	:= $(addprefix $(obj),$(SOBJS))
+
+$(LIB):	$(obj).depend $(OBJS) $(SOBJS)
+	$(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+clean:
Quoted 9 lines

board/timll/devkit3250/Makefile line 41

Quoted 4 lines
board/timll/devkit3250/Makefile new file +4 -0
+	rm -f $(SOBJS) $(OBJS)
+
+distclean:	clean
+	rm -f $(LIB) core *.bak .depend

clean and distclean have no use in this directory level and have been removed all over by Mike,
so please don't add any new ones.

Removed in the next version, thanks.

Quoted 57 lines
Quoted 57 lines
board/timll/devkit3250/Makefile new file +9 -0
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
board/timll/devkit3250/devkit3250.c new file +42 -0
new file mode 100644
index 0000000..b2f7863
@@ -0,0 +1,74 @@
+/*
+ * Embest/Timll DevKit3250 board support
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiy<[email protected]>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#include<common.h>
+#include<asm/arch/sys_proto.h>
+#include<asm/arch/cpu.h>
+#include<asm/arch/emc.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct emc_t *emc = (struct emc_t *)EMC_BASE;
+
+int board_early_init_f(void)
+{
+	lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+
+	return 0;
+}
+
+int board_init(void)
+{
+	/*
+	 * It might be necessary to flush data cache, if U-boot is loaded
+	 * from kickstart bootloader, e.g. from S1L loader
Quoted 9 lines

board/timll/devkit3250/devkit3250.c line 47

Quoted 5 lines
board/timll/devkit3250/devkit3250.c new file +5 -0
+	 */
+	flush_cache(0, 0);
+
+	/* set machine id of Embest DevKit3250 */
+	gd->bd->bi_arch_number  = MACH_TYPE_DEVKIT3250;

You already setup the CONFIG_MACH_TYPE.
The above line should be removed (along with the comment).

Removed.

Quoted 9 lines
Quoted 9 lines
board/timll/devkit3250/devkit3250.c new file +9 -0
+
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params  = CONFIG_ENV_ADDR;
+
+#ifdef CONFIG_SYS_FLASH_CFI
+	/* Use 16-bit memory interface for NOR Flash */
+	emc->stat[0].config     = EMC_STAT_CONFIG_PB | EMC_STAT_CONFIG_16BIT;
+
+	/* Change the NOR timings to optimum value to get maximum bandwidth */
Quoted 9 lines

board/timll/devkit3250/devkit3250.c line 62

Quoted 6 lines
board/timll/devkit3250/devkit3250.c new file +6 -0
+	emc->stat[0].waitwen    = EMC_STAT_WAITWEN(1);
+	emc->stat[0].waitoen    = EMC_STAT_WAITOEN(1);
+	emc->stat[0].waitrd     = EMC_STAT_WAITRD(12);
+	emc->stat[0].waitpage   = EMC_STAT_WAITPAGE(12);
+	emc->stat[0].waitwr     = EMC_STAT_WAITWR(5);
+	emc->stat[0].waitturn   = EMC_STAT_WAITTURN(2);

Indentation of all the above should be done with tabs.

No objections here, done.

[snip]

Signature · 2 lines
With best wishes,
Vladimir
author maintainer
#5 lore raw

PATCH RESEND 3/3 devkit3250: add DevKit3250 board maintainer

In reply to Vladimir Zapolskiy

Add Vladimir Zapolskiyf as a DevKit3250 board maintainer in Das U-boot.

---
 MAINTAINERS |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
MAINTAINERS +4 -0
index 030fe4a..3da5650 100644
@@ -901,6 +901,10 @@ Sughosh Ganu <[email protected]>
 
 	hawkboard	ARM926EJS (OMAP-L138)
 
+Vladimir Zapolskiy <[email protected]>
+
+	devkit3250	lpc32xx
+
 -------------------------------------------------------------------------
 
 Unknown / orphaned boards:
Signature · 1 line
1.7.5.4