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 */ 46