Merge branch 'pm-opp'
[cascardo/linux.git] / arch / arm / mach-omap2 / board-flash.h
1 /*
2  *  board-sdp.h
3  *
4  *  Information structures for SDP-specific board config data
5  *
6  *  Copyright (C) 2009 Nokia Corporation
7  *  Copyright (C) 2009 Texas Instruments
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12  */
13 #include <linux/mtd/mtd.h>
14 #include <linux/mtd/partitions.h>
15
16 #define PDC_NOR         1
17 #define PDC_NAND        2
18 #define PDC_ONENAND     3
19 #define DBG_MPDB        4
20
21 struct flash_partitions {
22         struct mtd_partition *parts;
23         int nr_parts;
24 };
25
26 #if defined(CONFIG_MTD_NAND_OMAP2) || \
27                 defined(CONFIG_MTD_NAND_OMAP2_MODULE) || \
28                 defined(CONFIG_MTD_ONENAND_OMAP2) || \
29                 defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
30 extern void board_flash_init(struct flash_partitions [],
31                                 char chip_sel[][GPMC_CS_NUM], int nand_type);
32 #else
33 static inline void board_flash_init(struct flash_partitions part[],
34                                 char chip_sel[][GPMC_CS_NUM], int nand_type)
35 {
36 }
37 #endif
38
39 #if defined(CONFIG_MTD_NAND_OMAP2) || \
40                 defined(CONFIG_MTD_NAND_OMAP2_MODULE)
41 extern void board_nand_init(struct mtd_partition *nand_parts,
42                 u8 nr_parts, u8 cs, int nand_type, struct gpmc_timings *gpmc_t);
43 extern struct gpmc_timings nand_default_timings[];
44 #else
45 static inline void board_nand_init(struct mtd_partition *nand_parts,
46                 u8 nr_parts, u8 cs, int nand_type, struct gpmc_timings *gpmc_t)
47 {
48 }
49 #define nand_default_timings    NULL
50 #endif
51
52 #if defined(CONFIG_MTD_ONENAND_OMAP2) || \
53                 defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
54 extern void board_onenand_init(struct mtd_partition *nand_parts,
55                                         u8 nr_parts, u8 cs);
56 #else
57 static inline void board_onenand_init(struct mtd_partition *nand_parts,
58                                         u8 nr_parts, u8 cs)
59 {
60 }
61 #endif