Lines Matching defs:nand

90 #define MTK_NAME		"mtk-nand"
127 struct nand_chip nand;
179 static inline struct mtk_nfc_nand_chip *to_mtk_nand(struct nand_chip *nand)
181 return container_of(nand, struct mtk_nfc_nand_chip, nand);
500 static void mtk_nfc_select_target(struct nand_chip *nand, unsigned int cs)
502 struct mtk_nfc *nfc = nand_get_controller_data(nand);
503 struct mtk_nfc_nand_chip *mtk_nand = to_mtk_nand(nand);
505 mtk_nfc_hw_runtime_config(nand_to_mtd(nand));
662 struct mtk_nfc_nand_chip *nand = to_mtk_nand(chip);
663 u32 bad_pos = nand->bad_mark.pos;
666 bad_pos += nand->bad_mark.sec * mtk_data_len(chip);
668 bad_pos += nand->bad_mark.sec * chip->ecc.size;
1091 * CNRNB: nand ready/busy register
1191 struct nand_chip *nand = mtd_to_nand(mtd);
1192 struct mtk_nfc_nand_chip *chip = to_mtk_nand(nand);
1193 struct mtk_nfc *nfc = nand_get_controller_data(nand);
1196 ecc_bytes = DIV_ROUND_UP(nand->ecc.strength *
1210 struct nand_chip *nand = mtd_to_nand(mtd);
1216 bm_ctl->sec = mtd->writesize / mtk_data_len(nand);
1217 bm_ctl->pos = mtd->writesize % mtk_data_len(nand);
1223 struct nand_chip *nand = mtd_to_nand(mtd);
1224 struct mtk_nfc *nfc = nand_get_controller_data(nand);
1228 eccsteps = mtd->writesize / nand->ecc.size;
1231 if (nand->ecc.size == 1024)
1247 if (nand->ecc.size == 1024)
1255 struct nand_chip *nand = mtd_to_nand(mtd);
1257 nanddev_get_ecc_requirements(&nand->base);
1258 struct mtk_nfc *nfc = nand_get_controller_data(nand);
1263 if (nand->ecc.engine_type != NAND_ECC_ENGINE_TYPE_ON_HOST) {
1269 if (!nand->ecc.size || !nand->ecc.strength) {
1271 nand->ecc.strength = requirements->strength;
1272 nand->ecc.size = requirements->step_size;
1278 if (nand->ecc.size < 1024) {
1281 nand->ecc.size = 1024;
1282 nand->ecc.strength <<= 1;
1284 nand->ecc.size = 512;
1287 nand->ecc.size = 1024;
1295 free = (nand->ecc.strength * mtk_ecc_get_parity_bits(nfc->ecc)
1306 nand->ecc.strength = (spare << 3) /
1310 nand->ecc.strength = (spare << 3) /
1315 mtk_ecc_adjust_strength(nfc->ecc, &nand->ecc.strength);
1318 nand->ecc.size, nand->ecc.strength);
1370 struct nand_chip *nand;
1412 nand = &chip->nand;
1413 nand->controller = &nfc->controller;
1415 nand_set_flash_node(nand, np);
1416 nand_set_controller_data(nand, nfc);
1418 nand->options |= NAND_USES_DMA | NAND_SUBPAGE_READ;
1421 nand->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST;
1423 nand->ecc.write_subpage = mtk_nfc_write_subpage_hwecc;
1424 nand->ecc.write_page_raw = mtk_nfc_write_page_raw;
1425 nand->ecc.write_page = mtk_nfc_write_page_hwecc;
1426 nand->ecc.write_oob_raw = mtk_nfc_write_oob_std;
1427 nand->ecc.write_oob = mtk_nfc_write_oob_std;
1429 nand->ecc.read_subpage = mtk_nfc_read_subpage_hwecc;
1430 nand->ecc.read_page_raw = mtk_nfc_read_page_raw;
1431 nand->ecc.read_page = mtk_nfc_read_page_hwecc;
1432 nand->ecc.read_oob_raw = mtk_nfc_read_oob_std;
1433 nand->ecc.read_oob = mtk_nfc_read_oob_std;
1435 mtd = nand_to_mtd(nand);
1443 ret = nand_scan(nand, nsels);
1450 nand_cleanup(nand);
1575 ret = devm_request_irq(dev, irq, mtk_nfc_irq, 0x0, "mtk-nand", nfc);
1591 dev_err(dev, "failed to init nand chips\n");
1616 chip = &mtk_chip->nand;
1643 struct nand_chip *nand;
1655 nand = &chip->nand;
1657 nand_reset(nand, i);