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