[FE training-materials-updates] sysdev-u-boot: mention the need for nandecc hw/sw when flashing bootloaders

thomas.petazzoni at free-electrons.com thomas.petazzoni at free-electrons.com
Fri May 4 16:34:02 CEST 2012


- Log -----------------------------------------------------------------
http://git.free-electrons.com/training-materials/commit/?id=d6d4b19fb78182d73eddb77dbc8fff23c2aa2de6

commit d6d4b19fb78182d73eddb77dbc8fff23c2aa2de6
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Fri May 4 16:33:37 2012 +0200

    sysdev-u-boot: mention the need for nandecc hw/sw when flashing bootloaders
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>

diff --git a/labs/sysdev-u-boot/sysdev-u-boot.tex b/labs/sysdev-u-boot/sysdev-u-boot.tex
index 6ea6776..6d58ae4 100644
--- a/labs/sysdev-u-boot/sysdev-u-boot.tex
+++ b/labs/sysdev-u-boot/sysdev-u-boot.tex
@@ -382,6 +382,13 @@ fatload mmc 0 81000000 MLO
 This loads the file from MMC 0 partition 0 to memory at address 0x81000000
 
 \begin{verbatim}
+nandecc hw
+\end{verbatim}
+
+This tells U-Boot to write data to the NAND using the hardware ECC
+algorithm, which the ROM code of the OMAP uses to load X-Loader.
+
+\begin{verbatim}
 onenand erase 0 80000
 \end{verbatim}
 
@@ -400,7 +407,10 @@ write on it.
 
 X-Loader has been transfered to NAND flash. You can now do the same
 with U-Boot.  The storage offset in the NAND is 0x80000 (just after
-the space reserved for X-Loader) and the length is 0x180000.
+the space reserved for X-Loader) and the length is 0x180000. You will
+have to flash U-Boot to NAND with the software ECC algorithm, which
+X-Loader uses to load U-Boot from NAND. This can be achieved by
+running the \code{nandecc sw} command.
 
 After flashing the U-Boot image, also erase the U-boot environment
 variables defined by the manufacturer or by previous users of your

http://git.free-electrons.com/training-materials/commit/?id=25ce17be825a4ae35ca218a4c9e47c108fca87a9

commit 25ce17be825a4ae35ca218a4c9e47c108fca87a9
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Fri May 4 16:30:26 2012 +0200

    Adapt kernel lab to IGEPv2 revision 6
    
    Note that we *must* use 3.2 at the moment, and not any later version,
    which have non-working UART. This problem has been reported to the
    linux-omap community:
    http://article.gmane.org/gmane.linux.ports.arm.omap/76277.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>

