xref: /linux/drivers/mtd/spi-nor/Kconfig (revision 356dd9ce2361ba5ba74eeff227fb6ab6d46e128c)
18ac326fcSBrian Norrismenuconfig MTD_SPI_NOR
28ac326fcSBrian Norris	tristate "SPI-NOR device support"
3b199489dSHuang Shijie	depends on MTD
4b199489dSHuang Shijie	help
5b199489dSHuang Shijie	  This is the framework for the SPI NOR which can be used by the SPI
6b199489dSHuang Shijie	  device drivers and the SPI-NOR device driver.
7e43b2061SBrian Norris
8e43b2061SBrian Norrisif MTD_SPI_NOR
9e43b2061SBrian Norris
1057cf26c1SRafał Miłeckiconfig MTD_SPI_NOR_USE_4K_SECTORS
1157cf26c1SRafał Miłecki	bool "Use small 4096 B erase sectors"
1257cf26c1SRafał Miłecki	default y
1357cf26c1SRafał Miłecki	help
1457cf26c1SRafał Miłecki	  Many flash memories support erasing small (4096 B) sectors. Depending
1557cf26c1SRafał Miłecki	  on the usage this feature may provide performance gain in comparison
1657cf26c1SRafał Miłecki	  to erasing whole blocks (32/64 KiB).
1757cf26c1SRafał Miłecki	  Changing a small part of the flash's contents is usually faster with
1857cf26c1SRafał Miłecki	  small sectors. On the other hand erasing should be faster when using
1957cf26c1SRafał Miłecki	  64 KiB block instead of 16 × 4 KiB sectors.
2057cf26c1SRafał Miłecki
2157cf26c1SRafał Miłecki	  Please note that some tools/drivers/filesystems may not work with
2257cf26c1SRafał Miłecki	  4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
2357cf26c1SRafał Miłecki
24ceb720c7SCédric Le Goaterconfig SPI_ASPEED_SMC
25ceb720c7SCédric Le Goater	tristate "Aspeed flash controllers in SPI mode"
26ceb720c7SCédric Le Goater	depends on ARCH_ASPEED || COMPILE_TEST
27ceb720c7SCédric Le Goater	depends on HAS_IOMEM && OF
28ceb720c7SCédric Le Goater	help
29ceb720c7SCédric Le Goater	  This enables support for the Firmware Memory controller (FMC)
30e56beebbSCédric Le Goater	  in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
31ceb720c7SCédric Le Goater	  and support for the SPI flash memory controller (SPI) for
32ceb720c7SCédric Le Goater	  the host firmware. The implementation only supports SPI NOR.
33ceb720c7SCédric Le Goater
3414062341SGraham Mooreconfig SPI_CADENCE_QUADSPI
3514062341SGraham Moore	tristate "Cadence Quad SPI controller"
3670597eecSThor Thayer	depends on OF && (ARM || ARM64 || COMPILE_TEST)
3714062341SGraham Moore	help
3814062341SGraham Moore	  Enable support for the Cadence Quad SPI Flash controller.
3914062341SGraham Moore
4014062341SGraham Moore	  Cadence QSPI is a specialized controller for connecting an SPI
4114062341SGraham Moore	  Flash over 1/2/4-bit wide bus. Enable this option if you have a
4214062341SGraham Moore	  device with a Cadence QSPI controller and want to access the
4314062341SGraham Moore	  Flash as an MTD device.
4414062341SGraham Moore
45e46ecda7SHuang Shijieconfig SPI_FSL_QUADSPI
46e46ecda7SHuang Shijie	tristate "Freescale Quad SPI controller"
47a578c4f9SYao Yuan	depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
48d26a22d0SBrian Norris	depends on HAS_IOMEM
49e46ecda7SHuang Shijie	help
50e46ecda7SHuang Shijie	  This enables support for the Quad SPI controller in master mode.
51842c12ddSFabio Estevam	  This controller does not support generic SPI. It only supports
52842c12ddSFabio Estevam	  SPI NOR.
53e43b2061SBrian Norris
54e523f111SJiancheng Xueconfig SPI_HISI_SFC
55e523f111SJiancheng Xue	tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
56e523f111SJiancheng Xue	depends on ARCH_HISI || COMPILE_TEST
577db782bcSGeert Uytterhoeven	depends on HAS_IOMEM
58e523f111SJiancheng Xue	help
59e523f111SJiancheng Xue	  This enables support for hisilicon SPI-NOR flash controller.
60e523f111SJiancheng Xue
61*356dd9ceSRyder Leeconfig SPI_MTK_QUADSPI
62*356dd9ceSRyder Lee	tristate "MediaTek Quad SPI controller"
63*356dd9ceSRyder Lee	depends on HAS_IOMEM
64*356dd9ceSRyder Lee	help
65*356dd9ceSRyder Lee	  This enables support for the Quad SPI controller in master mode.
66*356dd9ceSRyder Lee	  This controller does not support generic SPI. It only supports
67*356dd9ceSRyder Lee	  SPI NOR.
68*356dd9ceSRyder Lee
69f617b958SJoachim Eastwoodconfig SPI_NXP_SPIFI
70f617b958SJoachim Eastwood	tristate "NXP SPI Flash Interface (SPIFI)"
71f617b958SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
72f617b958SJoachim Eastwood	depends on HAS_IOMEM
73f617b958SJoachim Eastwood	help
74f617b958SJoachim Eastwood	  Enable support for the NXP LPC SPI Flash Interface controller.
75f617b958SJoachim Eastwood
76f617b958SJoachim Eastwood	  SPIFI is a specialized controller for connecting serial SPI
77f617b958SJoachim Eastwood	  Flash. Enable this option if you have a device with a SPIFI
78f617b958SJoachim Eastwood	  controller and want to access the Flash as a mtd device.
79f617b958SJoachim Eastwood
808afda8b2SMika Westerbergconfig SPI_INTEL_SPI
818afda8b2SMika Westerberg	tristate
828afda8b2SMika Westerberg
83fe602838SMika Westerbergconfig SPI_INTEL_SPI_PCI
841f37033fSMika Westerberg	tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
85fe602838SMika Westerberg	depends on X86 && PCI
86fe602838SMika Westerberg	select SPI_INTEL_SPI
87fe602838SMika Westerberg	help
88fe602838SMika Westerberg	  This enables PCI support for the Intel PCH/PCU SPI controller in
89fe602838SMika Westerberg	  master mode. This controller is present in modern Intel hardware
90fe602838SMika Westerberg	  and is used to hold BIOS and other persistent settings. Using
91fe602838SMika Westerberg	  this driver it is possible to upgrade BIOS directly from Linux.
92fe602838SMika Westerberg
93fe602838SMika Westerberg	  Say N here unless you know what you are doing. Overwriting the
94fe602838SMika Westerberg	  SPI flash may render the system unbootable.
95fe602838SMika Westerberg
96fe602838SMika Westerberg	  To compile this driver as a module, choose M here: the module
97fe602838SMika Westerberg	  will be called intel-spi-pci.
98fe602838SMika Westerberg
998afda8b2SMika Westerbergconfig SPI_INTEL_SPI_PLATFORM
1001f37033fSMika Westerberg	tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
1018afda8b2SMika Westerberg	depends on X86
1028afda8b2SMika Westerberg	select SPI_INTEL_SPI
1038afda8b2SMika Westerberg	help
1048afda8b2SMika Westerberg	  This enables platform support for the Intel PCH/PCU SPI
1058afda8b2SMika Westerberg	  controller in master mode. This controller is present in modern
1068afda8b2SMika Westerberg	  Intel hardware and is used to hold BIOS and other persistent
1078afda8b2SMika Westerberg	  settings. Using this driver it is possible to upgrade BIOS
1088afda8b2SMika Westerberg	  directly from Linux.
1098afda8b2SMika Westerberg
1108afda8b2SMika Westerberg	  Say N here unless you know what you are doing. Overwriting the
1118afda8b2SMika Westerberg	  SPI flash may render the system unbootable.
1128afda8b2SMika Westerberg
1138afda8b2SMika Westerberg	  To compile this driver as a module, choose M here: the module
1148afda8b2SMika Westerberg	  will be called intel-spi-platform.
1158afda8b2SMika Westerberg
1160d43d7abSLudovic Barreconfig SPI_STM32_QUADSPI
1170d43d7abSLudovic Barre	tristate "STM32 Quad SPI controller"
118ddd0503eSBrian Norris	depends on ARCH_STM32 || COMPILE_TEST
1190d43d7abSLudovic Barre	help
1200d43d7abSLudovic Barre	  This enables support for the STM32 Quad SPI controller.
1210d43d7abSLudovic Barre	  We only connect the NOR to this controller.
1220d43d7abSLudovic Barre
123e43b2061SBrian Norrisendif # MTD_SPI_NOR
124