1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 #ifndef __ASM_ARCH_PXA3XX_NAND_H 1 #ifndef __ASM_ARCH_PXA3XX_NAND_H 3 #define __ASM_ARCH_PXA3XX_NAND_H 2 #define __ASM_ARCH_PXA3XX_NAND_H 4 3 5 #include <linux/mtd/mtd.h> 4 #include <linux/mtd/mtd.h> 6 #include <linux/mtd/partitions.h> 5 #include <linux/mtd/partitions.h> 7 6 8 /* 7 /* 9 * Current pxa3xx_nand controller has two chip !! 8 * Current pxa3xx_nand controller has two chip select which 10 * historically all platforms remaining on pla !! 9 * both be workable. 11 * to device tree if you need more. !! 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. 12 */ 16 */ >> 17 >> 18 /* The max num of chip select current support */ >> 19 #define NUM_CHIP_SELECT (2) 13 struct pxa3xx_nand_platform_data { 20 struct pxa3xx_nand_platform_data { 14 /* Keep OBM/bootloader NFC timing conf !! 21 15 bool keep_config; !! 22 /* the data flash bus is shared between the Static Memory 16 /* Use a flash-based bad block table * !! 23 * Controller and the Data Flash Controller, the arbiter 17 bool flash_bbt; !! 24 * controls the ownership of the bus 18 /* Requested ECC strength and ECC step !! 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 */ 19 int ecc_strength, ecc_step_size; 38 int ecc_strength, ecc_step_size; 20 /* Partitions */ !! 39 21 const struct mtd_partition *parts; !! 40 const struct mtd_partition *parts[NUM_CHIP_SELECT]; 22 unsigned int nr_parts; !! 41 unsigned int nr_parts[NUM_CHIP_SELECT]; 23 }; 42 }; 24 43 25 extern void pxa3xx_set_nand_info(struct pxa3xx 44 extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info); 26 << 27 #endif /* __ASM_ARCH_PXA3XX_NAND_H */ 45 #endif /* __ASM_ARCH_PXA3XX_NAND_H */ 28 46
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.