Lines Matching refs:nand_chip
118 struct nand_chip nand_chip; member
185 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_cmd_ctrl() local
186 struct atmel_nand_host *host = nand_chip->priv; in atmel_nand_cmd_ctrl()
208 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_device_ready() local
209 struct atmel_nand_host *host = nand_chip->priv; in atmel_nand_device_ready()
218 struct nand_chip *chip = mtd->priv; in atmel_nand_set_enable_ready_pins()
270 struct nand_chip *nand_chip = mtd->priv; in atmel_read_buf8() local
271 struct atmel_nand_host *host = nand_chip->priv; in atmel_read_buf8()
277 __raw_readsb(nand_chip->IO_ADDR_R, buf, len); in atmel_read_buf8()
283 struct nand_chip *nand_chip = mtd->priv; in atmel_read_buf16() local
284 struct atmel_nand_host *host = nand_chip->priv; in atmel_read_buf16()
290 __raw_readsw(nand_chip->IO_ADDR_R, buf, len / 2); in atmel_read_buf16()
296 struct nand_chip *nand_chip = mtd->priv; in atmel_write_buf8() local
298 __raw_writesb(nand_chip->IO_ADDR_W, buf, len); in atmel_write_buf8()
303 struct nand_chip *nand_chip = mtd->priv; in atmel_write_buf16() local
305 __raw_writesw(nand_chip->IO_ADDR_W, buf, len / 2); in atmel_write_buf16()
355 struct nand_chip *chip = mtd->priv; in atmel_nand_dma_op()
428 struct nand_chip *chip = mtd->priv; in atmel_read_buf()
444 struct nand_chip *chip = mtd->priv; in atmel_write_buf()
536 struct nand_chip *nand_chip = mtd->priv; in pmecc_gen_syndrome() local
537 struct atmel_nand_host *host = nand_chip->priv; in pmecc_gen_syndrome()
553 struct nand_chip *nand_chip = mtd->priv; in pmecc_substitute() local
554 struct atmel_nand_host *host = nand_chip->priv; in pmecc_substitute()
595 struct nand_chip *nand_chip = mtd->priv; in pmecc_get_sigma() local
596 struct atmel_nand_host *host = nand_chip->priv; in pmecc_get_sigma()
753 struct nand_chip *nand_chip = mtd->priv; in pmecc_err_location() local
754 struct atmel_nand_host *host = nand_chip->priv; in pmecc_err_location()
805 struct nand_chip *nand_chip = mtd->priv; in pmecc_correct_data() local
806 struct atmel_nand_host *host = nand_chip->priv; in pmecc_correct_data()
831 tmp = sector_num * nand_chip->ecc.bytes in pmecc_correct_data()
836 pos = tmp + nand_chip->ecc.layout->eccpos[0]; in pmecc_correct_data()
851 struct nand_chip *nand_chip = mtd->priv; in pmecc_correction() local
852 struct atmel_nand_host *host = nand_chip->priv; in pmecc_correction()
861 for (i = 0; i < nand_chip->ecc.total; i++) in pmecc_correction()
868 for (i = 0; i < nand_chip->ecc.steps; i++) { in pmecc_correction()
884 nand_chip->ecc.bytes, err_nbr); in pmecc_correction()
920 struct nand_chip *chip, uint8_t *buf, int oob_required, int page) in atmel_nand_pmecc_read_page()
957 struct nand_chip *chip, const uint8_t *buf, int oob_required, in atmel_nand_pmecc_write_page()
995 struct nand_chip *nand_chip = mtd->priv; in atmel_pmecc_core_init() local
996 struct atmel_nand_host *host = nand_chip->priv; in atmel_pmecc_core_init()
1026 switch (nand_chip->ecc.steps) { in atmel_pmecc_core_init()
1045 ecc_layout = nand_chip->ecc.layout; in atmel_pmecc_core_init()
1067 if (host->nand_chip.ecc_strength_ds) { in pmecc_choose_ecc()
1068 *cap = host->nand_chip.ecc_strength_ds; in pmecc_choose_ecc()
1069 *sector_size = host->nand_chip.ecc_step_ds; in pmecc_choose_ecc()
1163 struct nand_chip *nand_chip = &host->nand_chip; in atmel_pmecc_nand_init_params() local
1191 nand_chip->ecc.mode = NAND_ECC_SOFT; in atmel_pmecc_nand_init_params()
1231 nand_chip->ecc.size = sector_size; in atmel_pmecc_nand_init_params()
1253 nand_chip->ecc.strength = cap; in atmel_pmecc_nand_init_params()
1254 nand_chip->ecc.bytes = pmecc_get_ecc_bytes(cap, sector_size); in atmel_pmecc_nand_init_params()
1255 nand_chip->ecc.steps = mtd->writesize / sector_size; in atmel_pmecc_nand_init_params()
1256 nand_chip->ecc.total = nand_chip->ecc.bytes * in atmel_pmecc_nand_init_params()
1257 nand_chip->ecc.steps; in atmel_pmecc_nand_init_params()
1258 if (nand_chip->ecc.total > in atmel_pmecc_nand_init_params()
1266 nand_chip->ecc.total); in atmel_pmecc_nand_init_params()
1268 nand_chip->ecc.layout = &atmel_pmecc_oobinfo; in atmel_pmecc_nand_init_params()
1275 nand_chip->ecc.mode = NAND_ECC_SOFT; in atmel_pmecc_nand_init_params()
1287 nand_chip->options |= NAND_NO_SUBPAGE_WRITE; in atmel_pmecc_nand_init_params()
1288 nand_chip->ecc.read_page = atmel_nand_pmecc_read_page; in atmel_pmecc_nand_init_params()
1289 nand_chip->ecc.write_page = atmel_nand_pmecc_write_page; in atmel_pmecc_nand_init_params()
1311 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_calculate() local
1312 struct atmel_nand_host *host = nand_chip->priv; in atmel_nand_calculate()
1338 static int atmel_nand_read_page(struct mtd_info *mtd, struct nand_chip *chip, in atmel_nand_read_page()
1415 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_correct() local
1416 struct atmel_nand_host *host = nand_chip->priv; in atmel_nand_correct()
1465 if (nand_chip->options & NAND_BUSWIDTH_16) { in atmel_nand_correct()
1481 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_hwctl() local
1482 struct atmel_nand_host *host = nand_chip->priv; in atmel_nand_hwctl()
1590 struct nand_chip *nand_chip = &host->nand_chip; in atmel_hw_nand_init_params() local
1597 nand_chip->ecc.mode = NAND_ECC_SOFT; in atmel_hw_nand_init_params()
1606 nand_chip->ecc.size = mtd->writesize; in atmel_hw_nand_init_params()
1611 nand_chip->ecc.layout = &atmel_oobinfo_small; in atmel_hw_nand_init_params()
1615 nand_chip->ecc.layout = &atmel_oobinfo_large; in atmel_hw_nand_init_params()
1619 nand_chip->ecc.layout = &atmel_oobinfo_large; in atmel_hw_nand_init_params()
1623 nand_chip->ecc.layout = &atmel_oobinfo_large; in atmel_hw_nand_init_params()
1629 nand_chip->ecc.mode = NAND_ECC_SOFT; in atmel_hw_nand_init_params()
1634 nand_chip->ecc.calculate = atmel_nand_calculate; in atmel_hw_nand_init_params()
1635 nand_chip->ecc.correct = atmel_nand_correct; in atmel_hw_nand_init_params()
1636 nand_chip->ecc.hwctl = atmel_nand_hwctl; in atmel_hw_nand_init_params()
1637 nand_chip->ecc.read_page = atmel_nand_read_page; in atmel_hw_nand_init_params()
1638 nand_chip->ecc.bytes = 4; in atmel_hw_nand_init_params()
1639 nand_chip->ecc.strength = 1; in atmel_hw_nand_init_params()
1774 struct nand_chip *nand_chip = mtd->priv; in nfc_device_ready() local
1775 struct atmel_nand_host *host = nand_chip->priv; in nfc_device_ready()
1790 struct nand_chip *nand_chip = mtd->priv; in nfc_select_chip() local
1791 struct atmel_nand_host *host = nand_chip->priv; in nfc_select_chip()
1802 struct nand_chip *chip = mtd->priv; in nfc_make_addr()
1842 struct nand_chip *chip = mtd->priv; in nfc_nand_command()
1963 static int nfc_sram_write_page(struct mtd_info *mtd, struct nand_chip *chip, in nfc_sram_write_page()
2029 struct nand_chip *chip = mtd->priv; in nfc_sram_init()
2094 struct nand_chip *nand_chip; in atmel_nand_probe() local
2117 nand_chip = &host->nand_chip; in atmel_nand_probe()
2129 nand_chip->priv = host; /* link the private data structures */ in atmel_nand_probe()
2130 mtd->priv = nand_chip; in atmel_nand_probe()
2134 nand_chip->IO_ADDR_R = host->io_base; in atmel_nand_probe()
2135 nand_chip->IO_ADDR_W = host->io_base; in atmel_nand_probe()
2141 nand_chip->select_chip = nfc_select_chip; in atmel_nand_probe()
2142 nand_chip->dev_ready = nfc_device_ready; in atmel_nand_probe()
2143 nand_chip->cmdfunc = nfc_nand_command; in atmel_nand_probe()
2165 nand_chip->cmd_ctrl = atmel_nand_cmd_ctrl; in atmel_nand_probe()
2168 nand_chip->ecc.mode = host->board.ecc_mode; in atmel_nand_probe()
2169 nand_chip->chip_delay = 40; /* 40us command delay time */ in atmel_nand_probe()
2172 nand_chip->options |= NAND_BUSWIDTH_16; in atmel_nand_probe()
2174 nand_chip->read_buf = atmel_read_buf; in atmel_nand_probe()
2175 nand_chip->write_buf = atmel_write_buf; in atmel_nand_probe()
2207 nand_chip->bbt_options |= NAND_BBT_USE_FLASH; in atmel_nand_probe()
2236 if (nand_chip->ecc.mode == NAND_ECC_HW) { in atmel_nand_probe()
2269 if (host->has_pmecc && host->nand_chip.ecc.mode == NAND_ECC_HW) in atmel_nand_probe()
2293 if (host->has_pmecc && host->nand_chip.ecc.mode == NAND_ECC_HW) { in atmel_nand_remove()