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