================================================================================
                            DANI506.ADD v1.8.7
================================================================================
		    Parallel ATA/ATAPI	(PATA/PATAPI)
================================================================================

*  Changes to the previous release are denoted by "*" tags.

 Vendor
 | Device
 | | Revision			      ATA  LBA48  ATAPI       ATA66  ATA133
 | | | south/host bridge id	    PIO DMA DMA  PIO DMA  ATA33 | ATA100|   Docs
 | | | | south/host bridge rev.    32bit |   |	32bit |     |	|   |	|  avail
 | | | | |			     |	 |   |	  |   |     |	|   |	|    |
 v v v v v			     v	 v   v	  v   v     v	v   v	v    v

 0x8086 Intel
   0x1230 PIIX			     x	 x   -?   x   x     -	-   -	-    x
     < 02			     x	 -   -	  x   -     -	-   -	-    x
       0x84C4 Orion
	 < 04			     x	 -   -	  x   -     -	-   -	-    x
   0x7010 PIIX3 		     x	 x   x	  x   x     -	-   -	-    x
   0x7111 PIIX4 		     x	 x   x	  x   x     x	-   -	-    x
   0x7199 PIIX4 MX		     x	 x   x	  x   x     x	-   -	-   (x)
   0x2411 ICH			     x	 x   x	  x   x     x	x   -	-    x
   0x7601 ICH			     x	 x   x	  x   x     x	x   -	-   (x)
   0x2421 ICH0			     x	 x   x	  x   x     x	-   -	-    x
   0x244B ICH2			     x	 x   x	  x   x     x	x   x  (x)   x
   0x244A ICH2 mobile		     x	 x   x	  x   x     x	x   x  (x)   x
   0x245B C-ICH 		     x	 x   x	  x   x     x	x   x  (x)   x
   0x248B ICH3			     x	 x   x	  x   x     x	x   x  (x)   x
   0x248A ICH3 mobile		     x	 x   x	  x   x     x	x   x  (x)   x
   0x24C1 ICH4-L		     x	 x   x	  x   x     x	x   x  (x)   x
   0x24CB ICH4			     x	 x   x	  x   x     x	x   x  (x)   x
   0x24CA ICH4 mobile		     x	 x   x	  x   x     x	x   x  (x)   x
   0x24DB ICH5			     x	 x   x	  x   x     x	x   x  (x)   x
   0x25A2 ICH6300		     x	 x   x	  x   x     x	x   x  (x)   x
   0x266F ICH6			     x	 x   x	  x   x     x	x   x  (x)   x
   0x269E ICH631x/2x		     x	 x   x	  x   x     x	x   x  (x)   x
   0x27DF ICH7			     x	 x   x	  x   x     x	x   x  (x)   x
   0x2850 ICH8 mobile		     x	 x   x	  x   x     x	x   x  (x)   x
   0x2986 IDE Redirection 2p	     x	 x   x	  x   x 		     x
   0x2996 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x29A6 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x29B6 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x29C6 IDE Redirection 2p	     x	 x   x	  x   x 		     x
   0x29D6 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x29E6 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x29F6 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x2A06 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x2A16 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x2A52 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x2E06 IDE Redirection 2p	     x	 x   x	  x   x 		     -
   0x811A SCH ("Atom")               x   x   x    x   x     x   x   x   -    x

 known bugs and features:
   - PIIX3: some chips 'forget' to assert the IRQ sometimes. These chips are not
	    detectable in advance.
   - ICH2+: despite the docs, the ATA/100 capable chips also can do ATA/133,
	    though unreliable in some cases.

--------------------------------------------------------------------------------
 0x1106 VIA
   0x1571 571			     x	 x   ?	  x   x     -	-   -	-    -
   0x0571 571
       0x0586
	 < 0x20  586		     x	 x   ?	  x   x     -	-   -	-    x
	 >=0x20  586A/B 	     x	 x   x	  x   x     x	-   -	-    x
       0x0596
	 < 0x10  596/A		     x	 x   x	  x   x     x	-   -	-    x
	 >=0x10  596B		     x	 x   x	  x   x     x	x   -	-    x
       0x0686
	 < 0x10  686		     x	 x   x	  x   x     x	-   -	-    -
	 < 0x40  686A		     x	 x   x	  x   x     x	x   -	-    x
	 >=0x40  686B		     x	 x   x	  x   x     x	x   x	-    x
       0x8231	 VT8231 	     x	 x   x	  x   x     x	x   x	-    -
       0x3074	 VT8233 	     x	 x   x	  x   x     x	x   x	-    x
       0x3109	 VT8233c	     x	 x   x	  x   x     x	x   x	-    -
       0x3147	 VT8233a	     x	 x   x	  x   x     x	x   x	x    -
       0x3177	 VT8235 	     x	 x   x	  x   x     x	x   x	x    -
       0x3227	 VT8237 	     x	 x   x	  x   x     x	x   x	x    -
       0x3287	 VT8251 	     x	 x   x	  x   x     x	x   x	x    -
   0x3164	 VT6410 	     x	 x   x	  x   x     x	x   x	x    -
   0x3249	 VT6421  PATA	     x	 x   x	  x   x     x	x   x	x    -
   0x5324	 CX700		     x	 x   x	  x   x     x	x   x	x    -

