[ARM] 3057/1: Add memory control method to support OneNAND sync burst read
[linux-2.6.git] / include / asm-arm / mach / flash.h
1 /*
2  *  linux/include/asm-arm/mach/flash.h
3  *
4  *  Copyright (C) 2003 Russell King, All Rights Reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10 #ifndef ASMARM_MACH_FLASH_H
11 #define ASMARM_MACH_FLASH_H
12
13 struct mtd_partition;
14 struct mtd_info;
15
16 /*
17  * map_name:    the map probe function name
18  * name:        flash device name (eg, as used with mtdparts=)
19  * width:       width of mapped device
20  * init:        method called at driver/device initialisation
21  * exit:        method called at driver/device removal
22  * set_vpp:     method called to enable or disable VPP
23  * mmcontrol:   method called to enable or disable Sync. Burst Read in OneNAND
24  * parts:       optional array of mtd_partitions for static partitioning
25  * nr_parts:    number of mtd_partitions for static partitoning
26  */
27 struct flash_platform_data {
28         const char      *map_name;
29         const char      *name;
30         unsigned int    width;
31         int             (*init)(void);
32         void            (*exit)(void);
33         void            (*set_vpp)(int on);
34         void            (*mmcontrol)(struct mtd_info *mtd, int sync_read);
35         struct mtd_partition *parts;
36         unsigned int    nr_parts;
37 };
38
39 #endif