From: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Date: Mon, 13 Aug 2012 20:49:15 +0000 (+0200)
Subject: spl mxc nand: Remove duplicated code
X-Git-Tag: v2025.01-rc5-pxa1908~17296^2~8
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=0eee20fc1bb16f484771d626e1d7bde7d770a01c;p=u-boot.git

spl mxc nand: Remove duplicated code

The ECC_EN and INT_MSK bits of CONFIG1 are not volatile, so it is sufficient to
set them once in nfc_nand_init().

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Scott Wood <scottwood@freescale.com>
---

diff --git a/nand_spl/nand_boot_fsl_nfc.c b/nand_spl/nand_boot_fsl_nfc.c
index b98fe41620..059969ba9a 100644
--- a/nand_spl/nand_boot_fsl_nfc.c
+++ b/nand_spl/nand_boot_fsl_nfc.c
@@ -57,7 +57,7 @@ static void nfc_nand_init(void)
 	writew(0x2, &nfc->config);
 
 	/* hardware ECC checking and correct */
-	config1 = readw(&nfc->config1) | NFC_ECC_EN | NFC_FP_INT;
+	config1 = readw(&nfc->config1) | NFC_ECC_EN | NFC_INT_MSK | NFC_FP_INT;
 	/*
 	 * if spare size is larger that 16 bytes per 512 byte hunk
 	 * then use 8 symbol correction instead of 4
@@ -72,7 +72,7 @@ static void nfc_nand_init(void)
 	writew(0x2, &nfc->config);
 
 	/* hardware ECC checking and correct */
-	writew(NFC_ECC_EN, &nfc->config1);
+	writew(NFC_ECC_EN | NFC_INT_MSK, &nfc->config1);
 #endif
 }
 
@@ -116,13 +116,10 @@ static void nfc_nand_page_address(unsigned int page_address)
 
 static void nfc_nand_data_output(void)
 {
-	int config1 = readw(&nfc->config1);
 #ifdef NAND_MXC_2K_MULTI_CYCLE
 	int i;
 #endif
 
-	config1 |= NFC_ECC_EN | NFC_INT_MSK;
-	writew(config1, &nfc->config1);
 	writew(0, &nfc->buf_addr);
 	writew(NFC_OUTPUT, &nfc->config2);
 	nfc_wait_ready();
@@ -132,9 +129,6 @@ static void nfc_nand_data_output(void)
 	 * for pages larger than 512 bytes.
 	 */
 	for (i = 1; i < CONFIG_SYS_NAND_PAGE_SIZE / 512; i++) {
-		config1 = readw(&nfc->config1);
-		config1 |= NFC_ECC_EN | NFC_INT_MSK;
-		writew(config1, &nfc->config1);
 		writew(i, &nfc->buf_addr);
 		writew(NFC_OUTPUT, &nfc->config2);
 		nfc_wait_ready();