*  0xC409        VX855/875 PATA      x	 x   x	  x   x     x	x   x	x    -

 known bugs:
   - all:  no host side cable type detection.
   - all:  the busmaster 'active' bit doesn't match the actual busmaster state.
   - 596B: don't touch the busmaster registers too early after interrupt
	   don't touch taskfile registers before stopping the busmaster!
   - 686 rev 40/41 and VT8231 rev 10/11 have the PCI corruption bug!

--------------------------------------------------------------------------------
 0x10B9 ALi
   0x5229 M5229
     < 0x20			     x	 x   -	  x   -     -	-   -	-   (x)
     < 0xC1	 1533, 1543E/F	     x	 x   -	  x   -     x	-   -	-   (x)
     < 0xC2	 1543C		     x	 x   -	  x   xR    x	-   -	-   (x)
	 0xC3/
	 0x12	 1543C-E	     x	 x   -	  x   xR   (x)	-   -	-   (x)
     < 0xC4	 1535, 1553,	     x	 x   -	  x   x     x	x   -	-    x
		 1543C-B, 1535D
     ==0xC4	 1535D+ 	     x	 x   -	  x   x     x	x   x	-    x
     > 0xC4	 1535D+ 	     x	 x   x	  x   x     x	x   x	x    -
   0x5228 ALi			     x	 x   x	  x   x     x	x   x	x    x


 known bugs:
   - 1535 and better: varying methods of host side cable type detection.
   - up to 1543C: busmaster engine 'active' status bit is nonfunctional
		  in UltraDMA modes.
   - up to 1543C: can't do ATAPI DMA writes.
   - 1543C-E:	  UltraDMA CRC checker fails with older WDC disks.
   - 1543C-Bx:	  must stop busmaster reads with 0x00 instead of 0x08.
   - >= 0xC5:	  no host side cable type detection
   - ALi PATA:	  no host side cable type detection - use 80wire cables!

--------------------------------------------------------------------------------
 0x1039 SiS
   0x5513	 5513
     < 0xD0			     x	 x   ?	  x   x     -	-   -	-    x
     >=0xD0			     x	 x   ?	  x   x     x	-   -	-    x
       >= 0x0530		     x	 x   ?	  x   x     x	x   -	-   (x)
       == 0x0630		     x	 x   ?	  x   x     x	x   -	-   (x)
	 >= 0x30		     x	 x   x	  x   x     x	x   x	-   (x)
       >  0x0630		     x	 x   x	  x   x     x	x   x	-   (x)
       0x0961
	 < 0x10 		     x	 x   x	  x   x     x	x   x	-    *
	 >=0x10 		     x	 x   x	  x   x     x	x   x	x    *
       >= 0x0962		     x	 x   x	  x   x     x	x   x	x    *
   0x5517	 5517
	 < 0x10 		     x	 x   x	  x   x     x	x   x	-    *
	 >=0x10 		     x	 x   x	  x   x     x	x   x	x    *
   0x5518	 5518		     x	 x   x	  x   x     x	x   x	x    *
   0x0180	 SiS180 PATA	     x	 x   x	  x   x     x	x   x	x    *

   - older SiS: don't touch the busmaster registers too early after interrupt

--------------------------------------------------------------------------------
 0x1095 CMD/Silicon Image
   0x0640 CMD 640		     -	 -   -	  -   -     -	-   -	-    x
     00   refuse!
   0x0643 CMD 643
     < 03			     x	 x   ?	  x   x     -	-   -	-    x
     >=03			     x	 x   ?	  x   x     x	-   -	-    x
   0x0646 CMD 646
     < 03			     x	 x   ?	  x   x     -	-   -	-    x
     >=03			     x	 x   ?	  x   x     x	-   -	-    x
   0x0648 CMD 648		     x	 x   x	  x   x     x	x   -	-    x
   0x0649 CMD 649		     x	 x   x	  x   x     x	x   x	-    x
   0x0680 SiI 680		     x	 x   x	  x   x     x	x   x	x    x

 known bugs:
   - 640: the enable bit of the secondary channel is erratic. You need to check
	  both settings '0' and '1' for a populated channel.
   - 640: revision 0 doesn't work reliably.
   - up to 646: both channels share internal resources. Serialization is
	  required.

