1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_ARCH_PXA3XX_NAND_H
3 #define __ASM_ARCH_PXA3XX_NAND_H
5 #include <linux/mtd/mtd.h>
6 #include <linux/mtd/partitions.h>
9 * Current pxa3xx_nand controller has two chip select which
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.
19 /* The max num of chip select current support */
20 #define NUM_CHIP_SELECT (2)
21 struct pxa3xx_nand_platform_data
{
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
29 /* allow platform code to keep OBM/bootloader defined NFC config */
32 /* indicate how many chip selects will be used */
35 /* use an flash-based bad block table */
38 /* requested ECC strength and ECC step size */
39 int ecc_strength
, ecc_step_size
;
41 const struct mtd_partition
*parts
[NUM_CHIP_SELECT
];
42 unsigned int nr_parts
[NUM_CHIP_SELECT
];
45 extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data
*info
);
46 #endif /* __ASM_ARCH_PXA3XX_NAND_H */