Dear Yuri,
Hello.
Thank you for your reply.
I enabled L1/L2 caches but, it wasn't possible to transfer burst operation correctly.
[Info 1]
Executing burst write to LPDDR(r1) --> EIM(r0) with 32 bit.
[Info 2]
I tested the following two ways but the burst count was to be as 2-beat bursts.
I considered an influence by LPDDR2 and deleted "VLD1.64" and "LDMIA".
But, It didn't improve.
//Way 1
__asm__ volatile(
"NEONCopyPLD_2:\n"
"PLD [r1, #0xC0]\n"
"VLD1.64 {d0,d1,d2,d3}, [r1]!\n"
"VST1.64 {d0,d1,d2,d3}, [r0]\n"
"SUBS r2, r2, #0x80\n"
"BGT NEONCopyPLD_2\n"
);
//Way 2
__asm__ volatile(
"PUSH {r3-r10}\n"
"LDMloop2:\n"
"PLD [r1, #0x80]\n"
"LDMIA r1!, {r3 - r10}\n"
"STMIA r0, {r3 - r10}\n"
"SUBS r2, r2, #32\n" /* 8個(r3-r10) * 4Byte(32bit) = 32Byte */
"BGE LDMloop2\n"
"POP {r3-r10}\n"
);
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html
[Info 3]
When transferring in EIM→EIM for debug purpose, it sometimes possible to transfer by 8-beat bursts with the rare case.
[Info 4]
In the interval every burst-transfer, it is 300 ns (from CS rising to CS falling).
When using SDMA, it becomes a 700 ns interval.
*aclk_eim_slow_clk_root : 198MHz, ipg_clk_root : 66MHz, AXI_CLK(ACLK_CLK_ROOT : 396MHz, ahb_clk_root : 132MHz
[Question.1]
Can i.MX6 do the 32-beat burst write with 32bit?
[Question.2]
Is there setting information of the 32-beat burst write?
Or, is there any test result?
[Question.3]
Refer to [Info 4].
What cause is there to this delay?
And I'd like to know the detail settings.
(The big delay occurs even if it deletes access by LPDDR2 and we think that the problem is in the setting inside the CPU.)
Best Regards,
Keita