| # SPDX-License-Identifier: GPL-2.0-only |
| menu "Mapping drivers for chip access" |
| depends on MTD!=n |
| depends on HAS_IOMEM |
| |
| config MTD_COMPLEX_MAPPINGS |
| bool "Support non-linear mappings of flash chips" |
| help |
| This causes the chip drivers to allow for complicated |
| paged mappings of flash chips. |
| |
| config MTD_PHYSMAP |
| tristate "Flash device in physical memory map" |
| depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR |
| help |
| This provides a 'mapping' driver which allows the NOR Flash and |
| ROM driver code to communicate with chips which are mapped |
| physically into the CPU's memory. You will need to configure |
| the physical address and size of the flash chips on your |
| particular board as well as the bus width, either statically |
| with config options or at run-time. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called physmap. |
| |
| config MTD_PHYSMAP_COMPAT |
| bool "Physmap compat support" |
| depends on MTD_PHYSMAP |
| default n |
| help |
| Setup a simple mapping via the Kconfig options. Normally the |
| physmap configuration options are done via your board's |
| resource file. |
| |
| If unsure, say N here. |
| |
| config MTD_PHYSMAP_START |
| hex "Physical start address of flash mapping" |
| depends on MTD_PHYSMAP_COMPAT |
| default "0x8000000" |
| help |
| This is the physical memory location at which the flash chips |
| are mapped on your particular target board. Refer to the |
| memory map which should hopefully be in the documentation for |
| your board. |
| |
| config MTD_PHYSMAP_LEN |
| hex "Physical length of flash mapping" |
| depends on MTD_PHYSMAP_COMPAT |
| default "0" |
| help |
| This is the total length of the mapping of the flash chips on |
| your particular board. If there is space, or aliases, in the |
| physical memory map between the chips, this could be larger |
| than the total amount of flash present. Refer to the memory |
| map which should hopefully be in the documentation for your |
| board. |
| |
| config MTD_PHYSMAP_BANKWIDTH |
| int "Bank width in octets" |
| depends on MTD_PHYSMAP_COMPAT |
| default "2" |
| help |
| This is the total width of the data bus of the flash devices |
| in octets. For example, if you have a data bus width of 32 |
| bits, you would set the bus width octet value to 4. This is |
| used internally by the CFI drivers. |
| |
| config MTD_PHYSMAP_OF |
| bool "Memory device in physical memory map based on OF description" |
| depends on OF && MTD_PHYSMAP |
| help |
| This provides a 'mapping' driver which allows the NOR Flash, ROM |
| and RAM driver code to communicate with chips which are mapped |
| physically into the CPU's memory. The mapping description here is |
| taken from OF device tree. |
| |
| config MTD_PHYSMAP_BT1_ROM |
| bool "Baikal-T1 Boot ROMs OF-based physical memory map handling" |
| depends on MTD_PHYSMAP_OF |
| depends on MIPS_BAIKAL_T1 || COMPILE_TEST |
| select MTD_COMPLEX_MAPPINGS |
| select MULTIPLEXER |
| select MUX_MMIO |
| help |
| This provides some extra DT physmap parsing for the Baikal-T1 |
| platforms, some detection and setting up ROMs-specific accessors. |
| |
| config MTD_PHYSMAP_VERSATILE |
| bool "ARM Versatile OF-based physical memory map handling" |
| depends on MTD_PHYSMAP_OF |
| depends on MFD_SYSCON |
| default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW) |
| help |
| This provides some extra DT physmap parsing for the ARM Versatile |
| platforms, basically to add a VPP (write protection) callback so |
| the flash can be taken out of write protection. |
| |
| config MTD_PHYSMAP_GEMINI |
| bool "Cortina Gemini OF-based physical memory map handling" |
| depends on MTD_PHYSMAP_OF |
| depends on MFD_SYSCON |
| select MTD_COMPLEX_MAPPINGS |
| default ARCH_GEMINI |
| help |
| This provides some extra DT physmap parsing for the Gemini |
| platforms, some detection and setting up parallel mode on the |
| external interface. |
| |
| config MTD_PHYSMAP_IXP4XX |
| bool "Intel IXP4xx OF-based physical memory map handling" |
| depends on MTD_PHYSMAP_OF |
| depends on ARM |
| select MTD_COMPLEX_MAPPINGS |
| select MTD_CFI_BE_BYTE_SWAP if CPU_BIG_ENDIAN |
| default ARCH_IXP4XX |
| help |
| This provides some extra DT physmap parsing for the Intel IXP4xx |
| platforms, some elaborate endianness handling in particular. |
| |
| config MTD_PHYSMAP_GPIO_ADDR |
| bool "GPIO-assisted Flash Chip Support" |
| depends on MTD_PHYSMAP |
| depends on GPIOLIB || COMPILE_TEST |
| depends on MTD_COMPLEX_MAPPINGS |
| help |
| Extend the physmap driver to allow flashes to be partially |
| physically addressed and assisted by GPIOs. |
| |
| config MTD_SUN_UFLASH |
| tristate "Sun Microsystems userflash support" |
| depends on SPARC && MTD_CFI && PCI |
| help |
| This provides a 'mapping' driver which supports the way in |
| which user-programmable flash chips are connected on various |
| Sun Microsystems boardsets. This driver will require CFI support |
| in the kernel, so if you did not enable CFI previously, do that now. |
| |
| config MTD_SC520CDP |
| tristate "CFI Flash device mapped on AMD SC520 CDP" |
| depends on (MELAN || COMPILE_TEST) && MTD_CFI |
| help |
| The SC520 CDP board has two banks of CFI-compliant chips and one |
| Dual-in-line JEDEC chip. This 'mapping' driver supports that |
| arrangement, implementing three MTD devices. |
| |
| config MTD_NETSC520 |
| tristate "CFI Flash device mapped on AMD NetSc520" |
| depends on (MELAN || COMPILE_TEST) && MTD_CFI |
| help |
| This enables access routines for the flash chips on the AMD NetSc520 |
| demonstration board. If you have one of these boards and would like |
| to use the flash chips on it, say 'Y'. |
| |
| config MTD_TS5500 |
| tristate "JEDEC Flash device mapped on Technologic Systems TS-5500" |
| depends on TS5500 || COMPILE_TEST |
| select MTD_JEDECPROBE |
| select MTD_CFI_AMDSTD |
| help |
| This provides a driver for the on-board flash of the Technologic |
| System's TS-5500 board. The 2MB flash is split into 3 partitions |
| which are accessed as separate MTD devices. |
| |
| mtd0 and mtd2 are the two BIOS drives, which use the resident |
| flash disk (RFD) flash translation layer. |
| |
| mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL. |
| |
| Note that jumper 3 ("Write Enable Drive A") must be set |
| otherwise detection won't succeed. |
| |
| config MTD_SBC_GXX |
| tristate "CFI Flash device mapped on Arcom SBC-GXx boards" |
| depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS |
| help |
| This provides a driver for the on-board flash of Arcom Control |
| Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. |
| By default the flash is split into 3 partitions which are accessed |
| as separate MTD devices. This board utilizes Intel StrataFlash. |
| More info at |
| <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>. |
| |
| config MTD_PXA2XX |
| tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" |
| depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT |
| help |
| This provides a driver for the NOR flash attached to a PXA2xx chip. |
| |
| config MTD_SCx200_DOCFLASH |
| tristate "Flash device mapped with DOCCS on NatSemi SCx200" |
| depends on SCx200 && MTD_CFI |
| help |
| Enable support for a flash chip mapped using the DOCCS signal on a |
| National Semiconductor SCx200 processor. |
| |
| If you don't know what to do here, say N. |
| |
| If compiled as a module, it will be called scx200_docflash. |
| |
| config MTD_AMD76XROM |
| tristate "BIOS flash chip on AMD76x southbridge" |
| depends on X86 && MTD_JEDECPROBE |
| help |
| Support for treating the BIOS flash chip on AMD76x motherboards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_ICHXROM |
| tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" |
| depends on X86 && MTD_JEDECPROBE |
| help |
| Support for treating the BIOS flash chip on ICHX motherboards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_ESB2ROM |
| tristate "BIOS flash chip on Intel ESB Controller Hub 2" |
| depends on X86 && MTD_JEDECPROBE && PCI |
| help |
| Support for treating the BIOS flash chip on ESB2 motherboards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_CK804XROM |
| tristate "BIOS flash chip on Nvidia CK804" |
| depends on X86 && MTD_JEDECPROBE && PCI |
| help |
| Support for treating the BIOS flash chip on nvidia motherboards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_SCB2_FLASH |
| tristate "BIOS flash chip on Intel SCB2 boards" |
| depends on X86 && MTD_JEDECPROBE && PCI |
| help |
| Support for treating the BIOS flash chip on Intel SCB2 boards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_TSUNAMI |
| tristate "Flash chips on Tsunami TIG bus" |
| depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS |
| help |
| Support for the flash chip on Tsunami TIG bus. |
| |
| config MTD_NETtel |
| tristate "CFI flash device on SnapGear/SecureEdge" |
| depends on X86 && MTD_JEDECPROBE |
| help |
| Support for flash chips on NETtel/SecureEdge/SnapGear boards. |
| |
| config MTD_LANTIQ |
| tristate "Lantiq SoC NOR support" |
| depends on LANTIQ |
| help |
| Support for NOR flash attached to the Lantiq SoC's External Bus Unit. |
| |
| config MTD_L440GX |
| tristate "BIOS flash chip on Intel L440GX boards" |
| depends on X86 && MTD_JEDECPROBE |
| help |
| Support for treating the BIOS flash chip on Intel L440GX motherboards |
| as an MTD device - with this you can reprogram your BIOS. |
| |
| BE VERY CAREFUL. |
| |
| config MTD_CFI_FLAGADM |
| tristate "CFI Flash device mapping on FlagaDM" |
| depends on PPC_8xx && MTD_CFI |
| help |
| Mapping for the Flaga digital module. If you don't have one, ignore |
| this setting. |
| |
| config MTD_SOLUTIONENGINE |
| tristate "CFI Flash device mapped on Hitachi SolutionEngine" |
| depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS |
| help |
| This enables access to the flash chips on the Hitachi SolutionEngine and |
| similar boards. Say 'Y' if you are building a kernel for such a board. |
| |
| config MTD_SA1100 |
| tristate "CFI Flash device mapped on StrongARM SA11x0" |
| depends on MTD_CFI && ARCH_SA1100 |
| help |
| This enables access to the flash chips on most platforms based on |
| the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. |
| If you have such a board, say 'Y'. |
| |
| config MTD_DC21285 |
| tristate "CFI Flash device mapped on DC21285 Footbridge" |
| depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS |
| help |
| This provides a driver for the flash accessed using Intel's |
| 21285 bridge used with Intel's StrongARM processors. More info at |
| <https://www.intel.com/design/bridge/docs/21285_documentation.htm>. |
| |
| config MTD_IXP4XX |
| tristate "CFI Flash device mapped on Intel IXP4xx based systems" |
| depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX && MTD_CFI_ADV_OPTIONS |
| help |
| This enables MTD access to flash devices on platforms based |
| on Intel's IXP4xx family of network processors such as the |
| IXDP425 and Coyote. If you have an IXP4xx based board and |
| would like to use the flash chips on it, say 'Y'. |
| |
| config MTD_IMPA7 |
| tristate "JEDEC Flash device mapped on impA7" |
| depends on ARM && MTD_JEDECPROBE |
| help |
| This enables access to the NOR Flash on the impA7 board of |
| implementa GmbH. If you have such a board, say 'Y' here. |
| |
| # This needs CFI or JEDEC, depending on the cards found. |
| config MTD_PCI |
| tristate "PCI MTD driver" |
| depends on PCI && MTD_COMPLEX_MAPPINGS |
| help |
| Mapping for accessing flash devices on add-in cards like the Intel XScale |
| IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode |
| (please see the manual for the link settings). |
| |
| If you are not sure, say N. |
| |
| config MTD_PCMCIA |
| tristate "PCMCIA MTD driver" |
| depends on PCMCIA && MTD_COMPLEX_MAPPINGS |
| help |
| Map driver for accessing PCMCIA linear flash memory cards. These |
| cards are usually around 4-16MiB in size. This does not include |
| Compact Flash cards which are treated as IDE devices. |
| |
| config MTD_PCMCIA_ANONYMOUS |
| bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" |
| depends on MTD_PCMCIA |
| help |
| If this option is enabled, PCMCIA cards which do not report |
| anything about themselves are assumed to be MTD cards. |
| |
| If unsure, say N. |
| |
| config MTD_UCLINUX |
| bool "Generic uClinux RAM/ROM filesystem support" |
| depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) |
| help |
| Map driver to support image based filesystems for uClinux. |
| |
| config MTD_INTEL_VR_NOR |
| tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0" |
| depends on PCI |
| help |
| Map driver for a NOR flash bank located on the Expansion Bus of the |
| Intel Vermilion Range chipset. |
| |
| config MTD_PLATRAM |
| tristate "Map driver for platform device RAM (mtd-ram)" |
| select MTD_RAM |
| help |
| Map driver for RAM areas described via the platform device |
| system. |
| |
| This selection automatically selects the map_ram driver. |
| |
| config MTD_VMU |
| tristate "Map driver for Dreamcast VMU" |
| depends on MAPLE |
| help |
| This driver enables access to the Dreamcast Visual Memory Unit (VMU). |
| |
| Most Dreamcast users will want to say Y here. |
| |
| To build this as a module select M here, the module will be called |
| vmu-flash. |
| |
| config MTD_PISMO |
| tristate "MTD discovery driver for PISMO modules" |
| depends on I2C |
| depends on ARCH_VERSATILE |
| help |
| This driver allows for discovery of PISMO modules - see |
| <http://www.pismoworld.org/>. These are small modules containing |
| up to five memory devices (eg, SRAM, flash, DOC) described by an |
| I2C EEPROM. |
| |
| This driver does not create any MTD maps itself; instead it |
| creates MTD physmap and MTD SRAM platform devices. If you |
| enable this option, you should consider enabling MTD_PHYSMAP |
| and/or MTD_PLATRAM according to the devices on your module. |
| |
| When built as a module, it will be called pismo.ko |
| |
| endmenu |