Code: Select all
lldesc_t dmaDesc_myarray;
void IRAM_ATTR send_DRM_DMA (void) {
dmaDesc_myarray.length = 24;
dmaDesc_myarray.size = 24;
dmaDesc_myarray.owner = 1;
dmaDesc_myarray.sosf = 0;
dmaDesc_myarray.buf = (uint8_t *)myarray[0];
dmaDesc_myarray.offset = 0; //unused in hw
dmaDesc_myarray.empty = 0;
dmaDesc_myarray.eof = 1;
UHCI0.conf0.val = (UHCI_OUT_DATA_BURST_EN | UHCI_OUTDSCR_BURST_EN | UHCI_INDSCR_BURST_EN | UHCI_UART1_CE |
UHCI_IN_RST | UHCI_OUT_RST | UHCI_AHBM_RST | UHCI_AHBM_FIFO_RST | UHCI_CLK_EN);
UART1.conf0.txfifo_rst = 1;
UHCI0.dma_out_link.addr = (uint32_t)(&dmaDesc_myarray);
UHCI0.dma_out_link.start = 1;
UHCI0.int_clr.val = 0xFFFFFFFF;
}