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 |