vserver 1.9.5.x5
[linux-2.6.git] / drivers / mtd / chips / Kconfig
index e1c40ec..d682dbc 100644 (file)
@@ -1,5 +1,5 @@
 # drivers/mtd/chips/Kconfig
 # drivers/mtd/chips/Kconfig
-# $Id: Kconfig,v 1.3 2003/05/28 15:13:24 dwmw2 Exp $
+# $Id: Kconfig,v 1.13 2004/12/01 15:49:10 nico Exp $
 
 menu "RAM/ROM/Flash chip drivers"
        depends on MTD!=n
 
 menu "RAM/ROM/Flash chip drivers"
        depends on MTD!=n
@@ -7,6 +7,7 @@ menu "RAM/ROM/Flash chip drivers"
 config MTD_CFI
        tristate "Detect flash chips by Common Flash Interface (CFI) probe"
        depends on MTD
 config MTD_CFI
        tristate "Detect flash chips by Common Flash Interface (CFI) probe"
        depends on MTD
+       select MTD_GEN_PROBE
        help
          The Common Flash Interface specification was developed by Intel,
          AMD and other flash manufactures that provides a universal method
        help
          The Common Flash Interface specification was developed by Intel,
          AMD and other flash manufactures that provides a universal method
@@ -18,6 +19,7 @@ config MTD_CFI
 config MTD_JEDECPROBE
        tristate "Detect non-CFI AMD/JEDEC-compatible flash chips"
        depends on MTD
 config MTD_JEDECPROBE
        tristate "Detect non-CFI AMD/JEDEC-compatible flash chips"
        depends on MTD
+       select MTD_GEN_PROBE
        help
          This option enables JEDEC-style probing of flash chips which are not
          compatible with the Common Flash Interface, but will use the common
        help
          This option enables JEDEC-style probing of flash chips which are not
          compatible with the Common Flash Interface, but will use the common
@@ -29,8 +31,6 @@ config MTD_JEDECPROBE
 
 config MTD_GEN_PROBE
        tristate
 
 config MTD_GEN_PROBE
        tristate
-       default m if MTD_CFI!=y && !MTD_INTELPROBE && MTD_JEDECPROBE!=y && (MTD_CFI=m || MTD_JEDECPROBE=m)
-       default y if MTD_CFI=y || MTD_INTELPROBE || MTD_JEDECPROBE=y
 
 config MTD_CFI_ADV_OPTIONS
        bool "Flash chip driver advanced configuration options"
 
 config MTD_CFI_ADV_OPTIONS
        bool "Flash chip driver advanced configuration options"
@@ -85,59 +85,72 @@ config MTD_CFI_GEOMETRY
          arrangements of CFI chips. If unsure, say 'N' and all options 
          which are supported by the current code will be enabled.
 
          arrangements of CFI chips. If unsure, say 'N' and all options 
          which are supported by the current code will be enabled.
 
-config MTD_CFI_B1
-       bool "Support  8-bit buswidth"
-       depends on MTD_CFI_GEOMETRY
+config MTD_MAP_BANK_WIDTH_1
+       bool "Support  8-bit buswidth" if MTD_CFI_GEOMETRY
+       default y
        help
          If you wish to support CFI devices on a physical bus which is
          8 bits wide, say 'Y'.
 
        help
          If you wish to support CFI devices on a physical bus which is
          8 bits wide, say 'Y'.
 
-config MTD_CFI_B2
-       bool "Support 16-bit buswidth"
-       depends on MTD_CFI_GEOMETRY
+config MTD_MAP_BANK_WIDTH_2
+       bool "Support 16-bit buswidth" if MTD_CFI_GEOMETRY
+       default y
        help
          If you wish to support CFI devices on a physical bus which is
          16 bits wide, say 'Y'.
 
        help
          If you wish to support CFI devices on a physical bus which is
          16 bits wide, say 'Y'.
 
-config MTD_CFI_B4
-       bool "Support 32-bit buswidth"
-       depends on MTD_CFI_GEOMETRY
+config MTD_MAP_BANK_WIDTH_4
+       bool "Support 32-bit buswidth" if MTD_CFI_GEOMETRY
+       default y
        help
          If you wish to support CFI devices on a physical bus which is
          32 bits wide, say 'Y'.
 
        help
          If you wish to support CFI devices on a physical bus which is
          32 bits wide, say 'Y'.
 
-config MTD_CFI_B8
-       bool "Support 64-bit buswidth"
-       depends on MTD_CFI_GEOMETRY
+config MTD_MAP_BANK_WIDTH_8
+       bool "Support 64-bit buswidth" if MTD_CFI_GEOMETRY
+       default n
        help
          If you wish to support CFI devices on a physical bus which is
          64 bits wide, say 'Y'.
 
        help
          If you wish to support CFI devices on a physical bus which is
          64 bits wide, say 'Y'.
 
+config MTD_MAP_BANK_WIDTH_16
+       bool "Support 128-bit buswidth" if MTD_CFI_GEOMETRY
+       default n
+       help
+         If you wish to support CFI devices on a physical bus which is
+         128 bits wide, say 'Y'.
+
+config MTD_MAP_BANK_WIDTH_32
+       bool "Support 256-bit buswidth" if MTD_CFI_GEOMETRY
+       default n
+       help
+         If you wish to support CFI devices on a physical bus which is
+         256 bits wide, say 'Y'.
+
 config MTD_CFI_I1
 config MTD_CFI_I1