diff --git a/lab-data/sysdev/kernel/linux-3.2-arm-omap3-igep0020-add-support-for-micron-nand-flash.patch b/lab-data/sysdev/kernel/linux-3.2-arm-omap3-igep0020-add-support-for-micron-nand-flash.patch
new file mode 100644
index 0000000..79b5cf0
--- /dev/null
+++ b/lab-data/sysdev/kernel/linux-3.2-arm-omap3-igep0020-add-support-for-micron-nand-flash.patch
@@ -0,0 +1,216 @@
+Return-Path: <linux-arm-kernel-bounces+thomas.petazzoni=free-electrons.com at lists.infradead.org>
+Delivered-To: thomas.petazzoni at free-electrons.com
+Received: by mail.free-electrons.com (Postfix, from userid 106)
+	id 6F005142; Wed,  4 Apr 2012 20:37:27 +0200 (CEST)
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+	mail.free-electrons.com
+X-Spam-Level: 
+X-Spam-Status: No, score=-5.1 required=1.0 tests=AWL,BAYES_00,
+	RCVD_IN_DNSWL_MED,T_RP_MATCHES_RCVD shortcircuit=no autolearn=unavailable
+	version=3.3.1
+Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134])
+	by mail.free-electrons.com (Postfix) with ESMTPS id A1EDC18A
+	for <thomas.petazzoni at free-electrons.com>; Wed,  4 Apr 2012 20:37:13 +0200 (CEST)
+Received: from localhost ([::1] helo=merlin.infradead.org)
+	by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux))
+	id 1SFV5B-0000UI-U3; Wed, 04 Apr 2012 18:37:25 +0000
+Received: from mail-we0-f177.google.com ([74.125.82.177])
+ by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux))
+ id 1SFV52-0000Si-IK
+ for linux-arm-kernel at lists.infradead.org; Wed, 04 Apr 2012 18:37:18 +0000
+Received: by werp11 with SMTP id p11so441106wer.36
+ for <linux-arm-kernel at lists.infradead.org>;
+ Wed, 04 Apr 2012 11:37:14 -0700 (PDT)
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=google.com; s=20120113;
+ h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references
+ :x-gm-message-state;
+ bh=kNl3ujVgjSkb4W2vsUFhTDThyeE3x+aSl4tmS/+FMUQ=;
+ b=aDi5B5BJQwMYcSOFUjaIJete6c7XFKPiL2xgfcNT3fNYk/OamIhOtGiF3TzRJjq4C+
+ 5SvsW/OKnedwDA69PEi7NVAnV6WgNYMZ7eqscvjo87eBNxqTsfHIDb7+RYk6AQQDQ3VR
+ 9EBlD6U80oNmtUCJih+zaBt4cpp15zzBqtA8p71vaqPORL5LLPOwl+ReDKjZqo7WDT6n
+ YW5snNfVw9INMbYAHC19kmfjXGMiUEwAfm9vjB9+GdZ4sEOiSggtxhDaU2a9Gv0GSY7X
+ zKRoVr+naw6RMO9aD7qlB8AfFOoVa1wlEGKropJ5zXqtmd3IZ1FmXu3hEavwv/aSycL9
+ zLww==
+Received: by 10.216.133.234 with SMTP id q84mr2066602wei.102.1333564633636;
+ Wed, 04 Apr 2012 11:37:13 -0700 (PDT)
+Received: from localhost.localdomain ([188.77.211.255])
+ by mx.google.com with ESMTPS id 17sm7060020wis.0.2012.04.04.11.37.11
+ (version=TLSv1/SSLv3 cipher=OTHER);
+ Wed, 04 Apr 2012 11:37:12 -0700 (PDT)
+From: Javier Martinez Canillas <javier at dowhile0.org>
+To: Tony Lindgren <tony at atomide.com>
+Subject: [RESEND PATCH 2/2] OMAP3: igep0020: Add support for Micron NAND Flash
+ storage memory
+Date: Wed,  4 Apr 2012 20:36:26 +0200
+Message-Id: <1333564586-3259-2-git-send-email-javier at dowhile0.org>
+X-Mailer: git-send-email 1.7.7.6
+In-Reply-To: <1333564586-3259-1-git-send-email-javier at dowhile0.org>
+References: <1333564586-3259-1-git-send-email-javier at dowhile0.org>
+X-Gm-Message-State: ALoCoQnpqKmpwAEd8KPARCrKLSGTmk0Ya+L63c+vCYWbyTKJkSltXVzBtHyHKTEY+t7xPt0wZ8XW
+Cc: linaro-kernel at lists.linaro.org, linaro-dev at lists.linaro.org,
+ patches at linaro.org,
+ =?UTF-8?q?Enric=20Balletb=C3=B2=20i=20Serra?= <eballetbo at gmail.com>,
+ Russell King <linux at arm.linux.org.uk>,
+ Javier Martinez Canillas <javier at dowhile0.org>, linux-omap at vger.kernel.org,
+ linux-arm-kernel at lists.infradead.org
+X-BeenThere: linux-arm-kernel at lists.infradead.org
+X-Mailman-Version: 2.1.14
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, 
+ <mailto:linux-arm-kernel-request at lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel at lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request at lists.infradead.org?subject=help>
+List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, 
+ <mailto:linux-arm-kernel-request at lists.infradead.org?subject=subscribe>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+Sender: linux-arm-kernel-bounces at lists.infradead.org
+Errors-To: linux-arm-kernel-bounces+thomas.petazzoni=free-electrons.com at lists.infradead.org
+
+IGEP-based boards can have two different flash memories, a OneNAND or
+a NAND device. The boot configuration pins (sys_boot) are used to
+specify which memory is available.
+
+Also, this patch removes unnecesary code for registering the OneNAND.
+
+Signed-off-by: Javier Martinez Canillas <javier at dowhile0.org>
+---
+ arch/arm/mach-omap2/board-igep0020.c |   75 ++++++++++++++--------------------
+ 1 files changed, 31 insertions(+), 44 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
+index 930c0d3..4af615a 100644
+--- a/arch/arm/mach-omap2/board-igep0020.c
++++ b/arch/arm/mach-omap2/board-igep0020.c
+@@ -24,6 +24,8 @@
+ #include <linux/i2c/twl.h>
+ #include <linux/mmc/host.h>
+ 
++#include <linux/mtd/nand.h>
++
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ 
+@@ -39,6 +41,8 @@
+ #include "hsmmc.h"
+ #include "sdram-numonyx-m65kxxxxam.h"
+ #include "common-board-devices.h"
++#include "board-flash.h"
++#include "control.h"
+ 
+ #define IGEP2_SMSC911X_CS       5
+ #define IGEP2_SMSC911X_GPIO     176
+@@ -60,6 +64,10 @@
+ #define IGEP3_GPIO_LED1_RED	16
+ #define IGEP3_GPIO_USBH_NRESET  183
+ 
++#define IGEP_SYSBOOT_MASK           0x1f
++#define IGEP_SYSBOOT_NAND           0x0f
++#define IGEP_SYSBOOT_ONENAND        0x10
++
+ /*
+  * IGEP2 Hardware Revision Table
+  *
+@@ -110,8 +118,10 @@ static void __init igep2_get_revision(void)
+ 	gpio_free(IGEP2_GPIO_LED1_RED);
+ }
+ 
+-#if defined(CONFIG_MTD_ONENAND_OMAP2) || \
+-	defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
++#if defined(CONFIG_MTD_ONENAND_OMAP2) ||		\
++	defined(CONFIG_MTD_ONENAND_OMAP2_MODULE) ||	\
++	defined(CONFIG_MTD_NAND_OMAP2) ||		\
++	defined(CONFIG_MTD_NAND_OMAP2_MODULE)
+ 
+ #define ONENAND_MAP             0x20000000
+ 
+@@ -123,7 +133,7 @@ static void __init igep2_get_revision(void)
+  * So MTD regards it as 4KiB page size and 256KiB block size 64*(2*2048)
+  */
+ 
+-static struct mtd_partition igep_onenand_partitions[] = {
++static struct mtd_partition igep_flash_partitions[] = {
+ 	{
+ 		.name           = "X-Loader",
+ 		.offset         = 0,
+@@ -151,50 +161,27 @@ static struct mtd_partition igep_onenand_partitions[] = {
+ 	},
+ };
+ 
+-static struct omap_onenand_platform_data igep_onenand_data = {
+-	.parts = igep_onenand_partitions,
+-	.nr_parts = ARRAY_SIZE(igep_onenand_partitions),
+-	.dma_channel	= -1,	/* disable DMA in OMAP OneNAND driver */
+-};
+-
+-static struct platform_device igep_onenand_device = {
+-	.name		= "omap2-onenand",
+-	.id		= -1,
+-	.dev = {
+-		.platform_data = &igep_onenand_data,
+-	},
+-};
++static inline u32 igep_get_sysboot_value(void)
++{
++	return omap_ctrl_readl(OMAP343X_CONTROL_STATUS) & IGEP_SYSBOOT_MASK;
++}
+ 
+ static void __init igep_flash_init(void)
+ {
+-	u8 cs = 0;
+-	u8 onenandcs = GPMC_CS_NUM + 1;
+-
+-	for (cs = 0; cs < GPMC_CS_NUM; cs++) {
+-		u32 ret;
+-		ret = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1);
+-
+-		/* Check if NAND/oneNAND is configured */
+-		if ((ret & 0xC00) == 0x800)
+-			/* NAND found */
+-			pr_err("IGEP: Unsupported NAND found\n");
+-		else {
+-			ret = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG7);
+-			if ((ret & 0x3F) == (ONENAND_MAP >> 24))
+-				/* ONENAND found */
+-				onenandcs = cs;
+-		}
+-	}
+-
+-	if (onenandcs > GPMC_CS_NUM) {
+-		pr_err("IGEP: Unable to find configuration in GPMC\n");
+-		return;
+-	}
+-
+-	igep_onenand_data.cs = onenandcs;
+-
+-	if (platform_device_register(&igep_onenand_device) < 0)
+-		pr_err("IGEP: Unable to register OneNAND device\n");
++	u32 mux;
++	mux = igep_get_sysboot_value();
++
++	if (mux == IGEP_SYSBOOT_NAND) {
++		pr_info("IGEP: initializing NAND memory device\n");
++		board_nand_init(igep_flash_partitions,
++				ARRAY_SIZE(igep_flash_partitions),
++				0, NAND_BUSWIDTH_16);
++	} else if (mux == IGEP_SYSBOOT_ONENAND) {
++		pr_info("IGEP: initializing OneNAND memory device\n");
++		board_onenand_init(igep_flash_partitions,
++				   ARRAY_SIZE(igep_flash_partitions), 0);
++	} else
++		pr_err("IGEP: Flash: unsupported sysboot sequence found\n");
+ }
+ 
+ #else
+-- 
+1.7.7.6
+
+
+_______________________________________________
+linux-arm-kernel mailing list
+linux-arm-kernel at lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/lab-data/sysdev/kernel/omap2-make-board-onenand-init-visible-to-board-code.patch b/lab-data/sysdev/kernel/omap2-make-board-onenand-init-visible-to-board-code.patch
new file mode 100644
index 0000000..ad7fd3f
--- /dev/null
+++ b/lab-data/sysdev/kernel/omap2-make-board-onenand-init-visible-to-board-code.patch
@@ -0,0 +1,130 @@
+Return-Path: <linux-arm-kernel-bounces+thomas.petazzoni=free-electrons.com at lists.infradead.org>
+Delivered-To: thomas.petazzoni at free-electrons.com
+Received: by mail.free-electrons.com (Postfix, from userid 106)
+	id E8A021AE; Wed,  4 Apr 2012 20:37:20 +0200 (CEST)
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+	mail.free-electrons.com
+X-Spam-Level: 
+X-Spam-Status: No, score=-5.6 required=1.0 tests=AWL,BAYES_00,
+	RCVD_IN_DNSWL_MED,T_RP_MATCHES_RCVD shortcircuit=no autolearn=ham
+	version=3.3.1
+Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134])
+	by mail.free-electrons.com (Postfix) with ESMTPS id 675E912A
+	for <thomas.petazzoni at free-electrons.com>; Wed,  4 Apr 2012 20:37:10 +0200 (CEST)
+Received: from localhost ([::1] helo=merlin.infradead.org)
+	by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux))
+	id 1SFV56-0000So-HZ; Wed, 04 Apr 2012 18:37:20 +0000
+Received: from mail-wg0-f49.google.com ([74.125.82.49])
+ by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux))
+ id 1SFV4z-0000SE-Vl
+ for linux-arm-kernel at lists.infradead.org; Wed, 04 Apr 2012 18:37:14 +0000
+Received: by wgbdr1 with SMTP id dr1so360083wgb.18
+ for <linux-arm-kernel at lists.infradead.org>;
+ Wed, 04 Apr 2012 11:37:11 -0700 (PDT)
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=google.com; s=20120113;
+ h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state;
+ bh=mdT8MBLbu5vw3Ql0o0yVv1r64XWPIi+xvTrNokfOiWA=;
+ b=IV+U/1wZPNM0KJBnMjpm8MCBSR9A9ecoEROQocd6NIBvYGLJzFNma80F7DxMxpYzWt
+ xMBzsTddxDv4glHCZ0s+2mauK1n3ckO3fb6BBTet315X0Jj+HHH31/2qSBdDO7V1ZJBW
+ flOKTi75/BJIeeqHQbFOHCfsD6ewRF3gFDUoZLRzFjqPTgjKPbttJICIJOsp8mndR9ju
+ CqheaFFl0p+whKwnD1st7Rs/CIaSM6ZSpK+Ts8AOhKtAHWnPNcQAgubILz0dj27bIzf+
+ KBq4pFDk0vzX5ZeM2cw2gCkUHRtF5Ro50Q6qmH7QmmUeTbJns2oMi8hVucxoLKY3t7x9
+ sduA==
+Received: by 10.180.91.10 with SMTP id ca10mr7711191wib.17.1333564631490;
+ Wed, 04 Apr 2012 11:37:11 -0700 (PDT)
+Received: from localhost.localdomain ([188.77.211.255])
+ by mx.google.com with ESMTPS id 17sm7060020wis.0.2012.04.04.11.37.09
+ (version=TLSv1/SSLv3 cipher=OTHER);
+ Wed, 04 Apr 2012 11:37:10 -0700 (PDT)
+From: Javier Martinez Canillas <javier at dowhile0.org>
+To: Tony Lindgren <tony at atomide.com>
+Subject: [RESEND PATCH 1/2] ARM: OMAP2+: nand: Make board_onenand_init()
+ visible to board code
+Date: Wed,  4 Apr 2012 20:36:25 +0200
+Message-Id: <1333564586-3259-1-git-send-email-javier at dowhile0.org>
+X-Mailer: git-send-email 1.7.7.6
+X-Gm-Message-State: ALoCoQmIk8aNDreTL/tiYHZ34Wduf7Br1GODPnocJLk8FAD3+IJjWdVzHn0i7wAfChtd6IEQ5nbj
+Cc: linaro-kernel at lists.linaro.org, linaro-dev at lists.linaro.org,
+ patches at linaro.org,
+ =?UTF-8?q?Enric=20Balletb=C3=B2=20i=20Serra?= <eballetbo at gmail.com>,
+ Russell King <linux at arm.linux.org.uk>,
+ Javier Martinez Canillas <javier at dowhile0.org>, linux-omap at vger.kernel.org,
+ linux-arm-kernel at lists.infradead.org
+X-BeenThere: linux-arm-kernel at lists.infradead.org
+X-Mailman-Version: 2.1.14
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, 
+ <mailto:linux-arm-kernel-request at lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel at lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request at lists.infradead.org?subject=help>
+List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, 
+ <mailto:linux-arm-kernel-request at lists.infradead.org?subject=subscribe>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+Sender: linux-arm-kernel-bounces at lists.infradead.org
+Errors-To: linux-arm-kernel-bounces+thomas.petazzoni=free-electrons.com at lists.infradead.org
+
+board_onenand_init() and board_nand_init() initialization functions are
+used to initialize OneNAND and NAND memories respectively. But only
+board_nand_init() was visible to be used from board code. This patch makes
+possible to initialize a OneNAND flash memory within platform code.
+
+Signed-off-by: Javier Martinez Canillas <javier at dowhile0.org>
+---
+ arch/arm/mach-omap2/board-flash.c |    4 ++--
+ arch/arm/mach-omap2/board-flash.h |   11 +++++++++++
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c
+index 0349fd2..70a81f9 100644
+--- a/arch/arm/mach-omap2/board-flash.c
++++ b/arch/arm/mach-omap2/board-flash.c
+@@ -87,7 +87,7 @@ static struct omap_onenand_platform_data board_onenand_data = {
+ 	.dma_channel	= -1,   /* disable DMA in OMAP OneNAND driver */
+ };
+ 
+-static void
++void
+ __init board_onenand_init(struct mtd_partition *onenand_parts,
+ 				u8 nr_parts, u8 cs)
+ {
+@@ -98,7 +98,7 @@ __init board_onenand_init(struct mtd_partition *onenand_parts,
+ 	gpmc_onenand_init(&board_onenand_data);
+ }
+ #else
+-static void
++void
+ __init board_onenand_init(struct mtd_partition *nor_parts, u8 nr_parts, u8 cs)
+ {
+ }
+diff --git a/arch/arm/mach-omap2/board-flash.h b/arch/arm/mach-omap2/board-flash.h
+index d25503a..c44b70d 100644
+--- a/arch/arm/mach-omap2/board-flash.h
++++ b/arch/arm/mach-omap2/board-flash.h
+@@ -47,3 +47,14 @@ static inline void board_nand_init(struct mtd_partition *nand_parts,
+ {
+ }
+ #endif
++
++#if defined(CONFIG_MTD_ONENAND_OMAP2) || \
++		defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
++extern void board_onenand_init(struct mtd_partition *nand_parts,
++					u8 nr_parts, u8 cs);
++#else
++static inline void board_onenand_init(struct mtd_partition *nand_parts,
++					u8 nr_parts, u8 cs)
++{
++}
++#endif
+-- 
+1.7.7.6
+
+
+_______________________________________________
+linux-arm-kernel mailing list
+linux-arm-kernel at lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex b/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
index a46bda6..d051c60 100644
--- a/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
+++ b/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
@@ -26,7 +26,14 @@ board.
 \section{Kernel sources}
 
 We will re-use the kernel sources downloaded and patched in the
-previous lab.
+previous lab. However, we will have to apply two additional patches
+that add NAND support for the IGEPv2 revision 6 board that we are
+using in this training:
+
+\begin{verbatim}
+cat ../linux-3.2-arm-omap2-make-board-onenand-init-visible-to-board-code.patch | patch -p1
+cat ../linux-3.2-arm-omap3-igep0020-add-support-for-micron-nand-flash.patch | patch -p1
+\end{verbatim}
 
 \section{Cross-compiling environment setup}
 

-----------------------------------------------------------------------

Summary of changes:
 ...gep0020-add-support-for-micron-nand-flash.patch |  216 ++++++++++++++++++++
 ...-board-onenand-init-visible-to-board-code.patch |  130 ++++++++++++
 .../sysdev-kernel-cross-compiling.tex              |    9 +-
 labs/sysdev-u-boot/sysdev-u-boot.tex               |   12 +-
 4 files changed, 365 insertions(+), 2 deletions(-)
 create mode 100644 lab-data/sysdev/kernel/linux-3.2-arm-omap3-igep0020-add-support-for-micron-nand-flash.patch
 create mode 100644 lab-data/sysdev/kernel/omap2-make-board-onenand-init-visible-to-board-code.patch


More information about the training-materials-updates mailing list