[U-Boot] [PATCH v3 2/4] sunxi: nand: Add basic sunxi NAND driver for SPL with DMA support
Scott Wood
scottwood at freescale.com
Fri Jul 31 02:47:58 CEST 2015
On Thu, 2015-07-23 at 14:33 +0200, Piotr Zierhoffer wrote:
> +int nand_spl_load_image(uint32_t offs, unsigned int size, void *dest)
> +{
> + void *current_dest;
> + uint32_t count;
> + uint32_t current_count;
> + uint32_t ecc_errors = 0;
> +
> + memset(dest, 0x0, size); /* clean destination memory */
> + for (current_dest = dest;
> + current_dest < (dest + size);
> + current_dest += CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE) {
> + nand_read_page(offs, offs
> + < CONFIG_NAND_SUNXI_SPL_SYNDROME_PARTITIONS_END,
> + &ecc_errors);
> + count = current_dest - dest;
> +
> + if (size - count > CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE)
> + current_count = CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE;
> + else
> + current_count = size - count;
> +
> + memcpy(current_dest,
> + temp_buf,
> + current_count);
> + offs += CONFIG_NAND_SUNXI_SPL_ECC_PAGE_SIZE;
> + }
> + return ecc_errors ? -1 : 0;
> +}
No bad block marker handling?
-Scott
More information about the U-Boot
mailing list