Lines Matching defs:nand
493 static void stm32_fmc2_hwctl(struct nand_device *nand)
497 if (nand->ecc.max_bit_corr != FMC2_ECC_HAM) {
505 static int stm32_fmc2_read_page(struct nand_device *nand,
508 unsigned int eccsize = nand->ecc.size;
509 unsigned int eccbytes = nand->ecc.bytes;
510 unsigned int eccsteps = nand->page_size / eccsize;
525 for (s = 0U, i = nand->page_size + FMC2_BBM_LEN, p = (uint8_t *)buffer;
528 stm32_fmc2_hwctl(nand);
537 if (nand->ecc.max_bit_corr == FMC2_ECC_HAM) {
552 if (nand->ecc.max_bit_corr == FMC2_ECC_HAM) {
566 static void stm32_fmc2_read_data(struct nand_device *nand,
572 if (use_bus8 && (nand->buswidth == NAND_BUS_WIDTH_16)) {
607 if (use_bus8 && (nand->buswidth == NAND_BUS_WIDTH_16)) {
613 static void stm32_fmc2_write_data(struct nand_device *nand,
619 if (use_bus8 && (nand->buswidth == NAND_BUS_WIDTH_16)) {
655 if (use_bus8 && (nand->buswidth == NAND_BUS_WIDTH_16)) {
717 stm32_fmc2_read_data(req->nand, req->addr, req->length,
723 stm32_fmc2_write_data(req->nand, req->addr, req->length,
739 static void stm32_fmc2_setup(struct nand_device *nand)
745 if (nand->buswidth == NAND_BUS_WIDTH_16) {
749 if (nand->ecc.mode == NAND_ECC_HW) {
750 nand->mtd_read_page = stm32_fmc2_read_page;
758 switch (nand->ecc.max_bit_corr) {
760 nand->ecc.bytes = 3;
765 nand->ecc.bytes = 13;
770 nand->ecc.bytes = 7;
774 if ((nand->buswidth & NAND_BUS_WIDTH_16) != 0) {
775 nand->ecc.bytes++;