public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support
@ 2009-07-15 15:18 Eric Benard
  2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
  2009-07-16  7:48 ` [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Sascha Hauer
  0 siblings, 2 replies; 9+ messages in thread
From: Eric Benard @ 2009-07-15 15:18 UTC (permalink / raw)
  To: u-boot

CPUIMX27 is built around Freescale's i.MX27 and has up to 64MB of
NOR Flash, up to 512MB of NAND Flash and up to 256MB of mDDR,
it includes an ethernet PHY in MII mode, an I2C RTC and a
ST16554 QuadUART on nCS3.

Signed-off-by: Eric Benard <eric@eukrea.com>
---
 arch/arm/Kconfig                            |   11 ++
 arch/arm/Makefile                           |    1 +
 arch/arm/configs/eukrea_cpuimx27_defconfig  |  222 +++++++++++++++++++++++++++
 board/eukrea_cpuimx27/Makefile              |    3 +
 board/eukrea_cpuimx27/config.h              |   24 +++
 board/eukrea_cpuimx27/env/bin/_update       |   36 +++++
 board/eukrea_cpuimx27/env/bin/boot          |   47 ++++++
 board/eukrea_cpuimx27/env/bin/hush_hack     |    1 +
 board/eukrea_cpuimx27/env/bin/init          |   37 +++++
 board/eukrea_cpuimx27/env/bin/update_kernel |   15 ++
 board/eukrea_cpuimx27/env/bin/update_root   |   16 ++
 board/eukrea_cpuimx27/env/config            |   31 ++++
 board/eukrea_cpuimx27/eukrea_cpuimx27.c     |  191 +++++++++++++++++++++++
 board/eukrea_cpuimx27/eukrea_cpuimx27.dox   |   10 ++
 board/eukrea_cpuimx27/lowlevel_init.S       |  130 ++++++++++++++++
 15 files changed, 775 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/configs/eukrea_cpuimx27_defconfig
 create mode 100644 board/eukrea_cpuimx27/Makefile
 create mode 100644 board/eukrea_cpuimx27/config.h
 create mode 100644 board/eukrea_cpuimx27/env/bin/_update
 create mode 100644 board/eukrea_cpuimx27/env/bin/boot
 create mode 100644 board/eukrea_cpuimx27/env/bin/hush_hack
 create mode 100644 board/eukrea_cpuimx27/env/bin/init
 create mode 100644 board/eukrea_cpuimx27/env/bin/update_kernel
 create mode 100644 board/eukrea_cpuimx27/env/bin/update_root
 create mode 100644 board/eukrea_cpuimx27/env/config
 create mode 100644 board/eukrea_cpuimx27/eukrea_cpuimx27.c
 create mode 100644 board/eukrea_cpuimx27/eukrea_cpuimx27.dox
 create mode 100644 board/eukrea_cpuimx27/lowlevel_init.S

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fa003b5..291b8f4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -19,6 +19,7 @@ config ARCH_TEXT_BASE
 	default 0xa7f00000 if MACH_PCA100
 	default 0x33fc0000 if MACH_A9M2440
 	default 0x23f00000 if MACH_MMCCPU
+	default 0xa0000000 if MACH_EUKREA_CPUIMX27
 
 config BOARDINFO
 	default "Synertronixx scb9328" if MACH_SCB9328
@@ -35,6 +36,7 @@ config BOARDINFO
 	default "Digi A9M2410" if MACH_A9M2410
 	default "Phytec phyCard-i.MX27" if MACH_PCA100
 	default "Bucyrus MMC-CPU" if MACH_MMCCPU
+	default "Eukrea CPUIMX27" if MACH_EUKREA_CPUIMX27
 
 config BOARD_LINKER_SCRIPT
 	bool
@@ -232,6 +234,15 @@ config MACH_MMCCPU
 	help
 	  Say y here if you are using the Bucyrus MMC-CPU
 
+config MACH_EUKREA_CPUIMX27
+	bool "EUKREA CPUIMX27"
+	select HAS_CFI
+	select ARCH_IMX27
+	select MACH_HAS_LOWLEVEL_INIT
+	help
+	  Say Y here if you are using Eukrea's CPUIMX27 equipped
+	  with a Freescale i.MX27 Processor
+
 endchoice
 
 source arch/arm/mach-imx/Kconfig
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index aba6166..1513168 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -25,6 +25,7 @@ board-$(CONFIG_MACH_A9M2410)       := a9m2410
 board-$(CONFIG_MACH_PCA100)        := phycard-i.MX27
 board-$(CONFIG_MACH_MMCCPU)        := mmccpu
 board-$(CONFIG_MACH_A9M2440)       := a9m2440
+board-$(CONFIG_MACH_EUKREA_CPUIMX27) := eukrea_cpuimx27
 
 # FIXME "cpu-y" never used on ARM!
 cpu-$(CONFIG_ARM920T)              := arm920t
diff --git a/arch/arm/configs/eukrea_cpuimx27_defconfig b/arch/arm/configs/eukrea_cpuimx27_defconfig
new file mode 100644
index 0000000..6402278
--- /dev/null
+++ b/arch/arm/configs/eukrea_cpuimx27_defconfig
@@ -0,0 +1,222 @@
+#
+# Automatically generated make config: don't edit
+# U-Boot version: 2.0.0-rc9
+# Wed Jul 15 16:05:10 2009
+#
+CONFIG_ARCH_TEXT_BASE=0xa0000000
+CONFIG_BOARDINFO="Eukrea CPUIMX27"
+# CONFIG_BOARD_LINKER_SCRIPT is not set
+CONFIG_GENERIC_LINKER_SCRIPT=y
+CONFIG_ARM=y
+CONFIG_ARM926EJS=y
+# CONFIG_MACH_MX1ADS is not set
+# CONFIG_MACH_SCB9328 is not set
+# CONFIG_MACH_PCM038 is not set
+# CONFIG_MACH_IMX21ADS is not set
+# CONFIG_MACH_IMX27ADS is not set
+# CONFIG_MACH_PCM043 is not set
+# CONFIG_MACH_FREESCALE_MX35_3STACK is not set
+# CONFIG_MACH_ECO920 is not set
+# CONFIG_MACH_NXDB500 is not set
+# CONFIG_MACH_PCM037 is not set
+# CONFIG_MACH_OMAP is not set
+# CONFIG_MACH_AT91SAM9260_EK is not set
+# CONFIG_MACH_PM9263 is not set
+# CONFIG_MACH_A9M2410 is not set
+# CONFIG_MACH_A9M2440 is not set
+# CONFIG_MACH_PCA100 is not set
+# CONFIG_MACH_MMCCPU is not set
+CONFIG_MACH_EUKREA_CPUIMX27=y
+CONFIG_ARCH_IMX=y
+CONFIG_ARCH_HAS_FEC_IMX=y
+CONFIG_ARCH_IMX27=y
+
+#
+# Board specific settings       
+#
+
+#
+# i.MX specific settings        
+#
+CONFIG_IMX_CLKO=y
+
+#
+# Arm specific settings         
+#
+CONFIG_CMD_ARM_CPUINFO=y
+CONFIG_CMDLINE_TAG=y
+CONFIG_SETUP_MEMORY_TAGS=y
+# CONFIG_INITRD_TAG is not set
+CONFIG_GREGORIAN_CALENDER=y
+CONFIG_HAS_KALLSYMS=y
+CONFIG_HAS_MODULES=y
+CONFIG_CMD_MEMORY=y
+CONFIG_ENV_HANDLING=y
+
+#
+# General Settings              
+#
+CONFIG_LOCALVERSION_AUTO=y
+
+#
+# memory layout                 
+#
+CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
+CONFIG_TEXT_BASE=0xa7f00000
+CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
+CONFIG_MEMORY_LAYOUT_DEFAULT=y
+# CONFIG_MEMORY_LAYOUT_FIXED is not set
+CONFIG_STACK_SIZE=0x8000
+CONFIG_MALLOC_SIZE=0x400000
+# CONFIG_BROKEN is not set
+# CONFIG_EXPERIMENTAL is not set
+CONFIG_MACH_HAS_LOWLEVEL_INIT=y
+CONFIG_MACH_DO_LOWLEVEL_INIT=y
+CONFIG_PROMPT="uboot:"
+CONFIG_BAUDRATE=115200
+CONFIG_LONGHELP=y
+CONFIG_CBSIZE=1024
+CONFIG_MAXARGS=16
+CONFIG_SHELL_HUSH=y
+# CONFIG_SHELL_SIMPLE is not set
+CONFIG_GLOB=y
+CONFIG_PROMPT_HUSH_PS2="> "
+CONFIG_CMDLINE_EDITING=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_DYNAMIC_CRC_TABLE=y
+CONFIG_ERRNO_MESSAGES=y
+CONFIG_TIMESTAMP=y
+CONFIG_CONSOLE_FULL=y
+CONFIG_CONSOLE_ACTIVATE_FIRST=y
+# CONFIG_OF_FLAT_TREE is not set
+CONFIG_PARTITION=y
+CONFIG_DEFAULT_ENVIRONMENT=y
+CONFIG_DEFAULT_ENVIRONMENT_PATH="board/eukrea_cpuimx27/env"
+
+#
+# Debugging                     
+#
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_ENABLE_FLASH_NOISE is not set
+# CONFIG_ENABLE_PARTITION_NOISE is not set
+# CONFIG_ENABLE_DEVICE_NOISE is not set
+
+#
+# Commands                      
+#
+
+#
+# scripting                     
+#
+CONFIG_CMD_EDIT=y
+CONFIG_CMD_SLEEP=y
+CONFIG_CMD_SAVEENV=y
+CONFIG_CMD_LOADENV=y
+CONFIG_CMD_EXPORT=y
+CONFIG_CMD_PRINTENV=y
+CONFIG_CMD_READLINE=y
+CONFIG_CMD_TRUE=y
+CONFIG_CMD_FALSE=y
+
+#
+# file commands                 
+#
+CONFIG_CMD_LS=y
+CONFIG_CMD_RM=y
+CONFIG_CMD_CAT=y
+CONFIG_CMD_MKDIR=y
+CONFIG_CMD_RMDIR=y
+CONFIG_CMD_CP=y
+CONFIG_CMD_PWD=y
+CONFIG_CMD_CD=y
+CONFIG_CMD_MOUNT=y
+CONFIG_CMD_UMOUNT=y
+
+#
+# console                       
+#
+CONFIG_CMD_CLEAR=y
+CONFIG_CMD_ECHO=y
+
+#
+# memory                        
+#
+# CONFIG_CMD_LOADB is not set
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_CRC=y
+CONFIG_CMD_MTEST=y
+# CONFIG_CMD_MTEST_ALTERNATIVE is not set
+
+#
+# flash                         
+#
+CONFIG_CMD_FLASH=y
+
+#
+# booting                       
+#
+CONFIG_CMD_BOOTM=y
+# CONFIG_CMD_BOOTM_ZLIB is not set
+# CONFIG_CMD_BOOTM_BZLIB is not set
+# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
+CONFIG_CMD_RESET=y
+CONFIG_CMD_GO=y
+CONFIG_CMD_TIMEOUT=y
+CONFIG_CMD_PARTITION=y
+CONFIG_CMD_TEST=y
+CONFIG_CMD_VERSION=y
+CONFIG_CMD_HELP=y
+CONFIG_CMD_DEVINFO=y
+CONFIG_NET=y
+CONFIG_NET_BOOTP=y
+CONFIG_NET_DHCP=y
+# CONFIG_NET_RARP is not set
+# CONFIG_NET_SNTP is not set
+# CONFIG_NET_NFS is not set
+CONFIG_NET_PING=y
+CONFIG_NET_TFTP=y
+
+#
+# Drivers                       
+#
+
+#
+# serial drivers                
+#
+CONFIG_DRIVER_SERIAL_IMX=y
+# CONFIG_DRIVER_SERIAL_NS16550 is not set
+CONFIG_MIIPHY=y
+
+#
+# Network drivers               
+#
+# CONFIG_DRIVER_NET_SMC911X is not set
+# CONFIG_DRIVER_NET_SMC91111 is not set
+CONFIG_DRIVER_NET_FEC_IMX=y
+
+#
+# SPI drivers                   
+#
+CONFIG_SPI=y
+CONFIG_DRIVER_SPI_IMX=y
+CONFIG_DRIVER_SPI_MC13783=y
+
+#
+# flash drivers                 
+#
+CONFIG_HAS_CFI=y
+CONFIG_DRIVER_CFI=y
+# CONFIG_DRIVER_CFI_NEW is not set
+CONFIG_DRIVER_CFI_OLD=y
+CONFIG_CFI_BUFFER_WRITE=y
+# CONFIG_NAND is not set
+# CONFIG_USB is not set
+
+#
+# Filesystem support            
+#
+# CONFIG_FS_CRAMFS is not set
+CONFIG_FS_RAMFS=y
+CONFIG_FS_DEVFS=y
+CONFIG_CRC32=y
+# CONFIG_GENERIC_FIND_NEXT_BIT is not set
diff --git a/board/eukrea_cpuimx27/Makefile b/board/eukrea_cpuimx27/Makefile
new file mode 100644
index 0000000..5d958fa
--- /dev/null
+++ b/board/eukrea_cpuimx27/Makefile
@@ -0,0 +1,3 @@
+
+obj-y += lowlevel_init.o
+obj-y += eukrea_cpuimx27.o
diff --git a/board/eukrea_cpuimx27/config.h b/board/eukrea_cpuimx27/config.h
new file mode 100644
index 0000000..b3eed0b
--- /dev/null
+++ b/board/eukrea_cpuimx27/config.h
@@ -0,0 +1,24 @@
+/**
+ * @file
+ * @brief Global defintions for the ARM i.MX27 based pcm038
+ *
+ * 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
+
+#endif	/* __CONFIG_H */
diff --git a/board/eukrea_cpuimx27/env/bin/_update b/board/eukrea_cpuimx27/env/bin/_update
new file mode 100644
index 0000000..fb7cbe8
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/_update
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+if [ -z "$part" -o -z "$image" ]; then
+	echo "define \$part and \$image"
+	exit 1
+fi
+
+if [ \! -e "$part" ]; then
+	echo "Partition $part does not exist"
+	exit 1
+fi
+
+if [ $# = 1 ]; then
+	image=$1
+fi
+
+if [ x$ip = xdhcp ]; then
+	dhcp
+fi
+
+ping $eth0.serverip
+if [ $? -ne 0 ] ; then
+	echo "update aborted"
+	exit 1
+fi
+
+unprotect $part
+
+echo
+echo "erasing partition $part"
+erase $part
+
+echo
+echo "flashing $image to $part"
+echo
+tftp $image $part
diff --git a/board/eukrea_cpuimx27/env/bin/boot b/board/eukrea_cpuimx27/env/bin/boot
new file mode 100644
index 0000000..dfb59aa
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/boot
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+. /env/config
+
+if [ x$1 = xnand ]; then
+	root=nand
+	kernel=nand
+fi
+
+if [ x$1 = xnet ]; then
+	root=net
+	kernel=net
+fi
+
+if [ x$1 = xnor ]; then
+	root=nor
+	kernel=nor
+fi
+
+if [ x$ip = xdhcp ]; then
+	bootargs="$bootargs ip=dhcp"
+else
+	bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::"
+fi
+
+if [ x$root = xnand ]; then
+	bootargs="$bootargs root=$rootpart_nand rootfstype=jffs2"
+elif [ x$root = xnor ]; then
+	bootargs="$bootargs root=$rootpart_nor rootfstype=jffs2"
+else
+	bootargs="$bootargs root=/dev/nfs nfsroot=$eth0.serverip:$nfsroot,v3,tcp"
+fi
+
+bootargs="$bootargs mtdparts=physmap-flash.0:$nor_parts;imx_nand:$nand_parts"
+
+if [ $kernel = net ]; then
+	if [ x$ip = xdhcp ]; then
+		dhcp
+	fi
+	tftp $uimage uImage || exit 1
+	bootm uImage
+elif [ $kernel = nor ]; then
+	bootm /dev/nor0.kernel
+else
+	bootm /dev/nand0.kernel.bb
+fi
+
diff --git a/board/eukrea_cpuimx27/env/bin/hush_hack b/board/eukrea_cpuimx27/env/bin/hush_hack
new file mode 100644
index 0000000..5fffa92
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/hush_hack
@@ -0,0 +1 @@
+nand -a /dev/nand0.*
diff --git a/board/eukrea_cpuimx27/env/bin/init b/board/eukrea_cpuimx27/env/bin/init
new file mode 100644
index 0000000..3bfd194
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/init
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+PATH=/env/bin
+export PATH
+
+. /env/config
+if [ -e /dev/nor0 ]; then
+	addpart /dev/nor0 $nor_parts
+fi
+
+if [ -e /dev/nand0 ]; then
+	addpart /dev/nand0 $nand_parts
+
+	# Uh, oh, hush first expands wildcards and then starts executing
+	# commands. What a bug!
+	source /env/bin/hush_hack 
+fi
+
+if [ -z $eth0.ethaddr ]; then
+	while [ -z $eth0.ethaddr ]; do
+		readline "no MAC address set for eth0. please enter the one found on your board: " eth0.ethaddr
+	done
+	echo -a /env/config "eth0.ethaddr=$eth0.ethaddr"
+fi
+
+echo
+echo -n "Hit any key to stop autoboot: "
+timeout -a $autoboot_timeout
+if [ $? != 0 ]; then
+	echo
+	echo "type update_kernel nand|nor [<imagename>] to update kernel into flash"
+	echo "type update_root nand|nor [<imagename>] to update rootfs into flash"
+	echo
+	exit
+fi
+
+boot
diff --git a/board/eukrea_cpuimx27/env/bin/update_kernel b/board/eukrea_cpuimx27/env/bin/update_kernel
new file mode 100644
index 0000000..05c822d
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/update_kernel
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+. /env/config
+
+image=$uimage
+if [ x$1 = xnand ]; then
+	part=/dev/nand0.kernel.bb
+elif [ x$1 = xnor ]; then
+	part=/dev/nor0.kernel
+else
+	echo "usage: $0 nor|nand [imagename]"
+	exit 1
+fi
+
+. /env/bin/_update $2
diff --git a/board/eukrea_cpuimx27/env/bin/update_root b/board/eukrea_cpuimx27/env/bin/update_root
new file mode 100644
index 0000000..eaf36eb
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/bin/update_root
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+. /env/config
+
+image=$uimage
+if [ x$1 = xnand ]; then
+	part=/dev/nand0.root.bb
+elif [ x$1 = xnor ]; then
+	part=/dev/nor0.root
+else
+	echo "usage: $0 nor|nand [imagename]"
+	exit 1
+fi
+
+. /env/bin/_update $2
+
diff --git a/board/eukrea_cpuimx27/env/config b/board/eukrea_cpuimx27/env/config
new file mode 100644
index 0000000..2547fb1
--- /dev/null
+++ b/board/eukrea_cpuimx27/env/config
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# can be either 'net', 'nor' or 'nand''
+kernel=nor
+root=nor
+
+uimage=cpuimx27/uImage
+jffs2=cpuimx27/rootfs.jffs2
+
+autoboot_timeout=3
+
+# TFP410-SVGA TFP410-VGA CMO-QVGA Optrex-WVGA Sharp-QVGA-EK
+video="CMO-QVGA"
+bootargs="console=ttymxc0,115200 fec_mac=$eth0.ethaddr rtc-pcf8563.probe=0,0x51 video=mxcfb:$video"
+
+nor_parts="256k(uboot)ro,128k(ubootenv),1792k(kernel),-(root)"
+rootpart_nor="/dev/mtdblock3"
+
+nand_parts="-(nand)"
+rootpart_nand=""
+
+nfsroot=""
+
+# use 'dhcp' to do dhcp in uboot and in kernel
+ip=dhcp
+
+# or set your networking parameters here
+#eth0.ipaddr=a.b.c.d
+#eth0.netmask=a.b.c.d
+#eth0.gateway=a.b.c.d
+eth0.serverip=192.168.1.15
diff --git a/board/eukrea_cpuimx27/eukrea_cpuimx27.c b/board/eukrea_cpuimx27/eukrea_cpuimx27.c
new file mode 100644
index 0000000..49c2f73
--- /dev/null
+++ b/board/eukrea_cpuimx27/eukrea_cpuimx27.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2009 Eric Benard, Eukrea Electromatique
+ * Based on pcm038.c which is :
+ * Copyright (C) 2007 Sascha Hauer, Pengutronix 
+ *
+ * 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 <net.h>
+#include <cfi_flash.h>
+#include <init.h>
+#include <environment.h>
+#include <asm/arch/imx-regs.h>
+#include <fec.h>
+#include <notifier.h>
+#include <asm/arch/gpio.h>
+#include <asm/armlinux.h>
+#include <asm/mach-types.h>
+#include <asm/arch/pmic.h>
+#include <partition.h>
+#include <fs.h>
+#include <fcntl.h>
+#include <nand.h>
+#include <command.h>
+#include <asm/io.h>
+#include <asm/arch/imx-nand.h>
+#include <asm/arch/imx-pll.h>
+
+static struct device_d cfi_dev = {
+	.name     = "cfi_flash",
+	.id       = "nor0",
+
+	.map_base = 0xC0000000,
+	.size     = 64 * 1024 * 1024,
+};
+
+static struct device_d sdram_dev = {
+	.name     = "ram",
+	.id       = "ram0",
+
+	.map_base = 0xa0000000,
+	.size     = 128 * 1024 * 1024,
+
+	.type     = DEVICE_TYPE_DRAM,
+};
+
+static struct fec_platform_data fec_info = {
+	.xcv_type = MII100,
+	.phy_addr = 1,
+};
+
+static struct device_d fec_dev = {
+	.name     = "fec_imx",
+	.id       = "eth0",
+	.map_base = 0x1002b000,
+	.platform_data	= &fec_info,
+	.type     = DEVICE_TYPE_ETHER,
+};
+
+struct imx_nand_platform_data nand_info = {
+	.width = 1,
+	.hw_ecc = 1,
+};
+
+static struct device_d nand_dev = {
+	.name     = "imx_nand",
+	.map_base = 0xd8000000,
+	.platform_data	= &nand_info,
+};
+
+static int eukrea_cpuimx27_devices_init(void)
+{
+	char *envdev = "no";
+	int i;
+
+	unsigned int mode[] = {
+		PD0_AIN_FEC_TXD0,
+		PD1_AIN_FEC_TXD1,
+		PD2_AIN_FEC_TXD2,
+		PD3_AIN_FEC_TXD3,
+		PD4_AOUT_FEC_RX_ER,
+		PD5_AOUT_FEC_RXD1,
+		PD6_AOUT_FEC_RXD2,
+		PD7_AOUT_FEC_RXD3,
+		PD8_AF_FEC_MDIO,
+		PD9_AIN_FEC_MDC | GPIO_PUEN,
+		PD10_AOUT_FEC_CRS,
+		PD11_AOUT_FEC_TX_CLK,
+		PD12_AOUT_FEC_RXD0,
+		PD13_AOUT_FEC_RX_DV,
+		PD14_AOUT_FEC_CLR,
+		PD15_AOUT_FEC_COL,
+		PD16_AIN_FEC_TX_ER,
+		PF23_AIN_FEC_TX_EN,
+		PE12_PF_UART1_TXD,
+		PE13_PF_UART1_RXD,
+		PE14_PF_UART1_CTS,
+		PE15_PF_UART1_RTS,
+	};
+
+	/* configure 16 bit nor flash on cs0 */
+	CS0U = 0x0000CC03;
+	CS0L = 0xa0330D01;
+	CS0A = 0x00220800;
+
+	/* configure 8 bit UART on cs3 */
+	FMCR &= ~0x2;
+	CS3U = 0x0000DCF6;
+	CS3L = 0x444A4541;
+	CS3A = 0x44443302;
+
+	/* initizalize gpios */
+	for (i = 0; i < ARRAY_SIZE(mode); i++)
+		imx_gpio_mode(mode[i]);
+
+	register_device(&cfi_dev);
+	register_device(&nand_dev);
+	register_device(&sdram_dev);
+
+	dev_add_partition(&cfi_dev, 0x00000, 0x40000, PARTITION_FIXED, "self");
+	dev_add_partition(&cfi_dev, 0x40000, 0x20000, PARTITION_FIXED, "env");
+	dev_protect(&cfi_dev, 0x40000, 0, 1);
+	envdev = "NOR";
+
+	printf("Using environment in %s Flash\n", envdev);
+
+	armlinux_set_bootparams((void *)0xa0000100);
+	armlinux_set_architecture(MACH_TYPE_CPUIMX27);
+
+	return 0;
+}
+
+device_initcall(eukrea_cpuimx27_devices_init);
+
+static struct device_d eukrea_cpuimx27_serial_device = {
+	.name     = "imx_serial",
+	.id       = "cs0",
+	.map_base = IMX_UART1_BASE,
+	.size     = 4096,
+	.type     = DEVICE_TYPE_CONSOLE,
+};
+
+static int eukrea_cpuimx27_console_init(void)
+{
+	register_device(&eukrea_cpuimx27_serial_device);
+
+	return 0;
+}
+
+console_initcall(eukrea_cpuimx27_console_init);
+
+static int eukrea_cpuimx27_late_init(void)
+{
+	console_flush();
+	register_device(&fec_dev);
+
+	return 0;
+}
+
+late_initcall(eukrea_cpuimx27_late_init);
+
+#ifdef CONFIG_NAND_IMX_BOOT
+void __bare_init nand_boot(void)
+{
+	int pagesize = 512;
+
+	switch ((GPCR & GPCR_BOOT_MASK) >> GPCR_BOOT_SHIFT) {
+	case GPCR_BOOT_8BIT_NAND_2k:
+	case GPCR_BOOT_16BIT_NAND_2k:
+		pagesize = 2048;
+	}
+
+	imx_nand_load_image((void *)TEXT_BASE, 256 * 1024, pagesize, 16384);
+}
+#endif
+
diff --git a/board/eukrea_cpuimx27/eukrea_cpuimx27.dox b/board/eukrea_cpuimx27/eukrea_cpuimx27.dox
new file mode 100644
index 0000000..ad184ea
--- /dev/null
+++ b/board/eukrea_cpuimx27/eukrea_cpuimx27.dox
@@ -0,0 +1,10 @@
+/** @page eukrea_cpuimx27 Eukrea's CPUIMX27
+
+This CPU card is based on a Freescale i.MX27 CPU. The card is shipped with:
+
+- up to 64MiB NOR type Flash Memory
+- up to 256MiB synchronous dynamic RAM
+- up to 512MiB NAND type Flash Memory
+- MII 10/100 ethernet PHY
+
+*/
diff --git a/board/eukrea_cpuimx27/lowlevel_init.S b/board/eukrea_cpuimx27/lowlevel_init.S
new file mode 100644
index 0000000..8f61721
--- /dev/null
+++ b/board/eukrea_cpuimx27/lowlevel_init.S
@@ -0,0 +1,130 @@
+#include <config.h>
+#include <asm/arch/imx-regs.h>
+
+#define writel(val, reg) \
+	ldr		r0,	=reg;	\
+	ldr		r1,	=val;	\
+	str		r1,   [r0];
+
+
+#define ESDCTL0_VAL (ESDCTL0_SDE | ESDCTL0_ROW13 | ESDCTL0_COL10)
+
+.macro sdram_init
+	/*
+	 * DDR on CSD0
+	 */
+	writel(0x00000008, ESDMISC) /* Enable DDR SDRAM operation */
+
+	writel(0x55555555, DSCR(3)) /* Set the driving strength   */
+	writel(0x55555555, DSCR(5))
+	writel(0x55555555, DSCR(6))
+	writel(0x00005005, DSCR(7))
+	writel(0x15555555, DSCR(8))
+
+	writel(0x00000004, ESDMISC) /* Initial reset */
+	writel(0x0039572A, ESDCFG0)
+	
+	writel(ESDCTL0_VAL | ESDCTL0_SMODE_PRECHARGE, ESDCTL0) /* precharge CSD0 all banks */
+	writel(0x00000000, 0xA0000F00)	/* CSD0 precharge address (A10 = 1) */
+	writel(ESDCTL0_VAL | ESDCTL0_SMODE_AUTO_REFRESH, ESDCTL0)
+
+	ldr	r0, =0xa0000f00
+	mov	r1, #0
+	mov	r2, #8
+1:
+	str	r1, [r0]
+	subs	r2, #1
+	bne	1b
+
+	writel(ESDCTL0_VAL | ESDCTL0_SMODE_LOAD_MODE, ESDCTL0)
+	ldr		r0, =0xA0000033
+	mov		r1, #0xda
+	strb		r1, [r0]
+	ldr		r0, =0xA1000000
+	mov		r1, #0xff
+	strb		r1, [r0]
+	writel(ESDCTL0_VAL | ESDCTL0_DSIZ_31_0 | ESDCTL0_REF4 | ESDCTL0_BL | ESDCTL0_SMODE_NORMAL, ESDCTL0)
+.endm
+
+	.section ".text_bare_init","ax"
+
+.globl board_init_lowlevel
+board_init_lowlevel:
+
+	mov	r10, lr
+
+	/* ahb lite ip interface */
+	writel(0x20040304, AIPI1_PSR0)
+	writel(0xDFFBFCFB, AIPI1_PSR1)
+	writel(0x00000000, AIPI2_PSR0)
+	writel(0xFFFFFFFF, AIPI2_PSR1)
+
+	/* disable mpll/spll */
+	ldr r0, =CSCR
+	ldr r1, [r0]
+	bic r1, r1, #0x03
+	str r1, [r0]
+    
+	/*
+	 * pll clock initialization - see section 3.4.3 of the i.MX27 manual
+	 */
+	writel(0x00331C23, MPCTL0)	/* MPLL = 399 MHz */
+	writel(0x040C2403, SPCTL0)	/* SPLL = 240 MHz */
+	writel(0x33F38107 | CSCR_MPLL_RESTART | CSCR_SPLL_RESTART, CSCR)
+
+	/* add some delay here */
+	mov r1, #0x1000
+1:	subs r1, r1, #0x1
+	bne 1b
+
+	/* clock gating enable */
+	writel(0x00050f08, GPCR)
+
+	/* peripheral clock divider */
+	writel(0x130400c3, PCDR0)	/* FIXME                            */
+	writel(0x09030208, PCDR1)	/* PERDIV1=08 @133 MHz              */
+					/* PERDIV1=04 @266 MHz              */
+
+	/* skip sdram initialization if we run from ram */
+	cmp	pc, #0xa0000000
+	bls	1f
+	cmp	pc, #0xc0000000
+	bhi	1f
+
+	mov	pc,r10
+1:
+	sdram_init
+
+#ifdef CONFIG_NAND_IMX_BOOT
+	ldr	sp, =0xa0f00000		/* Setup a temporary stack in SDRAM */
+
+	ldr	r0, =IMX_NFC_BASE		/* start of NFC SRAM                */
+	ldr	r2, =IMX_NFC_BASE + 0x1000	/* end of NFC SRAM                  */
+
+	/* skip NAND boot if not running from NFC space */
+	cmp	pc, r0
+	bls	ret
+	cmp	pc, r2
+	bhi	ret
+
+	/* Move ourselves out of NFC SRAM */
+	ldr	r1, =TEXT_BASE
+
+copy_loop:
+	ldmia	r0!, {r3-r9}		/* copy from source address [r0]    */
+	stmia	r1!, {r3-r9}		/* copy to   target address [r1]    */
+	cmp	r0, r2			/* until source end addreee [r2]    */
+	ble	copy_loop
+
+	ldr	pc, =1f			/* Jump to SDRAM                    */
+1:
+	bl	nand_boot		/* Load U-Boot from NAND Flash      */
+
+	ldr	r1, =IMX_NFC_BASE - TEXT_BASE
+	sub	r10, r10, r1		/* adjust return address from NFC SRAM */
+					/* to SDRAM                            */
+
+#endif /* CONFIG_NAND_IMX_BOOT */
+
+ret:
+	mov	pc,r10
-- 
1.6.0.4

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-07-15 15:18 [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Eric Benard
@ 2009-07-15 15:18 ` Eric Benard
  2009-07-15 15:18   ` [U-Boot] [PATCH v2 3/3] Add NAND to EUKREA CPUIMX27 defconfig Eric Benard
                     ` (2 more replies)
  2009-07-16  7:48 ` [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Sascha Hauer
  1 sibling, 3 replies; 9+ messages in thread
From: Eric Benard @ 2009-07-15 15:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Eric Benard <eric@eukrea.com>
---
 drivers/nand/nand_imx.c             |   20 +++++++++++++++++---
 include/asm-arm/arch-imx/imx-nand.h |    3 ++-
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/nand/nand_imx.c b/drivers/nand/nand_imx.c
index cbff7ce..ecfb649 100644
--- a/drivers/nand/nand_imx.c
+++ b/drivers/nand/nand_imx.c
@@ -874,7 +874,7 @@ static void imx_nand_command(struct mtd_info *mtd, unsigned command,
 
 		if (host->pagesize_2k) {
 			send_addr(host, (page_addr >> 8) & 0xFF);
-			if (mtd->size >= 0x40000000) {
+			if (mtd->size >= 0x10000000) {
 				send_addr(host, (page_addr >> 16) & 0xff);
 			}
 		} else {
@@ -961,6 +961,15 @@ static void imx_low_erase(struct mtd_info *mtd)
  *
  * @return  The function always returns 0.
  */
+static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
+
+static struct nand_bbt_descr smallpage_memorybased = {
+	.options = NAND_BBT_SCAN2NDPAGE,
+	.offs = 5,
+	.len = 1,
+	.pattern = scan_ff_pattern
+};
+
 static int __init imxnd_probe(struct device_d *dev)
 {
 	struct nand_chip *this;
@@ -969,7 +978,7 @@ static int __init imxnd_probe(struct device_d *dev)
 	struct imx_nand_host *host;
 	u16 tmp;
 	int err = 0;
-#ifdef CONFIG_ARCH_MX27
+#ifdef CONFIG_ARCH_IMX27
 	PCCR1 |= PCCR1_NFC_BAUDEN;
 #endif
 	/* Allocate memory for MTD device structure and private data */
@@ -1050,7 +1059,12 @@ static int __init imxnd_probe(struct device_d *dev)
 		this->ecc.layout = &nand_hw_eccoob_16;
 	}
 
-	host->pagesize_2k = 0;
+	if (pdata->is2k) {
+		host->pagesize_2k = 1;
+		NFMS |= (1 << NFMS_BIT);
+		this->badblock_pattern = &smallpage_memorybased;
+	} else 
+		host->pagesize_2k = 0;
 
 	/* Scan to find existence of the device */
 	if (nand_scan(mtd, 1)) {
diff --git a/include/asm-arm/arch-imx/imx-nand.h b/include/asm-arm/arch-imx/imx-nand.h
index 5ebe0be..500bb1a 100644
--- a/include/asm-arm/arch-imx/imx-nand.h
+++ b/include/asm-arm/arch-imx/imx-nand.h
@@ -8,6 +8,7 @@ void imx_nand_load_image(void *dest, int size, int pagesize, int blocksize);
 struct imx_nand_platform_data {
 	int width;
 	int hw_ecc;
-};
+	int is2k;
+	};
 #endif /* __ASM_ARCH_NAND_H */
 
-- 
1.6.0.4

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

* [U-Boot] [PATCH v2 3/3] Add NAND to EUKREA CPUIMX27 defconfig
  2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
@ 2009-07-15 15:18   ` Eric Benard
  2009-07-16 19:54   ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Scott Wood
  2009-07-31 22:23   ` Scott Wood
  2 siblings, 0 replies; 9+ messages in thread
From: Eric Benard @ 2009-07-15 15:18 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Eric Benard <eric@eukrea.com>
---
 arch/arm/configs/eukrea_cpuimx27_defconfig |   10 ++++++++--
 board/eukrea_cpuimx27/eukrea_cpuimx27.c    |    1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arm/configs/eukrea_cpuimx27_defconfig b/arch/arm/configs/eukrea_cpuimx27_defconfig
index 6402278..465db18 100644
--- a/arch/arm/configs/eukrea_cpuimx27_defconfig
+++ b/arch/arm/configs/eukrea_cpuimx27_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # U-Boot version: 2.0.0-rc9
-# Wed Jul 15 16:05:10 2009
+# Wed Jul 15 16:06:14 2009
 #
 CONFIG_ARCH_TEXT_BASE=0xa0000000
 CONFIG_BOARDINFO="Eukrea CPUIMX27"
@@ -151,6 +151,7 @@ CONFIG_CMD_MTEST=y
 # flash                         
 #
 CONFIG_CMD_FLASH=y
+CONFIG_CMD_NAND=y
 
 #
 # booting                       
@@ -209,7 +210,12 @@ CONFIG_DRIVER_CFI=y
 # CONFIG_DRIVER_CFI_NEW is not set
 CONFIG_DRIVER_CFI_OLD=y
 CONFIG_CFI_BUFFER_WRITE=y
-# CONFIG_NAND is not set
+CONFIG_NAND=y
+CONFIG_NAND_IMX=y
+# CONFIG_NAND_IMX_BOOT is not set
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_IDS=y
 # CONFIG_USB is not set
 
 #
diff --git a/board/eukrea_cpuimx27/eukrea_cpuimx27.c b/board/eukrea_cpuimx27/eukrea_cpuimx27.c
index 49c2f73..c87805f 100644
--- a/board/eukrea_cpuimx27/eukrea_cpuimx27.c
+++ b/board/eukrea_cpuimx27/eukrea_cpuimx27.c
@@ -75,6 +75,7 @@ static struct device_d fec_dev = {
 struct imx_nand_platform_data nand_info = {
 	.width = 1,
 	.hw_ecc = 1,
+	.is2k = 1,
 };
 
 static struct device_d nand_dev = {
-- 
1.6.0.4

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

* [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support
  2009-07-15 15:18 [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Eric Benard
  2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
@ 2009-07-16  7:48 ` Sascha Hauer
  1 sibling, 0 replies; 9+ messages in thread
