Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[cris-mirror.git] / include / linux / platform_data / mtd-nand-pxa3xx.h
blob394d15597dc75a2ec923dc4daa64dd1acd4c2d66
1 #ifndef __ASM_ARCH_PXA3XX_NAND_H
2 #define __ASM_ARCH_PXA3XX_NAND_H
4 #include <linux/mtd/mtd.h>
5 #include <linux/mtd/partitions.h>
7 /*
8 * Current pxa3xx_nand controller has two chip select which
9 * both be workable.
11 * Notice should be taken that:
12 * When you want to use this feature, you should not enable the
13 * keep configuration feature, for two chip select could be
14 * attached with different nand chip. The different page size
15 * and timing requirement make the keep configuration impossible.
18 /* The max num of chip select current support */
19 #define NUM_CHIP_SELECT (2)
20 struct pxa3xx_nand_platform_data {
22 /* the data flash bus is shared between the Static Memory
23 * Controller and the Data Flash Controller, the arbiter
24 * controls the ownership of the bus
26 int enable_arbiter;
28 /* allow platform code to keep OBM/bootloader defined NFC config */
29 int keep_config;
31 /* indicate how many chip selects will be used */
32 int num_cs;
34 /* use an flash-based bad block table */
35 bool flash_bbt;
37 /* requested ECC strength and ECC step size */
38 int ecc_strength, ecc_step_size;
40 const struct mtd_partition *parts[NUM_CHIP_SELECT];
41 unsigned int nr_parts[NUM_CHIP_SELECT];
44 extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
45 #endif /* __ASM_ARCH_PXA3XX_NAND_H */