Issue with multiple SPI_BURST when imx6 comfigured in SPI SLAVE mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue with multiple SPI_BURST when imx6 comfigured in SPI SLAVE mode

1,959 Views
cheersalam
Contributor II

Hi,

I am using imx6 as a SPI SLAVE to communicate with external peripheral which is acting as SPI MASTER.

Size of data to be shifted out is more than 512KB. I am setting burst_length value to maximum which is 2^7 (128) words. My data is being shifted out in multiple SPI Burst, but I am getting a strange result at the end of each spi burst. My 128*1 + 1, 128*3 + 1, 128*5 + 1..... words are getting replaced with zeros. Rest of the data before and after these words are fine.

eCSPI settings

Burst Len = 0xFFF

bpw = 32

CPOL = 0

CPHA = 0

Am I missing something here?

Any pointers will be appreciated.

alam

Labels (1)
0 Kudos
4 Replies

713 Views
MichaelV
Senior Contributor II

The iMX53 and iMX6 ECSPI module is very buggy and this is an (as of yet undocumented) silicon bug, The ECSPI module behaves erratically when the bitcount is [(32 * n) + 1] with [n > 0].

For an in-depth analysis see http://guruce.com/blogpost/freescale-imx53-ecspi-silicon-bug

713 Views
craigdenson
Contributor II

Can anyone from Freescale confirm Michel's bug for i.mx6? We're beginning to implement an SPI slave driver and this could impact its usability.

0 Kudos

713 Views
huang_dexiang
Contributor II

Hci Craig, We are now using the SPI of imx6q as slave mode with DMA transfer to receive data from the other devices. Have you finish your wok implement SPI slave driver?Can your driver transfer with DMA?

0 Kudos

713 Views
peterw
Contributor III

Hi Huang,

I also try to use the SPI as slave mode with DMA transfer, but is have some problems configuring the slave correct.

I’m using two imx6q, one as master the other one as slave. Transmitting data from the master via the DMA is working. But I think there goes something wrong in my configuration on the slave. Can you tell me how your slave configuration looks like?

Thanks

Peter

0 Kudos