Lines Matching refs:nand

11  * Based on drivers/mtd/nand/nomadik_nand.c (removed in v3.8)
29 #include <linux/mtd/nand-ecc-sw-hamming.h>
124 * @nand: Chip related info for a NAND flash.
146 struct nand_chip nand;
253 return container_of(chip, struct fsmc_nand_data, nand);
275 if (host->nand.options & NAND_BUSWIDTH_16)
347 static int fsmc_setup_interface(struct nand_chip *nand, int csline,
350 struct fsmc_nand_data *host = nand_to_fsmc(nand);
696 * @chip: nand chip info structure
868 struct nand_chip *nand)
874 nand->options = 0;
878 nand->options |= NAND_BUSWIDTH_16;
885 if (of_property_read_bool(np, "nand-skip-bbtscan"))
886 nand->options |= NAND_SKIP_BBTSCAN;
911 static int fsmc_nand_attach_chip(struct nand_chip *nand)
913 struct mtd_info *mtd = nand_to_mtd(nand);
914 struct fsmc_nand_data *host = nand_to_fsmc(nand);
916 if (nand->ecc.engine_type == NAND_ECC_ENGINE_TYPE_INVALID)
917 nand->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST;
919 if (!nand->ecc.size)
920 nand->ecc.size = 512;
923 nand->ecc.read_page = fsmc_read_page_hwecc;
924 nand->ecc.calculate = fsmc_read_hwecc_ecc4;
925 nand->ecc.correct = fsmc_bch8_correct_data;
926 nand->ecc.bytes = 13;
927 nand->ecc.strength = 8;
950 switch (nand->ecc.engine_type) {
953 nand->ecc.calculate = fsmc_read_hwecc_ecc1;
954 nand->ecc.correct = fsmc_correct_ecc1;
955 nand->ecc.hwctl = fsmc_enable_hwecc;
956 nand->ecc.bytes = 3;
957 nand->ecc.strength = 1;
958 nand->ecc.options |= NAND_ECC_SOFT_HAMMING_SM_ORDER;
962 if (nand->ecc.algo == NAND_ECC_ALGO_BCH) {
981 if (nand->ecc.engine_type == NAND_ECC_ENGINE_TYPE_ON_HOST) {
1027 struct nand_chip *nand;
1040 nand = &host->nand;
1042 ret = fsmc_nand_probe_config_dt(pdev, host, nand);
1098 mtd = nand_to_mtd(&host->nand);
1099 nand_set_flash_node(nand, pdev->dev.of_node);
1103 nand->badblockbits = 7;
1124 nand->options |= NAND_KEEP_TIMINGS;
1129 nand->controller = &host->base;
1134 ret = nand_scan(nand, 1);
1138 mtd->name = "nand";
1149 nand_cleanup(nand);
1170 struct nand_chip *chip = &host->nand;
1209 nand_reset(&host->nand, 0);
1219 { .compatible = "st,spear600-fsmc-nand" },
1220 { .compatible = "stericsson,fsmc-nand" },
1228 .name = "fsmc-nand",