sunxi_nand_spl: We only need to reset the nand chip once
There is no need to reset the nand chip for every ecc-block read. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
parent
10d069b797
commit
630cf2e762
|
@ -162,6 +162,16 @@ void nand_init(void)
|
|||
NFC_CTL_RESET, MAX_RETRIES)) {
|
||||
printf("Couldn't initialize nand\n");
|
||||
}
|
||||
|
||||
/* reset NAND */
|
||||
writel(NFC_SEND_CMD1 | NFC_WAIT_FLAG | NAND_CMD_RESET,
|
||||
SUNXI_NFC_BASE + NFC_CMD);
|
||||
|
||||
if (!check_value(SUNXI_NFC_BASE + NFC_ST, NFC_CMD_INT_FLAG,
|
||||
MAX_RETRIES)) {
|
||||
printf("Error timeout waiting for nand reset\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void nand_read_page(unsigned int real_addr, dma_addr_t dst,
|
||||
|
@ -223,16 +233,6 @@ static void nand_read_page(unsigned int real_addr, dma_addr_t dst,
|
|||
return;
|
||||
}
|
||||
|
||||
/* set CMD */
|
||||
writel(NFC_SEND_CMD1 | NFC_WAIT_FLAG | NAND_CMD_RESET,
|
||||
SUNXI_NFC_BASE + NFC_CMD);
|
||||
|
||||
if (!check_value(SUNXI_NFC_BASE + NFC_ST, NFC_CMD_INT_FLAG,
|
||||
MAX_RETRIES)) {
|
||||
printf("Error while initilizing command interrupt\n");
|
||||
return;
|
||||
}
|
||||
|
||||
page = real_addr / CONFIG_NAND_SUNXI_SPL_PAGE_SIZE;
|
||||
column = real_addr % CONFIG_NAND_SUNXI_SPL_PAGE_SIZE;
|
||||
|
||||
|
|
Loading…
Reference in New Issue