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.

AM3352: GPMC_PREFETCH_STATUS register value is not correct

Part Number: AM3352

Hi, everyone:

    the  AM335X states: 

   

  in chapter 7.1.5.84 GPMC_PREFETCH_STATUS Register (offset = 1F0h) [reset = 0h] , 

   1、FIFOPOINTER  only can be 0 and 40h ? or can be other values?

    2、COUNTVALUE is the number of remaining bytes to be read,but we see these bits always the same value ,no change;

    3、when we use prefetch mode,TRANSFERCOUNT is set 512,FIFOTHRESHOLD is set 40h,read total length is 2048 BYTES,

The end result is that the first 64 bytes will be lost,Only the last (2048-64) bytes can be read normally.

The code processing flow is  according  to this FIFIPOINTER value,and read FIFO datas,when we print the register GPMC_PREFETCH_STATUS value obtained in each cycle,and the information log is as follows 。

we can  see the  value of GPMC_PREFETCH_STATUS  is inconsistent with the description in the manual。

Can someone please clarify?

thanks.

 

 information log :  

OMAP_GPMC_PREFETCH_STATUS value = 0x050001fb
len = 507
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 443
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 379
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 315
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 251
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 187
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 123
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 59
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0

OMAP_GPMC_PREFETCH_STATUS value = 0x020001fe
len = 510
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 446
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 382
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 318
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 254
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 190
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 126
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 62
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0

OMAP_GPMC_PREFETCH_STATUS value = 0x10001ff
len = 511
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 447
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 383
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 319
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 255
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 191
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 127
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 63
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0

OMAP_GPMC_PREFETCH_STATUS value = 0x10001ff
len = 511
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 447
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 383
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 319
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 255
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 191
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 127
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0
len = 63
OMAP_GPMC_PREFETCH_STATUS value = 0x400001c0