• Home
  • Raw
  • Download

Lines Matching refs:nand

146 	struct nand_chip	nand;  member
253 return container_of(chip, struct fsmc_nand_data, nand); in nand_to_fsmc()
275 if (host->nand.options & NAND_BUSWIDTH_16) in fsmc_nand_setup()
347 static int fsmc_setup_interface(struct nand_chip *nand, int csline, in fsmc_setup_interface() argument
350 struct fsmc_nand_data *host = nand_to_fsmc(nand); in fsmc_setup_interface()
855 struct nand_chip *nand) in fsmc_nand_probe_config_dt() argument
861 nand->options = 0; in fsmc_nand_probe_config_dt()
865 nand->options |= NAND_BUSWIDTH_16; in fsmc_nand_probe_config_dt()
873 nand->options |= NAND_SKIP_BBTSCAN; in fsmc_nand_probe_config_dt()
898 static int fsmc_nand_attach_chip(struct nand_chip *nand) in fsmc_nand_attach_chip() argument
900 struct mtd_info *mtd = nand_to_mtd(nand); in fsmc_nand_attach_chip()
901 struct fsmc_nand_data *host = nand_to_fsmc(nand); in fsmc_nand_attach_chip()
903 if (nand->ecc.engine_type == NAND_ECC_ENGINE_TYPE_INVALID) in fsmc_nand_attach_chip()
904 nand->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in fsmc_nand_attach_chip()
906 if (!nand->ecc.size) in fsmc_nand_attach_chip()
907 nand->ecc.size = 512; in fsmc_nand_attach_chip()
910 nand->ecc.read_page = fsmc_read_page_hwecc; in fsmc_nand_attach_chip()
911 nand->ecc.calculate = fsmc_read_hwecc_ecc4; in fsmc_nand_attach_chip()
912 nand->ecc.correct = fsmc_bch8_correct_data; in fsmc_nand_attach_chip()
913 nand->ecc.bytes = 13; in fsmc_nand_attach_chip()
914 nand->ecc.strength = 8; in fsmc_nand_attach_chip()
937 switch (nand->ecc.engine_type) { in fsmc_nand_attach_chip()
940 nand->ecc.calculate = fsmc_read_hwecc_ecc1; in fsmc_nand_attach_chip()
941 nand->ecc.correct = nand_correct_data; in fsmc_nand_attach_chip()
942 nand->ecc.hwctl = fsmc_enable_hwecc; in fsmc_nand_attach_chip()
943 nand->ecc.bytes = 3; in fsmc_nand_attach_chip()
944 nand->ecc.strength = 1; in fsmc_nand_attach_chip()
945 nand->ecc.options |= NAND_ECC_SOFT_HAMMING_SM_ORDER; in fsmc_nand_attach_chip()
949 if (nand->ecc.algo == NAND_ECC_ALGO_BCH) { in fsmc_nand_attach_chip()
967 if (nand->ecc.engine_type == NAND_ECC_ENGINE_TYPE_ON_HOST) { in fsmc_nand_attach_chip()
1013 struct nand_chip *nand; in fsmc_nand_probe() local
1026 nand = &host->nand; in fsmc_nand_probe()
1028 ret = fsmc_nand_probe_config_dt(pdev, host, nand); in fsmc_nand_probe()
1088 mtd = nand_to_mtd(&host->nand); in fsmc_nand_probe()
1089 nand_set_flash_node(nand, pdev->dev.of_node); in fsmc_nand_probe()
1093 nand->badblockbits = 7; in fsmc_nand_probe()
1114 nand->options |= NAND_KEEP_TIMINGS; in fsmc_nand_probe()
1119 nand->controller = &host->base; in fsmc_nand_probe()
1124 ret = nand_scan(nand, 1); in fsmc_nand_probe()
1139 nand_cleanup(nand); in fsmc_nand_probe()
1161 struct nand_chip *chip = &host->nand; in fsmc_nand_remove()
1198 nand_reset(&host->nand, 0); in fsmc_nand_resume()