• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * arch/arm/plat-omap/include/mach/onenand.h
3  *
4  * Copyright (C) 2006 Nokia Corporation
5  * Author: Juha Yrjola
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11 
12 #include <linux/mtd/mtd.h>
13 #include <linux/mtd/partitions.h>
14 
15 #define ONENAND_SYNC_READ	(1 << 0)
16 #define ONENAND_SYNC_READWRITE	(1 << 1)
17 
18 struct onenand_freq_info {
19 	u16			maf_id;
20 	u16			dev_id;
21 	u16			ver_id;
22 };
23 
24 struct omap_onenand_platform_data {
25 	int			cs;
26 	int			gpio_irq;
27 	struct mtd_partition	*parts;
28 	int			nr_parts;
29 	int			(*onenand_setup)(void __iomem *, int *freq_ptr);
30 	int		(*get_freq)(const struct onenand_freq_info *freq_info,
31 				    bool *clk_dep);
32 	int			dma_channel;
33 	u8			flags;
34 	u8			regulator_can_sleep;
35 	u8			skip_initial_unlocking;
36 };
37 
38 #define ONENAND_MAX_PARTITIONS 8
39 
40 #if defined(CONFIG_MTD_ONENAND_OMAP2) || \
41 	defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
42 
43 extern void gpmc_onenand_init(struct omap_onenand_platform_data *d);
44 
45 #else
46 
47 #define board_onenand_data	NULL
48 
gpmc_onenand_init(struct omap_onenand_platform_data * d)49 static inline void gpmc_onenand_init(struct omap_onenand_platform_data *d)
50 {
51 }
52 
53 #endif
54