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