-       bool "Support 1-chip flash interleave" if !MTD_CFI_B1
-       depends on MTD_CFI_GEOMETRY
-       default y if MTD_CFI_B1
+       bool "Support 1-chip flash interleave" if MTD_CFI_GEOMETRY
+       default y
        help
          If your flash chips are not interleaved - i.e. you only have one
          flash chip addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I2
        help
          If your flash chips are not interleaved - i.e. you only have one
          flash chip addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I2
-       bool "Support 2-chip flash interleave"
-       depends on MTD_CFI_GEOMETRY
+       bool "Support 2-chip flash interleave" if MTD_CFI_GEOMETRY
+       default y
        help
          If your flash chips are interleaved in pairs - i.e. you have two
          flash chips addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I4
        help
          If your flash chips are interleaved in pairs - i.e. you have two
          flash chips addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I4
-       bool "Support 4-chip flash interleave"
-       depends on MTD_CFI_GEOMETRY
+       bool "Support 4-chip flash interleave" if MTD_CFI_GEOMETRY
+       default n
        help
          If your flash chips are interleaved in fours - i.e. you have four
          flash chips addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I8
        help
          If your flash chips are interleaved in fours - i.e. you have four
          flash chips addressed by each bus cycle, then say 'Y'.
 
 config MTD_CFI_I8
-       bool "Support 8-chip flash interleave"
-       depends on MTD_CFI_GEOMETRY
+       bool "Support 8-chip flash interleave" if MTD_CFI_GEOMETRY
+       default n
        help
          If your flash chips are interleaved in eights - i.e. you have eight
          flash chips addressed by each bus cycle, then say 'Y'.
        help
          If your flash chips are interleaved in eights - i.e. you have eight
          flash chips addressed by each bus cycle, then say 'Y'.
@@ -145,6 +158,7 @@ config MTD_CFI_I8
 config MTD_CFI_INTELEXT
        tristate "Support for Intel/Sharp flash chips"
        depends on MTD_GEN_PROBE
 config MTD_CFI_INTELEXT
        tristate "Support for Intel/Sharp flash chips"
        depends on MTD_GEN_PROBE
+       select MTD_CFI_UTIL
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
@@ -154,20 +168,46 @@ config MTD_CFI_INTELEXT
 config MTD_CFI_AMDSTD
        tristate "Support for AMD/Fujitsu flash chips"
        depends on MTD_GEN_PROBE
 config MTD_CFI_AMDSTD
        tristate "Support for AMD/Fujitsu flash chips"
        depends on MTD_GEN_PROBE
+       select MTD_CFI_UTIL
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
          provides support for one of those command sets, used on chips 
          including the AMD Am29LV320.
 
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
          provides support for one of those command sets, used on chips 
          including the AMD Am29LV320.
 
+config MTD_CFI_AMDSTD_RETRY
+       int "Retry failed commands (erase/program)"
+       depends on MTD_CFI_AMDSTD
+       default "0"
+       help
+         Some chips, when attached to a shared bus, don't properly filter
+         bus traffic that is destined to other devices.  This broken
+         behavior causes erase and program sequences to be aborted when
+         the sequences are mixed with traffic for other devices.
+
+         SST49LF040 (and related) chips are know to be broken.
+
+config MTD_CFI_AMDSTD_RETRY_MAX
+       int "Max retries of failed commands (erase/program)"
+       depends on MTD_CFI_AMDSTD_RETRY
+       default "0"
+       help
+         If you have an SST49LF040 (or related chip) then this value should
+         be set to at least 1.  This can also be adjusted at driver load
+         time with the retry_cmd_max module parameter.
+
 config MTD_CFI_STAA
        tristate "Support for ST (Advanced Architecture) flash chips"
        depends on MTD_GEN_PROBE
 config MTD_CFI_STAA
        tristate "Support for ST (Advanced Architecture) flash chips"
        depends on MTD_GEN_PROBE
+       select MTD_CFI_UTIL
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
          provides support for one of those command sets.
 
        help
          The Common Flash Interface defines a number of different command
          sets which a CFI-compliant chip may claim to implement. This code
          provides support for one of those command sets.
 
+config MTD_CFI_UTIL
+       tristate
+
 config MTD_RAM
        tristate "Support for RAM chips in bus mapping"
        depends on MTD
 config MTD_RAM
        tristate "Support for RAM chips in bus mapping"
        depends on MTD
@@ -194,6 +234,7 @@ config MTD_ABSENT
          with this driver will return -ENODEV upon access.
 
 config MTD_OBSOLETE_CHIPS
          with this driver will return -ENODEV upon access.
 
 config MTD_OBSOLETE_CHIPS
+       depends on MTD && BROKEN
        bool "Older (theoretically obsoleted now) drivers for non-CFI chips"
        help
          This option does not enable any code directly, but will allow you to
        bool "Older (theoretically obsoleted now) drivers for non-CFI chips"
        help
          This option does not enable any code directly, but will allow you to
@@ -232,5 +273,14 @@ config MTD_JEDEC
          <http://www.jedec.org/> distributes the identification codes for the
          chips.
 
          <http://www.jedec.org/> distributes the identification codes for the
          chips.
 
+config MTD_XIP
+       bool "XIP aware MTD support"
+       depends on !SMP && MTD_CFI_INTELEXT && EXPERIMENTAL
+       default y if XIP_KERNEL
+       help
+         This allows MTD support to work with flash memory which is also
+         used for XIP purposes.  If you're not sure what this is all about
+         then say N.
+
 endmenu
 
 endmenu