These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / linux / platform_data / mtd-nand-pxa3xx.h
1 #ifndef __ASM_ARCH_PXA3XX_NAND_H
2 #define __ASM_ARCH_PXA3XX_NAND_H
3
4 #include <linux/mtd/mtd.h>
5 #include <linux/mtd/partitions.h>
6
7 /*
8  * Current pxa3xx_nand controller has two chip select which
9  * both be workable.
10  *
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.
16  */
17
18 /* The max num of chip select current support */
19 #define NUM_CHIP_SELECT         (2)
20 struct pxa3xx_nand_platform_data {
21
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
25          */
26         int     enable_arbiter;
27
28         /* allow platform code to keep OBM/bootloader defined NFC config */
29         int     keep_config;
30
31         /* indicate how many chip selects will be used */
32         int     num_cs;
33
34         /* use an flash-based bad block table */
35         bool    flash_bbt;
36
37         /* requested ECC strength and ECC step size */
38         int ecc_strength, ecc_step_size;
39
40         const struct mtd_partition              *parts[NUM_CHIP_SELECT];
41         unsigned int                            nr_parts[NUM_CHIP_SELECT];
42 };
43
44 extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
45 #endif /* __ASM_ARCH_PXA3XX_NAND_H */