--------------------------------------------------------------------------------
 0x105A Promise
   0x4D33 PDC20246   Ultra33	     x	 x   -	  -   -     x	-   -	-    *
   0x4D38 PDC20262   Ultra66	     x	 x   x!   -  (x)    x	x   -	-    *
   0x0D38 PDC20263   Ultra66	     x	 x   x!   -  (x)    x	x   -	-   (*)
   0x0D30 PDC20265   Ultra100	     x	 x   x!   -  (x)    x	x   x	-    *
   0x4D30 PDC20267   Ultra100	     x	 x   x!   -  (x)    x	x   x	-    *
   0x4D68 PDC20268   Ultra100 TX2    x	 x   x	  x   x     x	x   x	-   (*)
   0x6268 PDC20270   Ultra100 TX2    x	 x   x	  x   x     x	x   x	-   (*)
   0x4D69 PDC20269   Ultra133 TX2    x	 x   x	  x   x     x	x   x	x    *
   0x6269 PDC20271   Ultra133 TX2    x	 x   x	  x   x     x	x   x	x   (*)
   0x1275 PDC20275   Ultra133 TX2    x	 x   x	  x   x     x	x   x	x   (*)
   0x5275 PDC20276   Ultra133 TX2    x	 x   x	  x   x     x	x   x	x    *
   0x7275 PDC20277   Ultra133 TX2    x	 x   x	  x   x     x	x   x	x   (*)
   0x6617 PDC20617		     -	 x   x	  -   ?     x	x   x	x    -
   0x6626 PDC20618		     -	 x   x	  -   ?     x	x   x	x    -
   0x6629 PDC20619		     -	 x   x	  -   ?     x	x   x	x    -
   0x6620 PDC20620		     -	 x   x	  -   ?     x	x   x	x    -
   0x3371 PDC20371 FT S150 TX2plus   -	 x   x	  -   ?     x	x   x	x    x
   0x3375 PDC20375 SATA150 TX2plus   -	 x   x	  -   ?     x	x   x	x    x
   0x3574 PDC20579 SATAII150 TX2plus -	 x   x	  -   ?     x	x   x	x    x
   0x3D75 PDC20575 SATAII150 TX2plus -	 x   x	  -   ?     x	x   x	x    x
   0x3D73 PDC40775 SATA300 TX2plus   -	 x   x	  -   ?     x	x   x	x    -

 known bugs:
   - up to Ultra100: don't issue superfluous PIO transfer mode setups.
   - up to Ultra100: if any device is initialized to UltraDMA, you need to
	  reset the channel if you want to select MultiWord DMA instead.
   - Ultra66/100: a LBA48 DMA mode transfer needs an extra "kick".
   - Ultra66/100: ATAPI DMA should work according to Windows drivers, but the
	  register model is very "strange".

--------------------------------------------------------------------------------
 0x1078 Cyrix
   0x0102 CX5530		     x	 x   ?	  x   x     x	-   -	-    x

 known bugs:
   - all: busmaster transfers need to be 16 byte aligned instead of word
	  aligned.
   - all: a DMA block of 64KiB comes out as 0 bytes in the DMA engine

--------------------------------------------------------------------------------
 0x1103 HighPoint
   0x0004 HPT 36x/37x
     <=01 HPT 366		     x	 x   x	  x   x     x	x   -	-    x
       02 HPT 368		     x	 x   x	  x   x     x	x   -	-    -
       03 HPT 370		     x	 x   x	  x   x     x	x   x	-    x
       04 HPT 370A		     x	 x   x	  x   x     x	x   x	-   (x)
       05 HPT 372		     x	 x   x	  x   x     x	x   x	x    x
   0x0005 HPT 372A		     x	 x   x	  x   x     x	x   x	x   (x)
   0x0006 HPT 302		     x	 x   x	  x   x     x	x   x	x   (x)
   0x0007 HPT 371		     x	 x   x	  x   x     x	x   x	x   (x)
   0x0008 HPT 36x/37x dual
       07 HPT 374		     x	 x   x	  x   x     x	x   x	x    x
   0x0009 HPT 372N		     x	 x   x	  x   x     x	x   x	x    x

 known bugs:
   - HPT366: random failures with several disks.
   - HPT366: random PCI bus lockups in case of too long bursts.
   - HPT366: IBM DTLA series drives must be set to Ultra DMA mode 5 (!!) to work
	     reliably at Ultra DMA mode 4 speed.

--------------------------------------------------------------------------------
 0x1022 AMD
   0x7401 AMD 751		     x	 x   ?	  x   x     x	-   -	-    -
   0x7409 AMD 756		     x	 x   ?	  x   x     x	x   -	-    x
   0x7411 AMD 766  MP		     x	 x   ?	  x   x     x	x   x	-    x
   0x7441 AMD 768  MPX		     x	 x   ?	  x   x     x	x   x	-    x
   0x209A AMD Geode LX		     x	 x   ?	  x   x     x	x   x	-   (x)
   0x7469 AMD 8111		     x	 x   ?	  x   x     x	x   x	x    x

 known bugs:
   - 756: no host side cable type detection.
   - 756: SingleWord DMA doesn't work on early chip revisions.
   - 766: read/write prefetches must be disabled to defeat infinite
	  PCI bus retries.

