Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
menuconfig CONFIG_MTD_SPI_NOR
	tristate "SPI-NOR device support"
	depends on CONFIG_MTD
	depends on CONFIG_MTD && CONFIG_SPI_MASTER
	select CONFIG_SPI_MEM
	help
	  This is the framework for the CONFIG_SPI NOR which can be used by the CONFIG_SPI
	  device drivers and the CONFIG_SPI-NOR device driver.

if CONFIG_MTD_SPI_NOR

config CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
	bool "Use small 4096 B erase sectors"
	default y
	help
	  Many flash memories support erasing small (4096 CONFIG_B) sectors. Depending
	  on the usage this feature may provide performance gain in comparison
	  to erasing whole blocks (32/64 KiB).
	  Changing a small part of the flash's contents is usually faster with
	  small sectors. On the other hand erasing should be faster when using
	  64 KiB block instead of 16 × 4 KiB sectors.

	  Please note that some tools/drivers/filesystems may not work with
	  4096 CONFIG_B erase size (e.g. UBIFS requires 15 KiB as a minimum).

config CONFIG_SPI_ASPEED_SMC
	tristate "Aspeed flash controllers in SPI mode"
	depends on CONFIG_ARCH_ASPEED || CONFIG_COMPILE_TEST
	depends on CONFIG_HAS_IOMEM && CONFIG_OF
	help
	  This enables support for the Firmware Memory controller (CONFIG_FMC)
	  in the Aspeed AST2500/AST2400 SoCs when attached to CONFIG_SPI NOR chips,
	  and support for the CONFIG_SPI flash memory controller (CONFIG_SPI) for
	  the host firmware. The implementation only supports CONFIG_SPI NOR.

config CONFIG_SPI_CADENCE_QUADSPI
	tristate "Cadence Quad SPI controller"
	depends on CONFIG_OF && (CONFIG_ARM || CONFIG_ARM64 || CONFIG_COMPILE_TEST)
	help
	  Enable support for the Cadence Quad CONFIG_SPI Flash controller.

	  Cadence QSPI is a specialized controller for connecting an CONFIG_SPI
	  Flash over 1/2/4-bit wide bus. Enable this option if you have a
	  device with a Cadence QSPI controller and want to access the
	  Flash as an CONFIG_MTD device.

config CONFIG_SPI_HISI_SFC
	tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
	depends on CONFIG_ARCH_HISI || CONFIG_COMPILE_TEST
	depends on CONFIG_HAS_IOMEM
	help
	  This enables support for hisilicon CONFIG_SPI-NOR flash controller.

config CONFIG_SPI_MTK_QUADSPI
	tristate "MediaTek Quad SPI controller"
	depends on CONFIG_HAS_IOMEM
	help
	  This enables support for the Quad CONFIG_SPI controller in master mode.
	  This controller does not support generic CONFIG_SPI. It only supports
	  CONFIG_SPI NOR.

config CONFIG_SPI_NXP_SPIFI
	tristate "NXP SPI Flash Interface (SPIFI)"
	depends on CONFIG_OF && (CONFIG_ARCH_LPC18XX || CONFIG_COMPILE_TEST)
	depends on CONFIG_HAS_IOMEM
	help
	  Enable support for the NXP LPC CONFIG_SPI Flash Interface controller.

	  SPIFI is a specialized controller for connecting serial CONFIG_SPI
	  Flash. Enable this option if you have a device with a SPIFI
	  controller and want to access the Flash as a mtd device.

config CONFIG_SPI_INTEL_SPI
	tristate

config CONFIG_SPI_INTEL_SPI_PCI
	tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
	depends on CONFIG_X86 && CONFIG_PCI
	select CONFIG_SPI_INTEL_SPI
	help
	  This enables CONFIG_PCI support for the Intel PCH/PCU CONFIG_SPI controller in
	  master mode. This controller is present in modern Intel hardware
	  and is used to hold BIOS and other persistent settings. Using
	  this driver it is possible to upgrade BIOS directly from Linux.

	  Say N here unless you know what you are doing. Overwriting the
	  CONFIG_SPI flash may render the system unbootable.

	  To compile this driver as a module, choose CONFIG_M here: the module
	  will be called intel-spi-pci.

config CONFIG_SPI_INTEL_SPI_PLATFORM
	tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
	depends on CONFIG_X86
	select CONFIG_SPI_INTEL_SPI
	help
	  This enables platform support for the Intel PCH/PCU CONFIG_SPI
	  controller in master mode. This controller is present in modern
	  Intel hardware and is used to hold BIOS and other persistent
	  settings. Using this driver it is possible to upgrade BIOS
	  directly from Linux.

	  Say N here unless you know what you are doing. Overwriting the
	  CONFIG_SPI flash may render the system unbootable.

	  To compile this driver as a module, choose CONFIG_M here: the module
	  will be called intel-spi-platform.

endif # CONFIG_MTD_SPI_NOR