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