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