From: Sascha Hauer @ 2009-07-16  7:48 UTC (permalink / raw)
  To: u-boot

Hi Eric,

On Wed, Jul 15, 2009 at 05:18:39PM +0200, Eric Benard wrote:
> CPUIMX27 is built around Freescale's i.MX27 and has up to 64MB of
> NOR Flash, up to 512MB of NAND Flash and up to 256MB of mDDR,
> it includes an ethernet PHY in MII mode, an I2C RTC and a
> ST16554 QuadUART on nCS3.

Looks good. Applied, thanks.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
  2009-07-15 15:18   ` [U-Boot] [PATCH v2 3/3] Add NAND to EUKREA CPUIMX27 defconfig Eric Benard
@ 2009-07-16 19:54   ` Scott Wood
  2009-07-17  6:06     ` Eric Bénard
  2009-07-31 22:23   ` Scott Wood
  2 siblings, 1 reply; 9+ messages in thread
From: Scott Wood @ 2009-07-16 19:54 UTC (permalink / raw)
  To: u-boot

On Wed, Jul 15, 2009 at 05:18:40PM +0200, Eric Benard wrote:
>  static int __init imxnd_probe(struct device_d *dev)
>  {
>  	struct nand_chip *this;
> @@ -969,7 +978,7 @@ static int __init imxnd_probe(struct device_d *dev)
>  	struct imx_nand_host *host;
>  	u16 tmp;
>  	int err = 0;
> -#ifdef CONFIG_ARCH_MX27
> +#ifdef CONFIG_ARCH_IMX27
>  	PCCR1 |= PCCR1_NFC_BAUDEN;
>  #endif
>  	/* Allocate memory for MTD device structure and private data */
> @@ -1050,7 +1059,12 @@ static int __init imxnd_probe(struct device_d *dev)
>  		this->ecc.layout = &nand_hw_eccoob_16;
>  	}
>  
> -	host->pagesize_2k = 0;
> +	if (pdata->is2k) {
> +		host->pagesize_2k = 1;
> +		NFMS |= (1 << NFMS_BIT);
> +		this->badblock_pattern = &smallpage_memorybased;

Why are you using the small-page badblock pattern with large pages?

> +	} else 
> +		host->pagesize_2k = 0;

