1#
2# IDE ATA ATAPI Block device driver configuration
3#
4
5# Select HAVE_IDE if IDE is supported
6config HAVE_IDE
7	bool
8
9menuconfig IDE
10	tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)"
11	depends on HAVE_IDE
12	depends on BLOCK
13	---help---
14	  If you say Y here, your kernel will be able to manage ATA/(E)IDE and
15	  ATAPI units. The most common cases are IDE hard drives and ATAPI
16	  CD-ROM drives.
17
18	  This subsystem is currently in maintenance mode with only bug fix
19	  changes applied. Users of ATA hardware are encouraged to migrate to
20	  the newer ATA subsystem ("Serial ATA (prod) and Parallel ATA
21	  (experimental) drivers") which is more actively maintained.
22
23	  To compile this driver as a module, choose M here: the
24	  module will be called ide-core.
25
26	  For further information, please read <file:Documentation/ide/ide.txt>.
27
28	  If unsure, say N.
29
30if IDE
31
32comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
33
34config IDE_XFER_MODE
35	bool
36
37config IDE_TIMINGS
38	bool
39	select IDE_XFER_MODE
40
41config IDE_ATAPI
42	bool
43
44config IDE_LEGACY
45	bool
46
47config BLK_DEV_IDE_SATA
48	bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
49	default n
50	---help---
51	  There are two drivers for Serial ATA controllers.
52
53	  The main driver, "libata", uses the SCSI subsystem
54	  and supports most modern SATA controllers. In order to use it
55	  you may take a look at "Serial ATA (prod) and Parallel ATA
56	  (experimental) drivers".
57
58	  The IDE driver (which you are currently configuring) supports
59	  a few first-generation SATA controllers.
60
61	  In order to eliminate conflicts between the two subsystems,
62	  this config option enables the IDE driver's SATA support.
63	  Normally this is disabled, as it is preferred that libata
64	  supports SATA controllers, and this (IDE) driver supports
65	  PATA controllers.
66
67	  If unsure, say N.
68
69config IDE_GD
70	tristate "generic ATA/ATAPI disk support"
71	default y
72	help
73	  Support for ATA/ATAPI disks (including ATAPI floppy drives).
74
75	  To compile this driver as a module, choose M here.
76	  The module will be called ide-gd_mod.
77
78	  If unsure, say Y.
79
80config IDE_GD_ATA
81	bool "ATA disk support"
82	depends on IDE_GD
83	default y
84	help
85	  This will include support for ATA hard disks.
86
87	  If unsure, say Y.
88
89config IDE_GD_ATAPI
90	bool "ATAPI floppy support"
91	depends on IDE_GD
92	select IDE_ATAPI
93	help
94	  This will include support for ATAPI floppy drives
95	  (i.e. Iomega ZIP or MKE LS-120).
96
97	  For information about jumper settings and the question
98	  of when a ZIP drive uses a partition table, see
99	  <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
100
101	  If unsure, say N.
102
103config BLK_DEV_IDECS
104	tristate "PCMCIA IDE support"
105	depends on PCMCIA
106	help
107	  Support for Compact Flash cards, outboard IDE disks, tape drives,
108	  and CD-ROM drives connected through a PCMCIA card.
109
110config BLK_DEV_DELKIN
111	tristate "Cardbus IDE support (Delkin/ASKA/Workbit)"
112	depends on CARDBUS && PCI
113	help
114	  Support for Delkin, ASKA, and Workbit Cardbus CompactFlash
115	  Adapters.  This may also work for similar SD and XD adapters.
116
117config BLK_DEV_IDECD
118	tristate "Include IDE/ATAPI CDROM support"
119	select IDE_ATAPI
120	---help---
121	  If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
122	  a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
123	  SCSI protocol. Most new CD-ROM drives use ATAPI, including the
124	  NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
125	  double(2X) or better speed drives.
126
127	  If you say Y here, the CD-ROM drive will be identified at boot time
128	  along with other IDE devices, as "hdb" or "hdc", or something
129	  similar (check the boot messages with dmesg). If this is your only
130	  CD-ROM drive, you can say N to all other CD-ROM options, but be sure
131	  to say Y or M to "ISO 9660 CD-ROM file system support".
132
133	  To compile this driver as a module, choose M here: the
134	  module will be called ide-cd.
135
136config BLK_DEV_IDECD_VERBOSE_ERRORS
137	bool "Verbose error logging for IDE/ATAPI CDROM driver" if EXPERT
138	depends on BLK_DEV_IDECD
139	default y
140	help
141	  Turn this on to have the driver print out the meanings of the
142	  ATAPI error codes.  This will use up additional 8kB of kernel-space
143	  memory, though.
144
145config BLK_DEV_IDETAPE
146	tristate "Include IDE/ATAPI TAPE support"
147	select IDE_ATAPI
148	help
149	  If you have an IDE tape drive using the ATAPI protocol, say Y.
150	  ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
151	  similar to the SCSI protocol.  If you have an SCSI tape drive
152	  however, you can say N here.
153
154	  You should also say Y if you have an OnStream DI-30 tape drive; this
155	  will not work with the SCSI protocol, until there is support for the
156	  SC-30 and SC-50 versions.
157
158	  If you say Y here, the tape drive will be identified at boot time
159	  along with other IDE devices, as "hdb" or "hdc", or something
160	  similar, and will be mapped to a character device such as "ht0"
161	  (check the boot messages with dmesg).  Be sure to consult the
162	  <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
163	  files for usage information.
164
165	  To compile this driver as a module, choose M here: the
166	  module will be called ide-tape.
167
168config BLK_DEV_IDEACPI
169	bool "IDE ACPI support"
170	depends on ACPI
171	---help---
172	  Implement ACPI support for generic IDE devices. On modern
173	  machines ACPI support is required to properly handle ACPI S3 states.
174
175config IDE_TASK_IOCTL
176	bool "IDE Taskfile Access"
177	help
178	  This is a direct raw access to the media.  It is a complex but
179	  elegant solution to test and validate the domain of the hardware and
180	  perform below the driver data recovery if needed.  This is the most
181	  basic form of media-forensics.
182
183	  If you are unsure, say N here.
184
185config IDE_PROC_FS
186	bool "legacy /proc/ide/ support"
187	depends on IDE && PROC_FS
188	default y
189	help
190	  This option enables support for the various files in
191	  /proc/ide.  In Linux 2.6 this has been superseded by
192	  files in sysfs but many legacy applications rely on this.
193
194	  If unsure say Y.
195
196comment "IDE chipset support/bugfixes"
197
198config IDE_GENERIC
199	tristate "generic/default IDE chipset support"
200	depends on ALPHA || X86 || IA64 || M32R || MIPS || ARCH_RPC || ARCH_SHARK
201	default ARM && (ARCH_RPC || ARCH_SHARK)
202	help
203	  This is the generic IDE driver.  This driver attaches to the
204	  fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
205	  so on).  Please note that if this driver is built into the
206	  kernel or loaded before other ATA (IDE or libata) drivers
207	  and the controller is located at legacy ports, this driver
208	  may grab those ports and thus can prevent the controller
209	  specific driver from attaching.
210
211	  Also, currently, IDE generic doesn't allow IRQ sharing
212	  meaning that the IRQs it grabs won't be available to other
213	  controllers sharing those IRQs which usually makes drivers
214	  for those controllers fail.  Generally, it's not a good idea
215	  to load IDE generic driver on modern systems.
216
217	  If unsure, say N.
218
219config BLK_DEV_PLATFORM
220	tristate "Platform driver for IDE interfaces"
221	help
222	  This is the platform IDE driver, used mostly for Memory Mapped
223	  IDE devices, like Compact Flashes running in True IDE mode.
224
225	  If unsure, say N.
226
227config BLK_DEV_CMD640
228	tristate "CMD640 chipset bugfix/support"
229	depends on X86
230	select IDE_TIMINGS
231	---help---
232	  The CMD-Technologies CMD640 IDE chip is used on many common 486 and
233	  Pentium motherboards, usually in combination with a "Neptune" or
234	  "SiS" chipset. Unfortunately, it has a number of rather nasty
235	  design flaws that can cause severe data corruption under many common
236	  conditions. Say Y here to include code which tries to automatically
237	  detect and correct the problems under Linux. This option also
238	  enables access to the secondary IDE ports in some CMD640 based
239	  systems.
240
241	  This driver will work automatically in PCI based systems (most new
242	  systems have PCI slots). But if your system uses VESA local bus
243	  (VLB) instead of PCI, you must also supply a kernel boot parameter
244	  to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
245	  bootparam" or see the documentation of your boot loader about how to
246	  pass options to the kernel.)
247
248	  The CMD640 chip is also used on add-in cards by Acculogic, and on
249	  the "CSA-6400E PCI to IDE controller" that some people have. For
250	  details, read <file:Documentation/ide/ide.txt>.
251
252config BLK_DEV_CMD640_ENHANCED
253	bool "CMD640 enhanced support"
254	depends on BLK_DEV_CMD640
255	help
256	  This option includes support for setting/autotuning PIO modes and
257	  prefetch on CMD640 IDE interfaces.  For details, read
258	  <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
259	  and your BIOS does not already do this for you, then say Y here.
260	  Otherwise say N.
261
262config BLK_DEV_IDEPNP
263	tristate "PNP EIDE support"
264	depends on PNP
265	help
266	  If you have a PnP (Plug and Play) compatible EIDE card and
267	  would like the kernel to automatically detect and activate
268	  it, say Y here.
269
270config BLK_DEV_IDEDMA_SFF
271	bool
272
273if PCI
274
275comment "PCI IDE chipsets support"
276
277config BLK_DEV_IDEPCI
278	bool
279
280config IDEPCI_PCIBUS_ORDER
281	bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
282	depends on IDE=y && BLK_DEV_IDEPCI
283	default y
284	help
285	  Probe IDE PCI devices in the order in which they appear on the
286	  PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
287	  instead of the order in which IDE PCI host drivers are loaded.
288
289	  Please note that this method of assuring stable naming of
290	  IDE devices is unreliable and use other means for achieving
291	  it (i.e. udev).
292
293	  If in doubt, say N.
294
295# TODO: split it on per host driver config options (or module parameters)
296config BLK_DEV_OFFBOARD
297	bool "Boot off-board chipsets first support (DEPRECATED)"
298	depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001)
299	help
300	  Normally, IDE controllers built into the motherboard (on-board
301	  controllers) are assigned to ide0 and ide1 while those on add-in PCI
302	  cards (off-board controllers) are relegated to ide2 and ide3.
303	  Answering Y here will allow you to reverse the situation, with
304	  off-board controllers on ide0/1 and on-board controllers on ide2/3.
305	  This can improve the usability of some boot managers such as lilo
306	  when booting from a drive on an off-board controller.
307
308	  Note that, if you do this, the order of the hd* devices will be
309	  rearranged which may require modification of fstab and other files.
310
311	  Please also note that this method of assuring stable naming of
312	  IDE devices is unreliable and use other means for achieving it
313	  (i.e. udev).
314
315	  If in doubt, say N.
316
317config BLK_DEV_GENERIC
318	tristate "Generic PCI IDE Chipset Support"
319	select BLK_DEV_IDEPCI
320        help
321          This option provides generic support for various PCI IDE Chipsets
322          which otherwise might not be supported.
323
324config BLK_DEV_OPTI621
325	tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
326	depends on EXPERIMENTAL
327	select BLK_DEV_IDEPCI
328	help
329	  This is a driver for the OPTi 82C621 EIDE controller.
330	  Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
331
332config BLK_DEV_RZ1000
333	tristate "RZ1000 chipset bugfix/support"
334	depends on X86
335	select BLK_DEV_IDEPCI
336	help
337	  The PC-Technologies RZ1000 IDE chip is used on many common 486 and
338	  Pentium motherboards, usually along with the "Neptune" chipset.
339	  Unfortunately, it has a rather nasty design flaw that can cause
340	  severe data corruption under many conditions. Say Y here to include
341	  code which automatically detects and corrects the problem under
342	  Linux. This may slow disk throughput by a few percent, but at least
343	  things will operate 100% reliably.
344
345config BLK_DEV_IDEDMA_PCI
346	bool
347	select BLK_DEV_IDEPCI
348	select BLK_DEV_IDEDMA_SFF
349
350config BLK_DEV_AEC62XX
351	tristate "AEC62XX chipset support"
352	select BLK_DEV_IDEDMA_PCI
353	help
354	  This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
355	  IDE controllers. This allows the kernel to change PIO, DMA and UDMA
356	  speeds and to configure the chip to optimum performance.
357
358config BLK_DEV_ALI15X3
359	tristate "ALI M15x3 chipset support"
360	select IDE_TIMINGS
361	select BLK_DEV_IDEDMA_PCI
362	help
363	  This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
364	  onboard chipsets.  It also tests for Simplex mode and enables
365	  normal dual channel support.
366
367	  Please read the comments at the top of
368	  <file:drivers/ide/pci/alim15x3.c>.
369
370	  If unsure, say N.
371
372config BLK_DEV_AMD74XX
373	tristate "AMD and nVidia IDE support"
374	depends on !ARM
375	select IDE_TIMINGS
376	select BLK_DEV_IDEDMA_PCI
377	help
378	  This driver adds explicit support for AMD-7xx and AMD-8111 chips
379	  and also for the nVidia nForce chip.  This allows the kernel to
380	  change PIO, DMA and UDMA speeds and to configure the chip to
381	  optimum performance.
382
383config BLK_DEV_ATIIXP
384	tristate "ATI IXP chipset IDE support"
385	depends on X86
386	select BLK_DEV_IDEDMA_PCI
387	help
388	  This driver adds explicit support for ATI IXP chipset.
389	  This allows the kernel to change PIO, DMA and UDMA speeds
390	  and to configure the chip to optimum performance.
391
392	  Say Y here if you have an ATI IXP chipset IDE controller.
393
394config BLK_DEV_CMD64X
395	tristate "CMD64{3|6|8|9} chipset support"
396	select IDE_TIMINGS
397	select BLK_DEV_IDEDMA_PCI
398	help
399	  Say Y here if you have an IDE controller which uses any of these
400	  chipsets: CMD643, CMD646, or CMD648.
401
402config BLK_DEV_TRIFLEX
403	tristate "Compaq Triflex IDE support"
404	select BLK_DEV_IDEDMA_PCI
405	help
406	  Say Y here if you have a Compaq Triflex IDE controller, such
407	  as those commonly found on Compaq Pentium-Pro systems
408
409config BLK_DEV_CY82C693
410	tristate "CY82C693 chipset support"
411	depends on ALPHA
412	select IDE_TIMINGS
413	select BLK_DEV_IDEDMA_PCI
414	help
415	  This driver adds detection and support for the CY82C693 chipset
416	  used on Digital's PC-Alpha 164SX boards.
417
418config BLK_DEV_CS5520
419	tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
420	depends on EXPERIMENTAL
421	select BLK_DEV_IDEDMA_PCI
422	help
423	  Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
424	  5510/5520 chipset. This will automatically be detected and
425	  configured if found.
426
427	  It is safe to say Y to this question.
428
429config BLK_DEV_CS5530
430	tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
431	select BLK_DEV_IDEDMA_PCI
432	help
433	  Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
434	  will automatically be detected and configured if found.
435
436	  It is safe to say Y to this question.
437
438config BLK_DEV_CS5535
439	tristate "AMD CS5535 chipset support"
440	depends on X86 && !X86_64
441	select BLK_DEV_IDEDMA_PCI
442	help
443	  Include support for UDMA on the NSC/AMD CS5535 companion chipset.
444	  This will automatically be detected and configured if found.
445
446	  It is safe to say Y to this question.
447
448config BLK_DEV_CS5536
449	tristate "CS5536 chipset support"
450	depends on X86_32
451	select BLK_DEV_IDEDMA_PCI
452	help
453	  This option enables support for the AMD CS5536
454	  companion chip used with the Geode LX processor family.
455
456	  If unsure, say N.
457
458config BLK_DEV_HPT366
459	tristate "HPT36X/37X chipset support"
460	select BLK_DEV_IDEDMA_PCI
461	help
462	  HPT366 is an Ultra DMA chipset for ATA-66.
463	  HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
464	  HPT370 is an Ultra DMA chipset for ATA-100.
465	  HPT372 is an Ultra DMA chipset for ATA-100.
466	  HPT374 is an Ultra DMA chipset for ATA-100.
467
468	  This driver adds up to 4 more EIDE devices sharing a single
469	  interrupt.
470
471	  The HPT366 chipset in its current form is bootable. One solution
472	  for this problem are special LILO commands for redirecting the
473	  reference to device 0x80. The other solution is to say Y to "Boot
474	  off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
475	  your mother board has the chipset natively mounted. Regardless one
476	  should use the fore mentioned option and call at LILO.
477
478	  This driver requires dynamic tuning of the chipset during the
479	  ide-probe at boot. It is reported to support DVD II drives, by the
480	  manufacturer.
481
482config BLK_DEV_JMICRON
483	tristate "JMicron JMB36x support"
484	select BLK_DEV_IDEDMA_PCI
485	help
486	  Basic support for the JMicron ATA controllers. For full support
487	  use the libata drivers.
488
489config BLK_DEV_SC1200
490	tristate "National SCx200 chipset support"
491	select BLK_DEV_IDEDMA_PCI
492	help
493	  This driver adds support for the on-board IDE controller on the
494	  National SCx200 series of embedded x86 "Geode" systems.
495
496config BLK_DEV_PIIX
497	tristate "Intel PIIX/ICH chipsets support"
498	select BLK_DEV_IDEDMA_PCI
499	help
500	  This driver adds explicit support for Intel PIIX and ICH chips.
501	  This allows the kernel to change PIO, DMA and UDMA speeds and to
502	  configure the chip to optimum performance.
503
504config BLK_DEV_IT8172
505	tristate "IT8172 IDE support"
506	select BLK_DEV_IDEDMA_PCI
507	help
508	  This driver adds support for the IDE controller on the
509	  IT8172 System Controller.
510
511config BLK_DEV_IT8213
512	tristate "IT8213 IDE support"
513	select BLK_DEV_IDEDMA_PCI
514	help
515	 This driver adds support for the ITE 8213 IDE controller.
516
517config BLK_DEV_IT821X
518	tristate "IT821X IDE support"
519	select BLK_DEV_IDEDMA_PCI
520	help
521	  This driver adds support for the ITE 8211 IDE controller and the
522	  IT 8212 IDE RAID controller in both RAID and pass-through mode.
523
524config BLK_DEV_NS87415
525	tristate "NS87415 chipset support"
526	select BLK_DEV_IDEDMA_PCI
527	help
528	  This driver adds detection and support for the NS87415 chip
529	  (used mainly on SPARC64 and PA-RISC machines).
530
531	  Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
532
533config BLK_DEV_PDC202XX_OLD
534	tristate "PROMISE PDC202{46|62|65|67} support"
535	select BLK_DEV_IDEDMA_PCI
536	help
537	  Promise Ultra33 or PDC20246
538	  Promise Ultra66 or PDC20262
539	  Promise Ultra100 or PDC20265/PDC20267/PDC20268
540
541	  This driver adds up to 4 more EIDE devices sharing a single
542	  interrupt. This add-on card is a bootable PCI UDMA controller. Since
543	  multiple cards can be installed and there are BIOS ROM problems that
544	  happen if the BIOS revisions of all installed cards (three-max) do
545	  not match, the driver attempts to do dynamic tuning of the chipset
546	  at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
547	  for more than one card.
548
549	  Please read the comments at the top of
550	  <file:drivers/ide/pci/pdc202xx_old.c>.
551
552	  If unsure, say N.
553
554config BLK_DEV_PDC202XX_NEW
555	tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
556	select BLK_DEV_IDEDMA_PCI
557
558config BLK_DEV_SVWKS
559	tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
560	select BLK_DEV_IDEDMA_PCI
561	help
562	  This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
563	  chipsets.
564
565config BLK_DEV_SGIIOC4
566	tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
567	depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
568	select BLK_DEV_IDEDMA_PCI
569	help
570	  This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
571	  chipset, which has one channel and can support two devices.
572	  Please say Y here if you have an Altix System from SGI.
573
574config BLK_DEV_SIIMAGE
575	tristate "Silicon Image chipset support"
576	select BLK_DEV_IDEDMA_PCI
577	help
578	  This driver adds PIO/(U)DMA support for the SI CMD680 and SII
579	  3112 (Serial ATA) chips.
580
581config BLK_DEV_SIS5513
582	tristate "SiS5513 chipset support"
583	depends on X86
584	select BLK_DEV_IDEDMA_PCI
585	help
586	  This driver ensures (U)DMA support for SIS5513 chipset family based
587	  mainboards.
588
589	  The following chipsets are supported:
590	  ATA16:  SiS5511, SiS5513
591	  ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
592	  ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
593	  ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
594	  SiS745, SiS750
595
596	  Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
597
598config BLK_DEV_SL82C105
599	tristate "Winbond SL82c105 support"
600	depends on (PPC || ARM)
601	select IDE_TIMINGS
602	select BLK_DEV_IDEDMA_PCI
603	help
604	  If you have a Winbond SL82c105 IDE controller, say Y here to enable
605	  special configuration for this chip. This is common on various CHRP
606	  motherboards, but could be used elsewhere. If in doubt, say Y.
607
608config BLK_DEV_SLC90E66
609	tristate "SLC90E66 chipset support"
610	select BLK_DEV_IDEDMA_PCI
611	help
612	  This driver ensures (U)DMA support for Victory66 SouthBridges for
613	  SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
614	  The nice thing about it is that you can mix Ultra/DMA/PIO devices
615	  and it will handle timing cycles.  Since this is an improved
616	  look-a-like to the PIIX4 it should be a nice addition.
617
618	  Please read the comments at the top of
619	  <file:drivers/ide/pci/slc90e66.c>.
620
621config BLK_DEV_TRM290
622	tristate "Tekram TRM290 chipset support"
623	select BLK_DEV_IDEDMA_PCI
624	help
625	  This driver adds support for bus master DMA transfers
626	  using the Tekram TRM290 PCI IDE chip. Volunteers are
627	  needed for further tweaking and development.
628	  Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
629
630config BLK_DEV_VIA82CXXX
631	tristate "VIA82CXXX chipset support"
632	select IDE_TIMINGS
633	select BLK_DEV_IDEDMA_PCI
634	help
635	  This driver adds explicit support for VIA BusMastering IDE chips.
636	  This allows the kernel to change PIO, DMA and UDMA speeds and to
637	  configure the chip to optimum performance.
638
639config BLK_DEV_TC86C001
640	tristate "Toshiba TC86C001 support"
641	select BLK_DEV_IDEDMA_PCI
642	help
643	This driver adds support for Toshiba TC86C001 GOKU-S chip.
644
645config BLK_DEV_CELLEB
646	tristate "Toshiba's Cell Reference Set IDE support"
647	depends on PPC_CELLEB
648	select BLK_DEV_IDEDMA_PCI
649	help
650	  This driver provides support for the on-board IDE controller on
651	  Toshiba Cell Reference Board.
652	  If unsure, say Y.
653
654endif
655
656# TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF
657config BLK_DEV_IDE_PMAC
658	tristate "PowerMac on-board IDE support"
659	depends on PPC_PMAC
660	select IDE_TIMINGS
661	select BLK_DEV_IDEDMA_PCI
662	help
663	  This driver provides support for the on-board IDE controller on
664	  most of the recent Apple Power Macintoshes and PowerBooks.
665	  If unsure, say Y.
666
667config BLK_DEV_IDE_PMAC_ATA100FIRST
668	bool "Probe on-board ATA/100 (Kauai) first"
669	depends on BLK_DEV_IDE_PMAC
670	help
671	  This option will cause the ATA/100 controller found in UniNorth2
672	  based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
673	  to be probed before the ATA/66 and ATA/33 controllers. Without
674	  these, those machine used to have the hard disk on hdc and the
675	  CD-ROM on hda. This option changes this to more natural hda for
676	  hard disk and hdc for CD-ROM.
677
678config BLK_DEV_IDE_AU1XXX
679       bool "IDE for AMD Alchemy Au1200"
680       depends on SOC_AU1200
681       select IDE_XFER_MODE
682choice
683       prompt "IDE Mode for AMD Alchemy Au1200"
684       default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
685       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
686
687config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
688       bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
689
690config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
691       bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
692       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
693endchoice
694
695config BLK_DEV_IDE_TX4938
696	tristate "TX4938 internal IDE support"
697	depends on SOC_TX4938
698	select IDE_TIMINGS
699
700config BLK_DEV_IDE_TX4939
701	tristate "TX4939 internal IDE support"
702	depends on SOC_TX4939
703	select BLK_DEV_IDEDMA_SFF
704
705config BLK_DEV_IDE_AT91
706	tristate "Atmel AT91 (SAM9, CAP9, AT572D940HF) IDE support"
707	depends on ARM && ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_AT91X40
708	select IDE_TIMINGS
709
710config BLK_DEV_IDE_ICSIDE
711	tristate "ICS IDE interface support"
712	depends on ARM && ARCH_ACORN
713	help
714	  On Acorn systems, say Y here if you wish to use the ICS IDE
715	  interface card.  This is not required for ICS partition support.
716	  If you are unsure, say N to this.
717
718config BLK_DEV_IDEDMA_ICS
719	bool "ICS DMA support"
720	depends on BLK_DEV_IDE_ICSIDE
721	help
722	  Say Y here if you want to add DMA (Direct Memory Access) support to
723	  the ICS IDE driver.
724
725config BLK_DEV_IDE_RAPIDE
726	tristate "RapIDE interface support"
727	depends on ARM && ARCH_ACORN
728	help
729	  Say Y here if you want to support the Yellowstone RapIDE controller
730	  manufactured for use with Acorn computers.
731
732config IDE_H8300
733	tristate "H8300 IDE support"
734	depends on H8300
735	default y
736	help
737	  Enables the H8300 IDE driver.
738
739config BLK_DEV_GAYLE
740	tristate "Amiga Gayle IDE interface support"
741	depends on AMIGA
742	help
743	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
744	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
745	  This includes on-board IDE interfaces on some Amiga models (A600,
746	  A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
747	  bus (M-Tech E-Matrix 530 expansion card).
748
749	  It also provides support for the so-called `IDE doublers' (made
750	  by various manufacturers, e.g. Eyetech) that can be connected to
751	  the on-board IDE interface of some Amiga models. Using such an IDE
752	  doubler, you can connect up to four instead of two IDE devices to
753	  the Amiga's on-board IDE interface. The feature is enabled at kernel
754	  runtime using the "gayle.doubler" kernel boot parameter.
755
756	  Say Y if you have an Amiga with a Gayle IDE interface and want to use
757	  IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
758	  it.
759
760	  Note that you also have to enable Zorro bus support if you want to
761	  use Gayle IDE interfaces on the Zorro expansion bus.
762
763config BLK_DEV_BUDDHA
764	tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
765	depends on ZORRO && EXPERIMENTAL
766	help
767	  This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
768	  and X-Surf expansion boards.  It supports up to two interfaces on the
769	  Buddha, three on the Catweasel and two on the X-Surf.
770
771	  Say Y if you have a Buddha or Catweasel expansion board and want to
772	  use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
773	  to one of its IDE interfaces.
774
775config BLK_DEV_FALCON_IDE
776	tristate "Falcon IDE interface support"
777	depends on ATARI
778	help
779	  This is the IDE driver for the on-board IDE interface on the Atari
780	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
781	  disks, CD-ROM drives, etc.) that are connected to the on-board IDE
782	  interface.
783
784config BLK_DEV_MAC_IDE
785	tristate "Macintosh Quadra/Powerbook IDE interface support"
786	depends on MAC
787	help
788	  This is the IDE driver for the on-board IDE interface on some m68k
789	  Macintosh models. It supports both the `Quadra style' (used in
790	  Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
791	  (used in the Powerbook 150 and 190 models) IDE interface.
792
793	  Say Y if you have such an Macintosh model and want to use IDE
794	  devices (hard disks, CD-ROM drives, etc.) that are connected to the
795	  on-board IDE interface.
796
797config BLK_DEV_Q40IDE
798	tristate "Q40/Q60 IDE interface support"
799	depends on Q40
800	help
801	  Enable the on-board IDE controller in the Q40/Q60.  This should
802	  normally be on; disable it only if you are running a custom hard
803	  drive subsystem through an expansion card.
804
805config BLK_DEV_PALMCHIP_BK3710
806	tristate "Palmchip bk3710 IDE controller support"
807	depends on ARCH_DAVINCI
808	select IDE_TIMINGS
809	select BLK_DEV_IDEDMA_SFF
810	help
811	  Say Y here if you want to support the onchip IDE controller on the
812	  TI DaVinci SoC
813
814# no isa -> no vlb
815if ISA && (ALPHA || X86 || MIPS)
816
817comment "Other IDE chipsets support"
818comment "Note: most of these also require special kernel boot parameters"
819
820config BLK_DEV_4DRIVES
821	tristate "Generic 4 drives/port support"
822	help
823	  Certain older chipsets, including the Tekram 690CD, use a single set
824	  of I/O ports at 0x1f0 to control up to four drives, instead of the
825	  customary two drives per port. Support for this can be enabled at
826	  runtime using the "ide-4drives.probe" kernel boot parameter if you
827	  say Y here.
828
829config BLK_DEV_ALI14XX
830	tristate "ALI M14xx support"
831	select IDE_TIMINGS
832	select IDE_LEGACY
833	help
834	  This driver is enabled at runtime using the "ali14xx.probe" kernel
835	  boot parameter.  It enables support for the secondary IDE interface
836	  of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
837	  I/O speeds to be set as well.
838	  See the files <file:Documentation/ide/ide.txt> and
839	  <file:drivers/ide/legacy/ali14xx.c> for more info.
840
841config BLK_DEV_DTC2278
842	tristate "DTC-2278 support"
843	select IDE_XFER_MODE
844	select IDE_LEGACY
845	help
846	  This driver is enabled at runtime using the "dtc2278.probe" kernel
847	  boot parameter. It enables support for the secondary IDE interface
848	  of the DTC-2278 card, and permits faster I/O speeds to be set as
849	  well. See the <file:Documentation/ide/ide.txt> and
850	  <file:drivers/ide/legacy/dtc2278.c> files for more info.
851
852config BLK_DEV_HT6560B
853	tristate "Holtek HT6560B support"
854	select IDE_TIMINGS
855	select IDE_LEGACY
856	help
857	  This driver is enabled at runtime using the "ht6560b.probe" kernel
858	  boot parameter. It enables support for the secondary IDE interface
859	  of the Holtek card, and permits faster I/O speeds to be set as well.
860	  See the <file:Documentation/ide/ide.txt> and
861	  <file:drivers/ide/legacy/ht6560b.c> files for more info.
862
863config BLK_DEV_QD65XX
864	tristate "QDI QD65xx support"
865	select IDE_TIMINGS
866	select IDE_LEGACY
867	help
868	  This driver is enabled at runtime using the "qd65xx.probe" kernel
869	  boot parameter.  It permits faster I/O speeds to be set.  See the
870	  <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
871	  for more info.
872
873config BLK_DEV_UMC8672
874	tristate "UMC-8672 support"
875	select IDE_XFER_MODE
876	select IDE_LEGACY
877	help
878	  This driver is enabled at runtime using the "umc8672.probe" kernel
879	  boot parameter. It enables support for the secondary IDE interface
880	  of the UMC-8672, and permits faster I/O speeds to be set as well.
881	  See the files <file:Documentation/ide/ide.txt> and
882	  <file:drivers/ide/legacy/umc8672.c> for more info.
883
884endif
885
886config BLK_DEV_IDEDMA
887	def_bool BLK_DEV_IDEDMA_SFF || \
888		 BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
889	select IDE_XFER_MODE
890
891endif # IDE
892