summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-11-10 11:28:23 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2010-11-12 08:08:01 +0100
commit22180f96b1e301f2ed9eb2b8756a972816a06ffa (patch)
tree9064bbae4a4542c8eb179fd82b8caec30c50c85b /drivers
parenta0fc5252a79186fb179dd0c2765f8eb4d717de61 (diff)
downloadbarebox-22180f96b1e301f2ed9eb2b8756a972816a06ffa.tar.gz
barebox-22180f96b1e301f2ed9eb2b8756a972816a06ffa.tar.xz
imx nand: do not read-modify-write SPAS register
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nand/nand_imx.c31
1 files changed, 8 insertions, 23 deletions
diff --git a/drivers/mtd/nand/nand_imx.c b/drivers/mtd/nand/nand_imx.c
index 22251e42a6..62a23d5aa3 100644
--- a/drivers/mtd/nand/nand_imx.c
+++ b/drivers/mtd/nand/nand_imx.c
@@ -975,19 +975,11 @@ static int __init imxnd_probe(struct device_d *dev)
if (mtd->writesize == 2048) {
this->ecc.layout = oob_largepage;
host->pagesize_2k = 1;
- if (nfc_is_v21()) {
- tmp = readw(host->regs + NFC_SPAS);
- tmp &= 0xff00;
- tmp |= NFC_SPAS_64;
- writew(tmp, host->regs + NFC_SPAS);
- }
+ if (nfc_is_v21())
+ writew(NFC_SPAS_64, host->regs + NFC_SPAS);
} else {
- if (nfc_is_v21()) {
- tmp = readw(host->regs + NFC_SPAS);
- tmp &= 0xff00;
- tmp |= NFC_SPAS_16;
- writew(tmp, host->regs + NFC_SPAS);
- }
+ if (nfc_is_v21())
+ writew(NFC_SPAS_16, host->regs + NFC_SPAS);
}
/* second phase scan */
@@ -1186,17 +1178,10 @@ void __nand_boot_init imx_nand_load_image(void *dest, int size)
writew(tmp, regs + NFC_CONFIG1);
if (nfc_is_v21()) {
- if (pagesize_2k) {
- tmp = readw(regs + NFC_SPAS);
- tmp &= 0xff00;
- tmp |= NFC_SPAS_64;
- writew(tmp, regs + NFC_SPAS);
- } else {
- tmp = readw(regs + NFC_SPAS);
- tmp &= 0xff00;
- tmp |= NFC_SPAS_16;
- writew(tmp, regs + NFC_SPAS);
- }
+ if (pagesize_2k)
+ writew(NFC_SPAS_64, regs + NFC_SPAS);
+ else
+ writew(NFC_SPAS_16, regs + NFC_SPAS);
}
block = page = 0;