• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * arch/arm/plat-omap/include/mach/nand.h
3  *
4  * Copyright (C) 2006 Micron Technology Inc.
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 
11 #include <plat/gpmc.h>
12 #include <linux/mtd/partitions.h>
13 
14 enum nand_io {
15 	NAND_OMAP_PREFETCH_POLLED = 0,	/* prefetch polled mode, default */
16 	NAND_OMAP_POLLED,		/* polled mode, without prefetch */
17 	NAND_OMAP_PREFETCH_DMA,		/* prefetch enabled sDMA mode */
18 	NAND_OMAP_PREFETCH_IRQ		/* prefetch enabled irq mode */
19 };
20 
21 struct omap_nand_platform_data {
22 	int			cs;
23 	struct mtd_partition	*parts;
24 	struct gpmc_timings	*gpmc_t;
25 	int			nr_parts;
26 	bool			dev_ready;
27 	int			gpmc_irq;
28 	enum nand_io		xfer_type;
29 	unsigned long		phys_base;
30 	int			devsize;
31 	enum omap_ecc           ecc_opt;
32 };
33 
34 /* minimum size for IO mapping */
35 #define	NAND_IO_SIZE	4
36 
37 #if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
38 extern int gpmc_nand_init(struct omap_nand_platform_data *d);
39 #else
gpmc_nand_init(struct omap_nand_platform_data * d)40 static inline int gpmc_nand_init(struct omap_nand_platform_data *d)
41 {
42 	return 0;
43 }
44 #endif
45