Lines Matching +full:manufacturer +full:- +full:id

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2016-2017 Micron Technology, Inc.
17 #include <linux/spi/spi-mem.h>
245 * struct spinand_id - SPI NAND id structure
246 * @data: buffer containing the id bytes. Currently 4 bytes large, but can
248 * @len: ID length
262 * struct spinand_devid - SPI NAND device id structure
263 * @id: device id of current chip
264 * @len: number of bytes in device id
265 * @method: method to read chip id
267 * SPINAND_READID_METHOD_OPCODE: chip id is returned immediately
269 * SPINAND_READID_METHOD_OPCODE_ADDR: chip id is returned after
270 * read_id opcode + 1-byte address.
271 * SPINAND_READID_METHOD_OPCODE_DUMMY: chip id is returned after
275 const u8 *id; member
281 * struct manufacurer_ops - SPI NAND manufacturer specific operations
285 * Each SPI NAND manufacturer driver should implement this interface so that
294 * struct spinand_manufacturer - SPI NAND manufacturer instance
295 * @id: manufacturer ID
296 * @name: manufacturer name
297 * @devid_len: number of bytes in device ID
298 * @chips: supported SPI NANDs under current manufacturer
300 * @ops: manufacturer operations
303 u8 id; member
325 * struct spinand_op_variants - SPI NAND operation variants
329 * Some operations like read-from-cache/write-to-cache have several variants
348 * spinand_ecc_info - description of the on-die ECC implemented by a SPI NAND
352 * -EBADMSG if there are uncorrectable errors. I can also return
355 * @ooblayout: the OOB layout used by the on-die ECC implementation
369 * struct spinand_ondie_ecc_conf - private SPI-NAND on-die ECC engine structure
371 * ->get_status() is not populated by the spinand device.
378 * struct spinand_info - Structure used to describe SPI NAND chips
380 * @devid: device ID
381 * @flags: OR-ing of the SPINAND_XXX flags
384 * @eccinfo: on-die ECC info
386 * @op_variants.read_cache: variants of the read-cache operation
387 * @op_variants.write_cache: variants of the write-cache operation
388 * @op_variants.update_cache: variants of the update-cache operation
390 * multi-die chips
393 * Each SPI NAND manufacturer driver should have a spinand_info table
416 .id = (const u8[]){ __VA_ARGS__ }, \
460 * struct spinand_device - SPI NAND device instance
464 * @id: NAND ID as returned by READ_ID
474 * @eccinfo: on-die ECC information
479 * because the spi-mem interface explicitly requests that buffers
480 * passed in spi_mem_op be DMA-able, so we can't based the bufs on
482 * @manufacturer: SPI NAND manufacturer information
486 * A per-transfer check must of course be done to ensure it is
489 * @priv: manufacturer private data
495 struct spinand_id id; member
516 const struct spinand_manufacturer *manufacturer; member
525 * mtd_to_spinand() - Get the SPI NAND device attached to an MTD instance
536 * spinand_to_mtd() - Get the MTD device embedded in a SPI NAND device
543 return nanddev_to_mtd(&spinand->base); in spinand_to_mtd()
547 * nand_to_spinand() - Get the SPI NAND device embedding an NAND object
558 * spinand_to_nand() - Get the NAND device embedded in a SPI NAND object
566 return &spinand->base; in spinand_to_nand()
570 * spinand_set_of_node - Attach a DT node to a SPI NAND device
579 nanddev_set_of_node(&spinand->base, np); in spinand_set_of_node()