License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[sfrench/cifs-2.6.git] / include / linux / platform_data / mtd-nand-pxa3xx.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_ARCH_PXA3XX_NAND_H
3 #define __ASM_ARCH_PXA3XX_NAND_H
4
5 #include <linux/mtd/mtd.h>
6 #include <linux/mtd/partitions.h>
7
8 /*
9  * Current pxa3xx_nand controller has two chip select which
10  * both be workable.
11  *
12  * Notice should be taken that:
13  * When you want to use this feature, you should not enable the
14  * keep configuration feature, for two chip select could be
15  * attached with different nand chip. The different page size
16  * and timing requirement make the keep configuration impossible.
17  */
18
19 /* The max num of chip select current support */
20 #define NUM_CHIP_SELECT         (2)
21 struct pxa3xx_nand_platform_data {
22
23         /* the data flash bus is shared between the Static Memory
24          * Controller and the Data Flash Controller,  the arbiter
25          * controls the ownership of the bus
26          */
27         int     enable_arbiter;
28
29         /* allow platform code to keep OBM/bootloader defined NFC config */
30         int     keep_config;
31
32         /* indicate how many chip selects will be used */
33         int     num_cs;
34
35         /* use an flash-based bad block table */
36         bool    flash_bbt;
37
38         /* requested ECC strength and ECC step size */
39         int ecc_strength, ecc_step_size;
40
41         const struct mtd_partition              *parts[NUM_CHIP_SELECT];
42         unsigned int                            nr_parts[NUM_CHIP_SELECT];
43 };
44
45 extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
46 #endif /* __ASM_ARCH_PXA3XX_NAND_H */