Registers
1392
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Serial ATA (SATA) Controller
28.4.22 Port Interrupt Status Register (P0IS)
The port interrupt status register (P0IS) is used to generate SATASS interrupts when any of the bits are
set. Bits in this register are set by some internal conditions, and cleared by software writing ones in the
positions it wants to clear. This register is reset on Global reset. The P0IS is shown in
and
described in
Figure 28-22. Port Interrupt Status Register (P0IS)
31
30
29
28
27
26
25
24
23
22
21
16
CPDS
TFES
HBFS
HBDS
IFS
INFS
Rsvd
OFS
IPMS
PRCS
Reserved
R/W1C-0
R/W1C-0
R/W1C-0
R/W1C-0
R/W1C-0
R/W1C-0
R-0
R/W1C-0
R/W1C-0
R-0
R-0
15
8
7
6
5
4
3
2
1
0
Reserved
DMPS
PCS
DPS
UFS
SDBS
DSS
PSS
DHRS
R-0
R/W1C-0
R-0
R/W1C-0
R-0
R/W1C-0
R/W1C-0
R/W1C-0
R/W1C-0
LEGEND: R/W = Read/Write; R = Read only; W1C = Write 1 to clear; -
n
= value after reset
Table 28-26. Port Interrupt Status Register (P0IS) Field Descriptions
Bit
Field
Value
Description
31
CPDS
0-1
Cold Port Detect Status. This bit is set when the external input changes its state due to the insertion or
removal of a device. This bit is only valid if the port supports cold presence detection as indicated by the
P0CMD.CPD bit being set to 1.
30
TFES
0-1
Task File Error Status. This bit is set whenever the P0TFD register is updated by the device and the
error bit (P0TFD.STS[0]) is set.
29
HBFS
0-1
Host Bus Fatal Error Status. This bit is set when SATASS bus master detects an ERROR response
from the slave.
28
HBDS
0-1
Host Bus Data Error Status. This bit is always cleared to 0.
27
IFS
0-1
Interface Fatal Error Status. This bit is set if any of the following conditions is detected:
• SYNC escape is received from the device during H2D Register or Data FIS transmission.
• One or more of the following errors are detected during Data FIS transfer: Protocol
(P0SERR.ERR_P), CRC (P0SERR.DIAG_C), Handshake (P0SERR.DIAG_H), PHY Not Ready
(P0SERR.ERR_C).
• Unknown FIS is received with good CRC, but the length exceeds 64 bytes.
• PRD table byte count is zero.
Port DMA transitions to a fatal state until software clears P0CMD.ST bit or resets the interface by way
of Port or Global reset.
26
INFS
0-1
Interface Non-fatal Error Status. This bit is set if any of the following conditions is detected:
• One or more of the following errors are detected during non-data FIS transfer: Protocol
(P0SERR.ERR_P), CRC (P0SERR.DIAG_C), Handshake (P0SERR.DIAG_H), PHY Not Ready
(P0SERR.ERR_C).
• Command list underflow during read operation (DMA read) when software builds command table that
has more total bytes than the transaction given to the device.
In both cases, Port operation continues normally. If error is detected during non-data FIS transmission,
this FIS is retransmitted continuously until it succeeds or software times out and resets the interface.
25
Reserved
0
Reserved.
24
OFS
0-1
Overflow Status. This bit is set if command list overflow is detected during read or write operation when
software builds a command table that has fewer total bytes than the transaction given to the device.
Port DMA transitions to a fatal state until software clears P0CMD.ST bit or resets the interface by way
of Port or Global reset.
23
IPMS
0-1
Incorrect Port Multiplier Status. Indicates that the HBA received a FIS from a device whose Port
Multiplier field did not match what was expected.
This bit may be set during enumeration of devices on a Port Multiplier due to the normal Port Multiplier
enumeration process. The software should only use the IPMS bit after enumeration is complete on the
Port Multiplier.
22
PRCS
0-1
PHYReady Change Status. When set to 1, indicates the internal PHY Ready signal changed state. This
bit reflects the state of the P0SERR.DIAG_N bit. To clear this bit, the software must clear the
P0SERR.DIAG_N bit to 0.
21-8
Reserved
0
Reserved.