diff options
author | Benoît Thébaudeau <benoit.thebaudeau@advansee.com> | 2012-08-13 22:49:15 +0200 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2012-09-17 19:42:46 -0500 |
commit | 0eee20fc1bb16f484771d626e1d7bde7d770a01c (patch) | |
tree | 99b46087d962295834dcd88dc9a4bc4fe306fb03 /nand_spl | |
parent | 5d818a2821c3c7cf350ee4a2c67a11f8e1039af0 (diff) | |
download | u-boot-imx-0eee20fc1bb16f484771d626e1d7bde7d770a01c.zip u-boot-imx-0eee20fc1bb16f484771d626e1d7bde7d770a01c.tar.gz u-boot-imx-0eee20fc1bb16f484771d626e1d7bde7d770a01c.tar.bz2 |
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>
Diffstat (limited to 'nand_spl')
-rw-r--r-- | nand_spl/nand_boot_fsl_nfc.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/nand_spl/nand_boot_fsl_nfc.c b/nand_spl/nand_boot_fsl_nfc.c index b98fe41..059969b 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(); |