I have a setup which requires me to use DMA writes to DOUT31_0 to toggle GPIOs with a specific pattern, which I have as a working prototype. However, I'd like to check my understanding of what could interfere with the timings. From experimentation, I believe that it takes 5 clocks of MCLK (which I'm currently running at 80MHz) to read the value from flash and write it to the GPIO port, so I can change the state of the GPIOs every 62.5ns. I can't see where this is stated in the datasheet/TRM - have I got that right? (I'm not breaching the switching rates of any single GPIO listed in 7.10.2 of the datasheet).
If I have selected the highest priority DMA channel and am keeping the device in RUN mode, is there anything that could cause the timing to change such as by requiring extra clocks? It looks like I will need to ensure the CPU isn't trying to access the same memory as the DMA, and also ensure it's not accessing peripherals on the same bus as the GPIO (PD1)?