1
1
#ifndef __MACH_GPMI_H
3
#include <linux/mtd/mtd.h>
3
4
#include <linux/mtd/partitions.h>
4
5
#include <mach/regs-gpmi.h>
7
#define GPMI_PART_CONCAT 0x8000 /* indicates that partitions
8
should be concatenated */
9
extern int gpmi_pinmux_request(char *);
10
extern void gpmi_pinmux_free(char *);
13
* struct gpmi_platform_data - GPMI driver platform data.
15
* This structure communicates platform-specific information to the GPMI driver
16
* that can't be expressed as resources.
18
* @io_uA: The current limit, in uA.
19
* @min_prop_delay_in_ns: Minimum propagation delay of GPMI signals to and
20
* from the NAND Flash device, in nanoseconds.
21
* @max_prop_delay_in_ns: Maximum propagation delay of GPMI signals to and
22
* from the NAND Flash device, in nanoseconds.
23
* @pinmux_handler: A pointer to a function the driver will call to
24
* request or release the pins it needs. Pass true
25
* to request pins, and false to release them.
26
* @boot_area_size_in_bytes: The amount of space reserved for use by the boot
27
* ROM on the first and second chips. If this value is
28
* zero, it indicates we're not reserving any space
30
* @partition_source_types: An array of strings that name sources of
31
* partitioning information (e.g., the boot loader,
32
* the kernel command line, etc.). The function
33
* parse_mtd_partitions() recognizes these names and
34
* applies the appropriate "plugins" to discover
35
* partitioning information. If any is found, it will
36
* be applied to the "general use" MTD (it will NOT
37
* override the boot area protection mechanism).
38
* @partitions: An optional pointer to an array of partition
39
* descriptions. If the driver finds no partitioning
40
* information elsewhere, it will apply these to the
41
* "general use" MTD (they do NOT override the boot
42
* area protection mechanism).
43
* @partition_count: The number of elements in the partitions array.
45
* ----- Stay away from the "Unique ID" -- it will be going away soon. -----
47
* @uid_offset: The offset into the physical medium of the
49
* @uid_size: The size of the "Unique ID" area.
6
52
struct gpmi_platform_data {
9
struct mtd_partition *parts;
10
const char *part_types[];
56
unsigned min_prop_delay_in_ns;
57
unsigned max_prop_delay_in_ns;
59
int (*pinmux_handler)(bool request);
61
uint32_t boot_area_size_in_bytes;
63
const char **partition_source_types;
65
struct mtd_partition *partitions;
66
unsigned partition_count;
68
/* Stay away from the Unique ID - it will be going away soon. */