Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef LINUX_SPI_FLASH_H |
| 3 | #define LINUX_SPI_FLASH_H |
| 4 | |
| 5 | struct mtd_partition; |
| 6 | |
| 7 | /** |
| 8 | * struct flash_platform_data: board-specific flash data |
| 9 | * @name: optional flash device name (eg, as used with mtdparts=) |
| 10 | * @parts: optional array of mtd_partitions for static partitioning |
| 11 | * @nr_parts: number of mtd_partitions for static partitioning |
| 12 | * @type: optional flash device type (e.g. m25p80 vs m25p64), for use |
| 13 | * with chips that can't be queried for JEDEC or other IDs |
| 14 | * |
| 15 | * Board init code (in arch/.../mach-xxx/board-yyy.c files) can |
| 16 | * provide information about SPI flash parts (such as DataFlash) to |
| 17 | * help set up the device and its appropriate default partitioning. |
| 18 | * |
| 19 | * Note that for DataFlash, sizes for pages, blocks, and sectors are |
| 20 | * rarely powers of two; and partitions should be sector-aligned. |
| 21 | */ |
| 22 | struct flash_platform_data { |
| 23 | char *name; |
| 24 | struct mtd_partition *parts; |
| 25 | unsigned int nr_parts; |
| 26 | |
| 27 | char *type; |
| 28 | |
| 29 | /* we'll likely add more ... use JEDEC IDs, etc */ |
| 30 | }; |
| 31 | |
| 32 | #endif |