diff options
author | Hans de Goede <hdegoede@redhat.com> | 2015-08-15 10:43:26 (GMT) |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2015-08-31 06:43:41 (GMT) |
commit | 9da5fca55cbf9465052256346f6e61968acedf2f (patch) | |
tree | cdd23c8f7902fc27f0efcf85416e0975ead07547 /drivers | |
parent | 630cf2e7628502b410622fcfa72bd553a94dfa93 (diff) | |
download | u-boot-9da5fca55cbf9465052256346f6e61968acedf2f.tar.xz |
sunxi_nand_spl: Do not bother writing the spare-area reg in syndrome mode
In syndrome mode we set the NFC_SEQ bit in the command register, so the
spare-area register is not used. Also the value currently being written is
actual wrong, the ecc sits at "column + CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE"
not just CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE.
So the current code only serves to confuse the user -> remove it.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/nand/sunxi_nand_spl.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/mtd/nand/sunxi_nand_spl.c b/drivers/mtd/nand/sunxi_nand_spl.c index 56c0be0..f6f4928 100644 --- a/drivers/mtd/nand/sunxi_nand_spl.c +++ b/drivers/mtd/nand/sunxi_nand_spl.c @@ -256,10 +256,7 @@ static void nand_read_page(unsigned int real_addr, dma_addr_t dst, val = readl(SUNXI_NFC_BASE + NFC_CTL); writel(val | NFC_CTL_RAM_METHOD, SUNXI_NFC_BASE + NFC_CTL); - if (syndrome) { - writel(CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE, - SUNXI_NFC_BASE + NFC_SPARE_AREA); - } else { + if (!syndrome) { oob_offset = CONFIG_NAND_SUNXI_SPL_PAGE_SIZE + (column / CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE) * ecc_off; |