Serial Interface: Difference between revisions

(SI_STATUS: PCH_STATE and DMA_STATE are readable, meaning of the read values is currently unknown.)
 
(One intermediate revision by the same user not shown)
Line 22:
In general, read accesses are blocking, while write accesses are asynchronous. Read accesses while a write is in progress are correctly delayed and run at the end of the write. This is described in detail in [[Memory map#Range 0x1FC0'0000 - 0x1FCF'FFFF (SI external bus)]].
 
Direct accesseswrites to the memory mapped areas (reads/writes)cause dointerrupts noton causethe anyVR4300, interruptexactly onlike DMA transfers. In fact, the VR4300;two are mostly identical at the SIhardware interruptlevel, isincluding onlythe boundfact tothat the endflag ofDMA_BUSY ais DMAalso transferset.
 
== DMA transfers ==
Line 203:
| 11-8 | DMA_STATE[3:0] | Internal DMA state. Non-zero values indicate activity.
| 7-4 | PCH_STATE[3:0] | Internal PIF channel state. Non-zero values indicate activity.
| 3 | DMA_ERROR | Set when overlapping DMA requests occur, or when writing to a misaligned address. Can only be cleared with a power reset.
| 2 | READ_PENDING | Set when an IO read occurs, while an IO or DMA write is in progress.Unknown?
| 1 | IO_BUSY | Set when a direct memory write to PIF_RAM is in progress.
| 0 | DMA_BUSY | Set when a read or write DMA, or an IO write, is in progress.