| 10 | | Each T0_COPROC/FROM coproc port contains an hardware FIFO interface (data, r_wok, w_rok signals), plus three signals (REQ, ACK, BURSTS) allowing the coprocessor |
| 11 | | to request an integer number of data burst. Each burst contains a fixed number of 32 bits words. Each channel implements two running modes: |
| | 10 | Each T0_COPROC/FROM_COPROC port contains an hardware FIFO interface (DATA, R_WOK, W_ROK signals), plus three signals (REQ, ACK, BURSTS) allowing the coprocessor |
| | 11 | to request an integer number of data burst. Each burst contains a fixed number of 32 bits words. The burst length is an hardware parameter. |
| | 12 | |
| | 13 | Each channel implements two running modes: |
| 17 | | WARNING : The MWR driver is not available yet. |
| | 19 | The addressable registers map and command codes are defined [source:soft/giet_vm/giet_drivers/mwr_driver.h here]. |
| | 20 | |
| | 21 | === void '''_mwr_channel_init'''( unsigned int cluster_xy, unsigned int channel, unsigned int mode, unsigned long long buffer_paddr, unsigned int buffer_size, unsigned long long desc_paddr, unsigned long long lock_paddr ) === |
| | 22 | This function initialises all registers defining one communication channel for a given coprocessor. |
| | 23 | * '''cluster_xy''' is the cluster index |
| | 24 | * '''channel''' is the channel index |
| | 25 | * '''mode''' is the requested mode (MWMR / DMA_IRQ / DMA_NO_IRQ) |
| | 26 | * '''buffer_paddr''' is the memory buffer physical address |
| | 27 | * '''buffer_size''' is the memory buffer size (bytes) |
| | 28 | * '''desc_paddr''' is the MWMR descriptor physical address (only used in MWMR mode) |
| | 29 | * '''lock_paddr''' is the MWMR lock physical address (only used in MWMR mode) |
| | 30 | |
| | 31 | === void '''_mwr_channel_start'''( unsigned int cluster_xy, unsigned int channel ) === |
| | 32 | This function activates one communication channel for a given coprocessor. |
| | 33 | * '''cluster_xy''' is the cluster index |
| | 34 | * '''channel''' is the channel index |
| | 35 | |
| | 36 | === void '''_mwr_channel_stop'''( unsigned int cluster_xy, unsigned int channel ) === |
| | 37 | This function desactivates one communication channel for a given coprocessor. |
| | 38 | * '''cluster_xy''' is the cluster index |
| | 39 | * '''channel''' is the channel index |