ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / mtd / chips / Kconfig
1 # drivers/mtd/chips/Kconfig
2 # $Id: Kconfig,v 1.3 2003/05/28 15:13:24 dwmw2 Exp $
3
4 menu "RAM/ROM/Flash chip drivers"
5         depends on MTD!=n
6
7 config MTD_CFI
8         tristate "Detect flash chips by Common Flash Interface (CFI) probe"
9         depends on MTD
10         help
11           The Common Flash Interface specification was developed by Intel,
12           AMD and other flash manufactures that provides a universal method
13           for probing the capabilities of flash devices. If you wish to
14           support any device that is CFI-compliant, you need to enable this
15           option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
16           for more information on CFI.
17
18 config MTD_JEDECPROBE
19         tristate "Detect non-CFI AMD/JEDEC-compatible flash chips"
20         depends on MTD
21         help
22           This option enables JEDEC-style probing of flash chips which are not
23           compatible with the Common Flash Interface, but will use the common
24           CFI-targetted flash drivers for any chips which are identified which
25           are in fact compatible in all but the probe method. This actually
26           covers most AMD/Fujitsu-compatible chips, and will shortly cover also
27           non-CFI Intel chips (that code is in MTD CVS and should shortly be sent
28           for inclusion in Linus' tree)
29
30 config MTD_GEN_PROBE
31         tristate
32         default m if MTD_CFI!=y && !MTD_INTELPROBE && MTD_JEDECPROBE!=y && (MTD_CFI=m || MTD_JEDECPROBE=m)
33         default y if MTD_CFI=y || MTD_INTELPROBE || MTD_JEDECPROBE=y
34
35 config MTD_CFI_ADV_OPTIONS
36         bool "Flash chip driver advanced configuration options"
37         depends on MTD_GEN_PROBE
38         help
39           If you need to specify a specific endianness for access to flash
40           chips, or if you wish to reduce the size of the kernel by including
41           support for only specific arrangements of flash chips, say 'Y'. This
42           option does not directly affect the code, but will enable other 
43           configuration options which allow you to do so.
44
45           If unsure, say 'N'.
46
47 choice
48         prompt "Flash cmd/query data swapping"
49         depends on MTD_CFI_ADV_OPTIONS
50         default MTD_CFI_NOSWAP
51
52 config MTD_CFI_NOSWAP
53         bool "NO"
54         ---help---
55           This option defines the way in which the CPU attempts to arrange
56           data bits when writing the 'magic' commands to the chips. Saying
57           'NO', which is the default when CONFIG_MTD_CFI_ADV_OPTIONS isn't
58           enabled, means that the CPU will not do any swapping; the chips
59           are expected to be wired to the CPU in 'host-endian' form. 
60           Specific arrangements are possible with the BIG_ENDIAN_BYTE and
61           LITTLE_ENDIAN_BYTE, if the bytes are reversed.
62
63           If you have a LART, on which the data (and address) lines were
64           connected in a fashion which ensured that the nets were as short
65           as possible, resulting in a bit-shuffling which seems utterly
66           random to the untrained eye, you need the LART_ENDIAN_BYTE option.
67
68           Yes, there really exists something sicker than PDP-endian :)
69
70 config MTD_CFI_BE_BYTE_SWAP
71         bool "BIG_ENDIAN_BYTE"
72
73 config MTD_CFI_LE_BYTE_SWAP
74         bool "LITTLE_ENDIAN_BYTE"
75
76 endchoice
77
78 config MTD_CFI_GEOMETRY
79         bool "Specific CFI Flash geometry selection"
80         depends on MTD_CFI_ADV_OPTIONS
81         help
82           This option does not affect the code directly, but will enable 
83           some other configuration options which would allow you to reduce
84           the size of the kernel by including support for only certain 
85           arrangements of CFI chips. If unsure, say 'N' and all options 
86           which are supported by the current code will be enabled.
87
88 config MTD_CFI_B1
89         bool "Support  8-bit buswidth"
90         depends on MTD_CFI_GEOMETRY
91         help
92           If you wish to support CFI devices on a physical bus which is
93           8 bits wide, say 'Y'.
94
95 config MTD_CFI_B2
96         bool "Support 16-bit buswidth"
97         depends on MTD_CFI_GEOMETRY
98         help
99           If you wish to support CFI devices on a physical bus which is
100           16 bits wide, say 'Y'.
101
102 config MTD_CFI_B4
103         bool "Support 32-bit buswidth"
104         depends on MTD_CFI_GEOMETRY
105         help
106           If you wish to support CFI devices on a physical bus which is
107           32 bits wide, say 'Y'.
108
109 config MTD_CFI_B8
110         bool "Support 64-bit buswidth"
111         depends on MTD_CFI_GEOMETRY
112         help
113           If you wish to support CFI devices on a physical bus which is
114           64 bits wide, say 'Y'.
115
116 config MTD_CFI_I1
117         bool "Support 1-chip flash interleave" if !MTD_CFI_B1
118         depends on MTD_CFI_GEOMETRY
119         default y if MTD_CFI_B1
120         help
121           If your flash chips are not interleaved - i.e. you only have one
122           flash chip addressed by each bus cycle, then say 'Y'.
123
124 config MTD_CFI_I2
125         bool "Support 2-chip flash interleave"
126         depends on MTD_CFI_GEOMETRY
127         help
128           If your flash chips are interleaved in pairs - i.e. you have two
129           flash chips addressed by each bus cycle, then say 'Y'.
130
131 config MTD_CFI_I4
132         bool "Support 4-chip flash interleave"
133         depends on MTD_CFI_GEOMETRY
134         help
135           If your flash chips are interleaved in fours - i.e. you have four
136           flash chips addressed by each bus cycle, then say 'Y'.
137
138 config MTD_CFI_I8
139         bool "Support 8-chip flash interleave"
140         depends on MTD_CFI_GEOMETRY
141         help
142           If your flash chips are interleaved in eights - i.e. you have eight
143           flash chips addressed by each bus cycle, then say 'Y'.
144
145 config MTD_CFI_INTELEXT
146         tristate "Support for Intel/Sharp flash chips"
147         depends on MTD_GEN_PROBE
148         help
149           The Common Flash Interface defines a number of different command
150           sets which a CFI-compliant chip may claim to implement. This code
151           provides support for one of those command sets, used on Intel
152           StrataFlash and other parts.
153
154 config MTD_CFI_AMDSTD
155         tristate "Support for AMD/Fujitsu flash chips"
156         depends on MTD_GEN_PROBE
157         help
158           The Common Flash Interface defines a number of different command
159           sets which a CFI-compliant chip may claim to implement. This code
160           provides support for one of those command sets, used on chips 
161           including the AMD Am29LV320.
162
163 config MTD_CFI_STAA
164         tristate "Support for ST (Advanced Architecture) flash chips"
165         depends on MTD_GEN_PROBE
166         help
167           The Common Flash Interface defines a number of different command
168           sets which a CFI-compliant chip may claim to implement. This code
169           provides support for one of those command sets.
170
171 config MTD_RAM
172         tristate "Support for RAM chips in bus mapping"
173         depends on MTD
174         help
175           This option enables basic support for RAM chips accessed through 
176           a bus mapping driver.
177
178 config MTD_ROM
179         tristate "Support for ROM chips in bus mapping"
180         depends on MTD
181         help
182           This option enables basic support for ROM chips accessed through 
183           a bus mapping driver.
184
185 config MTD_ABSENT
186         tristate "Support for absent chips in bus mapping"
187         depends on MTD
188         help
189           This option enables support for a dummy probing driver used to
190           allocated placeholder MTD devices on systems that have socketed
191           or removable media.  Use of this driver as a fallback chip probe
192           preserves the expected registration order of MTD device nodes on
193           the system regardless of media presence.  Device nodes created
194           with this driver will return -ENODEV upon access.
195
196 config MTD_OBSOLETE_CHIPS
197         bool "Older (theoretically obsoleted now) drivers for non-CFI chips"
198         help
199           This option does not enable any code directly, but will allow you to
200           select some other chip drivers which are now considered obsolete,
201           because the generic CONFIG_JEDECPROBE code above should now detect
202           the chips which are supported by these drivers, and allow the generic
203           CFI-compatible drivers to drive the chips. Say 'N' here unless you have
204           already tried the CONFIG_JEDECPROBE method and reported its failure
205           to the MTD mailing list at <linux-mtd@lists.infradead.org>
206
207 config MTD_AMDSTD
208         tristate "AMD compatible flash chip support (non-CFI)"
209         depends on MTD && MTD_OBSOLETE_CHIPS
210         help
211           This option enables support for flash chips using AMD-compatible
212           commands, including some which are not CFI-compatible and hence 
213           cannot be used with the CONFIG_MTD_CFI_AMDSTD option.
214
215           It also works on AMD compatible chips that do conform to CFI.
216
217 config MTD_SHARP
218         tristate "pre-CFI Sharp chip support"
219         depends on MTD && MTD_OBSOLETE_CHIPS
220         help
221           This option enables support for flash chips using Sharp-compatible
222           commands, including some which are not CFI-compatible and hence 
223           cannot be used with the CONFIG_MTD_CFI_INTELxxx options.
224
225 config MTD_JEDEC
226         tristate "JEDEC device support"
227         depends on MTD && MTD_OBSOLETE_CHIPS
228         help
229           Enable older older JEDEC flash interface devices for self
230           programming flash.  It is commonly used in older AMD chips.  It is
231           only called JEDEC because the JEDEC association
232           <http://www.jedec.org/> distributes the identification codes for the
233           chips.
234
235 endmenu
236