From patchwork Tue Apr 28 23:17:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ash Charles X-Patchwork-Id: 465803 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 2A53214007F for ; Wed, 29 Apr 2015 09:18:50 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=TPCavGSm; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 04D8C4B94C; Wed, 29 Apr 2015 01:18:38 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r66m8dJpvEzr; Wed, 29 Apr 2015 01:18:37 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 867964BA1C; Wed, 29 Apr 2015 01:18:24 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D14954BA61 for ; Wed, 29 Apr 2015 01:18:08 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vj_ztNlXWzvA for ; Wed, 29 Apr 2015 01:18:08 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by theia.denx.de (Postfix) with ESMTPS id 37B014B9F3 for ; Wed, 29 Apr 2015 01:18:01 +0200 (CEST) Received: by pabsx10 with SMTP id sx10so9549948pab.3 for ; Tue, 28 Apr 2015 16:18:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:in-reply-to:references; bh=+C2QQ3ly59sFfapOT/4wdwBi1GNvUR6z4j7CQZkkPNo=; b=TPCavGSmJbL1pky++WLPVt6/FNTR1rUjceCHrECwFuaUYMShqvpp5lTT+aXDTlsAD6 Tk+2tN7MneoVwbndvRjsU5fP/B0/YWDYrKOiL1JatUKrtvSYbWViQIxRtJ24STDMtb81 JUg5bL+KaGnG4DjxNsDQ+yCQATovuaYwHlEAcdmrZDvqEnyXjST6fplSBDlTBxFW/JbO vD/tkkZ5iVyNs1URPAOaQwEgLxJq0Pz7FgqML4Udo1JOk6EI72Ly1JXELjrGgd2dJxp4 SqRimpxdJqarfgckYvTlZ53CDdMiTtCN9OsRbcH+64OHSIG2VfeFOsJehbLNnvORy83K zemA== X-Received: by 10.66.191.226 with SMTP id hb2mr36894097pac.72.1430263080075; Tue, 28 Apr 2015 16:18:00 -0700 (PDT) Received: from gumstux.mystix.com (s206-116-3-180.bc.hsia.telus.net. [206.116.3.180]) by mx.google.com with ESMTPSA id c1sm23477686pdc.45.2015.04.28.16.17.59 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Apr 2015 16:17:59 -0700 (PDT) From: Ash Charles To: u-boot@lists.denx.de Date: Tue, 28 Apr 2015 16:17:53 -0700 Message-Id: <1430263075-27682-5-git-send-email-ashcharles@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1430263075-27682-1-git-send-email-ashcharles@gmail.com> References: <1430263075-27682-1-git-send-email-ashcharles@gmail.com> Subject: [U-Boot] [PATCH 4/6] omap3: overo: Use software BCH8 ECC for NAND X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Overo COMs have NAND flash that requires 4-bit ECC or better except for the first sector which can use 1-bit ECC. The boot ROM expects to load a payload from NAND written using 1-bit hardware-based ECC. In short, write SPL to NAND something like this (4 times for redundancy): #> nandecc hw #> nand write ${loadaddr} 0x0 ${filesize} #> nand write ${loadaddr} 0x20000 ${filesize} #> nand write ${loadaddr} 0x40000 ${filesize} #> nand write ${loadaddr} 0x60000 ${filesize} Then, switch back to software-based BCH8 for everything else: #> nandecc sw bch8 After [1], enlarge the max size of the SPL so the BCH code can fit. [1] https://www.mail-archive.com/u-boot@lists.denx.de/msg163912.html Signed-off-by: Ash Charles --- include/configs/omap3_overo.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h index c58636a..61213df 100644 --- a/include/configs/omap3_overo.h +++ b/include/configs/omap3_overo.h @@ -11,6 +11,12 @@ #define CONFIG_NAND #include +#undef CONFIG_SPL_MAX_SIZE +#define CONFIG_SPL_MAX_SIZE (64*1024) +#undef CONFIG_SPL_TEXT_BASE +#define CONFIG_SPL_TEXT_BASE 0x40200000 + +#define CONFIG_BCH /* Display CPU and Board information */ #define CONFIG_DISPLAY_CPUINFO @@ -212,17 +218,22 @@ /* NAND boot config */ #define CONFIG_SYS_NAND_BUSWIDTH_16BIT 16 +#define CONFIG_SYS_NAND_MAX_ECCPOS 56 #define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_SYS_NAND_PAGE_COUNT 64 #define CONFIG_SYS_NAND_PAGE_SIZE 2048 #define CONFIG_SYS_NAND_OOBSIZE 64 #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS -#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\ - 10, 11, 12, 13} +#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ + 13, 14, 16, 17, 18, 19, 20, 21, 22, \ + 23, 24, 25, 26, 27, 28, 30, 31, 32, \ + 33, 34, 35, 36, 37, 38, 39, 40, 41, \ + 42, 44, 45, 46, 47, 48, 49, 50, 51, \ + 52, 53, 54, 55, 56} #define CONFIG_SYS_NAND_ECCSIZE 512 -#define CONFIG_SYS_NAND_ECCBYTES 3 -#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_HAM1_CODE_HW +#define CONFIG_SYS_NAND_ECCBYTES 13 +#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 /* NAND: SPL falcon mode configs */