--------------------------------------------------------------------------------
 0x1191 AEC/Artop
   0x0005 AEC 6210		     x	 x   ?	  ?   ?     x	-   -	-    -
   0x0006 AEC 6260		     x	 x   ?	  ?   ?     x	x   -	-    -
   0x0007 AEC 6260		     x	 x   ?	  ?   ?     x	x   -	-    -
   0x0009 AEC 6280/6880 	     x	 x   x	  x   x     x	x   x	x    -
   0x000A AEC 6885/6896 	     x	 x   x	  x   x     x	x   x	x    -

 known bugs:
   - AEC6210: both channels share internal resources. Serialization is required.

--------------------------------------------------------------------------------
 0x1055 SMSC
   0x9130 SLC90E66		     ?	 x   ?	  ?   ?     x	x   -	-    x

--------------------------------------------------------------------------------
 0x1166 ServerWorks/BroadCom
   0x0211 OSB4			     x	 x   x	  x   x     x	-   -	-    x
   0x0212 CSB5
     < 0x92			     x	 x   x	  x   x     x	x   -	-    -
    >= 0x92			     x	 x   x	  x   x     x	x   x	-    -
   0x0213 CSB6
     < 0xA0			     x	 x   x	  x   x     x	3   -	-    -
    >= 0xA0			     x	 x   x	  x   x     x	x   x	-    -
   0x0214 HT1000 aka BCM5785	     x	 x   x	  x   x     x	x   x	-    -

 known bugs:
   - OSB4: at least early revisions lock up on ATAPI DMA aborts
   - OSB4: at least some chip revisions can't do Ultra DMA mode 1 and above
   - OSB4: some chip revisions may get stuck in the DMA engine in Ultra DMA
	   with some disks
   - CSB5: trickles up to 3 (instead of the common 2) words on UDMA throttle
	   in ATA/100 mode. This may cause FIFO overruns in the units. Seen
	   on Seagate Barracuda IV.
   - CSB5: no host side cable type detection (vendor specific).
   - CSB6: no host side cable type detection (vendor specific).
   - HT1000: no host side cable type detection.

--------------------------------------------------------------------------------
 0x1045 Opti
   0xC621     n/a		     x	 -   -	  -   -     -	-   -	-    x
   0xC558     Viper		     x	 x   ?	  ?   ?     -	-   -	-    x
   0xD568			     x	 x   ?	  ?   ?     -	-   -	-    x
     < 0xC700 Viper		     x	 x   ?	  ?   ?     -	-   -	-    x
     >=0xC700 FireStar/Vendetta?     x	 x   ?	  x   x     x	-   -	-    x
   0xD721     Vendetta? 	     x	 x   ?	  x   x     x	-   -	-    x
   0xD768     Vendetta		     x	 x   ?	  x   x     x	-   -	-    x

 known bugs:
   - C621: both channels share internal resources. Serialization is required.
   - FireStar: Ultra DMA works reliably only at mode 0.
	       Update: not even that! Better do MWDMA2 at most.

--------------------------------------------------------------------------------
 0x10DE Nvidia
   0x01BC     nForce		     x	 x   x	  x   x     x	x   x	-    -
   0x0065     nForce2		     x	 x   x	  x   x     x	x   x	x    -
   0x0085     nForce2 ultra	     x	 x   x	  x   x     x	x   x	x    -
   0x00D5     nForce3-150	     x	 x   x	  x   x     x	x   x	x    -
   0x00E5     nForce3-250	     x	 x   x	  x   x     x	x   x	x    -
   0x0035     nForce-M04	     x	 x   x	  x   x     x	x   x	x    -
   0x0053     nForce-C04	     x	 x   x	  x   x     x	x   x	x    -
   0x0265     nForce-M51	     x	 x   x	  x   x     x	x   x	x    -
   0x036E     nForce-M55	     x	 x   x	  x   x     x	x   x	x    -
   0x03EC     nForce-M61	     x	 x   x	  x   x     x	x   x	x    -
   0x0448     nForce-M65	     x	 x   x	  x   x     x	x   x	x    -
   0x0560     nForce-M67	     x	 x   x	  x   x     x	x   x	x    -
   0x056C     nForce-M71	     x	 x   x	  x   x     x	x   x	x    -

   0x0759     nForce-M77	     x	 x   x	  x   x     x	x   x	x    -

 known bugs:
   - all: no host side cable type detection.
   - all: read/write prefetches must be disabled to defeat infinite
	  PCI bus retries.

--------------------------------------------------------------------------------
 0x100B National Semiconductor
   0x0502 SCxx00		     x	 x   ?	  x   x     x	-   -	-    x

 known bugs:
   - all: busmaster transfers need to be 16 byte aligned instead of word
	  aligned.

--------------------------------------------------------------------------------
 0x1283 ITE
   0x8211 IT8211F		     x	 x   x	  x   x     x	x   x	x    x
   0x8212 IT8212F		     x	 x   x	  x   x     x	x   x	x    x

