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
10struct mtd_partition;
11struct 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 */
24struct 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