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 103ce351b5SBayi Chengconfig MTD_MT81xx_NOR 113ce351b5SBayi Cheng tristate "Mediatek MT81xx SPI NOR flash controller" 1215c0be7bSRichard Weinberger depends on HAS_IOMEM 133ce351b5SBayi Cheng help 143ce351b5SBayi Cheng This enables access to SPI NOR flash, using MT81xx SPI NOR flash 153ce351b5SBayi Cheng controller. This controller does not support generic SPI BUS, it only 163ce351b5SBayi Cheng supports SPI NOR Flash. 173ce351b5SBayi Cheng 1857cf26c1SRafał Miłeckiconfig MTD_SPI_NOR_USE_4K_SECTORS 1957cf26c1SRafał Miłecki bool "Use small 4096 B erase sectors" 2057cf26c1SRafał Miłecki default y 2157cf26c1SRafał Miłecki help 2257cf26c1SRafał Miłecki Many flash memories support erasing small (4096 B) sectors. Depending 2357cf26c1SRafał Miłecki on the usage this feature may provide performance gain in comparison 2457cf26c1SRafał Miłecki to erasing whole blocks (32/64 KiB). 2557cf26c1SRafał Miłecki Changing a small part of the flash's contents is usually faster with 2657cf26c1SRafał Miłecki small sectors. On the other hand erasing should be faster when using 2757cf26c1SRafał Miłecki 64 KiB block instead of 16 × 4 KiB sectors. 2857cf26c1SRafał Miłecki 2957cf26c1SRafał Miłecki Please note that some tools/drivers/filesystems may not work with 3057cf26c1SRafał Miłecki 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 3157cf26c1SRafał Miłecki 32ceb720c7SCédric Le Goaterconfig SPI_ASPEED_SMC 33ceb720c7SCédric Le Goater tristate "Aspeed flash controllers in SPI mode" 34ceb720c7SCédric Le Goater depends on ARCH_ASPEED || COMPILE_TEST 35ceb720c7SCédric Le Goater depends on HAS_IOMEM && OF 36ceb720c7SCédric Le Goater help 37ceb720c7SCédric Le Goater This enables support for the Firmware Memory controller (FMC) 38e56beebbSCédric Le Goater in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips, 39ceb720c7SCédric Le Goater and support for the SPI flash memory controller (SPI) for 40ceb720c7SCédric Le Goater the host firmware. The implementation only supports SPI NOR. 41ceb720c7SCédric Le Goater 42161aaab8SCyrille Pitchenconfig SPI_ATMEL_QUADSPI 43161aaab8SCyrille Pitchen tristate "Atmel Quad SPI Controller" 44161aaab8SCyrille Pitchen depends on ARCH_AT91 || (ARM && COMPILE_TEST) 45161aaab8SCyrille Pitchen depends on OF && HAS_IOMEM 46161aaab8SCyrille Pitchen help 47161aaab8SCyrille Pitchen This enables support for the Quad SPI controller in master mode. 48161aaab8SCyrille Pitchen This driver does not support generic SPI. The implementation only 49161aaab8SCyrille Pitchen supports SPI NOR. 50161aaab8SCyrille Pitchen 5114062341SGraham Mooreconfig SPI_CADENCE_QUADSPI 5214062341SGraham Moore tristate "Cadence Quad SPI controller" 530cf17256SMarek Vasut depends on OF && (ARM || COMPILE_TEST) 5414062341SGraham Moore help 5514062341SGraham Moore Enable support for the Cadence Quad SPI Flash controller. 5614062341SGraham Moore 5714062341SGraham Moore Cadence QSPI is a specialized controller for connecting an SPI 5814062341SGraham Moore Flash over 1/2/4-bit wide bus. Enable this option if you have a 5914062341SGraham Moore device with a Cadence QSPI controller and want to access the 6014062341SGraham Moore Flash as an MTD device. 6114062341SGraham Moore 62e46ecda7SHuang Shijieconfig SPI_FSL_QUADSPI 63e46ecda7SHuang Shijie tristate "Freescale Quad SPI controller" 64a578c4f9SYao Yuan depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST 65d26a22d0SBrian Norris depends on HAS_IOMEM 66e46ecda7SHuang Shijie help 67e46ecda7SHuang Shijie This enables support for the Quad SPI controller in master mode. 68842c12ddSFabio Estevam This controller does not support generic SPI. It only supports 69842c12ddSFabio Estevam SPI NOR. 70e43b2061SBrian Norris 71e523f111SJiancheng Xueconfig SPI_HISI_SFC 72e523f111SJiancheng Xue tristate "Hisilicon SPI-NOR Flash Controller(SFC)" 73e523f111SJiancheng Xue depends on ARCH_HISI || COMPILE_TEST 74e523f111SJiancheng Xue depends on HAS_IOMEM && HAS_DMA 75e523f111SJiancheng Xue help 76e523f111SJiancheng Xue This enables support for hisilicon SPI-NOR flash controller. 77e523f111SJiancheng Xue 78f617b958SJoachim Eastwoodconfig SPI_NXP_SPIFI 79f617b958SJoachim Eastwood tristate "NXP SPI Flash Interface (SPIFI)" 80f617b958SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 81f617b958SJoachim Eastwood depends on HAS_IOMEM 82f617b958SJoachim Eastwood help 83f617b958SJoachim Eastwood Enable support for the NXP LPC SPI Flash Interface controller. 84f617b958SJoachim Eastwood 85f617b958SJoachim Eastwood SPIFI is a specialized controller for connecting serial SPI 86f617b958SJoachim Eastwood Flash. Enable this option if you have a device with a SPIFI 87f617b958SJoachim Eastwood controller and want to access the Flash as a mtd device. 88f617b958SJoachim Eastwood 898afda8b2SMika Westerbergconfig SPI_INTEL_SPI 908afda8b2SMika Westerberg tristate 918afda8b2SMika Westerberg 92*fe602838SMika Westerbergconfig SPI_INTEL_SPI_PCI 93*fe602838SMika Westerberg tristate "Intel PCH/PCU SPI flash PCI driver" if EXPERT 94*fe602838SMika Westerberg depends on X86 && PCI 95*fe602838SMika Westerberg select SPI_INTEL_SPI 96*fe602838SMika Westerberg help 97*fe602838SMika Westerberg This enables PCI support for the Intel PCH/PCU SPI controller in 98*fe602838SMika Westerberg master mode. This controller is present in modern Intel hardware 99*fe602838SMika Westerberg and is used to hold BIOS and other persistent settings. Using 100*fe602838SMika Westerberg this driver it is possible to upgrade BIOS directly from Linux. 101*fe602838SMika Westerberg 102*fe602838SMika Westerberg Say N here unless you know what you are doing. Overwriting the 103*fe602838SMika Westerberg SPI flash may render the system unbootable. 104*fe602838SMika Westerberg 105*fe602838SMika Westerberg To compile this driver as a module, choose M here: the module 106*fe602838SMika Westerberg will be called intel-spi-pci. 107*fe602838SMika Westerberg 1088afda8b2SMika Westerbergconfig SPI_INTEL_SPI_PLATFORM 1098afda8b2SMika Westerberg tristate "Intel PCH/PCU SPI flash platform driver" if EXPERT 1108afda8b2SMika Westerberg depends on X86 1118afda8b2SMika Westerberg select SPI_INTEL_SPI 1128afda8b2SMika Westerberg help 1138afda8b2SMika Westerberg This enables platform support for the Intel PCH/PCU SPI 1148afda8b2SMika Westerberg controller in master mode. This controller is present in modern 1158afda8b2SMika Westerberg Intel hardware and is used to hold BIOS and other persistent 1168afda8b2SMika Westerberg settings. Using this driver it is possible to upgrade BIOS 1178afda8b2SMika Westerberg directly from Linux. 1188afda8b2SMika Westerberg 1198afda8b2SMika Westerberg Say N here unless you know what you are doing. Overwriting the 1208afda8b2SMika Westerberg SPI flash may render the system unbootable. 1218afda8b2SMika Westerberg 1228afda8b2SMika Westerberg To compile this driver as a module, choose M here: the module 1238afda8b2SMika Westerberg will be called intel-spi-platform. 1248afda8b2SMika Westerberg 1250d43d7abSLudovic Barreconfig SPI_STM32_QUADSPI 1260d43d7abSLudovic Barre tristate "STM32 Quad SPI controller" 127ddd0503eSBrian Norris depends on ARCH_STM32 || COMPILE_TEST 1280d43d7abSLudovic Barre help 1290d43d7abSLudovic Barre This enables support for the STM32 Quad SPI controller. 1300d43d7abSLudovic Barre We only connect the NOR to this controller. 1310d43d7abSLudovic Barre 132e43b2061SBrian Norrisendif # MTD_SPI_NOR 133