25 | | Each channel FSM implements two operating modes that can be defined by software: |
26 | | * In '''DMA_MODE''', the channel FSM transfer a single buffer between the memory and the coprocessor port. The number of VCI burst depends on both the memory buffer size, and the burst size. In this mode the software must define the channel configuration by writing the data buffer address and size in the channel configuration registers. An optional interrupt can be activated when the requested transfer is completed. |
| 25 | Each channel FSM implements two main operating modes that can be defined by software: |
| 26 | * In '''MODE_DMA_IRQ''' or '''MODE_DMA_NO_IRQ''' modes the channel FSM transfer a single buffer between the memory and the coprocessor port. The number of VCI burst depends on both the memory buffer size, and the burst size. In this mode the software must define the channel configuration by writing the data buffer address and size in the channel configuration registers. When the transfer is completed, the channel FSM wait in the success or ERROR state, until it is reset to IDLE state by writing a zero value in the CHANNEL_RUN register. An optional IRQ can be activated when the requested transfer is completed (only in MODE_DMA_IRQ). |
| 27 | |
| 49 | * '''CHANNEL_BUFFER_MSB[k]''' data buffer physical address extend bits (MWMR or DMA) |
| 50 | * '''CHANNEL_MWMR_LSB[k]''' channel status physical address 32 LSB bits (MWMR only) |
| 51 | * '''CHANNEL_MWMR_MSB[k]''' channel status physical address extend bits (MWMR only) |
| 52 | * '''CHANNEL_LOCK_LSB[k]''' channel lock physical address 32 LSB bits (MWMR only) |
| 53 | * '''CHANNEL_LOCK_MSB[k]''' channel lock physical address extend bits (MWMR only) |
| 54 | * '''CHANNEL_WAY[k]''' channel direction (TO_COPROC / FROM_COPROC) (MWMR or DMA) |
| 55 | * '''CHANNEL_MODE[k]''' MWMR / DMA_IRQ / DMA_NO_IRQ (MWMR or DMA) |
| 56 | * '''CHANNEL_SIZE[k]''' data buffer size (bytes) (MWMR or DMA) |
| 57 | * '''CHANNEL_RUN[k]''' channel activation/deativation (MWMR or DMA) |
| 58 | * '''CHANNEL_STATUS[k]''' channel FSM state (MWMR or DMA) |
48 | | * '''CHANNEL_BUFFER_MSB[k]''' data buffer physical address extend bits (MWMR or DMA) |
49 | | |
50 | | * '''CHANNEL_MWMR_LSB[k]''' channel status physical address 32 LSB bits (MWMR only) |
51 | | |
52 | | * '''CHANNEL_MWMR_MSB[k]''' channel status physical address extend bits (MWMR only) |
53 | | |
54 | | * '''CHANNEL_LOCK_LSB[k]''' channel lock physical address 32 LSB bits (MWMR only) |
55 | | |
56 | | * '''CHANNEL_LOCK_MSB[k]''' channel lock physical address extend bits (MWMR only) |
57 | | |
58 | | * '''CHANNEL_WAY[k]''' channel direction (TO_COPROC / FROM_COPROC) (MWMR or DMA) |
59 | | |
60 | | * '''CHANNEL_MODE[k]''' MWMR / DMA_IRQ / DMA_NO_IRQ (MWMR or DMA) |
61 | | |
62 | | * '''CHANNEL_SIZE[k]''' data buffer size (bytes) (MWMR or DMA) |
63 | | |
64 | | * '''CHANNEL_RUN[k]''' channel activation/deativation (MWMR or DMA) |
65 | | |
66 | | * '''CHANNEL_STATUS[k]''' (MWMR or DMA) |
67 | | |
| 60 | The relevant values for the CHANNEL_STATUS register are the following: |
| 61 | * |