Kconfig 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. menuconfig MTD_SPI_NOR
  2. tristate "SPI-NOR device support"
  3. depends on MTD
  4. help
  5. This is the framework for the SPI NOR which can be used by the SPI
  6. device drivers and the SPI-NOR device driver.
  7. if MTD_SPI_NOR
  8. config SPI_PHYTIUM_QUADSPI
  9. tristate "Phytium Quad SPI Controller"
  10. depends on ARCH_PHYTIUM || ARM
  11. depends on OF && HAS_IOMEM
  12. help
  13. This enables support for the Quad SPI controller in master mode.
  14. This driver does not support generic SPI. The implementation only
  15. supports SPI NOR.
  16. config MTD_MT81xx_NOR
  17. tristate "Mediatek MT81xx SPI NOR flash controller"
  18. depends on HAS_IOMEM
  19. help
  20. This enables access to SPI NOR flash, using MT81xx SPI NOR flash
  21. controller. This controller does not support generic SPI BUS, it only
  22. supports SPI NOR Flash.
  23. config MTD_SPI_NOR_USE_4K_SECTORS
  24. bool "Use small 4096 B erase sectors"
  25. default y
  26. help
  27. Many flash memories support erasing small (4096 B) sectors. Depending
  28. on the usage this feature may provide performance gain in comparison
  29. to erasing whole blocks (32/64 KiB).
  30. Changing a small part of the flash's contents is usually faster with
  31. small sectors. On the other hand erasing should be faster when using
  32. 64 KiB block instead of 16 × 4 KiB sectors.
  33. Please note that some tools/drivers/filesystems may not work with
  34. 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
  35. config SPI_ASPEED_SMC
  36. tristate "Aspeed flash controllers in SPI mode"
  37. depends on ARCH_ASPEED || COMPILE_TEST
  38. depends on HAS_IOMEM && OF
  39. help
  40. This enables support for the Firmware Memory controller (FMC)
  41. in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
  42. and support for the SPI flash memory controller (SPI) for
  43. the host firmware. The implementation only supports SPI NOR.
  44. config SPI_ATMEL_QUADSPI
  45. tristate "Atmel Quad SPI Controller"
  46. depends on ARCH_AT91 || (ARM && COMPILE_TEST && !ARCH_EBSA110)
  47. depends on OF && HAS_IOMEM
  48. help
  49. This enables support for the Quad SPI controller in master mode.
  50. This driver does not support generic SPI. The implementation only
  51. supports SPI NOR.
  52. config SPI_CADENCE_QUADSPI
  53. tristate "Cadence Quad SPI controller"
  54. depends on OF && (ARM || ARM64 || COMPILE_TEST)
  55. help
  56. Enable support for the Cadence Quad SPI Flash controller.
  57. Cadence QSPI is a specialized controller for connecting an SPI
  58. Flash over 1/2/4-bit wide bus. Enable this option if you have a
  59. device with a Cadence QSPI controller and want to access the
  60. Flash as an MTD device.
  61. config SPI_FSL_QUADSPI
  62. tristate "Freescale Quad SPI controller"
  63. depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
  64. depends on HAS_IOMEM
  65. help
  66. This enables support for the Quad SPI controller in master mode.
  67. This controller does not support generic SPI. It only supports
  68. SPI NOR.
  69. config SPI_HISI_SFC
  70. tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
  71. depends on ARCH_HISI || COMPILE_TEST
  72. depends on HAS_IOMEM
  73. help
  74. This enables support for hisilicon SPI-NOR flash controller.
  75. config SPI_NXP_SPIFI
  76. tristate "NXP SPI Flash Interface (SPIFI)"
  77. depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
  78. depends on HAS_IOMEM
  79. help
  80. Enable support for the NXP LPC SPI Flash Interface controller.
  81. SPIFI is a specialized controller for connecting serial SPI
  82. Flash. Enable this option if you have a device with a SPIFI
  83. controller and want to access the Flash as a mtd device.
  84. config SPI_INTEL_SPI
  85. tristate
  86. config SPI_INTEL_SPI_PCI
  87. tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
  88. depends on X86 && PCI
  89. select SPI_INTEL_SPI
  90. help
  91. This enables PCI support for the Intel PCH/PCU SPI controller in
  92. master mode. This controller is present in modern Intel hardware
  93. and is used to hold BIOS and other persistent settings. Using
  94. this driver it is possible to upgrade BIOS directly from Linux.
  95. Say N here unless you know what you are doing. Overwriting the
  96. SPI flash may render the system unbootable.
  97. To compile this driver as a module, choose M here: the module
  98. will be called intel-spi-pci.
  99. config SPI_INTEL_SPI_PLATFORM
  100. tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
  101. depends on X86
  102. select SPI_INTEL_SPI
  103. help
  104. This enables platform support for the Intel PCH/PCU SPI
  105. controller in master mode. This controller is present in modern
  106. Intel hardware and is used to hold BIOS and other persistent
  107. settings. Using this driver it is possible to upgrade BIOS
  108. directly from Linux.
  109. Say N here unless you know what you are doing. Overwriting the
  110. SPI flash may render the system unbootable.
  111. To compile this driver as a module, choose M here: the module
  112. will be called intel-spi-platform.
  113. config SPI_STM32_QUADSPI
  114. tristate "STM32 Quad SPI controller"
  115. depends on ARCH_STM32 || COMPILE_TEST
  116. help
  117. This enables support for the STM32 Quad SPI controller.
  118. We only connect the NOR to this controller.
  119. endif # MTD_SPI_NOR