I'm trying to configure the UART1 port for receive DMA but can't seem to get it right. I have taken the following steps when initializing the port, registers, and interrupts, as per the documentation I found online:
1. Configure the UART port properties (baud rate, parity settings, etc).
2. Disable DMA for channel 8 (DMA8) by setting DMA8_CONFIG to 0.
3. Configuring the rest of the DMA channel registers (DMA8_START_ADDR, DMA8_X_COUNT, DMA8_X_MODIFY, DMA8_Y_COUNT, DMA8_Y_MODIFY, DMA8_IRQ_STATUS). Ensure these values are actually store using SSYNC before continuing.
4. Enable IVG10 interrupts using adi_int_CECHook().
5. Enable ADI_INT_DMA8_UART1_RX peripheral interrupts using adi_int_SICEnable().
6. Enable DMA for channel 8 (FLOW = 0, DI_EN = 1, WNR = 1, NDSIZE = 0, DI_SEL = 0, WDSIZE = 1, DMA2D = 0, SYNC = 0).
7. Finally, enable Rx interrupts for UART1 by setting the ERBFI bit in the IER_SET register.
After doing all of this, the ISR I pass in to adi_int_CECHook, which handles the DMA interrupts, is never invoked. What am I missing?
Any help would be appreciated.