| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | menuconfig MTD_SPI_NOR |
|---|
| 2 | | - tristate "SPI-NOR device support" |
|---|
| 3 | + tristate "SPI NOR device support" |
|---|
| 3 | 4 | depends on MTD |
|---|
| 5 | + depends on MTD && SPI_MASTER |
|---|
| 6 | + select SPI_MEM |
|---|
| 4 | 7 | help |
|---|
| 5 | 8 | This is the framework for the SPI NOR which can be used by the SPI |
|---|
| 6 | | - device drivers and the SPI-NOR device driver. |
|---|
| 9 | + device drivers and the SPI NOR device driver. |
|---|
| 7 | 10 | |
|---|
| 8 | 11 | if MTD_SPI_NOR |
|---|
| 9 | | - |
|---|
| 10 | | -config MTD_MT81xx_NOR |
|---|
| 11 | | - tristate "Mediatek MT81xx SPI NOR flash controller" |
|---|
| 12 | | - depends on HAS_IOMEM |
|---|
| 13 | | - help |
|---|
| 14 | | - This enables access to SPI NOR flash, using MT81xx SPI NOR flash |
|---|
| 15 | | - controller. This controller does not support generic SPI BUS, it only |
|---|
| 16 | | - supports SPI NOR Flash. |
|---|
| 17 | 12 | |
|---|
| 18 | 13 | config MTD_SPI_NOR_USE_4K_SECTORS |
|---|
| 19 | 14 | bool "Use small 4096 B erase sectors" |
|---|
| .. | .. |
|---|
| 29 | 24 | Please note that some tools/drivers/filesystems may not work with |
|---|
| 30 | 25 | 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). |
|---|
| 31 | 26 | |
|---|
| 32 | | -config SPI_ASPEED_SMC |
|---|
| 33 | | - tristate "Aspeed flash controllers in SPI mode" |
|---|
| 34 | | - depends on ARCH_ASPEED || COMPILE_TEST |
|---|
| 35 | | - depends on HAS_IOMEM && OF |
|---|
| 27 | +config MTD_SPI_NOR_MISC |
|---|
| 28 | + bool "Support SPI NOR misc device" |
|---|
| 29 | + default n |
|---|
| 36 | 30 | help |
|---|
| 37 | | - This enables support for the Firmware Memory controller (FMC) |
|---|
| 38 | | - in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips, |
|---|
| 39 | | - and support for the SPI flash memory controller (SPI) for |
|---|
| 40 | | - the host firmware. The implementation only supports SPI NOR. |
|---|
| 31 | + Support obtaining flash information through the ioctl interface |
|---|
| 32 | + of the misc device. |
|---|
| 41 | 33 | |
|---|
| 42 | | -config SPI_ATMEL_QUADSPI |
|---|
| 43 | | - tristate "Atmel Quad SPI Controller" |
|---|
| 44 | | - depends on ARCH_AT91 || (ARM && COMPILE_TEST && !ARCH_EBSA110) |
|---|
| 45 | | - depends on OF && HAS_IOMEM |
|---|
| 46 | | - help |
|---|
| 47 | | - This enables support for the Quad SPI controller in master mode. |
|---|
| 48 | | - This driver does not support generic SPI. The implementation only |
|---|
| 49 | | - supports SPI NOR. |
|---|
| 50 | | - |
|---|
| 51 | | -config SPI_CADENCE_QUADSPI |
|---|
| 52 | | - tristate "Cadence Quad SPI controller" |
|---|
| 53 | | - depends on OF && (ARM || ARM64 || COMPILE_TEST) |
|---|
| 54 | | - help |
|---|
| 55 | | - Enable support for the Cadence Quad SPI Flash controller. |
|---|
| 56 | | - |
|---|
| 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 | | - |
|---|
| 62 | | -config SPI_FSL_QUADSPI |
|---|
| 63 | | - tristate "Freescale Quad SPI controller" |
|---|
| 64 | | - depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST |
|---|
| 65 | | - depends on HAS_IOMEM |
|---|
| 66 | | - help |
|---|
| 67 | | - This enables support for the Quad SPI controller in master mode. |
|---|
| 68 | | - This controller does not support generic SPI. It only supports |
|---|
| 69 | | - SPI NOR. |
|---|
| 70 | | - |
|---|
| 71 | | -config SPI_HISI_SFC |
|---|
| 72 | | - tristate "Hisilicon SPI-NOR Flash Controller(SFC)" |
|---|
| 73 | | - depends on ARCH_HISI || COMPILE_TEST |
|---|
| 74 | | - depends on HAS_IOMEM |
|---|
| 75 | | - help |
|---|
| 76 | | - This enables support for hisilicon SPI-NOR flash controller. |
|---|
| 77 | | - |
|---|
| 78 | | -config SPI_NXP_SPIFI |
|---|
| 79 | | - tristate "NXP SPI Flash Interface (SPIFI)" |
|---|
| 80 | | - depends on OF && (ARCH_LPC18XX || COMPILE_TEST) |
|---|
| 81 | | - depends on HAS_IOMEM |
|---|
| 82 | | - help |
|---|
| 83 | | - Enable support for the NXP LPC SPI Flash Interface controller. |
|---|
| 84 | | - |
|---|
| 85 | | - SPIFI is a specialized controller for connecting serial SPI |
|---|
| 86 | | - Flash. Enable this option if you have a device with a SPIFI |
|---|
| 87 | | - controller and want to access the Flash as a mtd device. |
|---|
| 88 | | - |
|---|
| 89 | | -config SPI_INTEL_SPI |
|---|
| 90 | | - tristate |
|---|
| 91 | | - |
|---|
| 92 | | -config SPI_INTEL_SPI_PCI |
|---|
| 93 | | - tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)" |
|---|
| 94 | | - depends on X86 && PCI |
|---|
| 95 | | - select SPI_INTEL_SPI |
|---|
| 96 | | - help |
|---|
| 97 | | - This enables PCI support for the Intel PCH/PCU SPI controller in |
|---|
| 98 | | - master mode. This controller is present in modern Intel hardware |
|---|
| 99 | | - and is used to hold BIOS and other persistent settings. Using |
|---|
| 100 | | - this driver it is possible to upgrade BIOS directly from Linux. |
|---|
| 101 | | - |
|---|
| 102 | | - Say N here unless you know what you are doing. Overwriting the |
|---|
| 103 | | - SPI flash may render the system unbootable. |
|---|
| 104 | | - |
|---|
| 105 | | - To compile this driver as a module, choose M here: the module |
|---|
| 106 | | - will be called intel-spi-pci. |
|---|
| 107 | | - |
|---|
| 108 | | -config SPI_INTEL_SPI_PLATFORM |
|---|
| 109 | | - tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)" |
|---|
| 110 | | - depends on X86 |
|---|
| 111 | | - select SPI_INTEL_SPI |
|---|
| 112 | | - help |
|---|
| 113 | | - This enables platform support for the Intel PCH/PCU SPI |
|---|
| 114 | | - controller in master mode. This controller is present in modern |
|---|
| 115 | | - Intel hardware and is used to hold BIOS and other persistent |
|---|
| 116 | | - settings. Using this driver it is possible to upgrade BIOS |
|---|
| 117 | | - directly from Linux. |
|---|
| 118 | | - |
|---|
| 119 | | - Say N here unless you know what you are doing. Overwriting the |
|---|
| 120 | | - SPI flash may render the system unbootable. |
|---|
| 121 | | - |
|---|
| 122 | | - To compile this driver as a module, choose M here: the module |
|---|
| 123 | | - will be called intel-spi-platform. |
|---|
| 124 | | - |
|---|
| 125 | | -config SPI_STM32_QUADSPI |
|---|
| 126 | | - tristate "STM32 Quad SPI controller" |
|---|
| 127 | | - depends on ARCH_STM32 || COMPILE_TEST |
|---|
| 128 | | - help |
|---|
| 129 | | - This enables support for the STM32 Quad SPI controller. |
|---|
| 130 | | - We only connect the NOR to this controller. |
|---|
| 34 | +source "drivers/mtd/spi-nor/controllers/Kconfig" |
|---|
| 131 | 35 | |
|---|
| 132 | 36 | endif # MTD_SPI_NOR |
|---|