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