Hi community:
I have solved the question 2 above, after I set the EIM_clk to 66MHz, other clk frequence is not ok. Then wen can transfer data between IMX6UL and FPGA. Finally, the EIM interface is configured multiplexed mode(MUM=1), 16-bit datawidth(DSZ=001), synchronous read and write, we used the BCLK for FPGA to capture the data, the burst length is still 8 words(16 byte). Burst read is monitored WAIT signal to start, burst write is fix latency So, the EIM register is finally configured as follow:
EIM_CSnGCR1:0x0111019F
EIM_CSnGCR2:0x00001010
EIM_CSnRCR1:0x02000000
EIM_CSnRCR2:0x00000000
EIM_CSnWCR1:0x01008280
EIM_CSnWCR2:0x00000000
The question 1 above is still exist.
Recently we found another data error promble while reading some address. For example, we first write 128 byte increasing num to the address begin from 0x21d00, then read back, there will be error data every 8 words(16 byte),it's a burst length. The following is the contrast data printed by the software. The value after "error" is the word number, the value after "w=" is the written data, and the value after "r=" is the readout data.
Error 8: w=0008, r=0807
Error 9: w=0009, r=0008
Error a: w=000a, r=0009
Error b: w=000b, r=000a
Error c: w=000c, r=000b
Error d: w=000d, r=000c
Error e: w=000e, r=000d
Error f: w=000f, r=000e
Error 18: w=0018, r=0817
Error 19: w=0019, r=0018
Error 1a: w=001a, r=0019
Error 1b: w=001b, r=001a
Error 1c: w=001c, r=001b
Error 1d: w=001d, r=001c
Error 1e: w=001e, r=001d
Error 1f: w=001f, r=001e
Error 28: w=0028, r=0827
Error 29: w=0029, r=0028
Error 2a: w=002a, r=0029
Error 2b: w=002b, r=002a
Error 2c: w=002c, r=002b
Error 2d: w=002d, r=002c
Error 2e: w=002e, r=002d
Error 2f: w=002f, r=002e
Error 38: w=0038, r=0837
Error 39: w=0039, r=0038
Error 3a: w=003a, r=0039
Error 3b: w=003b, r=003a
Error 3c: w=003c, r=003b
Error 3d: w=003d, r=003c
Error 3e: w=003e, r=003d
Error 3f: w=003f, r=003e
From the above error, in the 8 error words, the last 7 data error is like that be delay one clk cycle. And only some address segment have such read error.
Follow is the timing wave captured at FPGA.

On the data_from_fpga bus, the data in the blue box is the 8 words expected to be read one burst read. The timing wave is normal, the bus is not be delay and there's no a "0807" word before the "0008" words.The words "0807" can be seen from wr_data bus(wr_data is EIM_AD[15:0] input to FPGA and latch). But it appears on the bus 2 clk cycle before the word "0008", I can't understand why the word is sampled by the burst read.
Does anyone have similar promble?
If there is something wrong I configure the EIM, or SDMA?