1689701d8SJeroen Ruigrok van der Werven.\" 2688e92fcSSøren Schmidt.\" Copyright (c) 2003 S�ren Schmidt <sos@FreeBSD.org> 3689701d8SJeroen Ruigrok van der Werven.\" All rights reserved. 4689701d8SJeroen Ruigrok van der Werven.\" 5689701d8SJeroen Ruigrok van der Werven.\" Redistribution and use in source and binary forms, with or without 6689701d8SJeroen Ruigrok van der Werven.\" modification, are permitted provided that the following conditions 7689701d8SJeroen Ruigrok van der Werven.\" are met: 8689701d8SJeroen Ruigrok van der Werven.\" 1. Redistributions of source code must retain the above copyright 9688e92fcSSøren Schmidt.\" notice, this list of conditions and the following disclaimer, 10688e92fcSSøren Schmidt.\" without modification, immediately at the beginning of the file. 11689701d8SJeroen Ruigrok van der Werven.\" 2. Redistributions in binary form must reproduce the above copyright 12689701d8SJeroen Ruigrok van der Werven.\" notice, this list of conditions and the following disclaimer in the 13689701d8SJeroen Ruigrok van der Werven.\" documentation and/or other materials provided with the distribution. 14688e92fcSSøren Schmidt.\" 3. The name of the author may not be used to endorse or promote products 15688e92fcSSøren Schmidt.\" derived from this software without specific prior written permission. 16689701d8SJeroen Ruigrok van der Werven.\" 17688e92fcSSøren Schmidt.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18688e92fcSSøren Schmidt.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19688e92fcSSøren Schmidt.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20688e92fcSSøren Schmidt.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21688e92fcSSøren Schmidt.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22688e92fcSSøren Schmidt.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23688e92fcSSøren Schmidt.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24688e92fcSSøren Schmidt.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25688e92fcSSøren Schmidt.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26688e92fcSSøren Schmidt.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27689701d8SJeroen Ruigrok van der Werven.\" 28689701d8SJeroen Ruigrok van der Werven.\" $FreeBSD$ 29689701d8SJeroen Ruigrok van der Werven.\" 3039915804SAlexander Motin.Dd March 3, 2010 318ea643adSJeroen Ruigrok van der Werven.Dt ATA 4 323d45e180SRuslan Ermilov.Os 33689701d8SJeroen Ruigrok van der Werven.Sh NAME 342d311b79SOllivier Robert.Nm ata , 35688e92fcSSøren Schmidt.Nm ar , 362d311b79SOllivier Robert.Nm acd , 372d311b79SOllivier Robert.Nm ad , 382d311b79SOllivier Robert.Nm afd , 392d311b79SOllivier Robert.Nm ast 40eb083802SRuslan Ermilov.Nd generic ATA/ATAPI disk controller driver 41689701d8SJeroen Ruigrok van der Werven.Sh SYNOPSIS 42689701d8SJeroen Ruigrok van der WervenFor ISA based ATA/ATAPI support: 43689701d8SJeroen Ruigrok van der Werven.Cd device isa 44547d4262SKazutaka YOKOTA.Cd device ata 45547d4262SKazutaka YOKOTA.Pp 46547d4262SKazutaka YOKOTAIn 47547d4262SKazutaka YOKOTA.Pa /boot/device.hints : 48547d4262SKazutaka YOKOTA.Cd hint.ata.0.at="isa" 49547d4262SKazutaka YOKOTA.Cd hint.ata.0.port="0x1f0" 50547d4262SKazutaka YOKOTA.Cd hint.ata.0.irq="14" 51547d4262SKazutaka YOKOTA.Cd hint.ata.1.at="isa" 52547d4262SKazutaka YOKOTA.Cd hint.ata.1.port="0x170" 53547d4262SKazutaka YOKOTA.Cd hint.ata.1.irq="15" 54689701d8SJeroen Ruigrok van der Werven.Pp 558ba4488cSSøren SchmidtFor PC98 based ATA/ATAPI support: 568ba4488cSSøren Schmidt.Cd device isa 578ba4488cSSøren Schmidt.Cd device ata 588ba4488cSSøren Schmidt.Pp 598ba4488cSSøren SchmidtIn 608ba4488cSSøren Schmidt.Pa /boot/device.hints : 618ba4488cSSøren Schmidt.Cd hint.atacbus.0.at="isa" 628ba4488cSSøren Schmidt.Cd hint.atacbus.0.port="0x640" 638ba4488cSSøren Schmidt.Cd hint.atacbus.0.irq="9" 648ba4488cSSøren Schmidt.Pp 65689701d8SJeroen Ruigrok van der WervenFor PCI based ATA/ATAPI support: 66689701d8SJeroen Ruigrok van der Werven.Cd device pci 67689701d8SJeroen Ruigrok van der Werven.Cd device ata 68689701d8SJeroen Ruigrok van der Werven.Pp 69689701d8SJeroen Ruigrok van der WervenTo support ATA compliant disk drives: 70689701d8SJeroen Ruigrok van der Werven.Cd device atadisk 71689701d8SJeroen Ruigrok van der Werven.Pp 728ff5952aSSøren SchmidtTo support ATA software RAID's: 73688e92fcSSøren Schmidt.Cd device ataraid 74688e92fcSSøren Schmidt.Pp 758ff5952aSSøren SchmidtTo support ATAPI CDROM, DVD and CD/DVD burner drives: 76689701d8SJeroen Ruigrok van der Werven.Cd device atapicd 77689701d8SJeroen Ruigrok van der Werven.Pp 788ff5952aSSøren SchmidtTo support ATAPI floppy drives: 79689701d8SJeroen Ruigrok van der Werven.Cd device atapifd 80689701d8SJeroen Ruigrok van der Werven.Pp 81689701d8SJeroen Ruigrok van der WervenTo support ATAPI tape drives: 82689701d8SJeroen Ruigrok van der Werven.Cd device atapist 83689701d8SJeroen Ruigrok van der Werven.Pp 8439915804SAlexander MotinTo turn 8539915804SAlexander Motin.Xr ata 4 8639915804SAlexander Motinsubsystem controller drivers into cam(4) interface modules (disables all native 8739915804SAlexander Motin.Xr ata 4 8839915804SAlexander MotinAPIs and periperal drivers): 8939915804SAlexander Motin.Cd options ATA_CAM 9039915804SAlexander Motin.Pp 91369bf356SMaxim KonovalovThe following tunables are settable from the loader: 92f4c4488aSRuslan Ermilov.Bl -ohang 93f4c4488aSRuslan Ermilov.It Va hw.ata.ata_dma 9437068be4SMurray Stokelyset to 1 for DMA access, 0 for PIO (default is DMA). 9519a71edbSPhilip Paeps.It Va hw.ata.ata_dma_check_80pin 9619a71edbSPhilip Paepsset to 0 to disable the 80pin cable check (default is 1, check the cable) 97f4c4488aSRuslan Ermilov.It Va hw.ata.atapi_dma 98e306ffcaSPeter Pentchevset to 1 for DMA access, 0 for PIO (default is DMA). 99f4c4488aSRuslan Ermilov.It Va hw.ata.wc 1002cc6cfc6SMax Khonset to 1 to enable Write Caching, 0 to disable (default is enabled). 1018ff5952aSSøren Schmidt.Em WARNING : 1021474c0cdSGiorgos Keramidascan cause data loss on power failures and crashes. 103f64d65b2SAlexander Motin.It Va hint.atapci.X.msi 104f64d65b2SAlexander Motinset to 1 to allow Message Signalled Interrupts (MSI) to be used by 105f64d65b2SAlexander Motinspecified PCI ATA controller, if supported. 106f64d65b2SAlexander Motin.It Va hint.ata.X.pm_level 107f64d65b2SAlexander Motincontrols SATA interface Power Management for specified channel, 108f64d65b2SAlexander Motinallowing to save some power by the cost of additional command latency. 109f64d65b2SAlexander MotinPossible values: 110f64d65b2SAlexander Motin.Bl -tag -compact 111f64d65b2SAlexander Motin.It 0 112f64d65b2SAlexander Motininterface Power Management is disabled, default value. 113f64d65b2SAlexander Motin.It 1 114f64d65b2SAlexander Motindevice is allowed to initiate PM state change, host is passive. 115f64d65b2SAlexander Motin.It 2 116f64d65b2SAlexander Motinhost initiates PARTIAL PM state transition every time port becomes idle. 117f64d65b2SAlexander Motin.It 3 118f64d65b2SAlexander Motinhost initiates SLUMBER PM state transition every time port becomes idle. 119f64d65b2SAlexander Motin.El 120f64d65b2SAlexander MotinModes 2 and 3 are implemented only for AHCI driver now. 121f4c4488aSRuslan Ermilov.El 122689701d8SJeroen Ruigrok van der Werven.Sh DESCRIPTION 123688e92fcSSøren SchmidtThe 124688e92fcSSøren Schmidt.Nm 125688e92fcSSøren Schmidtdriver provides access to ATA (IDE) and SerialATA disk drives, 126688e92fcSSøren SchmidtATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives 127688e92fcSSøren Schmidtconnected to controllers according to the ATA/ATAPI standards. 128689701d8SJeroen Ruigrok van der Werven.Pp 129688e92fcSSøren SchmidtThe currently supported ATA/SATA controller chips are: 130689701d8SJeroen Ruigrok van der Werven.Pp 131688e92fcSSøren Schmidt.Bl -tag -width "Silicon Image:" -compact 132688e92fcSSøren Schmidt.It Acard: 133c6fd52cbSJoel DahlATP850P, ATP860A, ATP860R, ATP865A, ATP865R. 134688e92fcSSøren Schmidt.It ALI: 13539915804SAlexander MotinM5228, M5229, M5281, M5283, M5287, M5288, M5289. 136688e92fcSSøren Schmidt.It AMD: 137da31a86aSChristian BruefferAMD756, AMD766, AMD768, AMD8111, CS5536. 1383a22b03dSJoel Dahl.It ATI: 1391f02c0f7SAlexander MotinIXP200, IXP300, IXP400, IXP600, IXP700, IXP800. 140688e92fcSSøren Schmidt.It CMD: 141c94b6c42SJoel DahlCMD646, CMD646U2, CMD648, CMD649. 142688e92fcSSøren Schmidt.It Cypress: 143688e92fcSSøren SchmidtCypress 82C693. 144d8f934daSChristian Brueffer.It Cyrix: 145d8f934daSChristian BruefferCyrix 5530. 146688e92fcSSøren Schmidt.It HighPoint: 147c94b6c42SJoel DahlHPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374. 148688e92fcSSøren Schmidt.It Intel: 14939915804SAlexander Motin6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, 15039915804SAlexander MotinICH6, ICH7, ICH8, ICH9, ICH10, SCH, PCH. 15139d1acc3SChristian Brueffer.It ITE: 152129e5ac6SChristian BruefferIT8211F, IT8212F, IT8213F. 153aed1a1f1SChristian Brueffer.It JMicron: 154dbd1ddacSChristian BruefferJMB360, JMB361, JMB363, JMB365, JMB366, JMB368. 155232c858fSChristian Brueffer.It Marvell 1561f02c0f7SAlexander Motin88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SX6101, 157c01cccb8SAlexander Motin88SX6102, 88SX6111, 88SX6121, 88SX6141, 88SX6145, 88SX7042. 158688e92fcSSøren Schmidt.It National: 159688e92fcSSøren SchmidtSC1100. 160cebf4a4eSChristian Brueffer.It NetCell: 161cebf4a4eSChristian BruefferNC3000, NC5000. 162688e92fcSSøren Schmidt.It nVidia: 1631f02c0f7SAlexander MotinnForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4, 1641f02c0f7SAlexander MotinMCP51, MCP55, MCP61, MCP65, MCP67, MCP73, MCP77, MCP79, MCP89. 165688e92fcSSøren Schmidt.It Promise: 166280b8c11SJoel DahlPDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719. 167688e92fcSSøren Schmidt.It ServerWorks: 168dbd1ddacSChristian BruefferHT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8. 169688e92fcSSøren Schmidt.It Silicon Image: 170199dc74dSChristian BruefferSiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512. 171688e92fcSSøren Schmidt.It SiS: 172c6fd52cbSJoel DahlSIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965. 173688e92fcSSøren Schmidt.It VIA: 17439915804SAlexander MotinVT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, 17539915804SAlexander MotinVT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, 17639915804SAlexander MotinVT8237A, VT8237S, VT8251, CX700, VX800, VX855. 177689701d8SJeroen Ruigrok van der Werven.El 178689701d8SJeroen Ruigrok van der Werven.Pp 179688e92fcSSøren SchmidtUnknown ATA chipsets are supported in PIO modes, and if the standard 1808ff5952aSSøren Schmidtbusmaster DMA registers are present and contain valid setup, DMA is 181c48524c2SMike Pritchardalso enabled, although the max mode is limited to UDMA33, as it is 182688e92fcSSøren Schmidtnot known what the chipset can do and how to program it. 183689701d8SJeroen Ruigrok van der Werven.Pp 184ed403116SRuslan ErmilovThe 185ed403116SRuslan Ermilov.Nm 186688e92fcSSøren Schmidtdriver can change the transfer mode and various other parameters 1878ff5952aSSøren Schmidtwhen the system is up and running. 1888ff5952aSSøren SchmidtSee 189f4c4488aSRuslan Ermilov.Xr atacontrol 8 . 190689701d8SJeroen Ruigrok van der Werven.Pp 191688e92fcSSøren SchmidtThe 192bf7f20c2SRuslan Ermilov.Nm 193688e92fcSSøren Schmidtdriver sets the maximum transfer mode supported by the hardware as default. 194d962d52aSRuslan ErmilovHowever the 195f7b6f951SSøren Schmidt.Nm 196688e92fcSSøren Schmidtdriver sometimes warns: 1978ff5952aSSøren Schmidt.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device". 198688e92fcSSøren SchmidtThis means that 199688e92fcSSøren Schmidtthe 200c9753c58SSimon L. B. Nielsen.Nm 2018ff5952aSSøren Schmidtdriver has detected that the required 80 conductor cable is not present 2028ff5952aSSøren Schmidtor could not be detected properly, 2038ff5952aSSøren Schmidtor that one of the devices on the channel only accepts up 204f1bec2c1SSimon L. B. Nielsento UDMA2/ATA33. 205f1bec2c1SSimon L. B. NielsenThe 20619a71edbSPhilip Paeps.Va hw.ata.ata_dma_check_80pin 20719a71edbSPhilip Paepstunable can be set to 0 to disable this check. 208688e92fcSSøren Schmidt.Pp 20932e940feSPeter PentchevUnknown ATAPI devices are initialized to DMA mode if the 21032e940feSPeter Pentchev.Va hw.ata.atapi_dma 21132e940feSPeter Pentchevtunable is set to 1 and they support at least UDMA33 transfers. 21232e940feSPeter PentchevOtherwise they are set to PIO mode because severe DMA problems are 2138ff5952aSSøren Schmidtcommon even if the device capabilities indicate support. 214f4c4488aSRuslan ErmilovYou can always try to set DMA mode on an ATAPI device using 215f4c4488aSRuslan Ermilov.Xr atacontrol 8 , 216689701d8SJeroen Ruigrok van der Wervenbut be aware that your hardware might 217689701d8SJeroen Ruigrok van der Werven.Em not 218688e92fcSSøren Schmidtsupport it and can potentially 219689701d8SJeroen Ruigrok van der Werven.Em hang 220688e92fcSSøren Schmidtthe entire system causing data loss. 221689701d8SJeroen Ruigrok van der Werven.Sh FILES 222d962d52aSRuslan Ermilov.Bl -tag -width ".Pa /sys/i386/conf/GENERIC" -compact 223689701d8SJeroen Ruigrok van der Werven.It Pa /dev/ad* 224689701d8SJeroen Ruigrok van der WervenATA disk device nodes 225688e92fcSSøren Schmidt.It Pa /dev/ar* 226688e92fcSSøren SchmidtATA RAID device nodes 227689701d8SJeroen Ruigrok van der Werven.It Pa /dev/acd* 228689701d8SJeroen Ruigrok van der WervenATAPI CD-ROM device nodes 229689701d8SJeroen Ruigrok van der Werven.It Pa /dev/afd* 230689701d8SJeroen Ruigrok van der WervenATAPI floppy drive device nodes 231689701d8SJeroen Ruigrok van der Werven.It Pa /dev/ast* 232689701d8SJeroen Ruigrok van der WervenATAPI tape drive device nodes 233689701d8SJeroen Ruigrok van der Werven.It Pa /sys/i386/conf/GENERIC 234ed403116SRuslan Ermilovsample generic kernel config file for 235ed403116SRuslan Ermilov.Nm 236ed403116SRuslan Ermilovbased systems 237689701d8SJeroen Ruigrok van der Werven.El 238689701d8SJeroen Ruigrok van der Werven.Sh NOTES 239688e92fcSSøren SchmidtPlease remember that in order to use UDMA4/ATA66 and above modes you 240688e92fcSSøren Schmidt.Em must 241c9753c58SSimon L. B. Nielsenuse 80 conductor cables. 2428ff5952aSSøren SchmidtPlease assure that ribbon cables are no longer than 45cm. 2438ff5952aSSøren SchmidtIn case of rounded ATA cables, the length depends on the 244c9753c58SSimon L. B. Nielsenquality of the cables. 2458ff5952aSSøren SchmidtSATA cables can be up to 1m long according to the specification. 246688e92fcSSøren Schmidt.Pp 247688e92fcSSøren SchmidtStatic device numbering 248793da78fSSheldon Hearn(enabled with the 249793da78fSSheldon Hearn.Dv ATA_STATIC_ID 250793da78fSSheldon Hearnkernel option) 251793da78fSSheldon Hearnreserves a number for each possibly connected disk, 252c9753c58SSimon L. B. Nielseneven when not present. 253c48524c2SMike PritchardThis is useful in hotswap scenarios 2548ff5952aSSøren Schmidtwhere disks should always show up as the same numbered device, 255688e92fcSSøren Schmidtand not depend on attach order. 256d5b7ae98SWilko Bulte.Pp 257d5b7ae98SWilko BulteNative Command Queuing (NCQ) on SATA drives is not yet supported. 258f4c4488aSRuslan Ermilov.Sh SEE ALSO 25939915804SAlexander Motin.Xr ahci 4 , 26039915804SAlexander Motin.Xr cam 4 , 261a431f9bbSChristian Brueffer.Xr ataraid 4 , 2629a9c1407SRuslan Ermilov.Xr atacontrol 8 , 26339915804SAlexander Motin.Xr burncd 8 , 26439915804SAlexander Motin.Xr siis 4 265ed403116SRuslan Ermilov.Sh HISTORY 266ed403116SRuslan ErmilovThe 267ed403116SRuslan Ermilov.Nm 268ed403116SRuslan Ermilovdriver first appeared in 269ed403116SRuslan Ermilov.Fx 4.0 . 2708ff5952aSSøren Schmidt.Sh AUTHORS 2718e8536e1SRuslan Ermilov.An S\(/oren Schmidt 272d905b0b6SMike Pritchard.Aq sos@FreeBSD.org . 273