Lines Matching +full:reset +full:- +full:delay +full:- +full:us

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2016-2017 Micron Technology, Inc.
17 #include <linux/spi/spi-mem.h>
131 #define SPINAND_PROG_LOAD(reset, addr, buf, len) \ argument
132 SPI_MEM_OP(SPI_MEM_OP_CMD(reset ? 0x02 : 0x84, 1), \
137 #define SPINAND_PROG_LOAD_X4(reset, addr, buf, len) \ argument
138 SPI_MEM_OP(SPI_MEM_OP_CMD(reset ? 0x32 : 0x34, 1), \
176 * tPROG 300us to 400us
177 * tREAD 25us to 100us
179 * initial delay, and dividing by 20 for the poll delay.
180 * For reset, 5us/10us/500us if the device is respectively
181 * reading/programming/erasing when the RESET occurs. Since we always
182 * issue a RESET when the device is IDLE, 5us is selected for both initial
183 * and poll delay.
197 * struct spinand_id - SPI NAND id structure
214 * struct spinand_devid - SPI NAND device id structure
222 * read_id opcode + 1-byte address.
233 * struct manufacurer_ops - SPI NAND manufacturer specific operations
246 * struct spinand_manufacturer - SPI NAND manufacturer instance
271 * struct spinand_op_variants - SPI NAND operation variants
275 * Some operations like read-from-cache/write-to-cache have several variants
294 * spinand_ecc_info - description of the on-die ECC implemented by a SPI NAND
298 * -EBADMSG if there are uncorrectable errors. I can also return
301 * @ooblayout: the OOB layout used by the on-die ECC implementation
312 * struct spinand_ondie_ecc_conf - private SPI-NAND on-die ECC engine structure
314 * ->get_status() is not populated by the spinand device.
321 * struct spinand_info - Structure used to describe SPI NAND chips
324 * @flags: OR-ing of the SPINAND_XXX flags
327 * @eccinfo: on-die ECC info
329 * @op_variants.read_cache: variants of the read-cache operation
330 * @op_variants.write_cache: variants of the write-cache operation
331 * @op_variants.update_cache: variants of the update-cache operation
333 * multi-die chips
395 * struct spinand_device - SPI NAND device instance
409 * @eccinfo: on-die ECC information
414 * because the spi-mem interface explicitly requests that buffers
415 * passed in spi_mem_op be DMA-able, so we can't based the bufs on
450 * mtd_to_spinand() - Get the SPI NAND device attached to an MTD instance
461 * spinand_to_mtd() - Get the MTD device embedded in a SPI NAND device
468 return nanddev_to_mtd(&spinand->base); in spinand_to_mtd()
472 * nand_to_spinand() - Get the SPI NAND device embedding an NAND object
483 * spinand_to_nand() - Get the NAND device embedded in a SPI NAND object
491 return &spinand->base; in spinand_to_nand()
495 * spinand_set_of_node - Attach a DT node to a SPI NAND device
504 nanddev_set_of_node(&spinand->base, np); in spinand_set_of_node()