If you use braces on one side of if/else, use them on the other.

> diff --git a/include/asm-arm/arch-imx/imx-nand.h b/include/asm-arm/arch-imx/imx-nand.h
> index 5ebe0be..500bb1a 100644
> --- a/include/asm-arm/arch-imx/imx-nand.h
> +++ b/include/asm-arm/arch-imx/imx-nand.h
> @@ -8,6 +8,7 @@ void imx_nand_load_image(void *dest, int size, int pagesize, int blocksize);
>  struct imx_nand_platform_data {
>  	int width;
>  	int hw_ecc;
> -};
> +	int is2k;
> +	};

That last brace should not be indented.

-Scott

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-07-16 19:54   ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Scott Wood
@ 2009-07-17  6:06     ` Eric Bénard
  0 siblings, 0 replies; 9+ messages in thread
From: Eric Bénard @ 2009-07-17  6:06 UTC (permalink / raw)
  To: u-boot

Scott Wood a ?crit :
> On Wed, Jul 15, 2009 at 05:18:40PM +0200, Eric Benard wrote:
>> +	if (pdata->is2k) {
>> +		host->pagesize_2k = 1;
>> +		NFMS |= (1 << NFMS_BIT);
>> +		this->badblock_pattern = &smallpage_memorybased;
> 
> Why are you using the small-page badblock pattern with large pages?
> 
that's what Freescale is doing in its Linux BSP and it doesn't work 
without, at least on my board (8 bits width NAND):

	if (!this->badblock_pattern) {
		if (mtd->writesize == NAND_PAGESIZE_2KB)
			this->badblock_pattern = &smallpage_memorybased;
		else
			this->badblock_pattern = (mtd->writesize > 512) ?
			    &largepage_memorybased : &smallpage_memorybased;
	}

Eric

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
  2009-07-15 15:18   ` [U-Boot] [PATCH v2 3/3] Add NAND to EUKREA CPUIMX27 defconfig Eric Benard
  2009-07-16 19:54   ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Scott Wood
