XRS10L620 PCI-X to 2-SATA/1-PATA Host Controller DATA SHEET XRS10L620 Rev 1.00 Index 1. XRS10L620 REVISION HISTORY........................................................................................... 2 2. OVERVIEW ................................................................................................................................. 2 3. FEATURES .................................................................................................................................. 3 3-1 General................................................................................................................................. 3 3-2 PCI-X Interface.................................................................................................................... 3 3-3 SATA Interface..................................................................................................................... 3 3-4 IDE Interface ....................................................................................................................... 3 4. BLOCK DIAGRAM .................................................................................................................... 4 5. PIN DIAGRAM............................................................................................................................ 5 5.1 XRS10L620 128-pin Diagram ............................................................................................. 5 5.2 XRS10L620 Pin Assignment ............................................................................................... 6 5.3 Pin Descriptions ................................................................................................................... 7 6. REGISTER DEFINITION.........................................................................................................11 6.1 PCI Configuration Memory Registers : ............................................................................. 11 6.1.1 PCI Power Management Registers : ....................................................................... 12 6.2 PCI-X Capabilities List Item : ........................................................................................... 13 6.2.1 CFGM+4Ch(R) : 32 bits PCI-X Status Register..................................................... 13 6.3 Host Registers definition:................................................................................................... 14 6.3.1 Global host registers : (IOG + 00h to 0FFh)........................................................... 15 6.3.2 Port Registers (length 80h bytes per port/channel):................................................ 22 7. SYSTEM MEMORY STRUCTURE........................................................................................ 41 7.1 Received FIS structure ....................................................................................................... 41 7.2 Command List Structure .................................................................................................... 42 7.3 Command Table and PRD table......................................................................................... 42 8. PCB HIGH-SPEED LAYOUT DESIGN GUIDELINES ....................................................... 43 9. ELECTRICAL CHARACTERISTICS ................................................................................... 44 9.1 Absolute Maximum Ratings............................................................................................... 44 9.2 Typical Operating Condition.............................................................................................. 44 9.3 DC Specifications .............................................................................................................. 45 10. PACKAGE DIMENSION ....................................................................................................... 46 11. APPENDIX ............................................................................................................................... 47 11.1Product ordering information............................................................................................ 47 11.1.1 IC Marking Information ........................................................................................ 47 11.1.2 Product Ordering Information............................................................................... 47 11.2 Soldering temperature profile .......................................................................................... 48 1 1/20/2009 XRS10L620 Rev 1.00 1. XRS10L620 Revision history This document details the revision history for XRS10L620 and its derivatives as in Table1. Table 1. Revision History Release Day Revision Description 2008/09/29 0.10 Initial revision 2008/10/02 0.11 Remove target mode 2008/01/20 1.00 Release Notes 2. Overview XRS10L620 is a 2ch-SATA 1ch-IDE controller with PCI-X interface. It can connect up to 4 devices at the same time, 2 SATA devices and 2 IDE/ATAPI devices. With its 32-bit PCI-X interface, it can easily with any MCU or CPU with PCI/PCI-X interface to form a powerful subsystem connecting high speed SATA storage devices and low cost IDE HD’s and ODD’s (optical disc drive). The excellent compatibility of XRS10L620 with IDE HD’s and ODD’s make it especially suitable to construct an enclosure device with both IDE HD’s and CD-ROM/DVD-ROM or CD/DVD burners, such as external SATA/IDE raid box or CD/DVD copy machine. The two SATA channels on the chip can function in HOST mode. They comply with SATA Gen1 specification (Gen1 supports 1.5Gbps data rate) and Gen2 (3Gbps data rate) specification. As for the IDE channel, the maximum transfer rate range from 16.7 MB/s to 150 MB/s. Further more, data transfer can take place among 3 devices to PCIX bus simultaneously. 2 1/20/2009 XRS10L620 Rev 1.00 3. Features 3-1 General ¾ 0.18um CMOS process technology ¾ Spread-Spectrum Clock (SSC) tolerance ¾ I2C interface operating in master/slave mode ¾ 2 SATA ports and 1 ATA/ATAPI port ¾ 1.8V/3.3V power supply ¾ 128-pin LQFP package 3-2 PCI-X Interface ¾ Compliant with PCI-X specifications Rev. 1.0a ¾ Compliant with PCI specification Rev 2.3 ¾ Compliant with PCI Bus Power Management Interface Specification Rev 1.1 ¾ 32bit PCI-X with burst data rate 400MB/s at 100MHz maximum. ¾ Supporting Dual Address Cycle (DAC), break the 4GB memory limit. ¾ Supporting Enhanced AHCI to reduce CPU overhead ¾ All registers appear in memory and IO space ¾ Flash ROM interface setup utility and booting 3-3 SATA Interface ¾ Conforming to Gen1i/Gen1m (1.5Gb/s), capable of eSATA ¾ Supporting 2 SATA ports with 1.5Gb/s data rate on each port ¾ Supporting Hot Plug for devices on channels or behind the Port Multiplier ¾ Supporting Command-based switching (Port Multiplier 1.2) ¾ Supporting Asynchronous Notification ¾ Supporting Native Command Queuing (NCQ) – not combined with Port Multiplier ¾ Staggered spin-up control on 2 channels ¾ Individual device active LED indication ¾ I2C interface in master & slave role for SATA enclosure service 3-4 IDE Interface ¾ One IDE channel to support master and slave devices ¾ Conforming to ATA-7 specification ¾ Supporting PIO mode 0, 1 ,2, 3, 4 with 16.6MB/s data rate ¾ Supporting multiword DMA mode 0, 1, 2 with 16.6MB/s data rate ¾ Supporting Ultra DMA mode 0, 1, 2, 3, 4, 5, 6 with data rate up to 150MB/s ¾ Programmable active and recovery cycle register timing per device 3 1/20/2009 XRS10L620 Rev 1.00 4. Block Diagram Configuratio n Registers I2C Control Test Control Global and Channel Register PCIX Bus IDE FIFO PCIX Arbitatio n AHCI Control 1/20/2009 Flash ROM SATA Control IDE Port SATA 0 PHY AHCI Control 4 Flash Control SATA 1 IDE Bus SATA Bus0 SATA Bus1 XRS10L620 Rev 1.00 5. PIN DIAGRAM 5.1 XRS10L620 128-pin Diagram AD18 AD17 AD16 BE2# FRAME# IRDY# GND TRDY# VDD33 DEVSEL# STOP# VDD18 PAR GND BE1# AD15 AD14 AD13 M66EN AD12 AD11 AD10 AD9 AD8 BE0# AD7 XRS10L620 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 GND AD6 AD5 VDD33 AD4 AD3 AD2 AD1 AD0 GND TX1P TX1N GNDA VDDA3 RX1N RX1P VDDA4 VDDA1 RSVXO OSCI GNDA GNDA RX0P RX0N VDDA2 GNDA TX0N TX0P TESTMODE RCS# ROE#/LED0# RA2 RA0 GND RA1 VDD18 RWE# GND 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 DD12/RD6 DD2/RD5 DD13/RD4 GND DD1/RD3 DD14/RD2 DD0/RD1 DD15/RD0 DDRQ DIOW# VDD18 DIOR# GND DCHRDY DACK#/RA14 DIRQ DSA1/RA13 DLLEN# DSA0/RA8 DSA2/RA9 VDD33 DCS0#/RA11 DCS1#/RA10 SCL/GIO3 SDA/GIO2 LED1#/GIO1 5 1/20/2009 AD19 GND AD20 AD21 AD22 AD23 IDSEL BE3# AD24 AD25 GND AD26 VDD33 AD27 AD28 AD29 AD30 AD31 GND PREQ# PGNT# PCLK PRST# VDD18 INTA# DRST# DD7/RA3 DD8/RA4 DD6/RA5 GND DD9/RA6 VDD18 DD5/RA7 DD10/RA12 VDD33 DD4/RA15 DD11 DD3/RD7 XRS10L620 Rev 1.00 5.2 XRS10L620 Pin Assignment Pin# Name I/O Pin# 1 GND Name I/O Pin# 33 RA0 2 AD6 IO 34 GND 3 AD5 IO 35 RA1 4 VDD33 O/I O/I 36 VDD18 5 AD4 IO 37 RWE# 6 AD3 IO 7 AD2 Name I/O 65 DD3/RD7 IO 97 AD23 IO 66 DD11 IO 98 AD22 IO 67 DD4/RA15 IO 99 AD21 IO 100 AD20 IO 68 VDD33 O/I Name 69 DD10/RA12 IO 101 GND 38 GND 70 DD5/RA7 IO 102 AD19 IO IO 39 LED1#/GIO1 IO 71 VDD18 103 AD18 IO 8 AD1 IO 40 SDA/GIO2 IO 72 DD9/RA6 IO 104 AD17 IO 9 AD0 IO 41 SCL/GIO3 IO 73 GND 105 AD16 IO 10 GND 42 DCS1#/RA10 O/I 74 DD6/RA5 IO 106 BE2# IO 11 TX1P O 43 DCS0#/RA11 O/I 75 DD8/RA4 IO 107 FRAME# IO 12 TX1N O 44 VDD33 76 DD7/RA3 IO 108 IRDY# IO 13 GNDA 45 DSA2/RA9 O/I 77 DRST# O 109 GND 14 VDDA3 46 DSA0/RA8 O/I 78 INTA# O 110 TRDY# I 79 VDD18 O/I 80 PRST# I 112 DEVSEL# IO I 81 PCLK I 113 STOP# IO 15 RX1N I 47 DLLEN# 16 RX1P I 48 DSA1/RA13 49 DIRQ 18 VDDA1 50 DACK#/RA14 O/I 82 PGNT# I 114 VDD18 83 PREQ# O 115 PAR 19 RSVXO O 51 DCHRDY 20 OSCI I 52 GND 21 GNDA 53 DIOR# 22 GNDA 54 VDD18 I O IO 111 VDD33 17 VDDA4 IO 84 GND 116 GND 85 AD31 IO 117 BE1# IO 86 AD30 IO 118 AD15 IO 23 RX0P I 55 DIOW# O 87 AD29 IO 119 AD14 IO 24 RX0N I 56 DDRQ I 88 AD28 IO 120 AD13 IO IO 121 M66EN 25 VDDA2 57 DD15/RD0 IO 89 AD27 26 GNDA 58 DD0/RD1 IO 90 VDD33 I 122 AD12 IO 27 TX0N O 59 DD14/RD2 IO 91 AD26 IO 123 AD11 IO 28 TX0P O 60 DD1/RD3 IO 92 GND 124 AD10 IO 29 TESTMODE I 61 GND 30 RCS# O/I 93 AD25 IO 125 AD9 IO 62 DD13/RD4 IO 94 AD24 IO 126 AD8 IO 31 ROE#/LED0# O 63 DD2/RD5 IO 95 BE3# IO 127 BE0# IO 32 RA2 64 DD12/RD6 IO 96 IDSEL O/I **‘O/I’: input function available only when PRST# active. 6 I/O Pin# 1/20/2009 I 128 AD7 IO XRS10L620 Rev 1.00 5.3 Pin Descriptions z 5.3.1 PCI interface Pin Name AD[31:0] Pin# 85-89,91,93,94, Type Description I/O PCI Multiplexed Address and Data 97-100,102-105, 118-120,122-126, 128,2,3,5-9 BE[3:0]# 95,106,117,127 I/O PCI Command/Byte Enable PAR 115 I/O PCI Parity FRAME# 107 I/O PCI Cycle Frame TRDY# 110 I/O PCI Target Ready IRDY# 108 I/O PCI Initiator Ready STOP# 113 I/O PCI Stop DEVSEL# 112 I/O PCI Device Select IDSEL 96 I PCI Initialization Device Select INTA# 78 O PCI Interrupt Request A PREQ# 83 O PCI Master Request PGNT# 82 I PCI Master Grant PCLK 81 I PCI Clock PRST# 80 I PCI Reset M66EN 121 I PCI 66MHz indication z 5.3.2 Serial ATA interface Pin Name Pin# Type Description RSVXO 19 O Reserved for internal test. OSCI 20 I External oscillator input. The clock rate is 25MHz, 1.8V level. TX0P 28 O SATA 0 positive output of the differential signal TX0N 27 O SATA 0 negative output of the differential signal RX0N 24 I SATA 0 positive input of the differential signal RX0P 23 I SATA 0 positive input of the differential signal RX1P 16 I SATA 1 positive input of the differential signal RX1N 15 I SATA 1 positive input of the differential signal TX1N 12 O SATA 1 negative output of the differential signal TX1P 11 O SATA 1 positive output of the differential signal 7 1/20/2009 XRS10L620 Rev 1.00 z 5.3.3 Parallel ATA interface Pin Name Pin# Type Description DCS1#/RA10 42 O/I IDE chip select 1 DCS0#/RA11 43 O/I IDE chip select 0 DSA2/RA9 45 O/I IDE address2 DSA0/RA8 46 O/I IDE address0 DSA1/RA13 48 O/I IDE address1 DIRQ 49 DACK#/RA14 50 DCHRDY 51 I IO channel ready or DDSTROBE, DDMARDY# DIOR# 53 O IO read or HSTROBE, HDMARDY# DIOW# 55 O IO write or STOP DD[15:0] 57,59,62,64, I IDE interrupt O/I IDE DMA acknowledge I/O IDE data bus 66,69,72,75, 76,74,70,67, 65,63,60,58 DRST# 77 O IDE reset z 5.3.4 Flash ROM pins (some are shared with IDE bus pins) : 8 Pin Name Pin# Type Description RCS# 30 O/I ROM chip select ROE#/LED0# 31 O/I ROM output enable and SATA0 LED# RWE# 37 O/I ROM write enable RA0 33 O/I ROM address 0 RA1 35 O/I ROM address 1 RA2 32 O/I ROM address2 DD7/RA3 76 I/O ROM address3 DD8/RA4 75 I/O ROM address4 DD6/RA5 74 I/O ROM address5 DD9/RA6 72 I/O ROM address6 DD5/RA7 70 I/O ROM address7 DSA0/RA8 46 O/I ROM address8 DSA2/RA9 45 O/I ROM address9 DCS1#/RA10 42 O/I ROM address10 1/20/2009 XRS10L620 Rev 1.00 DCS0#/RA11 43 O/I ROM address11 DD10/RA12 69 I/O ROM address12 DSA1/RA13 48 O/I ROM address13 DACK#/RA14 50 O/I ROM address14 DD4/RA15 67 I/O ROM address15 DD15/RD0 57 I/O ROM data0 DD0/RD1 58 I/O ROM data1 DD14/RD2 59 I/O ROM data2 DD1/RD3 60 I/O ROM data3 DD13/RD4 62 I/O ROM data4 DD2/RD5 63 I/O ROM data5 DD12/RD6 64 I/O ROM data6 DD3/RD7 65 I/O ROM data7 z 5.3.5 Miscellaneous : Pin Name Pin# Type Description LED1#/GIO1 39 I/O SATA channel 1 LED and general IO pin SDA/GIO2 40 I/O I2C bus signal and general IO pin, internally pull up 41 SCL/GIO3 I/O I2C bus signal and general IO pin, internally pull up DLLEN# 47 I Internal test only TESTMODE 29 I Reserved, connected to GND normally z 5.3.6 Power : Pin Name Pin# VDD18 36,54,71,79,114 1.8V Digital 1.8V core power VDD33 4,44,68,90,111 3.3V Digital 3.3V IO power VDDA4,VDDA3, 17,14,25,18 1,10,34,38,52,61, 73, 84,92,101,109,116 GNDA 9 1.8V Analog 1.8V power supply. Each is connected to the series ferrite bead for noise suppression. VDDA2,VDDA1 GND Type Description 13,21,22,26 Digital ground, Each pin must have solid connection with PCB GND plane by at least 2 vias or other traces with it. Analog ground 1/20/2009 XRS10L620 Rev 1.00 z 5.3.7 Hardware configuration jumper setting : ( All pins are pulled high or low in chip, 1 = pull high; 0 = pull low) Pin Name Pin# Default RA1,RA0 35,3 1,1 Description PCI Device ID numbers : 1,1 = ‘000D’H 3 1,0 = ‘000E’H 0,1 = ‘000F’H 0,0 = ‘000D’H, reserved for internal test RA2 32 1 0 = Enable staggered spin-up operation PCI-reset will not issue COMRESET to all SATA channels. HDDs spin- up are initiated by software 1= Disable staggered spin-up operation. PCI-reset will issue COMRESET to all SATA channels and spin up all SATA HDDs DCS0#/RA11, 43 1 PCI SubClass number : 1= 00H (SCSI) 0= 04H(RAID) DCS1#/RA10 42 1 Reserved for internal test. 1= fix phase DSA1/RA13 48 1 Lowest address bit of I2C master (SEMB), high 6 bit = 101000B DSA2/RA9 45 1 Both SATA channels TX driver initial level 0 = 500mV mode for Gen1i during initialization 1 = 550mV mode for Gen1m during initialization Other TX levels of each channel can be programmed by software DSA0/RA8 46 1 1= forced Gen1 speed for SATA channel 0 0=Normal speed negotiation, for internal test only RCS# 30 1 1= forced Gen1 speed for SATA channel 1 0=Normal speed negotiation, for internal test only RWE# 37 1 1 = SATA0 is Host mode (default) DACK#/RA14 50 1 1 = SATA1 is Host mode (default) 10 1/20/2009 XRS10L620 Rev 1.00 6. Register Definition 6.1 PCI Configuration Memory Registers : ( RWC : write 1 to clear ) ( RW1 : write 1 to enable the bit and will be auto-cleared; write 0 has no function ) Addr R/W Name 00,01 R Vendor ID 1191h 02,03 R Device ID 000Dh, 000Eh, 000Fh, depend on RA1,0 setting 04,05 RW Command Register 06,07 R Status Register 08 R Revision ID Bit0 = 1 : enable IO space = 0: disable IO space Bit1 = 1 : enable Memory space = 0: disable Memory space Bit2 = 1 : enable Bus Master = 0: disable Bus Master Bit6 = 1 : enable Parity error response = 0: disable Parity error response Bit10 = 1 : disable INTA# = 0: enable INTA# Other bits are ‘0’, read only Bit3 = reflect the interrupt status Bit4 = 1 : with PCI power management capability Bit5 = 1 : 66 MHz capable Bit7 = 0 : Fast Back to Back Capable Bit8 = 1 : Data parity error detected by master Bit10,9 = 0,1 : medium DEVSEL timing Bit13 = 1 : Received Master abort Bit15 = 1 : Detected parity error by device 00h 09 R 0A R SubClass 0B R Basic Class 0C RW Cache Line Size 0D RW Latency Timer 0E R Header type 0F R BIST 10-13 RW Base Addr Reg0 11 Description Programming Interface 00h 00H (SCSI) or 04H(RAID), by DCS0#/RA11 configuration 01h, mass storage 00h (00h, default) The register specify PCI clock count for this PCI master 00h 00h IO address of Global host & IDE registers, length 256 bytes 1/20/2009 XRS10L620 Rev 1.00 14-17 RW Base Addr Reg1 18-1B RW Base Addr Reg2 1C-1F RW Base Addr Reg3 20-23 RW Base Addr Reg4 24-27 RW Base Addr Reg5 28-2B R Card CIS Pointer 2C-2F R/W bit0 : fixed to 1 bit[7:1] : fixed to 0 other bits are read/writable IO address of SATA channel 0 & 1 registers, length 256 bytes bit0 : fixed to 1 bit[7:1] : fixed to 0 other bits are read/writable IO address reserved for test, length 256 bytes bit0 : fixed to 1 bit[7:1] : fixed to 0 other bits are read/writable IO address reserved for test, length 256 bytes bit0 : fixed to 1 bit[7:1] : fixed to 0 other bits are read/writable IO address reserved for test, length 256 bytes bit0 : fixed to 1 bit[7:1] : fixed to 0 other bits are read/writable MEM address of Global and all SATA channels registers, length 1280 bytes. The Memory accessed registers are the same as those mapped by Base Addr [4:0]. bit[11:0] : fixed to 0, in 4KB range other bits are read/writable 00000000h Subsystem Vendor ID Default are same as Vendor ID and Device ID Subsystem Device ID Expansion ROM Base bit0 : read/writable, set 1 to enanble the ROM bit[15:1] : fixed to 0 Address bit[31:16] : read/writable (40h) point to power management link list Cap_Pointer 30-33 R/W 34 R 35-3B R Reserved 00h 3C RW Interrupt line 00h 3D R Interrupt pin 01h, INTA# 3E R Min_GNT 08h, specify a burst period in 250ns unit 3F R Max_LAT 0Dh, specify how often the device needs to gain access the PCI bus in 250ns unit 40 to 47 RW PCI power Refer to section (2.1) management registers 48 to 4F RW PCI-X Capabilities List Refer to section (2.2) Item 6.1.1 PCI Power Management Registers : CFGM+40h to 47h : 8 bytes PCI power management registers CFGM+40h (R): Capability ID, default 01H CFGM+41h (R): Next Item Pointer, default 48H 12 1/20/2009 XRS10L620 Rev 1.00 CFGM+42h,43h(R) : Power Management capabilities(PMC), default 0602H CFGM+44h,45h(RW) : Power Management Control/Status Register(PMCSR) Default 0000H Bit [15:02]: all 0h, read only Bit1,bit0 : Power State, read/write 00b is D0 state 01b is D1 state 10b is D2 state 11b is D3 hot state CFGM+46h(R) : PMCSR_BSE register, default 00H CFGM+47h(R) : Data register, default 00H 6.2 PCI-X Capabilities List Item : CFGM+48h(R) : PCI-X capabilities ID, = 07h. CFGM+49h(R) : Next Capability, = 00h CFGM+4Ah(RW) : 16 bits PCI-X command register Bit(s) R/W default 15,14 R 00 Description Reserved PCI-X Capabilities List Item Version. 13,12 R 00 ‘00’ means Version 0, without ECC support and Capabilities List Item size is 8 bytes 11:7 R 00000 Reserved Maximum Outstanding Split Transactions. 6:4 RW 010 ‘010’ means Maximum Outstanding at one time as a requester is 3. Values below‘010’ means 1 outstanding only. Other values are same as ‘010’. Maximum Memory Read Byte Count. 3,2 RW 01 ‘01’ means Maximum byte count is 1024 for burst memory commands ‘00’ means Maximum byte count is 512 for burst memory commands Other values are same as‘01’. 1 R 0 0 RW 0 Enable Relaxed Ordering ‘0’: The device never set the Relaxed Ordering attribute bit Uncorrectable Data Error Recovery Enable. 6.2.1 CFGM+4Ch(R) : 32 bits PCI-X Status Register Bit(s) R/W default Description 31 13 R 0 0 = PCI-X 533 not capable 1/20/2009 XRS10L620 Rev 1.00 30 R 0 0 = PCI-X 266 not capable (Not a PCI-X mode 2 device) Received Split Completion Error Message. 29 RWC 0 0 = No Split Completion error message received. 1 = A Split Completion error message has been received. Designed Maximum Cumulative Read Size ‘010’ is 4KB(32 ADQs) cumulative outstanding when Maximum Memory 28:26 R 010 Read Byte Count register is assigned to 1024 bytes. ‘001’is 2KB(16 ADQs) cumulative outstanding when Maximum Memory Read Byte Count register is assigned to 512 bytes. 25:23 R 010 22,21 R 01 20 R 0 Designed Maximum Outstanding Split Transactions. ‘010’ means Maximum Outstanding at one time as a requester is 3. Designed Maximum Memory Read Byte Count. ‘01’ means Maximum byte count is 1024 for burst memory commands Device Complexity 0 = simple device 1 = bridge device Unexpected Split Completion 19 RWC 0 0 = No unexpected Split Completion has been received. 1 = An unexpected Split Completion has been received. Split Completion Discarded. 18 RWC 0 0 = No Split Completion has been discarded. 1 = A Split Completion has been discarded. 17 R 1 1 = The device’s maximum clock frequency is 133 MHz. 16 R 0 0 = The bus is 32 bits wide. Bus Number. 15:8 R FFh Each time the function is addressed by a Configuration Write transaction, it will update the register with the contents of AD[7:0] of the attribute phase of the Configuration Write. Device Number. 7:3 R 1Fh Each time the function is addressed by a Configuration Write transaction, it will update the register with the contents of AD[15:11] of the attribute phase of the Configuration Write. 2:0 R 000 Function Number 6.3 Host Registers definition: ( IOG = global, pointed by PCI Base Address Reg0 ) ( IO01 = channel0&1, pointed by PCI Base Address Reg1 ) ( IO23 = channel2&3, pointed by PCI Base Address Reg2, Reserved ) ( IO45 = channel4&5, pointed by PCI Base Address Reg3, Reserved ) 14 1/20/2009 XRS10L620 Rev 1.00 ( IO67 = channel6&7, pointed by PCI Base Address Reg4, Reserved ) ( MEM5 = pointed by PCI Base Address Reg5 ) Register Table Register addr IO addr mapping MEM addr mapping Description [13 : 00] IOG+ [13 : 00] MEM5+ [13 : 00] AHCI generic host control [7F : 14] IOG+ [7F : 14] MEM5+ [7F : 14] Reserved [9F : 80] IOG+ [9F : 80] NA IDE channel registers [FF : A0] IOG+ [FF : A0] MEM5+ [FF : A0] I2C, GIO, PHY, Test registers [17F : 100] IO01+ [7F : 00] MEM5+ [17F : 100] AHCI SATA Channel 0 registers [1FF : 180] IO01+ [FF : 80] MEM5+ [1FF : 180] AHCI SATA Channel 1 registers 6.3.1 Global host registers : (IOG + 00h to 0FFh) Reg_000H (IOG+00h) : Host Capability (CAP) Bit(s) R/W default Symbol 31 30 29 28 R R R R 1 1 0 0 27 R RA2 depends 26 25 24 23:20 19 18 17 16 15 14 13 12:08 07:05 04:00 R R R R R R R R R R R R R R 0 1 1 0010 0 1 1 0 0 1 1 11111 0 00001 S64A SNCQ SIS SSS SALP SAL SCLO ISS SNZO SAM SPM PMD SSC PSC NCS NP Description Support 64-bit Addressing Support Native Queue Reserved Support Interlock Switch 1 = support Stagger Spin-up default =0, if RA2 pull up default =1, if RA2 pull down Support Aggressive Link Power Management Support Active LED Support Command List Override Interface Speed Support. Support Non-zero DMA offsets Support AHCI mode only, no legacy mode Support Port Multiplier, FIS base switching Reserved Only support single DRQ block data transfer for PIO Slumber state capable Partial state capable Support 32 command slots per channel Reserved Support maximum of 2 ports Reg_004H (IOG+04h) : Global HBA Control (GHC) Bit(s) R/W default Symbol 31 15 R 1 AE Description Software can only access the chip using AHCI 1/20/2009 XRS10L620 Rev 1.00 30:02 R 0 01 RW 0 00 RW1 0 IE HR Reserved Interrupt Enable 0 = INTA# disabled for all interrupt from all ports 1 = INTA# enabled, if CFGM+4 bit10 =0 also HBA internal reset, issued by SW and auto-cleared when reset completed. SW should set‘1’once for power on initialization. If Reg_000H bit 27(SSS)=0, COMRESET issued to all ports. If SSS=1, no COMRESET issued, SW need to spin-up each port after the reset has completed. The bit is self-cleared after reset action completed Reg_008H (IOG+08h) : Interrupt Status Register (IS) Bit(s) R/W default Symbol 31 R 0 30 RWC 0 29 RWC 0 28:09 R 0 08 R 0 07:02 R 0 01:00 R 00b Description Interrupt flag when as I2C slave, means one byte received IFS completed via I2C. Cleared when Reg_0B0H RXRS is read out Interrupt flag when as I2C master, means one byte transfer IFM completed via I2C. The interrupt is cleared as below : Master receive : Read out Reg_0B0H RXRM. Timer IRQ flag, 1=timer up Set 1 will clear this flag and timer IRQ signal (INTA#) Reserved to 0 Latched IDE IRQ flag, reflect the Reg_090H bit 18 when IDEPS Reg_090H bit 11 = 1 Reserved to 0 If set, the corresponding bit map port has at least an interrupt flag IPS in P0IS, P1IS, and their P0IE, P1IE are enabled respectively. Each bit is cleared when all flags in respective PxIS are cleared Reg_00CH (IOG+0Ch): Ports Implemented Bit(s) R/W default Symbol 31:02 R 0 01:00 R 11b PI Description =1, the bit significant port is available. =0, the bit significant port is not available Reg_010H (IOG+10h) : AHCI Version (VS) Bit(s) R/W default Symbol 31:16 15:00 R R 0001h 0000h MJR MNR Description Major version is ‘1’ Minor version is‘0’ Reg_014H to Reg_07FH are reserved. Reg_080H to Reg_087H (IOG+80h to 87h) : Reg_80h to 87h are mapped to standard Parallel IDE port 0 to port7 16 1/20/2009 XRS10L620 Rev 1.00 (The region is only IO port accessed, not available by memory access using MEM5 decoding) Reg_088H to Reg_08DH (IOG+88h to 8Dh) : (RO) Reserved to 00h Reg_08EH (IOG+8Eh) : Standard Parallel IDE alternate status and control register Reg_08FH (IOG+8Fh) : (RO) Reserved to 00h Reg_090H (IOG+90h) : IDE DMA start/stop Bit(s) R/W default 31 RW 0 Description Test only for CH0 and CH1. FIFO threshold to initiate PCI write - request for IDE channel 30:28 27 RW R 000 0 000 : 7/8 FIFO full, 100 : 3/8 FIFO full 001 : 6/8 FIFO full, 101 : 2/8 FIFO full 010 : 5/8 FIFO full, 110 : 1/8 FIFO full 011 : 4/8 FIFO full, 111 : 1/8 FIFO full Reserved FIFO threshold to initiate PCI read memory request for IDE channel 26:24 RW 000 000 : 7/8 FIFO empty, 100 : 3/8 FIFO empty 001 : 6/8 FIFO empty, 101 : 2/8 FIFO empty 010 : 5/8 FIFO empty, 110 : 1/8 FIFO empty 011 : 4/8 FIFO empty, 111 : 1/8 FIFO empty 23:20 R 0000 19 R 0 18 RWC 0 17 RW 0 IDE IOR/W split enable, 1 = split enable 16 R 0 PCI/PCIX IDE DMA is active 15 RW 0 Set 1 to output low to reset IDE; 0 to normal state 14 RW 0 Set 1 to disable all IDE pins output 13 R 0 Reserved 12 R 0 Reserved for DLLEN# pin 11 RW 0 1= enable IDE IRQ as PCI INTA# signal. 17 Reserved for internal test IDE FIFO‘NOT empty’ flag, 0 means empty Latched IDE IRQ flag and also shown at Reg_008H bit8, fill 1 to clear the bit, or cleared when IDE IRQ is cleared. 1/20/2009 Default 0=disable XRS10L620 Rev 1.00 PCI/PCIX mode indicator Bit 8 , 1= PCIX66 mode 10:8 Bit 9 , 1= PCIX100 mode R Bit 10 , 1= PCIX133 mode Bit (10,9,8)= (0,0,0) means PCI mode 7:4 R 00h Reserved 3 RW 0 IDE DMA direction, 1 = write to host memory 2,1 R 00 Reserved 0 RW 0 Start/Stop PCI IDE DMA Reg_094H (IOG+94h): IDE speed Bit(s) R/W default 31 R 0 Description Reserved Slave-IDE UDMA mode# +1, 30,29,28 27 RW R 000 0 000= disable UDMA, enable NDMA; 100= UDMA mode 3 001=UDMA mode 0 ; 101= UDMA mode 4 010= UDMA mode 1 ; 110= UDMA mode 5 011= UDMA mode 2 ; 111= UDMA mode 6 000= disable UDMA, enable NDMA; 100= UDMA mode 3 001=UDMA mode 0 ; 101= UDMA mode 4 010= UDMA mode 1 ; 110= UDMA mode 5 011= UDMA mode 2 ; 111= UDMA mode 6 Reserved Master-IDE UDMA mode# +1, 26,25,24 RW 000 23 R 0 22:20 RW 111 19:16 RW 0000 15 R 0 14:12 RW 000 11:08 RW 0000 07 R 0 18 Reserved 8 bit IDE ports speed, active cycles clocks (1 clk=26.7ns) 000 = 8 clk, 001=1 clk, . . . . . . . . . .,110=6 clk, 111=12clk 8 bit IDE ports speed, recovery cycles clocks (1 clk=26.7ns) 0000= 12 clk, 0001=1 clk, . . . . . . ,1011=11 clk, 11xx=15clk Reserved slave 16 bit IDE PIO/NDMA data active cycle clocks (1 clk=26.7ns) 000 = 8 clk, 001=1 clk, . . . . . . . . . .,110=6 clk, 111=12clk slave 16 bit IDE PIO/NDMA data recovery cycle clocks (1 clk=26.7ns) 0000= 12 clk, 0001=1 clk, . . . . . . ,1011=11 clk, 11xx=15clk Reserved 1/20/2009 XRS10L620 Rev 1.00 06:04 RW 000 03:00 RW 0000 master 16 bit IDE PIO/NDMA data active cycle clocks (1 clk=26.7ns) 000 = 8 clk, 001=1 clk, . . . . . . . . . .,110=6 clk, 111=12clk master 16 bit IDE PIO/NDMA data recovery cycle clocks (1 clk=26.7ns) 0000= 12 clk, 0001=1 clk, . . . . . . ,1011=11 clk, 11xx=15clk Reg_098H (IOG+98h) : Low Dword address of Parallel IDE PRD pointer Bit(s) R/W default 31:02 01:00 RW R 0 0 Description Low Dword address of Parallel IDE PRD pointer Fixed to 0 Reg_09CH (IOG+9Ch) : High Dword address of Parallel IDE PRD pointer Bit(s) R/W default 31:00 RW 0 Description High Dword address of Parallel IDE PRD pointer Reg_0A0H (IOG+A0h) : Flash ROM data port Access to the port will start ROM control signals 4 times, in/out the 8-byte ROM data bus with address bus defined in Reg_0A8H. Bit(s) R/W default Symbol 31:24 23:16 RW Description Flash ROM data port byte 3 Flash ROM data port byte 2 RW 15:08 RW Flash ROM data port byte 1 07:00 RW Flash ROM data port byte 0 Reg_0A4H (IOG+A4h) : GIO control Bit(s) R/W default Symbol Description Function switch for GIO3 pin 00 = normal function, as SCL 01 = output user defined bit(bit23) to GIO3 31:30 RW 00 10 = output one SATA channel debug signal to GIO3, see Reg_150H and Reg_1D0H 11 = output disabled, pure input mode Set 1 to negate other share pins function (like SCL, SDA, LED1Z, LED0Z), and dedicated as GIO pin(s) 19 1/20/2009 XRS10L620 Rev 1.00 Function switch for GIO2 pin 00 = normal function, as SDA 01 = output user defined bit(bit22) to GIO2 29:28 RW 00 10 = output one SATA channel debug signal to GIO2, see Reg_150H and Reg_1D0H 11 = output disabled, pure input mode Set 1 to negate other share pins function (like SCL, SDA, LED1Z, LED0Z), and dedicated as GIO pin(s) Function switch for GIO1 pin 00 = normal function, as LED1# 01 = output user defined bit(bit21) to GIO1 27:26 RW 00 10 = output one SATA channel debug signal to GIO1, see Reg_150H and Reg_1D0H 11 = output disabled, pure input mode Set 1 to negate other share pins function (like SCL, SDA, LED1Z, LED0Z), and dedicated as GIO pin(s) 25:24 RW 00 Reserved 23:21 RW 000 20 RW 0 19:17 R 16 R 0 Reserved 15 RW 0 1=GIO3 pin always output 1KHz signal when bit[31:30]= ‘01’ 14:01 R 0 Reserved User defined output value of GIO[3:1] pins, 1 to output high Available if modes in bit[31:26] are enabled respectively Reserved GIO[3:1] pins input value respectively Available if modes in bit[31:26] are switched to input mode Switch one SATA channel for output debug signals to GIO pin 00 RW 0 0 = SATA channel 0 1 = SATA channel 1 Reg_0A8H (IOG+A8h) : PCI Bus Control and ROM Address Bit(s) R/W default Symbol Description The corresponding RA[15:2] pins value, set 0/1 will output 31:18 RW 0 low/high, available if bit16(PIOROM) is enabled to ‘1’. Reading of the bits reflect the real pins value. 17 20 R 0 Reserved 1/20/2009 XRS10L620 Rev 1.00 1=Enable PIOROM and also disable IDE function 16 RW 0 RA[15:2] output are controlled by bit [15:2] of this register RA[1:0] are auto-generated by chip 15:13 R 0 12 RW 0 11 RW 0 Test only. 1= delayed write strobe 10 R/W 0 Test only, set 1 to disable DAC 09 RW 0 1 to issue DAC in every Memory access command, test only. 08 RW 0 R 0 06 RW 0 05 RW 0 04 RW 0 Reserved 03 RW 0 1 : Disable Write SubSystem ID 02 RW 1 1 : Enable PCI burst 01 RW 1 1 : Enable PCI Memory Read Multiple 00 R 0 Reserved for PCI(X) 64 bit transfer 07 Reserved 1= enable UDMA150, when Reg_094H is also set to UDMA mode 6 on that channel. 0: Rolling PCI arbitration on all channels 1: Fixed PCI retry arbitration on all channels M66EN pin value 1 : Enable periodical issuing COMRESET on SATA channels when their PHY are not ready 1 : For PCIX, forced Memory Write command instead of Memory Write Block command Reg_0ACH (IOG+ACh) : Timer Control Bit(s) R/W default Symbol Description 31:24 R 0 Reserved 23,22 R 00 Test only, Mem1 result, ‘11’= good, other values= error 21:20 R 00 Test only, Mem0 result, ‘11’= good, other values= error 18 RW1 0 TSTM1 Test only. Start to test Mem1 17 RW1 0 TSTM0 Test only. Start to test Mem0 16 RW 0 1 : Enable timer IRQ as INTA# signal 15 RW1 0 ‘1’= start timer. The bit is auto-cleared when timer counts to 0 14:0 RW 0 15 bit timer count, in unit of 4 ms. Auto decrement to 0, when timer starts. Reg_0B0H (IOG+B0h) : I2C Bus Control Bit(s) R/W default Symbol 21 Description 1/20/2009 XRS10L620 Rev 1.00 31:24 R 00h RXRS As Slave, last byte received via I2C 23:16 R 00h RXRM As Master, the byte content received via I2C 15:08 W TXR As Master, the byte content to transmit via I2C 07 W STA Generate START condition 06 W STO Generate STOP condition 05 W RD As Master, read from slave 04 W WR As Master, write to slave 03 W AC ACK, when as receiver, ‘0’ to sent ACK, ‘1’ sent NACK 02 RW IFS Enable interrupt flag (Reg_008H bit 31) to INTA# when as slave 01 RW IFM Enable interrupt flag (Reg_008H bit 30) to INTA# when as master 00 R TIP ‘1’=Transfer In Progress; ‘0’=transfer complete Reg_0B4H (IOG+B4h) : Reserved Test only for 32 bit seed value Reg_0B8H to Reg_0FFH (IOG+B8h to FFh ) : Reserved 6.3.2 Port Registers (length 80h bytes per port/channel): SATA Port 0 address = Reg_100H to Reg_17FH =(IO01+00h to 7Fh) SATA Port 1 address = Reg_180H to Reg_1FFH =(IO01+80h to FFh) Reg address from offset Symbol 00 – 03 PxCLB 04 – 07 PxCLBU 08 – 0B PxFB 0C – 0F PxFBU 10 – 13 PxIS Port x interrupt status 14 – 17 PxIE Port x interrupt enable 18 – 1B PxCMD 1C – 1F 22 Description Port x command list base address Port x command list base address upper 32bits Port x FIS base address Port x FIS base address upper 32bits Port x command PxPRBS40B_PAT User defined pattern for internal test 20 – 23 PxTFD Port x task file data 24 – 27 PxSIG Port x signature 28 – 2B PxSSTS Port x SCR0: SStatus 2C – 2F PxSCTL Port x SCR1: Scontrol 30 – 33 PxSERR Port x SCR2: Serror 34 – 37 PxSACT Port x SCR3: Sactive 1/20/2009 XRS10L620 Rev 1.00 38 – 3B PxCI 3C – 3F PxNOTIF Port x Notification bits from devices behind P.Multiplier 40 – 43 PxCICLR Clear Port x CI/SACT bits by host 44 – 47 PxSDBFG 32 Act bits of Set Device Bits FIS Port x command issue 48 – 5F Registers for internal test 48 – 4B PxDebug0 Debug port 0 4C – 4F PxDebug1 Debug port 1 50 – 53 PxPHYCTRL Physical Layer Control Register 54 – 57 PxPLLTEST PLL Parameters 58 – 5B PxTxTEST Tx Parameters 5C – 5F PxRxTEST Rx Parameters 60 – 63 PxTFD1 MultiPM mode, Port x task file for Port Multiplier #1 64 – 67 PxTFD23 MultiPM mode, Port x task file for Port Multiplier #2,#3 68 – 6B PxTFD45 MultiPM mode, Port x task file for Port Multiplier #4,#5 6C – 6F PxTFD67 MultiPM mode, Port x task file for Port Multiplier #6,#7 70 – 73 PxAIS Port x additional interrupt status, for PM #1 to 7 74 – 77 PxAIE Port x additional interrupt enable, for PM #1 to 7 78 – 7B PxAUFS Port x Unknown FIS interrupt status and enable, for PM #1 to 7 7C – 7F Reserved. Reg_100H (IO01+00h) : P0CLB Bit(s) R/W default Symbol 31:10 RW 0 09:00 R 0 CLB Description Lower 32 bit base physical address of the command list, 1024 bytes aligned Reserved Reg_104H (IO01+04h) : P0CLBU Bit(s) R/W default Symbol 31:00 RW 0 CLBU Description Upper 32 bit base physical address of the command list Reg_108H (IO01+08h) : P0FB Bit(s) R/W default Symbol 31:08 RW 0 07:00 R 0 FB Description Lower 32 bit base physical address of the received FISes, 256 bytes aligned Reserved Reg_10CH (IO01+0Ch) : P0FBU 23 1/20/2009 XRS10L620 Rev 1.00 Bit(s) R/W default Symbol 31:00 RW 0 FBU Description Upper 32 bit base physical address of the received FISes Reg_110H (IO01+10h) : P0IS, interrupt status Bit(s) R/W default Symbol 31 R 0 CPDS 30 RWC 0 TFES 29 RWC 0 HBFS 28 RWC 0 HBDS 27 RWC 0 IFS Description Cold detect status, reserved to 0 Task file error status 1 = error bit of status register is updated by the device and set. Host bus fatal error status 1 = PCI target or master abort Host bus data error status 1 = PCI parity error detected Interface fatal error status 1 : The transfer is stopped due to SATA data FIS error Interface non-fatal error status 26 RWC 0 INFS 1 = SATA non-data FIS error, but was able to continue by internal retry 25 RWC 0 UFSFG Do not use 24 RWC 0 OFS 23 RWC 0 IPMS 22 R 0 PRCS 21:17 R 0 Overflow status HBA receive more bytes from a device than those in PRD Incorrect port multiplier status Always 0 Reflect the value of PxSERR.N bit 1 = PhyRdy signal changed Reserved Represent PM# bit map, which has SDB FIS interrupt with ‘I’=1 16:09 RWC and all 32 bits SACT are zero. 0 Bit[16:9] map to PM#[7:0], while PM#[15:8] are overlapped in bit 9 24 NOTIS ‘OR’ed flag of 16 bits at Reg_13Ch bit[15:0] 08 R 0 07 R 0 DIS 06 R 0 PCS 05 RWC 0 DPS Device interlock switch status, reserved to 0 Reflect the value of PxSERR.X bit 1 = new ComInit comes Flag indicates all PRD data of a command table are transferred 1/20/2009 XRS10L620 Rev 1.00 If MultiPM bit (Reg_174H bit 1)=0, 04:00 bit 4 and bit[2:0] fields are available for all 00000 PM#0 to #15 If MultiPM bit (Reg_174H bit 1)=1, bit 4 and bit[2:0] fields are dedicated for PM#0 only 04 R 0 UFS 03 R 0 SDBS 02 RWC 0 DSS 01 RWC 0 PSS 00 RWC 0 DHRS Unknown FIS interrupt, when the FIS is copied to memory This bit is cleared by clearing PxSERR.DIAG..F bit ‘OR’ed flag of 40 bits of this register bit[16:9] and Reg_144h[31:0] about Set Device Bits FIS interrupts DMA setup FIS interrupt : This FIS is received with ‘I’bit set and has been copied into system memory PIO setup FIS interrupt : This FIS is received with ‘I’ bit set, it and its related data are all transferred D2H register FIS interrupt : This FIS is received with ‘I’ bit set and has been copied into system memory Reg_114H (IO01+14h) : P0IE, interrupt enable of second layer First layer enable are the CFGM+4 bit 10 and GHC.IE bit Bit(s) R/W default Symbol Description 31 RW 0 CPDE If set, INTA# issued when P0IS.CPDS is set 30 RW 0 TFEE If set, INTA# issued when P0IS.TFES is set 29 RW 0 HBFE If set, INTA# issued when P0IS.HBFS is set 28 RW 0 HBDE If set, INTA# issued when P0IS.HBDS is set 27 RW 0 IFE 26 RW 0 INFE 25 R 0 24 RW 0 OFE If set, INTA# issued when P0IS.OFS is set 23 RW 0 IPME If set, INTA# issued when P0IS.IPMS is set 22 RW 0 PRCE If set, INTA# issued when P0IS.PRCS is set (“N” bit) 21:09 R 0 08 RW 0 07 RW 0 DIE If set, INTA# issued when P0IS.DIS is set 06 RW 0 PCE If set, INTA# issued when P0IS.PCS is set (“X” bit) 05 RW 0 DPE If set, INTA# issued when P0IS.DPS is set (data completed) 04 RW 0 UFE If set, INTA# issued when P0IS.UFS is set (Unknown FIS) 03 RW 0 SDBE 02 RW 0 DSE 25 If set, INTA# issued when P0IS.IFS is set If set, INTA# issued when P0IS.INFS is set Reserved Reserved NOTIE If set, INTA# issued when P0IS.NOTIS is set. If set, INTA# issued when P0IS.SDBS is set If set, INTA# issued when P0IS.DSS is set 1/20/2009 XRS10L620 Rev 1.00 01 RW 0 PSE 00 RW 0 DHRE If set, INTA# issued when P0IS.PSS is set If set, INTA# issued when P0IS.DHRS is set Reg_118H (IO01+18h) : P0CMD, Port 0 control, capability and flag Bit(s) R/W default Symbol Description Interface communication control Host use the field to control SATA power management if the Link layer is in L_IDLE state, and no effect if not in the state Fh - 7h & 5h - 3h : Reserved 6h : HBA request a transition to the Slumber state 2h : HBA request a transition to the Partial state 1h : HBA request a transition to the Active state 0h : No-op/Idle. If software read this value, it is allowed to issue the above power management control. HBA will perform the above controls and update this field back to idle(0h). 31:28 RW 0h ICC 27 R 0 ASP 26 R 0 ALPE 25 RW 0 DLAE 24 RW 0 ATAPI 23 R 22:21 R 0 20 R 0 CPD 0=Cold presence detection disable 19 R 0 ISP Reserved to 0, 0= NOT support an interlock switch 18 R 1 HPCP 1=hot plug capable 17 RW 0 PMA Port Multiplier attached, detected and set by software 16 R 0 CPS Reserved 26 RWE#(0) RA14(1) TGTZ Reserved for aggressive slumber /partial Reserved for aggressive link power management enable Drive LED on ATAPI Enable 1=always drive LED regardless of PxCMD.ATAPI bit When set, the connected device of the port is an ATAPI 1=this SATA port is Host mode; default value depend on RWE#(SATA0) or RA14(SATA1). Reserved 1/20/2009 XRS10L620 Rev 1.00 Command list running, 15 R 0 CR 14 R 0 FR 13 R 0 ISS Reserved 12:08 R 0 CCS Current working command slot number in one of P0CI 07:06 R 0 05 RW 0 Indicates command list DMA engine of this port is running FIS receive running, Indicates FIS receive DMA engine of this port is running Reserved 0 = normal reset level of ST (bit0) 1 = deeper reset level of ST, issue COMRESET on the channel FIS receive enable, 04 RW 0 FRE ‘1’ will post received FIS to host memory pointed by PxFB. Software must not set the bit until PxFB is a valid pointer. Command list override, set the bit will clear PxTFD.STS.BSY and PxTFD.STS.DRQ so that software reset could be issued regardless 03 RW1 0 CLO BSY and DRQ bit value. The bit is auto-cleared to 0 when BSY & DRQ are cleared. Writing the bit with 0 has no effect. Host mode only. 02 R 1 POD Power on device, reserved to 1 Spin-up device. Set and clear this bit by software. 01 RW RA2 SUD Writing the bit from 0 to 1 to issue COMRESET to the device Kept as‘1’for normal operation Start switch of command list DMA engine. 00 RW 0 ST Writing the bit from 0 to 1 starts processing from PxCI bit 0. Writing the bit from 1 to 0 will clear PxCI register. Different reset level is switched with bit5. Reg_11CH (IO01+1Ch) : P0PRBS40B_PAT User-defined pattern in PRBS check for internal test only. Reg_120H (IO01+20h): P0TFD, Task file data of this port The register copies specific fields of the task file when FISes are receive, like z D2Hregister FIS z PIO Setup FIS z Set Device Bits FIS(not include BSY and DRQ bits) For MultiPM bit (Reg_174H bit 1)= 0 : The field is the received D2H Register FIS from all PM#0 to #15 devices, may be overlapped. 27 1/20/2009 XRS10L620 Rev 1.00 For MultiPM bit (Reg_174H bit 1)= 1 : The field is the received D2H Register FIS from only PM#0 device, no overlap with other PM#. Bit(s) R/W default Symbol 31:16 R 0h 15:08 R 0h Description Reserved ERR Task file error register Task file status register, with 3 bits that may affect AHCI 07:00 R 7Fh STS Bit7 : BSY Bit3 : DRQ Bit0 : ERR Reg_124H (IO01+24h) : P0SIG, signature of this port For MultiPM bit (Reg_174H bit 1)= 0 : The field is the received D2H Register FIS from all PM# devices, may be overlapped. For MultiPM bit (Reg_174H bit 1)= 1 : The field is the received D2H Register FIS from only PM#0 device, no overlap with other PM#. Bit(s) R/W default Symbol 31:00 R FFFFFFFFh SIG Description Bit 31:24 : Cylinder high register (LBA [23:16]) Bit 23:16 : Cylinder low register (LBA [15:08]) Bit 15:08 : Sector number register (LBA [07:00]) Bit 07:00 : Sector count register Reg_128H (IO01+28h) : P0SSTS (SCR0 : SStatus) Bit(s) R/W default Symbol 31:12 R 0 Description Reserved 11:08 R 0h IPM 07:04 R 0h SPD 03:00 R 0h DET Indicates the current power state : 0h : Device not present or communication not established 1h : Active state 2h : Partial power management state 6h : Slumber power management state All other values reserved Indicates the negotiated speed : 0h : Device not present or communication not established 1h : Gen 1 rate negotiated 2h : Gen 2 rate negotiated All other values reserved Device detection and Phy state 0h : No device detected and Phy not ready 1h : Device presence detected but Phy not ready 3h : Device presence detected and Phy ready 4h : Phy in offline since bus disabled or bus in a BIST loopback mode All other values reserved Reg_12CH (IO01+2Ch) : P0SCTL (SCR2 : SControl) 28 1/20/2009 XRS10L620 Rev 1.00 Bit(s) R/W default Symbol 31:20 R 0h 19:16 R 0h PMP 15:12 R 0h SPM 11:08 RW 0h IPM 07:04 RW 0h SPD 03:00 RW 0h DET Description Reserved Port Multiplier Port: not used by AHCI Select power management, not used by AHCI Use PxCMD.ICC instead Indicates which power states are not allowed. 0h : No restrictions 1h : Disable transition to Partial state 2h : Disable transition to Slumber state 3h : Disable transition to both Partial and Slumber state All other values reserved Indicates the highest allowable speed : 0h : No speed restriction 1h : Limit speed negotiation to Gen 1 2h : Limit fastest speed negotiation to Gen 2 All other values reserved Control HBA’s device detection and initialization. 0h : No action requested 1h : Perform initialization sequence like a hard reset. COMRESET is transmitted continuously until software change the field to 0h 4h : Disable the SATA interface and put Phy in offline mode All other values reserved This field may only be modified when PxXMD.ST is ‘0’. Reg_130H (IO01+30h) : P0SERR (SCR1 : SError) Bit(s) R/W default Symbol 31:16 RWC 0000h 31:27 R 0h DIAG Description Diagnostics Reserved 26 RWC 0 X 25 RWC 0 F Exchanged: 1=COMINIT(as Host) or COMRESET(as Device) received This bit is reflected in the P0IS.PCS bit Unknown FIS type received, include H2D and BIST FIS. 24 RWC 0 T Transport state transition error 23 RWC 0 S Link sequence error 22 RWC 0 H 21 RWC 0 C Handshake error: R_ERR received, result from CRC, disparity, or 8b/10b error CRC error 20 RWC 0 D Disparity error: not used by AHCI 19 RWC 0 B 10b to 8b decode error 18 RWC 0 W COMWAKE signal was detected by the Phy 17 RWC 0 I Phy internal error 16 RWC 0 N PhyRdy changed: This bit is reflected in P0IS.PRCS bit 15:00 RWC 0000h ERR 15:12 R 0h 29 Error Reserved 1/20/2009 XRS10L620 Rev 1.00 11 RWC 0 E 10 RWC 0 P Internal error: Master or Target abort occurred in the PCI bus Protocol error: a violation of SATA protocol 9 RWC 0 C Persistent communication error 8 RWC 0 T 7:2 R 0h 1 RWC 0 M 0 RWC 0 I Transient data integrity error: A data integrity error that was not recovered by the interface Reserved Recovered communication error: Communication was temporarily lost between host and device. Recovered data integrity error: A data integrity error occurred that was recovered by a retry operation. Reg_134H (IO01+34h) : P0SACT (SCR3 : SActive) Bit(s) R/W default Symbol 31:00 RW1 0h DS Description Device status: used for FPDMA queuing operation prior to setting the PxCI.CI bit in the same command slot number. This field is clear via the Set Device Bits FIS, not by software. Reg_138H (IO01+38h) : P0CI, Port0 command issue Bit(s) R/W default Symbol 31:00 RW1 0h CI Description Set by software and cleared by hardware. Indicate that a command has been built for a command slot number. Cleared when the HBA receives a FIS with BSY, DRQ, and ERR bits cleared. Reg_13CH (IO01+3Ch) : P0NOTIF (SCR4) Bit(s) R/W default Symbol Description Reserved 31:28 R 0h 27:24 RW 0h CLRPMP The PM number for Reg_140H .CICLR to be cleared 23:16 R 0h CLRPMP Reserved 15:00 RWC 0h CLRPMP Bit indication of Port Multiplier #15 to #0 ‘1’=this PM# receive a SetDevBits FIS with the N bit set to 1. NOTIF The bit is cleared by SW writing ‘1’, but not cleared due to a COMRESET Reg_140H (IO01+40h) : P0CICLR, Clear Port0 CI Bit(s) R/W default Symbol 30 Description 1/20/2009 XRS10L620 Rev 1.00 31:00 RW1 Force CI and SACT bits cleared by host Fill‘1’ to clear the respective CI/SACT bit, then the‘1’ will self-cleared to ‘0’. CICLR Only these CI bits belong to the same PM number can be cleared at a time. The PM# must be assigned at Reg_13FH bit[3:0] before this register is written 0h Reg_144H (IO01+44h) : P0SDBFG Bit(s) R/W Default Symbol 31:00 RWC 0h Description Set by the 32 Act bits of Set Device Bits FIS Cleared by software when writing ‘1’ to each bit SDBFG Reg_148H to Reg_15FH (IO01+48h to 5Fh) : Registers for internal test. Byte 0 31 7 6 5 0 4 3 2 1 0 fis_con_state crc_err err_queue 8 0 PHYCTRLEN GIO0_SEL[5:4] FORCEPHYRDY FORCE3G GIO1_SEL[5:4] GIO2_SEL[5:4] PRBSALIGNEN PRBS40BPATEN PRBSALIGNLLEN Reserved PHYRDYCTRL Reserved RXLOCKLLEN Reserved Reserved 0 FORCE1.5G tp_state Reserved BYPASSLD 1/20/2009 0 Reserved full_a2t 0 GIO0_SEL[3:0] full_t2a full_t2a0 0 GIO1_SEL[3:0] ff_t2a_err 0 INDSEL emptu_a2t emptu_a2t0 link_state GIO2_SEL[3:0] LOCKDET PLLTEST 0 PDPLL 54h 0 VFRSEL 50h PHYCTRL 0 GIO3_SEL[3:0] Debug 1 ff_a2t_err 4Ch empty_t2a Debug 0 PLLTESTSEL 48h empty_t2a0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 PRBS40BEN Byte 1 PRBS40BLLEN Byte 2 GIO3_SEL[5:4] Byte 3 Name PHYRSTI Addr Reg_148H (IO01+48h): P0Debug_0 Bit(s) R/W Default 31:00 R Symbol Debug_0 Description System Debug Port 0. Reg_14CH (IO01+4Ch): P0Debug_1 Bit(s) R/W Default 31:00 R Symbol Debug_1 Description System Debug Port 1. Reg_150H (IO01+50h): P0PHYCTRL Bit(s) R/W Default 31:28 RW 0000 Symbol GIO3_SEL 00h : reserved 01h : COM_DET0 02h : COM_DET1 SEL5,4= 03h : DTAVLD0 04h : DTAVLD1 0,0 05h : RX_ERR (FIFO over flow) 06h : RX_LOCK 07h : DTA_UNDFLW (FIFO under flow) 32 Description SEL[3:0], plus SEL[5:4] at Reg_154H bit [7:6], to select one of 64 sources to GIO3 pin output 08h : SIGLVD 09h : COMRSTINIT 0Ah : COMWAKE 0Bh : COMSAS 0Ch : PRBSOK 0Dh : RCVK28_5DET 0Eh : CDRCKOUT 0Fh : reserved 1/20/2009 PDTX PDRX PE SQLCHENB SLPBKEN EQ PLPBKEN DCDEN PHFREEZE reserved PRBSEN Reserved TXTSTPATSEL SQTHSEL BTALIGNEN Reserved CMMDETLHEN RXCRCBYP CMMDETEN reserved BYP_TXFIFO PRBSOKLLEN reserved CRCFLB CRCFHB CDRCKOUT_SEL Reserved TXDRVLEVEL UP2_EN BLK_3RDDN_EN CDR_CLKDP_DLY_EN Reserved Reserved RXRATE RCVK28_5DET RX_LOCK / RX_LOCKLL RxTEST TXRATE PARTIAL SLUMBER 5Ch PRBS40BOK / PRBS40BOKLL TxTEST PRBSALIGNOK / PRBSALIGNOKLL 58h PRBSOK / PRBSOKLL XRS10L620 Rev 1.00 XRS10L620 Rev 1.00 00h : PRBS40BOK 08h : 0 01h : PRBSALIGN_OK 09h : 0 02h : 0 0Ah : 0 SEL5,4= 03h : TXRATE_DFT 0Bh : 0 04h : RXRATE_DFT 0Ch : 0 0,1 05h : DEADCK_DET_DFT 0Dh : 0 06h : INVALID_DFT(8b/10b error) 0Eh : 0 07h : RDERR_DFT (disparity error) 0Fh : 0 00h : 0 08h : SELOUT_DFT[0] 01h : XPOUT_DFT[1] 09h : SELOUT_DFT[1] 02h : XPOUT_DFT[2] 0Ah : SELOUT_DFT[2] SEL5,4= 03h : XPOUT_DFT[3] 0Bh : SELOUT_DFT[3] 04h : XPOUT_DFT[4] 0Ch : SELOUT_DFT[4] 1,0 05h : XPOUT_DFT[5] 0Dh : SELOUT_DFT[5] 06h : XPOUT_DFT[6] 0Eh : SELOUT_DFT[6] 07h : 0 0Fh : SELOUT_DFT[7] SEL5,4= 1,1 Reserved to 0 27:24 RW 0000 GIO2_SEL 23:20 RW 0000 GIO1_SEL 19:16 RW 0000 15 R 0 14 RW RA8 13:12 R 00 11 RW 10 SEL[3:0], plus SEL[5:4] at Reg_154H bit [5:4], to select one of 64 sources to GIO2 pin output SEL[3:0], plus SEL[5:4] at Reg_154H bit [3:2], to select one of 64 sources to GIO1 pin output Reserved Reserved. FORCE1.5G 0 = normal 1 = fixed at 1.5G mode, never changed to 3G during negotiation Reserved. 0 RXLOCKLL_EN when RX input signal > squelch threshold level and RX is locked, Reg_5CH bit 27 is high. Once the signal is going low, this bit is latched to low RW 0 PHYRDY_CTRL 9 R 0 8 RW 0 7 RW 0 Reserved. PHYRSTI Set 1 to reset PHY, 0 to restore. PRBSALIGNLLEN Transmit/check Align primitive with error latched to a low flag 6 RW 0 PRBSALIGNEN Transmit/check Align primitive 5 RW 0 PRBS40BPATEN Transmit/check Dword pattern specified in Reg_1CH. 4 RW 0 PRBS40BLLEN Enable 40 bit PRBS or defined pattern transmit/check with error latched to a low flag 3 RW 0 PRBS40BEN 2 RW 0 FORCE3G Enable 40 bit PRBS transmit/check 1=Fixed at 3G mode, never changed to 1.5G during speed negotiation 1 RW 0 FORCEPHYRDY 0: Normal operation. 1: Forced PHY ready regardless OOB power on initialization. 33 1/20/2009 XRS10L620 Rev 1.00 0 RW 0 PHYCTRLEN Set 1 to control TXrate, RXrate, Slumber, Partial function Reg_154H (IO01+54h): P0PLLTEST ** P1PLLTEST(IO01+D4h) is reserved, not available. Bit(s) R/W Default Symbol Description Select different PLL test mode 000= Test mode disabled 100= Bandgap voltage 001= Vcoin voltage 101= Charge pump current source 010= Ground voltage 110= Charge pump current sink 011= Vddreg voltage 111= VCO free running Select Vcoin free running voltage 111 = 1.5V 011 = 1.0V 110 = 1.4V 010 = 0.9V 101 = 1.3V 001 = 0.7V 100 = 1.2V 000 = 0.5V 1 = Power down PLL 0 = Normal operation 31:29 RW 000 PLLTESTSEL 28:26 RW 111 VFRSEL 25 RW 0 PDPLL 24 R 1 LOCKDET 23:21 RW 000 INDSEL 20 RW 0 BYPASSLD 19:08 R 0 7:6 RW 0 GIO3_SEL GIO3_SEL[5:4], see also Reg_150H bit[31:28] 5:4 RW 0 GIO2_SEL GIO2_SEL[5:4], see also Reg_150H bit[27:24] 3:2 RW 0 GIO1_SEL GIO1_SEL[5:4], see also Reg_150H bit[23:20] 1:0 RW 0 1 = PLL is locked 0 = PLL is not locked 3 bits to select one of the signals below as ‘COM_DET0’ name shown in Reg_50H bit [19:16] 000 = COMDET0/CMMDETLH0 100 = COMSAS 001 = PRBSOK/PRBSOKLL 101 =SQULCH 010 = COMINIT 110 = reserved 011 = COMWAKE 100 = reserved Bypass LOCKDET 1=POR_DG does not wait for LOCKDET (POR_DG=POR when BYPASSLD=1) 0=POR_DG waits for LOCKDET Reserved Reserved Reg_158H (IO01+58h) : P0TxTEST **bit [15:6] of P1TxTEST (IO01+D8h) are reserved Bit(s) R/W Default 31 34 RW 0 Symbol PARTIAL Description Power down TX and RX in Partial mode 1 = Power down 0 = No power down Read value is from SATA return value 1/20/2009 XRS10L620 Rev 1.00 Power down TX and RX in Slumber mode 1 = Power down 0 = No power down Read value is from SATA return value 1 = TX in 3G mode 0 = TX in 1.5G mode Read value is from SATA return value Reserved 30 RW 0 SLUMBER 29 RW 1 TXRATE 28:24 R 0 23,22 RW RA9, 0 21:18 R 0 Select different TX driver levels 0,0= 500mV mode for Gen1i 0,1= 1000mV mode for proprietary use 1,0= 550mV mode for Gen1m 1,1= 1200mV mode for Gen1x Reserved 17,16 R 00 Reserved 15 RW 0 14:12 R 0 11:08 RW 0000 7 R 0 6 RW 0 PRBSEN 5 RW 0 PLPBKEN 4 RW 0 SLPBKEN 3:1 RW 000 PE 0 RW 0 PDTX TXDRVLEVEL BYP_TXFIFO TXTSTPATSEL Bypass TX FIFO 1 = Bypass Reserved 0 = No Bypass Select different TX test patterns 0000=disabled 0001=IDLE 0100=High frequency pattern 0101=Low frequency pattern 0110=Mixed frequency pattern 0111=Alternate K28.3 pattern 1000=ALIGN 1001=COMINIT generation 1010=COMWAKE generation 1011=COMSAS generation Reserved Enable PRBS generation(TX) and checking(RX) 1 = Enable PRBS 0 = Disable PRBS Far-End Retimed Loopback 1 = TX/RX in Far-end loopback 0= TX/RX not in Far-end loopback Enable Near-End analog Loopback 1 = TX/RX in Near-End loopback 0= TX/RX not in Near-End loopback Control pre-emphasis level 000 = no pre-emphasis ... 111=strongest pre-emphasis 1 = Power down TX 0 = Not power down TX Reg_15CH (IO01+5Ch) : P0RxTEST **bit [21:8] of P1RxTEST (IO01+DCh) are reserved Bit(s) R/W Default 31 30 35 R R 1 0 Symbol PRBSOK / PRBSOKLL CMMDETLH Description Switched by PRBSOKLLEN(bit15) 1 = PRBS OK 0 = PRBS error Comma detection latching high signal 1/20/2009 XRS10L620 Rev 1.00 29 R 1 PRBS40BOK / PRBS40BOKLL 1 = PRBS40B OK 0 = PRBS40B error Switched by PHYCTRL=>PRBSALIGNLL_EN(bit6) PRBSALIGNOK / 28 R 1 27 R 1 26 R 0 25 RW 1 RXRATE 24 RW 0 UP2_EN 23 RW 1 22 RW 0 PRBSALIGNOKLL 1 = PRBSALIGN OK 0 = PRBSALIGN error Switched by PHYCTRL=>RX_LOCKLL_EN(bit11) 1 = RX input signal > squelch threshold level and RX is RX_LOCK / locked RX_LOCKLL 0 = RX input signal < squelch threshold level or RX is not locked Reserved 1 = RX in 3G mode 0 = RX in 1.5G mode Read value is from SATA return value Reserved BLK_3RDDN_EN Reserved CDR_CLKDP_DLY Reserved _EN Select different CDRCKOUT clock frequency For Gen1 : CDRCKOUT_SEL 00=disabled 01=37.5MHz 10=75MHz 11=150MHz For Gen2 : 00=disabled 01=75MHz 10=150MHz 11=300MHz RX FIFO upper threshold CRCFHB 00= 12 01=13 10=14 11=15 RX FIFO lower threshold CRCFLB 00= 4 01=5 10=6 11=7 Select PRBSOK latching low enable PRBSOKLLEN 1 = Enable latching low for PRBSOK 0 = Disable latching low for PRBSOK Bypass RX Clock Rate Compensation FIFO RXCRCBYP 1 = Bypass 0 = No Bypass 1 = Enable comma detector in RX CMMDETEN 0 = Disable comma detector in RX Enable to select comma detection latching high CMMDETLHEN 1 = Enable comma detection latching high 0 = Disable comma detection latching high 1 = Enable byte alignment for comma detector BTALIGNEN 0 = Disable byte alignment for comma detector Control squelch threshold voltage levels 000 = normal 100 = +20 % SQTHSEL 001 = -10 % 101 = +40 % (for SAS) 010 = -20 % 110= reserved 011 = +10 % 111= reserved Reserved 21:20 RW 00 19:18 RW 01 17:16 RW 01 15 RW 0 14 RW 0 13 RW 1 12 RW 0 11 RW 1 10:8 RW 000 7:6 R 00 5 RW 1 DCDEN 4 RW 0 PHFREEZE 3:2 RW 11 EQ 36 Switched by PHYCTRL=>PRBS40BLL_EN(bit4) Dead(CDR Recovered) Clock Detection Enable 1 = Enable 0 = Disable Freeze phase selection of phase interpolator. 1 = Freeze phase 0 = Normal mode Control RX equalizer level 00 = no equalization … 11 = strongest equalization 1/20/2009 XRS10L620 Rev 1.00 1 RW 0 SQLCHENB 0 RW 0 PDRX Squelch circuit enable signal 0 = Enable squelch circuit 1 = Disable squelch circuit 1 = Power down RX lane 0 = Not power down RX lane Reg_160H to Reg_16FH (IO01+60h to 6Fh) : Port 0 Task File registers for Port Multiplier #1 to #7 These fields are valid only when Reg_174H bit 1 ( P0MultiPM) is‘1’ for FIS-based switching Reg_160H (IO01+60h) : PxTFD1 for PM# 1 Bit(s) R/W default Symbol Description 31:24 R 0h ERR1 PortX, PM#1 Task file error register 23:16 R 7Fh STS1 PortX, PM#1 Task file status register, with BSY, DRQ, ERR bits 15:08 R 0h ERRF PortX, PM#F Task file error register 07:00 R 0h STSF PortX, PM#F Task file status register, with BSY, DRQ, ERR bits Reg_164H (IO01+64h) : PxTFD23 for PM# 2,3 Bit(s) R/W default Symbol Description 31:24 R 0h ERR3 PortX, PM#3 Task file error register 23:16 R 7Fh STS3 PortX, PM#3 Task file status register, with BSY, DRQ, ERR bits 15:08 R 0h ERR2 PortX, PM#2 Task file error register 07:00 R 7Fh STS2 PortX, PM#2 Task file status register, with BSY, DRQ, ERR bits Reg_168H (IO01+68h): PxTFD45 for PM# 4,5 Bit(s) R/W default Symbol 31:24 R 0h ERR5 23:16 R 7Fh STS5 15:08 R 0h ERR4 07:00 R 7Fh STS4 Description PortX, PM#5 Task file error register PortX, PM#5 Task file status register, with BSY, DRQ, ERR bits PortX, PM#4 Task file error register PortX, PM#4 Task file status register, with BSY, DRQ, ERR bits Reg_16CH (IO01+6Ch): PxTFD67 for PM# 6,7 Bit(s) R/W default Symbol 31:24 R 0h ERR7 23:16 R 7Fh STS7 15:08 R 0h ERR6 07:00 R 7Fh STS6 37 Description PortX, PM#7 Task file error register PortX, PM#7 Task file status register, with BSY, DRQ, ERR bits PortX, PM#6 Task file error register PortX, PM#6 Task file status register, with BSY, DRQ, ERR bits 1/20/2009 XRS10L620 Rev 1.00 Reg_170H to Reg_17FH (IO01+70h to 7Fh) : Port 0 Additional Interrupt Status and Enable for PM # 1 to 7 These fields are valid only when Reg_174H bit 1 ( P0MultiPM) is‘1’ for FIS-based switching Reg_170H (IO01+70h) : P0AIS, Port 0 Additional Interrupt Status Bit(s) R/W default Symbol 31:28 27:24 23:20 19:16 15:12 11:08 RWC RWC RWC RWC RWC RWC Description 0h Bit 31: Reserved Bit 30: PM#7 DMA Setup FIS received interrupt flag Bit 29: PM#7 PIO Setup FIS received interrupt flag Bit 28: PM#7 D2H Register FIS received interrupt flag 0h Bit 27: Reserved Bit 26: PM#6 DMA Setup FIS received interrupt flag Bit 25: PM#6 PIO Setup FIS received interrupt flag Bit 24: PM#6 D2H Register FIS received interrupt flag 0h Bit 23: Reserved Bit 22: PM#5 DMA Setup FIS received interrupt flag Bit 21: PM#5 PIO Setup FIS received interrupt flag Bit 20: PM#5 D2H Register FIS received interrupt flag 0h Bit 19: Reserved Bit 18: PM#4 DMA Setup FIS received interrupt flag Bit 17: PM#4 PIO Setup FIS received interrupt flag Bit 16: PM#4 D2H Register FIS received interrupt flag 0h Bit 15: Reserved Bit 14: PM#3 DMA Setup FIS received interrupt flag Bit 13: PM#3 PIO Setup FIS received interrupt flag Bit 12: PM#3 D2H Register FIS received interrupt flag 0h Bit 11: Reserved Bit 10: PM#2 DMA Setup FIS received interrupt flag Bit 09: PM#2 PIO Setup FIS received interrupt flag Bit 08: PM#2 D2H Register FIS received interrupt flag 07:04 RWC 0h Bit 07: Reserved Bit 06: PM#1 DMA Setup FIS received interrupt flag Bit 05: PM#1 PIO Setup FIS received interrupt flag Bit 04: PM#1 D2H Register FIS received interrupt flag 03 RW 0h PM#F D2H Register FIS received interrupt flag 02:00 RW 0h Reserved Reg_174H (IO01+74h) : P0AIE, Port 0 Additional Interrupt Enable Similar to P0IE, first layer enable is CFGM+4 bit 10 and GHC.IE bit Bit(s) R/W default 31:28 38 RW 0h Symbol Description Bit 31: reserved Bit 30: If set, INTA# issued when P0AIS bit 30=1 for PM#7 Bit 29: If set, INTA# issued when P0AIS bit 29=1 for PM#7 Bit 28: If set, INTA# issued when P0AIS bit 28=1 for PM#7 1/20/2009 XRS10L620 Rev 1.00 27:24 23:20 19:16 15:12 11:08 RW RW RW RW RW 0h Bit 27: reserved Bit 26: If set, INTA# issued when P0AIS bit 26=1 for PM#6 Bit 25: If set, INTA# issued when P0AIS bit 25=1 for PM#6 Bit 24: If set, INTA# issued when P0AIS bit 24=1 for PM#6 0h Bit 23: reserved Bit 22: If set, INTA# issued when P0AIS bit 22=1 for PM#5 Bit 21: If set, INTA# issued when P0AIS bit 21=1 for PM#5 Bit 20: If set, INTA# issued when P0AIS bit 20=1 for PM#5 0h Bit 19: reserved Bit 18: If set, INTA# issued when P0AIS bit 18=1 for PM#4 Bit 17: If set, INTA# issued when P0AIS bit 17=1 for PM#4 Bit 16: If set, INTA# issued when P0AIS bit 16=1 for PM#4 0h Bit 15: reserved Bit 14: If set, INTA# issued when P0AIS bit 14=1 for PM#3 Bit 13: If set, INTA# issued when P0AIS bit 13=1 for PM#3 Bit 12: If set, INTA# issued when P0AIS bit 12=1 for PM#3 0h Bit 11: reserved Bit 10: If set, INTA# issued when P0AIS bit 10=1 for PM#2 Bit 09: If set, INTA# issued when P0AIS bit 09=1 for PM#2 Bit 08: If set, INTA# issued when P0AIS bit 08=1 for PM#2 07:04 RW 0h Bit 07: reserved Bit 06: If set, INTA# issued when P0AIS bit 06=1 for PM#1 Bit 05: If set, INTA# issued when P0AIS bit 05=1 for PM#1 Bit 04: If set, INTA# issued when P0AIS bit 04=1 for PM#1 03 RW 0 If set, INTA# issued when P0AIS bit 03=1 for PM#F 02 RW 0 ‘1’ will always receive D2H FIS independent of BSY, DRQ bit PassD2H value 01 RW 0 MultiPM 00 RW 0 NCQSW Enable multiple PM devices FIS-based switching, for PM#0 to 7 and #F only. It should be disabled for other PM#, the PM#8 to #E. Enable NCQ Reg_178H (IO01+78h) : P0AUFS, additional unknown FIS interrupt status & enable Bit(s) R/W default Symbol Description Do not use 31 RWC 0h 30:29 R 0h 28:24 RW 0h 23 R 0 39 Reserved Do not use Reserved 1/20/2009 XRS10L620 Rev 1.00 22:20 RW 0 FIFO threshold to request PCI write memory from SATA0 000 = 7/8 FIFO full 001 = 6/8 FIFO full 010 = 5/8 FIFO full 011 = 4/8 FIFO full 100 = 3/8 FIFO full 101 = 2/8 FIFO full 110 = 1/8 FIFO full 111 = 1/8 FIFO full 19 R 0 =1 when main FIFO is non-empty 18:16 RW 0 15:08 RW 0h 07:00 RWC 0h FIFO threshold to request PCI read memory to SATA0 000 = 7/8 FIFO empty 001 = 6/8 FIFO empty 010 = 5/8 FIFO empty 011 = 4/8 FIFO empty 100 = 3/8 FIFO empty 101 = 2/8 FIFO empty 110 = 1/8 FIFO empty 111 = 1/8 FIFO empty Bit 15: enable PM#7 Unknown FIS received interrupt Bit 14: enable PM#6 Unknown FIS received interrupt Bit 13: enable PM#5 Unknown FIS received interrupt Bit 12: enable PM#4 Unknown FIS received interrupt Bit 11: enable PM#3 Unknown FIS received interrupt Bit 10: enable PM#2 Unknown FIS received interrupt Bit 09: enable PM#1 Unknown FIS received interrupt Bit 08: reserved Bit 07: PM#7 Unknown FIS received interrupt flag Bit 06: PM#6 Unknown FIS received interrupt flag Bit 05: PM#5 Unknown FIS received interrupt flag Bit 04: PM#4 Unknown FIS received interrupt flag Bit 03: PM#3 Unknown FIS received interrupt flag Bit 02: PM#2 Unknown FIS received interrupt flag Bit 01: PM#1 Unknown FIS received interrupt flag Bit 00: reserved Reg_17CH to Reg_17FH (IO01+7Ch to 7Fh) : Reserved. 40 1/20/2009 XRS10L620 Rev 1.00 7. System Memory Structure Fig 6.1 XRS10L620 register and system memory mapping XRS10L620 Register Mapping send CH 0 CH 1 CH 2 CH 31 1KB align 00h 10h 20h 40h 3E0h 256B align 00h 20h 40h PM#0 or All PM#1 PM#2 PM#7 00h 40h 60h 80h 90h A0h B0h EOT Command Table Byte Count Reserved Data Base Address (High) Data Base Address(Low) Reserved ATAPI Packet H2D Command FIS PRDN PRD2 PRD1 PRD0 128B align System Memory Space Mapping PMP TCB P WA CFL reserved reserved Command Table Base Address (Low) Command Table Base Address (High) DMA setup FIS PIO setup FIS D2H Register FIS Unknown FIS Set Device Bits FIS data 0 data 1 data 2 data N The Unknown FIS include the H2D FIS and BIST FIS. (IOG+00h to 7Fh) General AHCI Control Registers (IOG+80h to FFh) IDE, GIO,Test Registers P0FB P0CLB Receive 58h 60h 80h 100h 380h PM#F switching. 00h 80h 100h (IO01+00h to 7Fh) P1CLB P1FB SATA0 Registers (IO01+80h to FFh) SATA1 Registers 400h 1/20/2009 41 180h 1FFh 7.1 Received FIS structure The structure is in the system memory and pointed in unit of 256 bytes by PxFB, as shown in Fig. 6.1. Each Port Multiplier has 80h memory space. The XRS10L620 support 8 PM numbers, PM#0 to PM#7, at the same time with FIS-base switching. Higher Port Multiplier numbers like PM#8 to PM#14, can be connected also under Command-base XRS10L620 Rev 1.00 7.2 Command List Structure Total 32 Command Headers are defined with 4-DW(16 bytes) each that details the direction, type, and scatter/gather pointer of the command. The Command List is aligned in 1024 bytes. Further details of each field are listed below. DW# Bit# Description 31:16 Reserved 15:12 Port Multiplier Port(PMP): Indicates the port number that should be used when constructing data FISes on transmit, and to check against all FISes received for this command. 11 Data phase flag. 10 Clear Busy upon R_OK(C): When set, the HBA shall clear PxTFD.STS.BSY and PxCI bit after transmitting this FIS and receive R_OK, no need to wait the relative D2H FIS. Host DW0 mode : Set to one for first H2D FIS of soft reset sequence 09 BIST(B): reserved 08 Reserved 07 Prefetchable(P): When set, the HBA will prefetch 8 more PRDs during Data FIS transfer. The bit is not available if NCQSW or MultiPM bits are enabled(PxAIE bit1,0) 06 Write(W): When set, the direction is device write (data from system memory to device) 05 ATAPI(A): When set, indicates a PIO setup FIS shall be sent by the device indicating a transfer for the ATAPI packet. 04:00 Command FIS Length(CFL): Length of the Command FIS, in DW. DW1 31:00 Reserved 31:07 Command Table Base Address(Low):low 32 bits physical address pointer to the command table that is 128-byte aligned DW2 06:00 Reserved DW3 31:07 Command Table Base Address(High):high 32 bits physical address pointer. 06:00 Reserved 7.3 Command Table and PRD table The table contains the command FIS, ATAPI Command, and PRD table as shown in Fig6.1. It is aligned in 128 bytes. The Command FIS field contains the H2D FIS to be sent to the device. The DWord count is same as CFL field in Command Header. The ATAPI Packet field contains either 12 or 16 bytes to transmit if ‘A’ bit is set in the Command Header. 42 1/20/2009 XRS10L620 Rev 1.00 The PRD table format is as below : DW# Bit# Description DW0 31:00 Data Base Address(Low) DW1 31:00 Data Base Address(High) DW2 31:00 Reserved 31 End of Transfer(EOT): indicates the last PRD of the whole list DW3 30:17 Reserved 16:00 Byte count of this PRD, 64KB(10000h) maximum 8. PCB High-Speed Layout Design Guidelines 1. High speed differential signals (TX+ & TX-, RX+ & RX-) should be routed as micro-strips on layer 1. No via or stubs for these critical traces. Differential pairs trace length should be identical. 2. Impedance should be controlled at 100 ohms +- 5% for differential pair, and 50 ohms +- 10% for single ended. 3. Keep the trace length of differential pairs as short as possible. Avoid sharp turns, use rounded corner. It is highly recommended to keep them within two inches long. Make sure no other signals are routed near these critical traces. Keep a good separation between these differential pairs and other signals, minimum of 50 mils clearance is recommended. 4. Recommended board stack-up and routing example: Material: FR4, with Dielectric constant of 4.2, and total thickness 62 mils. 5. Thickness Diff Pair Width Diff Pair Spacing Layer 1, Signal 0.5 oz 8 mils 12 mils FR4 Prepreg 4 mils Layer 2, Ground 1 oz FR4 Prepreg 47 mils Layer 3, Power 1 oz FR4 Prepreg 4 mils Layer 4, Signal 0.5 oz When the differential layout cannot be achieved, e.g. around the connector area, neck-down technique to maintain single-ended 50 ohms is highly recommended. 6. For other signals where VIA is unavoidable, anti-pad is required to provide adequate clearance. 7. Place AC coupled 10nF capacitors as close as possible to the connector end, minimize the soldering pad area. The layout of capacitors can be combined with SATA connector to minimize impedance discontinuities. Use smaller footprint like 0402 to minimize package parasitic. 8. 43 Use surface mount SATA connector, avoid over-soldering. Minimize the width of RX and TX soldering pads for SATA 1/20/2009 XRS10L620 Rev 1.00 connector. Separate analog power island on top layer for VDDA1,VDDA2,VDDA3, etc… via used to connect to the ferrite bead 9. should be placed close to device power pins. 10. It is recommended that Analog power supplies VDDA should be isolated from the core VDD1.8V power plane through a noise suppression ferrite bead, which should provide 30dB or more attenuation for frequency less than 650 MHz. 11. Put decoupling capacitors with value of both 0.1uF and 0.01uF after ferrite bead. Place all decoupling capacitors as close to the device pins as possible. 12. A Ground plane should be on layer 2, the Ground plane should be solid underneath the high speed differential pairs to provide good return path. 13. Put enough Ground stitches throughout the board. 14. Each digital ground pin (GND) must have solid connection with PCB GND plane by at least 2 vias or other traces with it. 15. Signals should avoid crossing the split power planes. If have to, add some bypass capacitors across the split planes. For example, if some signals across 1.8V and 3.3V planes on the adjacent layer, then put a 0.1uF capacitor connecting 1.8V and 3.3V near the signals. 9. Electrical Characteristics Specifications are for Commercial Temperature range, 0°C to +70°C, unless otherwise specified. 9.1 Absolute Maximum Ratings Symbol Parameter Ratings Unit VDD33 I/O Supply Voltage 3.7 V VDD18 Core Supply Voltage 1.98 V VDDA Analog Supply Voltage 1.98 V Vin Input Voltage -0.3 ~ VDD33+0.3 V Tstg Storage Temperature -55 ~ 125 °C HBM ESD capability – HBM 2000 V MM ESD capability - MM 200 V 9.2 Typical Operating Condition Parameter Min. Typ. Max. Unit 44 70 °C 3.3 3.63 V 1.75 1.8 1.98 V 1.75 1.8 1.98 V Operating Temperature -10 Digital IO (VDD33) 3.14 Digital Core (VDD18) SATA PHY (VDDA) 1/20/2009 Note XRS10L620 Rev 1.00 9.3 DC Specifications Parameter Min. Typ. Max. Unit 4.6 55 60 mA SATA3G 7.6 55 60 mA SATA1.5G 118 170 190 mA Condition as IDD33. SATA3G 118 220 245 mA (SATA 3G is for internal test only.) SATA1.5G 125 125 126 SATA3G 125 140 142 mA Condition as IDD33. All VDDA1,2,3,4 current. mA (SATA 3G is for internal test only.) SATA PHY (IDDA) Input low voltage (Vil) Input high voltage (Vih) 0.9 2.4 Weak pull high resistance 39 Max.=Read/Write at PCIX 100MHz (SATA 3G is for internal test only.) V 0.4 Output high voltage (Voh) Typ.=Read/Write at PCI 66MHz V 2.0 Output low voltage (Vol) 45 Min.=idle SATA1.5G Digital IO (IDD33) Digital Core (IDD18) Note 47 116 V Io= 8mA V Io= -8mA KΩ 1/20/2009 XRS10L620 Rev 1.00 10. Package Dimension Top View D1=20mm e = 0.5mm E1=14mm Exar XRS10L620 b = 0.2mm Side View c =0.15mm 46 A2=1.4mm A1=0.1mm L1=1.0m m 1/20/2009 XRS10L620 Rev 1.00 11. Appendix 11.1Product ordering information 11.1.1 IC Marking Information XRS10L620 LQFP 128 pin TBD 11.1.2 Product Ordering Information X R S 1 0 L Valid Combinations XRS10L620 CV-F 47 1/20/2009 6 2 0 C V F XRS10L620 Rev 1.00 11.2 Soldering temperature profile (a) Temp. inc gradient:Avg. 1~4℃/sec. (b) Preliminary heating:Temp.150~200℃/sec., 70~150℃/sec. (c) Temp. inc. gradient:Avg. 1~3℃/sec. (d) Actual heating:Temp. 260℃ max 250℃ up 20sec max (e) Temp.220℃ up 40~70sec. (f) Cooling:Natural Cooling or Forced Cooling *Package Surface Temp. 260℃ 250℃ 220℃ 150℃~200℃ (b) RT (d) (e) (a) 48 (c) 1/20/2009 (f)