*  0x8213 ITE8213                    x	 x   x	  x   x     x	x   x	x    ?

 known bugs:
   - all: only one set of timing registers per channel -> common transfer modes!

--------------------------------------------------------------------------------
 0x1002 ATI
   0x4349 IXP200		     x	 x   x	  x   x     x	x   x	-    -
   0x4369 IXP300		     x	 x   x	  x   x     x	x   x	x    -
   0x4376 IXP400		     x	 x   x	  x   x     x	x   x	x    -
   0x438C IXP600		     x	 x   x	  x   x     x	x   x	x    -
   0x439C IXP700		     x	 x   x	  x   x     x	x   x	x    -

 known bugs:
   - all: no host side cable type detection.

--------------------------------------------------------------------------------
 0x169C NetCell/Revolution
   0x0044 SyncRAID SR3000/5000	     -	 x   x	  -   -     x	x   x	x    -

--------------------------------------------------------------------------------
 0x197B JMicron
   0x2361 JMB361 PATA		     x	 x   x	  x   x     x	x   x	x    -
   0x2363 JMB363 PATA		     x	 x   x	  x   x     x	x   x	x    -
   0x2365 JMB365 PATA		     x	 x   x	  x   x     x	x   x	x    -
   0x2366 JMB366 PATA		     x	 x   x	  x   x     x	x   x	x    -
   0x2368 JMB368 PATA		     x	 x   x	  x   x     x	x   x	x    -

--------------------------------------------------------------------------------
 0x11AB Marvell
   0x6101 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6111 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6120 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6121 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6122 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6123 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6140 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6141 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -
   0x6145 MV61xx PATA		     -	 x   x	  -   x     x	x   x	x    -

================================================================================
		     Serial ATA/ATAPI  (SATA/SATAPI)
