Hi Hui-Ping, > >> + > >> +static int ma35_nand_write_page_hwecc(struct nand_chip *chip, const u8 *buf, > >> + int oob_required, int page) > >> +{ > > The hardware ECC engine should always be disabled by default. > > > > Then, in these helpers you should: > > * enable the ECC engine > > * do your things > > * disable the ECC engine > > The ECC engine of the MA35 NAND controller cannot be turned on or off separately. > > The ECC engine is activated with the DMA, > > and it calculates and writes to the OOB during the transfer. What about: ECC Algorithm Enable Bit [23] ECCEN This field is used to select the ECC algorithm for data protecting. The BCH algorithm can correct 8 or 12 or 24 bits. 0 = BCH code encode/decode Disabled. 1 = BCH code encode/decode Enabled. ? Thanks, Miquèl