Lines Matching +full:spi +full:- +full:flash
1 /* SPDX-License-Identifier: GPL-2.0 */
48 /* Dual SPI */
54 /* Quad SPI */
60 /* Octal SPI */
72 /* Quad SPI */
77 /* Octal SPI */
86 * struct spi_nor_erase_type - Structure to describe a SPI NOR erase type
92 * @opcode: the SPI command op code to erase the sector/block.
93 * @idx: Erase Type index as sorted in the Basic Flash Parameter
107 * struct spi_nor_erase_command - Used for non-uniform erases
110 * are run-length encoded.
115 * @opcode: the SPI command op code to erase the sector/block.
125 * struct spi_nor_erase_region - Structure to describe a SPI NOR erase region
129 * the last in the SPI NOR flash memory and to indicate
141 #define SNOR_ERASE_TYPE_MASK GENMASK_ULL(SNOR_ERASE_TYPE_MAX - 1, 0)
147 #define SNOR_ERASE_FLAGS_MASK GENMASK_ULL(SNOR_ERASE_FLAGS_MAX - 1, 0)
150 * struct spi_nor_erase_map - Structure to describe the SPI NOR erase map
154 * @uniform_region: a pre-allocated erase region for SPI NOR with a uniform
162 * uniform and non-uniform SPI NOR flash memories if they
174 * struct spi_nor_locking_ops - SPI NOR locking methods
175 * @lock: lock a region of the SPI NOR.
176 * @unlock: unlock a region of the SPI NOR.
177 * @is_locked: check if a region of the SPI NOR is completely locked
186 * struct spi_nor_flash_parameter - SPI NOR flash parameters and settings.
187 * Includes legacy flash parameters and settings that can be overwritten
189 * Serial Flash Discoverable Parameters (SFDP) tables.
191 * @size: the flash memory density in bytes.
192 * @page_size: the page size of the SPI NOR flash memory.
201 * @quad_enable: enables SPI NOR quad mode.
202 * @set_4byte_addr_mode: puts the SPI NOR in 4 byte addressing mode.
203 * @convert_addr: converts an absolute address into something the flash
205 * not a power-of-2.
206 * @setup: configures the SPI NOR memory. Useful for SPI NOR
207 * flashes that have peculiarities to the SPI NOR standard
210 * @locking_ops: SPI NOR locking methods.
231 * struct spi_nor_fixups - SPI NOR fixup hooks
232 * @default_init: called after default flash parameters init. Used to tweak
233 * flash parameters when information provided by the flash_info
236 * @post_sfdp: called after SFDP has been parsed (is also called for SPI NORs
242 * Those hooks can be used to tweak the SPI NOR configuration when the SFDP
280 #define SPI_NOR_DUAL_READ BIT(5) /* Flash supports Dual Read */
281 #define SPI_NOR_QUAD_READ BIT(6) /* Flash supports Quad Read */
283 #define SPI_NOR_HAS_LOCK BIT(8) /* Flash supports lock/unlock via SR */
285 * Flash SR has Top/Bottom (TB) protect
300 #define SPI_NOR_OCTAL_READ BIT(15) /* Flash supports Octal Read */
307 * Flash SR has 4 bit fields (BP0-3)
370 * struct spi_nor_manufacturer - SPI NOR manufacturer object
438 return mtd->priv; in mtd_to_spi_nor()