================================================================================
 Vendor
 | Device
 | | Revision			      ATA  LBA48  ATAPI       3.0Gb  Hotplug
 | | |				    PIO DMA DMA  PIO DMA  1.5Gb |	|   Docs
 | | |				   32bit |   |	32bit |     |	|	|  avail
 | | |				     |	 |   |	  |   |     |	|	|    |
 v v v				     v	 v   v	  v   v     v	v	v    v

 0x8086 Intel
   0x24D1 ICH5			     x	 x   x	  x   ?     x	-	-    x
   0x25A3 ICH6300		     x	 x   x	  x   ?     x	-	-    x
   0x24DF ICH5R 		     x	 x   x	  x   ?     x	-	-    x
   0x25B0 ICH6300		     x	 x   x	  x   ?     x	-	-    x
   0x2651 ICH6			     x	 x   x	  x   ?     x	-	?    x
   0x2652 ICH6R 		     x	 x   x	  x   ?     x	-	?    x
   0x2653 ICH6M 		     x	 x   x	  x   ?     x	-	?    x
   0x2680 ICH631x/2x		     x	 x   x	  x   ?     x	x	?    x
   0x2681 ICH631x/2x (AHCI)	     x	 x   x	  x   ?     x	x	?    x
   0x2682 ICH631x/2x (RAID)	     x	 x   x	  x   ?     x	x	?    x
   0x2683 ICH631x/2x (RAID)	     x	 x   x	  x   ?     x	x	?    x
   0x27C0 ICH7			     x	 x   x	  x   ?     x	x	?    x
   0x27C1 ICH7	(AHCI)		     x	 x   x	  x   ?     x	x	?    x
   0x27C3 ICH7R (RAID)		     x	 x   x	  x   ?     x	x	?    x
   0x27C4 ICH7M 		     x	 x   x	  x   ?     x	x	?    x
   0x27C5 ICH7M (AHCI)		     x	 x   x	  x   ?     x	x	?    x
   0x27C6 ICH7M (RAID)		     x	 x   x	  x   ?     x	x	?    x
   0x2820 ICH8			     x	 x   x	  x   x     x	x	?    x
   0x2821 ICH8	(AHCI-6)	     x	 x   x	  x   x     x	x	?    x
   0x2822 ICH8	(RAID)		     x	 x   x	  x   x     x	x	?    x
   0x2824 ICH8	(AHCI-4)	     x	 x   x	  x   x     x	x	?    x
   0x2825 ICH8			     x	 x   x	  x   x     x	x	?    x
   0x2828 ICH8M 		     x	 x   x	  x   x     x	x	?    x
   0x2829 ICH8M (AHCI)		     x	 x   x	  x   x     x	x	?    x
   0x282A ICH8M (RAID)		     x	 x   x	  x   x     x	x	?    x
   0x2920 ICH9	4p		     x	 x   x	  x   x     x	x	?    x
   0x2921 ICH9	2p		     x	 x   x	  x   x     x	x	?    x
   0x2922 ICH9	(AHCI-6)	     x	 x   x	  x   x     x	x	?    x
   0x2923 ICH9	(AHCI-4)	     x	 x   x	  x   x     x	x	?    x
   0x2924 ICH9	(AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x2925 ICH9	(AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x2926 ICH9			     x	 x   x	  x   x     x	x	?    x
   0x2927 ICH9	(AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x2928 ICH9M 		     x	 x   x	  x   x     x	x	?    -
   0x2929 ICH9M (AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x292A ICH9M (AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x292B ICH9M (AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x292D ICH9M 		     x	 x   x	  x   x     x	x	?    -
   0x292E ICH9M 		     x	 x   x	  x   x     x	x	?    -
   0x292F ICH9M (AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x294D ICH9	(AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x294E ICH9M (AHCI)		     x	 x   x	  x   x     x	x	?    -
   0x3A00 ICH10 4p		     x	 x   x	  x   x     x	x	?    x
   0x3A05 ICH10 (AHCI)		     x	 x   x	  x   x     x	x	?    x
   0x3A06 ICH10 2p		     x	 x   x	  x   x     x	x	?    x
   0x3A20 ICH10 4p		     x	 x   x	  x   x     x	x	?    x
   0x3A25 ICH10 (AHCI)		     x	 x   x	  x   x     x	x	?    x
   0x3A26 ICH10 2p		     x	 x   x	  x   x     x	x	?    x

*  0x3B20 PCH SATA 4p                x	 x   x	  x   x     x	x	?    x
*  0x3B21 PCH SATA 2p                x	 x   x	  x   x     x	x	?    x
*  0x3B24 PCH SATA RAID              x	 x   x	  x   x     x	x	?    x
*  0x3B25 PCH SATA RAID              x	 x   x	  x   x     x	x	?    x
*  0x3B26 PCH SATA 2p                x	 x   x	  x   x     x	x	?    x
*  0x3B28 PCH SATA 4p                x	 x   x	  x   x     x	x	?    x
*  0x3B2B PCH SATA RAID              x	 x   x	  x   x     x	x	?    x
*  0x3B2C PCH SATA RAID              x	 x   x	  x   x     x	x	?    x
*  0x3B2D PCH SATA2 2p               x	 x   x	  x   x     x	x	?    x
*  0x3B2E PCH SATA2 4p               x	 x   x	  x   x     x	x	?    x

   0x5028 Tolapai		     x	 x   x	  x   x     x	x	?    x
   0x502A Tolapai (AHCI)	     x	 x   x	  x   x     x	x	?    x
   0x502B Tolapai (AHCI)	     x	 x   x	  x   x     x	x	?    x

 known bugs and features:
   - ICH5/6300:  the SATA PHY controller registers as described in the SATA
		 standard are missing
   - ICH6/7/8/9: the SATA PHY controller registers may be inaccessible through
		 BAR5

--------------------------------------------------------------------------------
 0x1106 VIA
   0x0581 CX/VX700 SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x0591 VT8237A  SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x3149 VT8237   SATA 	     x	 x   x	  x   -     x	-	x    -
   0x3249 VT6421   SATA 	     x	 x   x	  x   x     x	-	x    -
   0x3349 VT8251   SATA 	     x	 x   x	  x   ?     x	x	x    -
   0x4149 VT6420   SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x5287 VT8251   SATA 	     x	 x   x	  x   ?     x	x	x    -
   0x5337 VT8237A  SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x5372 ???????  SATA 	     x	 x   x	  x   ?     x	?	x    -
   0x6287 VT8251   SATA 	     x	 x   x	  x   ?     x	x	x    -
   0x7353 CX/VX800 SATA 	     x	 x   x	  x   -     x	?	x    -
   0x7372 VT8237S  SATA 	     x	 x   x	  x   -     x	x	x    -

*  0x7800 SB900    SATA              x	 x   x	  x   ?     x	x	x    -
*  0x780c SB900    SATA              x	 x   x	  x   ?     x	x	x    -
*  0x9000 VT8261   SATA              x	 x   x	  x   ?     x	x	x    -
*  0x9040 VT8261   SATA              x	 x   x	  x   ?     x	x	x    -

 known bugs:
   - 8237: doesn't connect to 3Gb/s device interfaces

--------------------------------------------------------------------------------
 0x10B9 ALi
   0x5281 ALi 5281 SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x5287 ALi 5287 SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x5289 ALi 5289 SATA 	     x	 x   x	  x   ?     x	-	x    -
   0x5288 ALi 5288 SATA 	     x	 x   x	  x   ?     x	x	x    -

--------------------------------------------------------------------------------
 0x1039 SiS
   0x0180 SiS964/180 SATA	     x	 x   x	  ?   ?     x	-	?    -
   0x0181 SiS964/180 SATA	     x	 x   x	  ?   ?     x	-	?    -
   0x0182 SiS965 SATA		     x	 x   x	  ?   ?     x	-	?    -
   0x0183 SiS965 SATA		     x	 x   x	  ?   ?     x	-	?    -
   0x1180 SiS1180 SATA		     x	 x   x	  ?   ?     x	?	?    -
   0x1182 SiS966 SATA		     x	 x   x	  ?   ?     x	?	?    -
   0x1183 SiS966 SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x1184 SiS1184 SATA (AHCI)	     x	 x   x	  ?   ?     x	x	x    -
   0x1185 SiS1185 SATA (AHCI)	     x	 x   x	  ?   ?     x	x	x    -

--------------------------------------------------------------------------------
 0x1095 Silicon Image
   0x3112 SiI 3112		     x	 x   x	  x   -     x	-	x    x
   0x3114 SiI 3114		     x	 x   x	  x   ?     x	-	?    x
   0x3512 SiI 3512		     x	 x   x	  x   ?     x	-	?   (x)
   0x0240 Adaptec AAR-1210SA	     x	 x   x	  x   ?     x	-	x   (x)

 known bugs:
   - SiI3x12: incompatibilities with some disks:
      * ST320012AS,ST330013AS,ST340017AS,ST360015AS,ST380023AS,ST3120023AS,
	ST340014ASL,ST360014ASL,ST380011ASL,ST3120022ASL,ST3160021ASL (no fix)

--------------------------------------------------------------------------------
 0x1103 HighPoint
   0x0008 HPT 36x/37x dual
       07 HPT 374		     x	 x   x	  ?   ?     x	-	-    x
   0x0009 HPT 372N		     x	 x   x	  ?   ?     x	-	-   (x)

 features: Most of the current HighPoint SATA controllers are just PATA con-
	   trollers with PATA->SATA bridges

--------------------------------------------------------------------------------
 0x10DE Nvidia
   0x008E nForce2 ultra SATA	     x	 x   x	  ?   ?     x	-	?    -
   0x00E3 nForce3-250 SATA	     x	 x   x	  ?   ?     x	-	?    -
   0x00EE nForce3-250 SATA 2	     x	 x   x	  ?   ?     x	-	?    -
   0x0036 nForce-M04 SATA	     x	 x   x	  ?   ?     x	-	?    -
   0x003E nForce-M04 SATA 2	     x	 x   x	  ?   ?     x	-	?    -
   0x0054 nForce-C04 SATA	     x	 x   x	  x   x     x	x	?    -
   0x0055 nForce-C04 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x0266 nForce-M51 SATA	     x	 x   x	  x   x     x	x	?    -
   0x0267 nForce-M51 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x037E nForce-M55 SATA	     x	 x   x	  x   x     x	x	?    -
   0x037F nForce-M55 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x03F6 nForce-M61 SATA	     x	 x   x	  x   x     x	x	?    -
   0x03F7 nForce-M61 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x03E7 nForce-M61 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x045C nForce-M65 SATA	     x	 x   x	  x   x     x	x	?    -
   0x045D nForce-M65 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x045E nForce-M65 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x045F nForce-M65 SATA 4	     x	 x   x	  x   x     x	x	?    -
   0x0550 nForce-M67 SATA	     x	 x   x	  x   x     x	x	?    -
   0x0551 nForce-M67 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x0552 nForce-M67 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x0553 nForce-M67 SATA 4	     x	 x   x	  x   x     x	x	?    -
   0x07F0 nForce-M73 SATA	     x	 x   x	  x   x     x	x	?    -
   0x07F1 nForce-M73 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x07F2 nForce-M73 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x07F3 nForce-M73 SATA 4	     x	 x   x	  x   x     x	x	?    -

*  0x07F4 nForce7 M73 SATA 5         x	 x   x	  x   x     x	x	?    -
*  0x07F5 nForce7 M73 SATA 6         x	 x   x	  x   x     x	x	?    -
*  0x07F6 nForce7 M73 SATA 7         x	 x   x	  x   x     x	x	?    -
*  0x07F7 nForce7 M73 SATA 8         x	 x   x	  x   x     x	x	?    -
*  0x07F8 nForce7 M73 SATA 9         x	 x   x	  x   x     x	x	?    -
*  0x07F9 nForce7 M73 SATA 10        x	 x   x	  x   x     x	x	?    -
*  0x07FA nForce7 M73 SATA 11        x	 x   x	  x   x     x	x	?    -
*  0x07FB nForce7 M73 SATA 12        x	 x   x	  x   x     x	x	?    -

   0x0AD0 nForce-M77 SATA	     x	 x   x	  x   x     x	x	?    -
   0x0AD1 nForce-M77 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x0AD2 nForce-M77 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x0AD3 nForce-M77 SATA 4	     x	 x   x	  x   x     x	x	?    -
   0x0AB4 nForce-M79 SATA	     x	 x   x	  x   x     x	x	?    -
   0x0AB5 nForce-M79 SATA 2	     x	 x   x	  x   x     x	x	?    -
   0x0AB6 nForce-M79 SATA 3	     x	 x   x	  x   x     x	x	?    -
   0x0AB7 nForce-M79 SATA 4	     x	 x   x	  x   x     x	x	?    -

*  0x0AB9 nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABA nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABB nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABC nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABD nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABE nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0ABF nForce7 M79 SATA4          x	 x   x	  x   x     x	x	?    -
*  0x0D84 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D85 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D86 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D87 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D88 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D89 nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8A nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8B nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8C nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8D nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8E nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -
*  0x0D8F nForce7 M89 SATA           x	 x   x	  x   x     x	x	?    -


--------------------------------------------------------------------------------
 0x1191 AEC/Artop
   0x000A AEC 6885/6896 	     x	 x   x	  x   x     x	-	-    -

 features: Most of the current Artop SATA controllers are just PATA controllers
	   with PATA->SATA bridges

--------------------------------------------------------------------------------
 0x1002 ATI
   0x436E IXP300 SATA		     x	 x   x	  x   ?     x	-	?   (x)
   0x4379 IXP400 SATA		     x	 x   x	  x   ?     x	-	?   (x)
   0x437A IXP400 SATA		     x	 x   x	  x   ?     x	-	?   (x)
   0x4380 IXP600 SATA		     x	 x   x	  x   ?     x	x	?   (x)
   0x4381 IXP600 SATA		     x	 x   x	  x   ?     x	x	?   (x)
   0x4390 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)
   0x4391 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)
   0x4392 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)
   0x4393 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)
   0x4394 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)
   0x4395 IXP700/800 SATA	     x	 x   x	  x   ?     x	x	?   (x)

 IXP300/400 are licenced SiI3112 cores. The same features and bugs apply!

--------------------------------------------------------------------------------
 0x169C NetCell/Revolution
   0x0044 SyncRAID SR3100/5100	     -	 x   x	  -   -     x	-	-    -

 features: The current NetCell SATA controllers are just PATA controllers
	   with PATA->SATA bridges

--------------------------------------------------------------------------------
 0x197B JMicron
   0x2360 JMB360		     x	 x   x	  x   x     x	x	?    -
   0x2361 JMB361 SATA		     x	 x   x	  x   x     x	x	?    -
   0x2363 JMB363 SATA		     x	 x   x	  x   x     x	x	?    -
   0x2365 JMB365 SATA		     x	 x   x	  x   x     x	x	?    -
   0x2366 JMB366 SATA		     x	 x   x	  x   x     x	x	?    -

--------------------------------------------------------------------------------
 0x105A Promise
   0x3318 PDC20318 SATA150 TX4	     -	 x   x	  -   ?     x	-	?    x
   0x3319 PDC20319 FT S150 TX4	     -	 x   x	  -   ?     x	-	?    x
   0x3371 PDC20371 FT S150 TX2plus   -	 x   x	  -   ?     x	-	?    x
   0x3372 PDC20379 FT S150 379	     -	 x   x	  -   ?     x	-	?    x
   0x3373 PDC20378 FT S150 378	     -	 x   x	  -   ?     x	-	?    x
   0x3375 PDC20375 SATA150 TX2plus   -	 x   x	  -   ?     x	-	?    x
   0x3376 PDC20376 FT S150 376	     -	 x   x	  -   ?     x	-	?    x
   0x3377 PDC20377 FT S150 377	     -	 x   x	  -   ?     x	-	?    x
   0x3571 PDC20571 FT S150 TX2200    -	 x   x	  -   ?     x	-	?    x
   0x3574 PDC20579 SATAII150 TX2plus -	 x   x	  -   ?     x	-	?    x
   0x3D18 PDC20518 SATAII150 TX4     -	 x   x	  -   ?     x	-	?    -
   0x3D75 PDC20575 SATAII150 TX2plus -	 x   x	  -   ?     x	-	?    x
   0x3515 PDC40719 FT S300 TX4300    -	 x   x	  -   ?     x	x	?    -
   0x3519 PDC20519 FT S300 TX4200    -	 x   x	  -   ?     x	x	?    -
   0x3570 PDC20771 FT S300 TX2300    -	 x   x	  -   ?     x	x	?    x
   0x3D17 PDC40718 SATA300 TX4	     -	 x   x	  -   ?     x	x	?    -
   0x3D73 PDC40775 SATA300 TX2plus   -	 x   x	  -   ?     x	x	?    -

--------------------------------------------------------------------------------
 0x11AB Marvell
   0x6111 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6120 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6121 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6122 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6140 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6141 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -
   0x6145 MV61xx SATA		     x	 x   x	  ?   ?     x	x	?    -

Caution: Marvell SATA can be operated in AHCI mode only - not yet supported in driver!

================================================================================
Documentation status:

 -  means "documentation not available"
 x  means "documentation publicly available"
 *  means "documentation available, but confidential"
( ) means "documentation partially available" or
	  "other documentation applies here as well"

