Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "Mapping drivers for chip access"
0003         depends on MTD!=n
0004         depends on HAS_IOMEM
0005 
0006 config MTD_COMPLEX_MAPPINGS
0007         bool "Support non-linear mappings of flash chips"
0008         help
0009           This causes the chip drivers to allow for complicated
0010           paged mappings of flash chips.
0011 
0012 config MTD_PHYSMAP
0013         tristate "Flash device in physical memory map"
0014         depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR
0015         help
0016           This provides a 'mapping' driver which allows the NOR Flash and
0017           ROM driver code to communicate with chips which are mapped
0018           physically into the CPU's memory. You will need to configure
0019           the physical address and size of the flash chips on your
0020           particular board as well as the bus width, either statically
0021           with config options or at run-time.
0022 
0023           To compile this driver as a module, choose M here: the
0024           module will be called physmap.
0025 
0026 config MTD_PHYSMAP_COMPAT
0027         bool "Physmap compat support"
0028         depends on MTD_PHYSMAP
0029         default n
0030         help
0031           Setup a simple mapping via the Kconfig options.  Normally the
0032           physmap configuration options are done via your board's
0033           resource file.
0034 
0035           If unsure, say N here.
0036 
0037 config MTD_PHYSMAP_START
0038         hex "Physical start address of flash mapping"
0039         depends on MTD_PHYSMAP_COMPAT
0040         default "0x8000000"
0041         help
0042           This is the physical memory location at which the flash chips
0043           are mapped on your particular target board. Refer to the
0044           memory map which should hopefully be in the documentation for
0045           your board.
0046 
0047 config MTD_PHYSMAP_LEN
0048         hex "Physical length of flash mapping"
0049         depends on MTD_PHYSMAP_COMPAT
0050         default "0"
0051         help
0052           This is the total length of the mapping of the flash chips on
0053           your particular board. If there is space, or aliases, in the
0054           physical memory map between the chips, this could be larger
0055           than the total amount of flash present. Refer to the memory
0056           map which should hopefully be in the documentation for your
0057           board.
0058 
0059 config MTD_PHYSMAP_BANKWIDTH
0060         int "Bank width in octets"
0061         depends on MTD_PHYSMAP_COMPAT
0062         default "2"
0063         help
0064           This is the total width of the data bus of the flash devices
0065           in octets. For example, if you have a data bus width of 32
0066           bits, you would set the bus width octet value to 4. This is
0067           used internally by the CFI drivers.
0068 
0069 config MTD_PHYSMAP_OF
0070         bool "Memory device in physical memory map based on OF description"
0071         depends on OF && MTD_PHYSMAP
0072         help
0073           This provides a 'mapping' driver which allows the NOR Flash, ROM
0074           and RAM driver code to communicate with chips which are mapped
0075           physically into the CPU's memory. The mapping description here is
0076           taken from OF device tree.
0077 
0078 config MTD_PHYSMAP_BT1_ROM
0079         bool "Baikal-T1 Boot ROMs OF-based physical memory map handling"
0080         depends on MTD_PHYSMAP_OF
0081         depends on MIPS_BAIKAL_T1 || COMPILE_TEST
0082         select MTD_COMPLEX_MAPPINGS
0083         select MULTIPLEXER
0084         select MUX_MMIO
0085         help
0086           This provides some extra DT physmap parsing for the Baikal-T1
0087           platforms, some detection and setting up ROMs-specific accessors.
0088 
0089 config MTD_PHYSMAP_VERSATILE
0090         bool "ARM Versatile OF-based physical memory map handling"
0091         depends on MTD_PHYSMAP_OF
0092         depends on MFD_SYSCON
0093         default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW)
0094         help
0095           This provides some extra DT physmap parsing for the ARM Versatile
0096           platforms, basically to add a VPP (write protection) callback so
0097           the flash can be taken out of write protection.
0098 
0099 config MTD_PHYSMAP_GEMINI
0100         bool "Cortina Gemini OF-based physical memory map handling"
0101         depends on MTD_PHYSMAP_OF
0102         depends on MFD_SYSCON
0103         select MTD_COMPLEX_MAPPINGS
0104         default ARCH_GEMINI
0105         help
0106           This provides some extra DT physmap parsing for the Gemini
0107           platforms, some detection and setting up parallel mode on the
0108           external interface.
0109 
0110 config MTD_PHYSMAP_IXP4XX
0111         bool "Intel IXP4xx OF-based physical memory map handling"
0112         depends on MTD_PHYSMAP_OF
0113         depends on ARM
0114         select MTD_COMPLEX_MAPPINGS
0115         select MTD_CFI_BE_BYTE_SWAP if CPU_BIG_ENDIAN
0116         default ARCH_IXP4XX
0117         help
0118           This provides some extra DT physmap parsing for the Intel IXP4xx
0119           platforms, some elaborate endianness handling in particular.
0120 
0121 config MTD_PHYSMAP_GPIO_ADDR
0122         bool "GPIO-assisted Flash Chip Support"
0123         depends on MTD_PHYSMAP
0124         depends on GPIOLIB || COMPILE_TEST
0125         depends on MTD_COMPLEX_MAPPINGS
0126         help
0127           Extend the physmap driver to allow flashes to be partially
0128           physically addressed and assisted by GPIOs.
0129 
0130 config MTD_SUN_UFLASH
0131         tristate "Sun Microsystems userflash support"
0132         depends on SPARC && MTD_CFI && PCI
0133         help
0134           This provides a 'mapping' driver which supports the way in
0135           which user-programmable flash chips are connected on various
0136           Sun Microsystems boardsets.  This driver will require CFI support
0137           in the kernel, so if you did not enable CFI previously, do that now.
0138 
0139 config MTD_SC520CDP
0140         tristate "CFI Flash device mapped on AMD SC520 CDP"
0141         depends on (MELAN || COMPILE_TEST) && MTD_CFI
0142         help
0143           The SC520 CDP board has two banks of CFI-compliant chips and one
0144           Dual-in-line JEDEC chip. This 'mapping' driver supports that
0145           arrangement, implementing three MTD devices.
0146 
0147 config MTD_NETSC520
0148         tristate "CFI Flash device mapped on AMD NetSc520"
0149         depends on (MELAN || COMPILE_TEST) && MTD_CFI
0150         help
0151           This enables access routines for the flash chips on the AMD NetSc520
0152           demonstration board. If you have one of these boards and would like
0153           to use the flash chips on it, say 'Y'.
0154 
0155 config MTD_TS5500
0156         tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
0157         depends on TS5500 || COMPILE_TEST
0158         select MTD_JEDECPROBE
0159         select MTD_CFI_AMDSTD
0160         help
0161           This provides a driver for the on-board flash of the Technologic
0162           System's TS-5500 board. The 2MB flash is split into 3 partitions
0163           which are accessed as separate MTD devices.
0164 
0165           mtd0 and mtd2 are the two BIOS drives, which use the resident
0166           flash disk (RFD) flash translation layer.
0167 
0168           mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
0169 
0170           Note that jumper 3 ("Write Enable Drive A") must be set
0171           otherwise detection won't succeed.
0172 
0173 config MTD_SBC_GXX
0174         tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
0175         depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
0176         help
0177           This provides a driver for the on-board flash of Arcom Control
0178           Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
0179           By default the flash is split into 3 partitions which are accessed
0180           as separate MTD devices. This board utilizes Intel StrataFlash.
0181           More info at
0182           <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
0183 
0184 config MTD_PXA2XX
0185         tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
0186         depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
0187         help
0188           This provides a driver for the NOR flash attached to a PXA2xx chip.
0189 
0190 config MTD_SCx200_DOCFLASH
0191         tristate "Flash device mapped with DOCCS on NatSemi SCx200"
0192         depends on SCx200 && MTD_CFI
0193         help
0194           Enable support for a flash chip mapped using the DOCCS signal on a
0195           National Semiconductor SCx200 processor.
0196 
0197           If you don't know what to do here, say N.
0198 
0199           If compiled as a module, it will be called scx200_docflash.
0200 
0201 config MTD_AMD76XROM
0202         tristate "BIOS flash chip on AMD76x southbridge"
0203         depends on X86 && MTD_JEDECPROBE
0204         help
0205           Support for treating the BIOS flash chip on AMD76x motherboards
0206           as an MTD device - with this you can reprogram your BIOS.
0207 
0208           BE VERY CAREFUL.
0209 
0210 config MTD_ICHXROM
0211         tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
0212         depends on X86 && MTD_JEDECPROBE
0213         help
0214           Support for treating the BIOS flash chip on ICHX motherboards
0215           as an MTD device - with this you can reprogram your BIOS.
0216 
0217           BE VERY CAREFUL.
0218 
0219 config MTD_ESB2ROM
0220         tristate "BIOS flash chip on Intel ESB Controller Hub 2"
0221         depends on X86 && MTD_JEDECPROBE && PCI
0222         help
0223           Support for treating the BIOS flash chip on ESB2 motherboards
0224           as an MTD device - with this you can reprogram your BIOS.
0225 
0226           BE VERY CAREFUL.
0227 
0228 config MTD_CK804XROM
0229         tristate "BIOS flash chip on Nvidia CK804"
0230         depends on X86 && MTD_JEDECPROBE && PCI
0231         help
0232           Support for treating the BIOS flash chip on nvidia motherboards
0233           as an MTD device - with this you can reprogram your BIOS.
0234 
0235           BE VERY CAREFUL.
0236 
0237 config MTD_SCB2_FLASH
0238         tristate "BIOS flash chip on Intel SCB2 boards"
0239         depends on X86 && MTD_JEDECPROBE && PCI
0240         help
0241           Support for treating the BIOS flash chip on Intel SCB2 boards
0242           as an MTD device - with this you can reprogram your BIOS.
0243 
0244           BE VERY CAREFUL.
0245 
0246 config MTD_TSUNAMI
0247         tristate "Flash chips on Tsunami TIG bus"
0248         depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
0249         help
0250           Support for the flash chip on Tsunami TIG bus.
0251 
0252 config MTD_NETtel
0253         tristate "CFI flash device on SnapGear/SecureEdge"
0254         depends on X86 && MTD_JEDECPROBE
0255         help
0256           Support for flash chips on NETtel/SecureEdge/SnapGear boards.
0257 
0258 config MTD_LANTIQ
0259         tristate "Lantiq SoC NOR support"
0260         depends on LANTIQ
0261         help
0262           Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
0263 
0264 config MTD_L440GX
0265         tristate "BIOS flash chip on Intel L440GX boards"
0266         depends on X86 && MTD_JEDECPROBE
0267         help
0268           Support for treating the BIOS flash chip on Intel L440GX motherboards
0269           as an MTD device - with this you can reprogram your BIOS.
0270 
0271           BE VERY CAREFUL.
0272 
0273 config MTD_CFI_FLAGADM
0274         tristate "CFI Flash device mapping on FlagaDM"
0275         depends on PPC_8xx && MTD_CFI
0276         help
0277           Mapping for the Flaga digital module. If you don't have one, ignore
0278           this setting.
0279 
0280 config MTD_SOLUTIONENGINE
0281         tristate "CFI Flash device mapped on Hitachi SolutionEngine"
0282         depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
0283         help
0284           This enables access to the flash chips on the Hitachi SolutionEngine and
0285           similar boards. Say 'Y' if you are building a kernel for such a board.
0286 
0287 config MTD_SA1100
0288         tristate "CFI Flash device mapped on StrongARM SA11x0"
0289         depends on MTD_CFI && ARCH_SA1100
0290         help
0291           This enables access to the flash chips on most platforms based on
0292           the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
0293           If you have such a board, say 'Y'.
0294 
0295 config MTD_DC21285
0296         tristate "CFI Flash device mapped on DC21285 Footbridge"
0297         depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
0298         help
0299           This provides a driver for the flash accessed using Intel's
0300           21285 bridge used with Intel's StrongARM processors. More info at
0301           <https://www.intel.com/design/bridge/docs/21285_documentation.htm>.
0302 
0303 config MTD_IMPA7
0304         tristate "JEDEC Flash device mapped on impA7"
0305         depends on ARM && MTD_JEDECPROBE
0306         help
0307           This enables access to the NOR Flash on the impA7 board of
0308           implementa GmbH. If you have such a board, say 'Y' here.
0309 
0310 # This needs CFI or JEDEC, depending on the cards found.
0311 config MTD_PCI
0312         tristate "PCI MTD driver"
0313         depends on PCI && MTD_COMPLEX_MAPPINGS
0314         help
0315           Mapping for accessing flash devices on add-in cards like the Intel XScale
0316           IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
0317           (please see the manual for the link settings).
0318 
0319           If you are not sure, say N.
0320 
0321 config MTD_PCMCIA
0322         tristate "PCMCIA MTD driver"
0323         depends on PCMCIA && MTD_COMPLEX_MAPPINGS
0324         help
0325           Map driver for accessing PCMCIA linear flash memory cards. These
0326           cards are usually around 4-16MiB in size. This does not include
0327           Compact Flash cards which are treated as IDE devices.
0328 
0329 config MTD_PCMCIA_ANONYMOUS
0330         bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
0331         depends on MTD_PCMCIA
0332         help
0333           If this option is enabled, PCMCIA cards which do not report
0334           anything about themselves are assumed to be MTD cards.
0335 
0336           If unsure, say N.
0337 
0338 config MTD_UCLINUX
0339         bool "Generic uClinux RAM/ROM filesystem support"
0340         depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
0341         help
0342           Map driver to support image based filesystems for uClinux.
0343 
0344 config MTD_INTEL_VR_NOR
0345         tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
0346         depends on PCI
0347         help
0348           Map driver for a NOR flash bank located on the Expansion Bus of the
0349           Intel Vermilion Range chipset.
0350 
0351 config MTD_PLATRAM
0352         tristate "Map driver for platform device RAM (mtd-ram)"
0353         select MTD_RAM
0354         help
0355           Map driver for RAM areas described via the platform device
0356           system.
0357 
0358           This selection automatically selects the map_ram driver.
0359 
0360 config MTD_VMU
0361         tristate "Map driver for Dreamcast VMU"
0362         depends on MAPLE
0363         help
0364           This driver enables access to the Dreamcast Visual Memory Unit (VMU).
0365 
0366           Most Dreamcast users will want to say Y here.
0367 
0368           To build this as a module select M here, the module will be called
0369           vmu-flash.
0370 
0371 config MTD_PISMO
0372         tristate "MTD discovery driver for PISMO modules"
0373         depends on I2C
0374         depends on ARCH_VERSATILE
0375         help
0376           This driver allows for discovery of PISMO modules - see
0377           <http://www.pismoworld.org/>.  These are small modules containing
0378           up to five memory devices (eg, SRAM, flash, DOC) described by an
0379           I2C EEPROM.
0380 
0381           This driver does not create any MTD maps itself; instead it
0382           creates MTD physmap and MTD SRAM platform devices.  If you
0383           enable this option, you should consider enabling MTD_PHYSMAP
0384           and/or MTD_PLATRAM according to the devices on your module.
0385 
0386           When built as a module, it will be called pismo.ko
0387 
0388 endmenu