This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x: How to trigger a 16 words burst operation on GPMC

Other Parts Discussed in Thread: AM3352

Hi, there

I am working on GPMC between am3352 and FPGA. Burst operation is required for transfer data from FPGA to CPU. I looked for some familiar topic about this question. And the code below is used for a burst operation test. But only 4 consecutive 4 words burst is triggered, not a 16 words burst operation.(16 words burst length is configed for GPMC interface). Any idea about this problem? Or I misunderstand something?

void fpga_burst_test(void)
{
 u32* pVal;
 volatile u32* ptr = (u32*)(CONFIG_FPGA_COMM_BASE + 0x10);
 u16 i;
 volatile u16* pa;

 pVal = (u32*)malloc(8*sizeof(u32));

 asm volatile(
   "ldmia %[in]!, {r3-r10} \n\t"
   "stmia %[out]!, {r3-r10} \n\t"
   :[out]"+r" (pVal)
   :[in]"r" (ptr)
   :"r3","r4","r5","r6","r7","r8","r9","r10","memory"
      );

 pa = (u16*)pVal;


 printf("FPGA burst test:\n");
 for(i = 0; i < 16; i ++) {
  printf("Read FPGA reg value: 0x%08x \n", *pa); 
  pa++;
 }

 free(pVal);

}

Best Regards

Yang