Lines Matching +full:flash +full:- +full:mode

1 /* SPDX-License-Identifier: GPL-2.0 */
21 /* Standard SPI NOR flash operations. */
202 * struct spi_nor_erase_type - Structure to describe a SPI NOR erase type
209 * @idx: Erase Type index as sorted in the Basic Flash Parameter
223 * struct spi_nor_erase_command - Used for non-uniform erases
226 * are run-length encoded.
241 * struct spi_nor_erase_region - Structure to describe a SPI NOR erase region
260 * struct spi_nor_erase_map - Structure to describe the SPI NOR erase map
264 * @uniform_region: a pre-allocated erase region for SPI NOR with a uniform
280 * struct spi_nor_locking_ops - SPI NOR locking methods
292 * struct spi_nor_otp_organization - Structure to describe the SPI NOR OTP regions
307 * struct spi_nor_otp_ops - SPI NOR OTP methods
324 * struct spi_nor_otp - SPI NOR OTP grouping structure
334 * struct spi_nor_flash_parameter - SPI NOR flash parameters and settings.
335 * Includes legacy flash parameters and settings that can be overwritten
337 * Serial Flash Discoverable Parameters (SFDP) tables.
339 * @bank_size: the flash memory bank density in bytes.
340 * @size: the total flash memory density in bytes.
341 * @writesize Minimal writable flash unit size. Defaults to 1. Set to
342 * ECC unit size for ECC-ed flashes.
343 * @page_size: the page size of the SPI NOR flash memory.
345 * @addr_mode_nbytes: number of address bytes of current address mode. Useful
346 * when the flash operates with 4B opcodes but needs the
347 * internal address mode for opcodes that don't have a 4B
350 * in octal DTR mode.
352 * command in octal DTR mode.
354 * @n_dice: number of dice in the flash memory.
366 * @set_octal_dtr: enables or disables SPI NOR octal DTR mode.
367 * @quad_enable: enables SPI NOR quad mode.
368 * @set_4byte_addr_mode: puts the SPI NOR in 4 byte addressing mode.
373 * @priv: flash's private data.
406 * struct spi_nor_fixups - SPI NOR fixup hooks
407 * @default_init: called after default flash parameters init. Used to tweak
408 * flash parameters when information provided by the flash_info
416 * @late_init: used to initialize flash parameters that are not declared in the
433 * struct spi_nor_id - SPI NOR flash ID.
435 * @bytes: the bytes returned by the flash when issuing command 9F. Typically,
437 * two bytes are a flash part specific ID.
446 * struct flash_info - SPI NOR flash_info entry.
449 * @name: (obsolete) the name of the flash. Do not set it for new additions.
450 * @size: the size of the flash in bytes.
455 * @page_size: (optional) the flash's page size. Defaults to 256.
460 * SPI_NOR_HAS_LOCK: flash supports lock/unlock via SR
461 * SPI_NOR_HAS_TB: flash SR has Top/Bottom (TB) protect bit. Must be
465 * SPI_NOR_4BIT_BP: flash SR has 4 bit fields (BP0-3) for block
469 * SPI_NOR_SWP_IS_VOLATILE: flash has volatile software write protection bits.
470 * Usually these will power-up in a write-protected
473 * SPI_NOR_QUAD_PP: flash supports Quad Input Page Program.
474 * SPI_NOR_RWW: flash supports reads while write.
477 * Used when SFDP tables are not defined in the flash. These
481 * SPI_NOR_DUAL_READ: flash supports Dual Read.
482 * SPI_NOR_QUAD_READ: flash supports Quad Read.
483 * SPI_NOR_OCTAL_READ: flash supports Octal Read.
484 * SPI_NOR_OCTAL_DTR_READ: flash supports octal DTR Read.
485 * SPI_NOR_OCTAL_DTR_PP: flash supports Octal DTR Page Program.
488 * ideally, but can not be discovered for this particular flash
490 * defined by the flash. In case the table for this support is
496 * SPI_NOR_IO_MODE_EN_VOLATILE: flash enables the best available I/O mode
501 * @otp_org: flash's OTP organization.
558 * struct spi_nor_manufacturer - SPI NOR manufacturer object
572 * struct sfdp - SFDP data
682 * spi_nor_needs_sfdp() - returns true if SFDP parsing is used for this flash.
689 * The flash size is one property parsed by the SFDP. We use it as an in spi_nor_needs_sfdp()
690 * indicator whether we need SFDP parsing for a particular flash. I.e. in spi_nor_needs_sfdp()
691 * non-legacy flash entries in flash_info will have a size of zero iff in spi_nor_needs_sfdp()
694 return !nor->info->size; in spi_nor_needs_sfdp()