@ 2009-07-31 22:23   ` Scott Wood
  2009-08-01  6:28     ` Eric Bénard
  2 siblings, 1 reply; 9+ messages in thread
From: Scott Wood @ 2009-07-31 22:23 UTC (permalink / raw)
  To: u-boot

On Wed, Jul 15, 2009 at 05:18:40PM +0200, Eric Benard wrote:
> Signed-off-by: Eric Benard <eric@eukrea.com>
> ---
>  drivers/nand/nand_imx.c             |   20 +++++++++++++++++---
>  include/asm-arm/arch-imx/imx-nand.h |    3 ++-
>  2 files changed, 19 insertions(+), 4 deletions(-)

What tree is this against?  There is no "drivers/nand" in current u-boot,
it is in drivers/mtd/nand.  And there is no nand_imx.c.

-Scott

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-07-31 22:23   ` Scott Wood
@ 2009-08-01  6:28     ` Eric Bénard
  2009-08-03 15:38       ` Scott Wood
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Bénard @ 2009-08-01  6:28 UTC (permalink / raw)
  To: u-boot

Scott Wood a ?crit :
> On Wed, Jul 15, 2009 at 05:18:40PM +0200, Eric Benard wrote:
>> Signed-off-by: Eric Benard <eric@eukrea.com>
>> ---
>>  drivers/nand/nand_imx.c             |   20 +++++++++++++++++---
>>  include/asm-arm/arch-imx/imx-nand.h |    3 ++-
>>  2 files changed, 19 insertions(+), 4 deletions(-)
> 
> What tree is this against?  There is no "drivers/nand" in current u-boot,
> it is in drivers/mtd/nand.  And there is no nand_imx.c.
> 
sorry this was for u-boot v2.
Eric

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

* [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27
  2009-08-01  6:28     ` Eric Bénard
