mtd-nand-pxa3xx.h 1.3 KB

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