Kconfig revision a529b59060862b36a4dae968534e090c6c77272e
1#
2# IDE ATA ATAPI Block device driver configuration
3#
4
5# Select HAVE_IDE if IDE is supported
6config HAVE_IDE
7	def_bool n
8
9menuconfig IDE
10	tristate "ATA/ATAPI/MFM/RLL support"
11	depends on HAVE_IDE
12	depends on BLOCK
13	---help---
14	  If you say Y here, your kernel will be able to manage low cost mass
15	  storage units such as ATA/(E)IDE and ATAPI units. The most common
16	  cases are IDE hard drives and ATAPI CD-ROM drives.
17
18	  If your system is pure SCSI and doesn't use these interfaces, you
19	  can say N here.
20
21	  Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
22	  for mass storage units such as hard disks. It was designed by
23	  Western Digital and Compaq Computer in 1984. It was then named
24	  ST506. Quite a number of disks use the IDE interface.
25
26	  AT Attachment (ATA) is the superset of the IDE specifications.
27	  ST506 was also called ATA-1.
28
29	  Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
30	  ATA-3. It provides support for larger disks (up to 8.4GB by means of
31	  the LBA standard), more disks (4 instead of 2) and for other mass
32	  storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
33	  ATA-4 and provides faster (and more CPU friendly) transfer modes
34	  than previous PIO (Programmed processor Input/Output) from previous
35	  ATA/IDE standards by means of fast DMA controllers.
36
37	  ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
38	  CD-ROM drives, similar in many respects to the SCSI protocol.
39
40	  SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
41	  designed in order to prevent data corruption and disk crash by
42	  detecting pre hardware failure conditions (heat, access time, and
43	  the like...). Disks built since June 1995 may follow this standard.
44	  The kernel itself doesn't manage this; however there are quite a
45	  number of user programs such as smart that can query the status of
46	  SMART parameters from disk drives.
47
48	  To compile this driver as a module, choose M here: the
49	  module will be called ide.
50
51	  For further information, please read <file:Documentation/ide/ide.txt>.
52
53	  If unsure, say Y.
54
55if IDE
56
57config IDE_MAX_HWIFS
58	int "Max IDE interfaces"
59	depends on ALPHA || SUPERH || IA64 || EMBEDDED
60	range 1 10
61	default 4
62	help
63	  This is the maximum number of IDE hardware interfaces that will
64	  be supported by the driver. Make sure it is at least as high as
65	  the number of IDE interfaces in your system.
66
67config BLK_DEV_IDE
68	tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
69	---help---
70	  If you say Y here, you will use the full-featured IDE driver to
71	  control up to ten ATA/IDE interfaces, each being able to serve a
72	  "master" and a "slave" device, for a total of up to twenty ATA/IDE
73	  disk/cdrom/tape/floppy drives.
74
75	  Useful information about large (>540 MB) IDE disks, multiple
76	  interfaces, what to do if ATA/IDE devices are not automatically
77	  detected, sound card ATA/IDE ports, module support, and other
78	  topics, is contained in <file:Documentation/ide/ide.txt>. For detailed
79	  information about hard drives, consult the Disk-HOWTO and the
80	  Multi-Disk-HOWTO, available from
81	  <http://www.tldp.org/docs.html#howto>.
82
83	  To fine-tune ATA/IDE drive/interface parameters for improved
84	  performance, look for the hdparm package at
85	  <ftp://ibiblio.org/pub/Linux/system/hardware/>.
86
87	  To compile this driver as a module, choose M here and read
88	  <file:Documentation/ide/ide.txt>. The module will be called ide-mod.
89	  Do not compile this driver as a module if your root file system (the
90	  one containing the directory /) is located on an IDE device.
91
92	  If you have one or more IDE drives, say Y or M here. If your system
93	  has no IDE drives, or if memory requirements are really tight, you
94	  could say N here, and select the "Old hard disk driver" below
95	  instead to save about 13 KB of memory in the kernel.
96
97if BLK_DEV_IDE
98
99comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
100
101config BLK_DEV_IDE_SATA
102	bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
103	default n
104	---help---
105	  There are two drivers for Serial ATA controllers.
106
107	  The main driver, "libata", uses the SCSI subsystem
108	  and supports most modern SATA controllers. In order to use it
109	  you may take a look at "Serial ATA (prod) and Parallel ATA
110	  (experimental) drivers".
111
112	  The IDE driver (which you are currently configuring) supports
113	  a few first-generation SATA controllers.
114
115	  In order to eliminate conflicts between the two subsystems,
116	  this config option enables the IDE driver's SATA support.
117	  Normally this is disabled, as it is preferred that libata
118	  supports SATA controllers, and this (IDE) driver supports
119	  PATA controllers.
120
121	  If unsure, say N.
122
123config BLK_DEV_IDEDISK
124	tristate "Include IDE/ATA-2 DISK support"
125	---help---
126	  This will include enhanced support for MFM/RLL/IDE hard disks.  If
127	  you have a MFM/RLL/IDE disk, and there is no special reason to use
128	  the old hard disk driver instead, say Y.  If you have an SCSI-only
129	  system, you can say N here.
130
131	  To compile this driver as a module, choose M here: the
132	  module will be called ide-disk.
133	  Do not compile this driver as a module if your root file system
134	  (the one containing the directory /) is located on the IDE disk.
135
136	  If unsure, say Y.
137
138config IDEDISK_MULTI_MODE
139	bool "Use multiple sector mode for Programmed Input/Output by default"
140	help
141	  This setting is irrelevant for most IDE disks, with direct memory
142	  access, to which multiple sector mode does not apply. Multiple sector
143	  mode is a feature of most modern IDE hard drives, permitting the
144	  transfer of multiple sectors per Programmed Input/Output interrupt,
145	  rather than the usual one sector per interrupt. When this feature is
146	  enabled, it can reduce operating system overhead for disk Programmed
147	  Input/Output. On some systems, it also can increase the data
148	  throughput of Programmed Input/Output. Some drives, however, seemed
149	  to run slower with multiple sector mode enabled. Some drives claimed
150	  to support multiple sector mode, but lost data at some settings.
151	  Under rare circumstances, such failures could result in massive
152	  filesystem corruption.
153
154	  If you get the following error, try to say Y here:
155
156	  hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
157	  hda: set_multmode: error=0x04 { DriveStatusError }
158
159	  If in doubt, say N.
160
161config BLK_DEV_IDECS
162	tristate "PCMCIA IDE support"
163	depends on PCMCIA
164	help
165	  Support for Compact Flash cards, outboard IDE disks, tape drives,
166	  and CD-ROM drives connected through a PCMCIA card.
167
168config BLK_DEV_DELKIN
169	tristate "Cardbus IDE support (Delkin/ASKA/Workbit)"
170	depends on CARDBUS && PCI
171	help
172	  Support for Delkin, ASKA, and Workbit Cardbus CompactFlash
173	  Adapters.  This may also work for similar SD and XD adapters.
174
175config BLK_DEV_IDECD
176	tristate "Include IDE/ATAPI CDROM support"
177	---help---
178	  If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
179	  a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
180	  SCSI protocol. Most new CD-ROM drives use ATAPI, including the
181	  NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
182	  double(2X) or better speed drives.
183
184	  If you say Y here, the CD-ROM drive will be identified at boot time
185	  along with other IDE devices, as "hdb" or "hdc", or something
186	  similar (check the boot messages with dmesg). If this is your only
187	  CD-ROM drive, you can say N to all other CD-ROM options, but be sure
188	  to say Y or M to "ISO 9660 CD-ROM file system support".
189
190	  To compile this driver as a module, choose M here: the
191	  module will be called ide-cd.
192
193config BLK_DEV_IDECD_VERBOSE_ERRORS
194	bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
195	depends on BLK_DEV_IDECD
196	default y
197	help
198	  Turn this on to have the driver print out the meanings of the
199	  ATAPI error codes.  This will use up additional 8kB of kernel-space
200	  memory, though.
201
202config BLK_DEV_IDETAPE
203	tristate "Include IDE/ATAPI TAPE support"
204	help
205	  If you have an IDE tape drive using the ATAPI protocol, say Y.
206	  ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
207	  similar to the SCSI protocol.  If you have an SCSI tape drive
208	  however, you can say N here.
209
210	  You should also say Y if you have an OnStream DI-30 tape drive; this
211	  will not work with the SCSI protocol, until there is support for the
212	  SC-30 and SC-50 versions.
213
214	  If you say Y here, the tape drive will be identified at boot time
215	  along with other IDE devices, as "hdb" or "hdc", or something
216	  similar, and will be mapped to a character device such as "ht0"
217	  (check the boot messages with dmesg).  Be sure to consult the
218	  <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
219	  files for usage information.
220
221	  To compile this driver as a module, choose M here: the
222	  module will be called ide-tape.
223
224config BLK_DEV_IDEFLOPPY
225	tristate "Include IDE/ATAPI FLOPPY support"
226	---help---
227	  If you have an IDE floppy drive which uses the ATAPI protocol,
228	  answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
229	  drives, similar to the SCSI protocol.
230
231	  The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
232	  this driver. For information about jumper settings and the question
233	  of when a ZIP drive uses a partition table, see
234	  <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
235	  (ATAPI PD-CD/CDR drives are not supported by this driver; support
236	  for PD-CD/CDR drives is available if you answer Y to
237	  "SCSI emulation support", below).
238
239	  If you say Y here, the FLOPPY drive will be identified along with
240	  other IDE devices, as "hdb" or "hdc", or something similar (check
241	  the boot messages with dmesg).
242
243	  To compile this driver as a module, choose M here: the
244	  module will be called ide-floppy.
245
246config BLK_DEV_IDESCSI
247	tristate "SCSI emulation support"
248	depends on SCSI
249	---help---
250	  WARNING: ide-scsi is no longer needed for cd writing applications!
251	  The 2.6 kernel supports direct writing to ide-cd, which eliminates
252	  the need for ide-scsi + the entire scsi stack just for writing a
253	  cd. The new method is more efficient in every way.
254
255	  This will provide SCSI host adapter emulation for IDE ATAPI devices,
256	  and will allow you to use a SCSI device driver instead of a native
257	  ATAPI driver.
258
259	  This is useful if you have an ATAPI device for which no native
260	  driver has been written (for example, an ATAPI PD-CD drive);
261	  you can then use this emulation together with an appropriate SCSI
262	  device driver. In order to do this, say Y here and to "SCSI support"
263	  and "SCSI generic support", below. You must then provide the kernel
264	  command line "hdx=ide-scsi" (try "man bootparam" or see the
265	  documentation of your boot loader (lilo or loadlin) about how to
266	  pass options to the kernel at boot time) for devices if you want the
267	  native EIDE sub-drivers to skip over the native support, so that
268	  this SCSI emulation can be used instead.
269
270	  Note that this option does NOT allow you to attach SCSI devices to a
271	  box that doesn't have a SCSI host adapter installed.
272
273	  If both this SCSI emulation and native ATAPI support are compiled
274	  into the kernel, the native support will be used.
275
276config BLK_DEV_IDEACPI
277	bool "IDE ACPI support"
278	depends on ACPI
279	---help---
280	  Implement ACPI support for generic IDE devices. On modern
281	  machines ACPI support is required to properly handle ACPI S3 states.
282
283config IDE_TASK_IOCTL
284	bool "IDE Taskfile Access"
285	help
286	  This is a direct raw access to the media.  It is a complex but
287	  elegant solution to test and validate the domain of the hardware and
288	  perform below the driver data recovery if needed.  This is the most
289	  basic form of media-forensics.
290
291	  If you are unsure, say N here.
292
293config IDE_PROC_FS
294	bool "legacy /proc/ide/ support"
295	depends on IDE && PROC_FS
296	default y
297	help
298	  This option enables support for the various files in
299	  /proc/ide.  In Linux 2.6 this has been superseded by
300	  files in sysfs but many legacy applications rely on this.
301
302	  If unsure say Y.
303
304comment "IDE chipset support/bugfixes"
305
306config IDE_GENERIC
307	tristate "generic/default IDE chipset support"
308	depends on ALPHA || X86 || IA64 || M32R || MIPS || PPC32
309	help
310	  If unsure, say N.
311
312config BLK_DEV_PLATFORM
313	tristate "Platform driver for IDE interfaces"
314	help
315	  This is the platform IDE driver, used mostly for Memory Mapped
316	  IDE devices, like Compact Flashes running in True IDE mode.
317
318	  If unsure, say N.
319
320config BLK_DEV_CMD640
321	tristate "CMD640 chipset bugfix/support"
322	depends on X86
323	---help---
324	  The CMD-Technologies CMD640 IDE chip is used on many common 486 and
325	  Pentium motherboards, usually in combination with a "Neptune" or
326	  "SiS" chipset. Unfortunately, it has a number of rather nasty
327	  design flaws that can cause severe data corruption under many common
328	  conditions. Say Y here to include code which tries to automatically
329	  detect and correct the problems under Linux. This option also
330	  enables access to the secondary IDE ports in some CMD640 based
331	  systems.
332
333	  This driver will work automatically in PCI based systems (most new
334	  systems have PCI slots). But if your system uses VESA local bus
335	  (VLB) instead of PCI, you must also supply a kernel boot parameter
336	  to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
337	  bootparam" or see the documentation of your boot loader about how to
338	  pass options to the kernel.)
339
340	  The CMD640 chip is also used on add-in cards by Acculogic, and on
341	  the "CSA-6400E PCI to IDE controller" that some people have. For
342	  details, read <file:Documentation/ide/ide.txt>.
343
344config BLK_DEV_CMD640_ENHANCED
345	bool "CMD640 enhanced support"
346	depends on BLK_DEV_CMD640
347	help
348	  This option includes support for setting/autotuning PIO modes and
349	  prefetch on CMD640 IDE interfaces.  For details, read
350	  <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
351	  and your BIOS does not already do this for you, then say Y here.
352	  Otherwise say N.
353
354config BLK_DEV_IDEPNP
355	tristate "PNP EIDE support"
356	depends on PNP
357	help
358	  If you have a PnP (Plug and Play) compatible EIDE card and
359	  would like the kernel to automatically detect and activate
360	  it, say Y here.
361
362config BLK_DEV_IDEDMA_SFF
363	bool
364
365if PCI
366
367comment "PCI IDE chipsets support"
368
369config BLK_DEV_IDEPCI
370	bool
371
372config IDEPCI_PCIBUS_ORDER
373	bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
374	depends on BLK_DEV_IDE=y && BLK_DEV_IDEPCI
375	default y
376	help
377	  Probe IDE PCI devices in the order in which they appear on the
378	  PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
379	  instead of the order in which IDE PCI host drivers are loaded.
380
381	  Please note that this method of assuring stable naming of
382	  IDE devices is unreliable and use other means for achieving
383	  it (i.e. udev).
384
385	  If in doubt, say N.
386
387# TODO: split it on per host driver config options (or module parameters)
388config BLK_DEV_OFFBOARD
389	bool "Boot off-board chipsets first support (DEPRECATED)"
390	depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT34X || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001)
391	help
392	  Normally, IDE controllers built into the motherboard (on-board
393	  controllers) are assigned to ide0 and ide1 while those on add-in PCI
394	  cards (off-board controllers) are relegated to ide2 and ide3.
395	  Answering Y here will allow you to reverse the situation, with
396	  off-board controllers on ide0/1 and on-board controllers on ide2/3.
397	  This can improve the usability of some boot managers such as lilo
398	  when booting from a drive on an off-board controller.
399
400	  Note that, if you do this, the order of the hd* devices will be
401	  rearranged which may require modification of fstab and other files.
402
403	  Please also note that this method of assuring stable naming of
404	  IDE devices is unreliable and use other means for achieving it
405	  (i.e. udev).
406
407	  If in doubt, say N.
408
409config BLK_DEV_GENERIC
410	tristate "Generic PCI IDE Chipset Support"
411	select BLK_DEV_IDEPCI
412        help
413          This option provides generic support for various PCI IDE Chipsets
414          which otherwise might not be supported.
415
416config BLK_DEV_OPTI621
417	tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
418	depends on EXPERIMENTAL
419	select BLK_DEV_IDEPCI
420	help
421	  This is a driver for the OPTi 82C621 EIDE controller.
422	  Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
423
424config BLK_DEV_RZ1000
425	tristate "RZ1000 chipset bugfix/support"
426	depends on X86
427	select BLK_DEV_IDEPCI
428	help
429	  The PC-Technologies RZ1000 IDE chip is used on many common 486 and
430	  Pentium motherboards, usually along with the "Neptune" chipset.
431	  Unfortunately, it has a rather nasty design flaw that can cause
432	  severe data corruption under many conditions. Say Y here to include
433	  code which automatically detects and corrects the problem under
434	  Linux. This may slow disk throughput by a few percent, but at least
435	  things will operate 100% reliably.
436
437config BLK_DEV_IDEDMA_PCI
438	bool
439	select BLK_DEV_IDEPCI
440	select BLK_DEV_IDEDMA_SFF
441
442config BLK_DEV_AEC62XX
443	tristate "AEC62XX chipset support"
444	select BLK_DEV_IDEDMA_PCI
445	help
446	  This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
447	  IDE controllers. This allows the kernel to change PIO, DMA and UDMA
448	  speeds and to configure the chip to optimum performance.
449
450config BLK_DEV_ALI15X3
451	tristate "ALI M15x3 chipset support"
452	select BLK_DEV_IDEDMA_PCI
453	help
454	  This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
455	  onboard chipsets.  It also tests for Simplex mode and enables
456	  normal dual channel support.
457
458	  Please read the comments at the top of
459	  <file:drivers/ide/pci/alim15x3.c>.
460
461	  If unsure, say N.
462
463config BLK_DEV_AMD74XX
464	tristate "AMD and nVidia IDE support"
465	depends on !ARM
466	select BLK_DEV_IDEDMA_PCI
467	help
468	  This driver adds explicit support for AMD-7xx and AMD-8111 chips
469	  and also for the nVidia nForce chip.  This allows the kernel to
470	  change PIO, DMA and UDMA speeds and to configure the chip to
471	  optimum performance.
472
473config BLK_DEV_ATIIXP
474	tristate "ATI IXP chipset IDE support"
475	depends on X86
476	select BLK_DEV_IDEDMA_PCI
477	help
478	  This driver adds explicit support for ATI IXP chipset.
479	  This allows the kernel to change PIO, DMA and UDMA speeds
480	  and to configure the chip to optimum performance.
481
482	  Say Y here if you have an ATI IXP chipset IDE controller.
483
484config BLK_DEV_CMD64X
485	tristate "CMD64{3|6|8|9} chipset support"
486	select BLK_DEV_IDEDMA_PCI
487	help
488	  Say Y here if you have an IDE controller which uses any of these
489	  chipsets: CMD643, CMD646, or CMD648.
490
491config BLK_DEV_TRIFLEX
492	tristate "Compaq Triflex IDE support"
493	select BLK_DEV_IDEDMA_PCI
494	help
495	  Say Y here if you have a Compaq Triflex IDE controller, such
496	  as those commonly found on Compaq Pentium-Pro systems
497
498config BLK_DEV_CY82C693
499	tristate "CY82C693 chipset support"
500	select BLK_DEV_IDEDMA_PCI
501	help
502	  This driver adds detection and support for the CY82C693 chipset
503	  used on Digital's PC-Alpha 164SX boards.
504
505config BLK_DEV_CS5520
506	tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
507	depends on EXPERIMENTAL
508	select BLK_DEV_IDEDMA_PCI
509	help
510	  Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
511	  5510/5520 chipset. This will automatically be detected and
512	  configured if found.
513
514	  It is safe to say Y to this question.
515
516config BLK_DEV_CS5530
517	tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
518	select BLK_DEV_IDEDMA_PCI
519	help
520	  Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
521	  will automatically be detected and configured if found.
522
523	  It is safe to say Y to this question.
524
525config BLK_DEV_CS5535
526	tristate "AMD CS5535 chipset support"
527	depends on X86 && !X86_64
528	select BLK_DEV_IDEDMA_PCI
529	help
530	  Include support for UDMA on the NSC/AMD CS5535 companion chipset.
531	  This will automatically be detected and configured if found.
532
533	  It is safe to say Y to this question.
534
535config BLK_DEV_HPT34X
536	tristate "HPT34X chipset support"
537	select BLK_DEV_IDEDMA_PCI
538	help
539	  This driver adds up to 4 more EIDE devices sharing a single
540	  interrupt. The HPT343 chipset in its current form is a non-bootable
541	  controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
542	  PCI UDMA controllers. This driver requires dynamic tuning of the
543	  chipset during the ide-probe at boot time. It is reported to support
544	  DVD II drives, by the manufacturer.
545
546config HPT34X_AUTODMA
547	bool "HPT34X AUTODMA support (EXPERIMENTAL)"
548	depends on BLK_DEV_HPT34X && EXPERIMENTAL
549	help
550	  This is a dangerous thing to attempt currently! Please read the
551	  comments at the top of <file:drivers/ide/pci/hpt34x.c>.  If you say Y
552	  here, then say Y to "Use DMA by default when available" as well.
553
554	  If unsure, say N.
555
556config BLK_DEV_HPT366
557	tristate "HPT36X/37X chipset support"
558	select BLK_DEV_IDEDMA_PCI
559	help
560	  HPT366 is an Ultra DMA chipset for ATA-66.
561	  HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
562	  HPT370 is an Ultra DMA chipset for ATA-100.
563	  HPT372 is an Ultra DMA chipset for ATA-100.
564	  HPT374 is an Ultra DMA chipset for ATA-100.
565
566	  This driver adds up to 4 more EIDE devices sharing a single
567	  interrupt.
568
569	  The HPT366 chipset in its current form is bootable. One solution
570	  for this problem are special LILO commands for redirecting the
571	  reference to device 0x80. The other solution is to say Y to "Boot
572	  off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
573	  your mother board has the chipset natively mounted. Regardless one
574	  should use the fore mentioned option and call at LILO.
575
576	  This driver requires dynamic tuning of the chipset during the
577	  ide-probe at boot. It is reported to support DVD II drives, by the
578	  manufacturer.
579
580config BLK_DEV_JMICRON
581	tristate "JMicron JMB36x support"
582	select BLK_DEV_IDEDMA_PCI
583	help
584	  Basic support for the JMicron ATA controllers. For full support
585	  use the libata drivers.
586
587config BLK_DEV_SC1200
588	tristate "National SCx200 chipset support"
589	select BLK_DEV_IDEDMA_PCI
590	help
591	  This driver adds support for the on-board IDE controller on the
592	  National SCx200 series of embedded x86 "Geode" systems.
593
594config BLK_DEV_PIIX
595	tristate "Intel PIIX/ICH chipsets support"
596	select BLK_DEV_IDEDMA_PCI
597	help
598	  This driver adds explicit support for Intel PIIX and ICH chips.
599	  This allows the kernel to change PIO, DMA and UDMA speeds and to
600	  configure the chip to optimum performance.
601
602config BLK_DEV_IT8213
603	tristate "IT8213 IDE support"
604	select BLK_DEV_IDEDMA_PCI
605	help
606	 This driver adds support for the ITE 8213 IDE controller.
607
608config BLK_DEV_IT821X
609	tristate "IT821X IDE support"
610	select BLK_DEV_IDEDMA_PCI
611	help
612	  This driver adds support for the ITE 8211 IDE controller and the
613	  IT 8212 IDE RAID controller in both RAID and pass-through mode.
614
615config BLK_DEV_NS87415
616	tristate "NS87415 chipset support"
617	select BLK_DEV_IDEDMA_PCI
618	help
619	  This driver adds detection and support for the NS87415 chip
620	  (used mainly on SPARC64 and PA-RISC machines).
621
622	  Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
623
624config BLK_DEV_PDC202XX_OLD
625	tristate "PROMISE PDC202{46|62|65|67} support"
626	select BLK_DEV_IDEDMA_PCI
627	help
628	  Promise Ultra33 or PDC20246
629	  Promise Ultra66 or PDC20262
630	  Promise Ultra100 or PDC20265/PDC20267/PDC20268
631
632	  This driver adds up to 4 more EIDE devices sharing a single
633	  interrupt. This add-on card is a bootable PCI UDMA controller. Since
634	  multiple cards can be installed and there are BIOS ROM problems that
635	  happen if the BIOS revisions of all installed cards (three-max) do
636	  not match, the driver attempts to do dynamic tuning of the chipset
637	  at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
638	  for more than one card.
639
640	  Please read the comments at the top of
641	  <file:drivers/ide/pci/pdc202xx_old.c>.
642
643	  If unsure, say N.
644
645config BLK_DEV_PDC202XX_NEW
646	tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
647	select BLK_DEV_IDEDMA_PCI
648
649config BLK_DEV_SVWKS
650	tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
651	select BLK_DEV_IDEDMA_PCI
652	help
653	  This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
654	  chipsets.
655
656config BLK_DEV_SGIIOC4
657	tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
658	depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
659	select BLK_DEV_IDEDMA_PCI
660	help
661	  This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
662	  chipset, which has one channel and can support two devices.
663	  Please say Y here if you have an Altix System from SGI.
664
665config BLK_DEV_SIIMAGE
666	tristate "Silicon Image chipset support"
667	select BLK_DEV_IDEDMA_PCI
668	help
669	  This driver adds PIO/(U)DMA support for the SI CMD680 and SII
670	  3112 (Serial ATA) chips.
671
672config BLK_DEV_SIS5513
673	tristate "SiS5513 chipset support"
674	depends on X86
675	select BLK_DEV_IDEDMA_PCI
676	help
677	  This driver ensures (U)DMA support for SIS5513 chipset family based
678	  mainboards.
679
680	  The following chipsets are supported:
681	  ATA16:  SiS5511, SiS5513
682	  ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
683	  ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
684	  ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
685	  SiS745, SiS750
686
687	  Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
688
689config BLK_DEV_SL82C105
690	tristate "Winbond SL82c105 support"
691	depends on (PPC || ARM)
692	select BLK_DEV_IDEDMA_PCI
693	help
694	  If you have a Winbond SL82c105 IDE controller, say Y here to enable
695	  special configuration for this chip. This is common on various CHRP
696	  motherboards, but could be used elsewhere. If in doubt, say Y.
697
698config BLK_DEV_SLC90E66
699	tristate "SLC90E66 chipset support"
700	select BLK_DEV_IDEDMA_PCI
701	help
702	  This driver ensures (U)DMA support for Victory66 SouthBridges for
703	  SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
704	  The nice thing about it is that you can mix Ultra/DMA/PIO devices
705	  and it will handle timing cycles.  Since this is an improved
706	  look-a-like to the PIIX4 it should be a nice addition.
707
708	  Please read the comments at the top of
709	  <file:drivers/ide/pci/slc90e66.c>.
710
711config BLK_DEV_TRM290
712	tristate "Tekram TRM290 chipset support"
713	select BLK_DEV_IDEDMA_PCI
714	help
715	  This driver adds support for bus master DMA transfers
716	  using the Tekram TRM290 PCI IDE chip. Volunteers are
717	  needed for further tweaking and development.
718	  Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
719
720config BLK_DEV_VIA82CXXX
721	tristate "VIA82CXXX chipset support"
722	select BLK_DEV_IDEDMA_PCI
723	help
724	  This driver adds explicit support for VIA BusMastering IDE chips.
725	  This allows the kernel to change PIO, DMA and UDMA speeds and to
726	  configure the chip to optimum performance.
727
728config BLK_DEV_TC86C001
729	tristate "Toshiba TC86C001 support"
730	select BLK_DEV_IDEDMA_PCI
731	help
732	This driver adds support for Toshiba TC86C001 GOKU-S chip.
733
734config BLK_DEV_CELLEB
735	tristate "Toshiba's Cell Reference Set IDE support"
736	depends on PPC_CELLEB
737	select BLK_DEV_IDEDMA_PCI
738	help
739	  This driver provides support for the on-board IDE controller on
740	  Toshiba Cell Reference Board.
741	  If unsure, say Y.
742
743endif
744
745config BLK_DEV_IDE_PMAC
746	tristate "PowerMac on-board IDE support"
747	depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
748	help
749	  This driver provides support for the on-board IDE controller on
750	  most of the recent Apple Power Macintoshes and PowerBooks.
751	  If unsure, say Y.
752
753config BLK_DEV_IDE_PMAC_ATA100FIRST
754	bool "Probe on-board ATA/100 (Kauai) first"
755	depends on BLK_DEV_IDE_PMAC
756	help
757	  This option will cause the ATA/100 controller found in UniNorth2
758	  based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
759	  to be probed before the ATA/66 and ATA/33 controllers. Without
760	  these, those machine used to have the hard disk on hdc and the
761	  CD-ROM on hda. This option changes this to more natural hda for
762	  hard disk and hdc for CD-ROM.
763
764config BLK_DEV_IDEDMA_PMAC
765	bool "PowerMac IDE DMA support"
766	depends on BLK_DEV_IDE_PMAC
767	select BLK_DEV_IDEDMA_PCI
768	help
769	  This option allows the driver for the on-board IDE controller on
770	  Power Macintoshes and PowerBooks to use DMA (direct memory access)
771	  to transfer data to and from memory.  Saying Y is safe and improves
772	  performance.
773
774config BLK_DEV_IDE_SWARM
775	tristate "IDE for Sibyte evaluation boards"
776	depends on SIBYTE_SB1xxx_SOC
777
778config BLK_DEV_IDE_AU1XXX
779       bool "IDE for AMD Alchemy Au1200"
780       depends on SOC_AU1200
781choice
782       prompt "IDE Mode for AMD Alchemy Au1200"
783       default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
784       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
785
786config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
787       bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
788
789config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
790       bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
791       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
792endchoice
793
794config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
795       int "Maximum transfer size (KB) per request (up to 128)"
796       default "128"
797       depends on BLK_DEV_IDE_AU1XXX
798
799config IDE_ARM
800	tristate "ARM IDE support"
801	depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
802	default y
803
804config BLK_DEV_IDE_ICSIDE
805	tristate "ICS IDE interface support"
806	depends on ARM && ARCH_ACORN
807	help
808	  On Acorn systems, say Y here if you wish to use the ICS IDE
809	  interface card.  This is not required for ICS partition support.
810	  If you are unsure, say N to this.
811
812config BLK_DEV_IDEDMA_ICS
813	bool "ICS DMA support"
814	depends on BLK_DEV_IDE_ICSIDE
815	help
816	  Say Y here if you want to add DMA (Direct Memory Access) support to
817	  the ICS IDE driver.
818
819config BLK_DEV_IDE_RAPIDE
820	tristate "RapIDE interface support"
821	depends on ARM && ARCH_ACORN
822	help
823	  Say Y here if you want to support the Yellowstone RapIDE controller
824	  manufactured for use with Acorn computers.
825
826config BLK_DEV_IDE_BAST
827	tristate "Simtec BAST / Thorcom VR1000 IDE support"
828	depends on ARM && (ARCH_BAST || MACH_VR1000)
829	help
830	  Say Y here if you want to support the onboard IDE channels on the
831	  Simtec BAST or the Thorcom VR1000
832
833config IDE_H8300
834	tristate "H8300 IDE support"
835	depends on H8300
836	default y
837	help
838	  Enables the H8300 IDE driver.
839
840config BLK_DEV_GAYLE
841	tristate "Amiga Gayle IDE interface support"
842	depends on AMIGA
843	help
844	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
845	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
846	  This includes on-board IDE interfaces on some Amiga models (A600,
847	  A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
848	  bus (M-Tech E-Matrix 530 expansion card).
849	  Say Y if you have an Amiga with a Gayle IDE interface and want to use
850	  IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
851	  it.
852	  Note that you also have to enable Zorro bus support if you want to
853	  use Gayle IDE interfaces on the Zorro expansion bus.
854
855config BLK_DEV_IDEDOUBLER
856	bool "Amiga IDE Doubler support (EXPERIMENTAL)"
857	depends on BLK_DEV_GAYLE && EXPERIMENTAL
858	---help---
859	  This feature provides support for the so-called `IDE doublers' (made
860	  by various manufacturers, e.g. Eyetech) that can be connected to
861	  the on-board IDE interface of some Amiga models. Using such an IDE
862	  doubler, you can connect up to four instead of two IDE devices to
863	  the Amiga's on-board IDE interface.
864
865	  Note that the normal Amiga Gayle IDE driver may not work correctly
866	  if you have an IDE doubler and don't enable this feature!
867
868	  Say Y if you have an IDE doubler.  The feature is enabled at kernel
869	  runtime using the "gayle.doubler" kernel boot parameter.
870
871config BLK_DEV_BUDDHA
872	tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
873	depends on ZORRO && EXPERIMENTAL
874	help
875	  This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
876	  and X-Surf expansion boards.  It supports up to two interfaces on the
877	  Buddha, three on the Catweasel and two on the X-Surf.
878
879	  Say Y if you have a Buddha or Catweasel expansion board and want to
880	  use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
881	  to one of its IDE interfaces.
882
883config BLK_DEV_FALCON_IDE
884	tristate "Falcon IDE interface support"
885	depends on ATARI
886	help
887	  This is the IDE driver for the on-board IDE interface on the Atari
888	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
889	  disks, CD-ROM drives, etc.) that are connected to the on-board IDE
890	  interface.
891
892config BLK_DEV_MAC_IDE
893	tristate "Macintosh Quadra/Powerbook IDE interface support"
894	depends on MAC
895	help
896	  This is the IDE driver for the on-board IDE interface on some m68k
897	  Macintosh models. It supports both the `Quadra style' (used in
898	  Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
899	  (used in the Powerbook 150 and 190 models) IDE interface.
900
901	  Say Y if you have such an Macintosh model and want to use IDE
902	  devices (hard disks, CD-ROM drives, etc.) that are connected to the
903	  on-board IDE interface.
904
905config BLK_DEV_Q40IDE
906	tristate "Q40/Q60 IDE interface support"
907	depends on Q40
908	help
909	  Enable the on-board IDE controller in the Q40/Q60.  This should
910	  normally be on; disable it only if you are running a custom hard
911	  drive subsystem through an expansion card.
912
913config BLK_DEV_PALMCHIP_BK3710
914	tristate "Palmchip bk3710 IDE controller support"
915	depends on ARCH_DAVINCI
916	select BLK_DEV_IDEDMA_SFF
917	help
918	  Say Y here if you want to support the onchip IDE controller on the
919	  TI DaVinci SoC
920
921
922config BLK_DEV_MPC8xx_IDE
923	tristate "MPC8xx IDE support"
924	depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
925	help
926	  This option provides support for IDE on Motorola MPC8xx Systems.
927	  Please see 'Type of MPC8xx IDE interface' for details.
928
929	  If unsure, say N.
930
931choice
932	prompt "Type of MPC8xx IDE interface"
933	depends on BLK_DEV_MPC8xx_IDE
934	default IDE_8xx_PCCARD
935
936config IDE_8xx_PCCARD
937	bool "8xx_PCCARD"
938	---help---
939	  Select how the IDE devices are connected to the MPC8xx system:
940
941	  8xx_PCCARD uses the 8xx internal PCMCIA interface in combination
942	  with a PC Card (e.g. ARGOSY portable Hard Disk Adapter),
943	  ATA PC Card HDDs or ATA PC Flash Cards (example: TQM8xxL
944	  systems)
945
946	  8xx_DIRECT is used for directly connected IDE devices using the 8xx
947	  internal PCMCIA interface (example: IVMS8 systems)
948
949	  EXT_DIRECT is used for IDE devices directly connected to the 8xx
950	  bus using some glue logic, but _not_ the 8xx internal
951	  PCMCIA interface (example: IDIF860 systems)
952
953config IDE_8xx_DIRECT
954	bool "8xx_DIRECT"
955
956config IDE_EXT_DIRECT
957	bool "EXT_DIRECT"
958
959endchoice
960
961# no isa -> no vlb
962if ISA && (ALPHA || X86 || MIPS)
963
964comment "Other IDE chipsets support"
965comment "Note: most of these also require special kernel boot parameters"
966
967config BLK_DEV_4DRIVES
968	tristate "Generic 4 drives/port support"
969	help
970	  Certain older chipsets, including the Tekram 690CD, use a single set
971	  of I/O ports at 0x1f0 to control up to four drives, instead of the
972	  customary two drives per port. Support for this can be enabled at
973	  runtime using the "ide-4drives.probe" kernel boot parameter if you
974	  say Y here.
975
976config BLK_DEV_ALI14XX
977	tristate "ALI M14xx support"
978	help
979	  This driver is enabled at runtime using the "ali14xx.probe" kernel
980	  boot parameter.  It enables support for the secondary IDE interface
981	  of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
982	  I/O speeds to be set as well.
983	  See the files <file:Documentation/ide/ide.txt> and
984	  <file:drivers/ide/legacy/ali14xx.c> for more info.
985
986config BLK_DEV_DTC2278
987	tristate "DTC-2278 support"
988	help
989	  This driver is enabled at runtime using the "dtc2278.probe" kernel
990	  boot parameter. It enables support for the secondary IDE interface
991	  of the DTC-2278 card, and permits faster I/O speeds to be set as
992	  well. See the <file:Documentation/ide/ide.txt> and
993	  <file:drivers/ide/legacy/dtc2278.c> files for more info.
994
995config BLK_DEV_HT6560B
996	tristate "Holtek HT6560B support"
997	help
998	  This driver is enabled at runtime using the "ht6560b.probe" kernel
999	  boot parameter. It enables support for the secondary IDE interface
1000	  of the Holtek card, and permits faster I/O speeds to be set as well.
1001	  See the <file:Documentation/ide/ide.txt> and
1002	  <file:drivers/ide/legacy/ht6560b.c> files for more info.
1003
1004config BLK_DEV_QD65XX
1005	tristate "QDI QD65xx support"
1006	help
1007	  This driver is enabled at runtime using the "qd65xx.probe" kernel
1008	  boot parameter.  It permits faster I/O speeds to be set.  See the
1009	  <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
1010	  for more info.
1011
1012config BLK_DEV_UMC8672
1013	tristate "UMC-8672 support"
1014	help
1015	  This driver is enabled at runtime using the "umc8672.probe" kernel
1016	  boot parameter. It enables support for the secondary IDE interface
1017	  of the UMC-8672, and permits faster I/O speeds to be set as well.
1018	  See the files <file:Documentation/ide/ide.txt> and
1019	  <file:drivers/ide/legacy/umc8672.c> for more info.
1020
1021endif
1022
1023config BLK_DEV_IDEDMA
1024	def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
1025		 BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
1026
1027endif
1028
1029config BLK_DEV_HD_ONLY
1030	bool "Old hard disk (MFM/RLL/IDE) driver"
1031	depends on !ARM || ARCH_RPC || ARCH_SHARK || BROKEN
1032	help
1033	  There are two drivers for MFM/RLL/IDE hard disks. Most people use
1034	  the newer enhanced driver, but this old one is still around for two
1035	  reasons. Some older systems have strange timing problems and seem to
1036	  work only with the old driver (which itself does not work with some
1037	  newer systems). The other reason is that the old driver is smaller,
1038	  since it lacks the enhanced functionality of the new one. This makes
1039	  it a good choice for systems with very tight memory restrictions, or
1040	  for systems with only older MFM/RLL/ESDI drives. Choosing the old
1041	  driver can save 13 KB or so of kernel memory.
1042
1043	  If you want to use this driver together with the new one you have
1044	  to use "hda=noprobe hdb=noprobe" kernel parameters to prevent the new
1045	  driver from probing the primary interface.
1046
1047	  If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
1048	  instead of this one. For more detailed information, read the
1049	  Disk-HOWTO, available from
1050	  <http://www.tldp.org/docs.html#howto>.
1051
1052config BLK_DEV_HD
1053	def_bool BLK_DEV_HD_ONLY
1054
1055endif # IDE
1056