@ 2009-08-03 15:38       ` Scott Wood
  0 siblings, 0 replies; 9+ messages in thread
From: Scott Wood @ 2009-08-03 15:38 UTC (permalink / raw)
  To: u-boot

On Sat, Aug 01, 2009 at 08:28:30AM +0200, Eric B?nard wrote:
> Scott Wood a ?crit :
> >On Wed, Jul 15, 2009 at 05:18:40PM +0200, Eric Benard wrote:
> >>Signed-off-by: Eric Benard <eric@eukrea.com>
> >>---
> >> drivers/nand/nand_imx.c             |   20 +++++++++++++++++---
> >> include/asm-arm/arch-imx/imx-nand.h |    3 ++-
> >> 2 files changed, 19 insertions(+), 4 deletions(-)
> >
> >What tree is this against?  There is no "drivers/nand" in current u-boot,
> >it is in drivers/mtd/nand.  And there is no nand_imx.c.
> >
> sorry this was for u-boot v2.

Ah.  I interpreted the v2 as "this is the second version of this patch".

Can we come up with a less ambiguous way to mark u-boot v2 patches?

-Scott

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

end of thread, other threads:[~2009-08-03 15:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-15 15:18 [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Eric Benard
2009-07-15 15:18 ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Eric Benard
2009-07-15 15:18   ` [U-Boot] [PATCH v2 3/3] Add NAND to EUKREA CPUIMX27 defconfig Eric Benard
2009-07-16 19:54   ` [U-Boot] [PATCH v2 2/3] Fix 2k page size NAND for iMX27 Scott Wood
2009-07-17  6:06     ` Eric Bénard
2009-07-31 22:23   ` Scott Wood
2009-08-01  6:28     ` Eric Bénard
2009-08-03 15:38       ` Scott Wood
2009-07-16  7:48 ` [U-Boot] [PATCH v2 1/3] Add Eukrea CPUIMX27 support Sascha Hauer

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