1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * arch/arm/include/asm/mach/flash.h 4 * 5 * Copyright (C) 2003 Russell King, All Rights Reserved. 6 */ 7 #ifndef ASMARM_MACH_FLASH_H 8 #define ASMARM_MACH_FLASH_H 9 10 struct mtd_partition; 11 struct mtd_info; 12 13 /* 14 * map_name: the map probe function name 15 * name: flash device name (eg, as used with mtdparts=) 16 * width: width of mapped device 17 * init: method called at driver/device initialisation 18 * exit: method called at driver/device removal 19 * set_vpp: method called to enable or disable VPP 20 * mmcontrol: method called to enable or disable Sync. Burst Read in OneNAND 21 * parts: optional array of mtd_partitions for static partitioning 22 * nr_parts: number of mtd_partitions for static partitioning 23 */ 24 struct flash_platform_data { 25 const char *map_name; 26 const char *name; 27 unsigned int width; 28 int (*init)(void); 29 void (*exit)(void); 30 void (*set_vpp)(int on); 31 void (*mmcontrol)(struct mtd_info *mtd, int sync_read); 32 struct mtd_partition *parts; 33 unsigned int nr_parts; 34 }; 35 36 #endif 37