Bidirectional SPI communication

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

Bidirectional SPI communication

2,500 Views
AndresErni
Contributor I

The i.MX28 has a single DMA channel for SSP. So, only half-duplex transmission is possible in DMA mode. But "The SPI bus is inherently a full-duplex bidirectional interface" (17.5.1 in the reference manual).

How can I set up a single bidirectional transmission (Write data register -> start transmission -> read data register)?  

Labels (1)
0 Kudos
Reply
3 Replies

1,528 Views
george
Senior Contributor II

All,

Now, I am using L2.6.35_1.1.0-BSP.

I also have the same problem as you.

Is this problem solved in mainline kernel?

Best Regards,

George

0 Kudos
Reply

1,528 Views
spearson
Contributor III

Did you make any progress on an i.MX28 full-duplex SPI driver?

Regards,

S

0 Kudos
Reply

1,528 Views
Conrad1z
Contributor II

In order to use SSP for bidirectional data transfer, I think we have to use SSP without DMA. To do a single transmission should not be difficult but in order to handle it efficiently for multi words transmission using interrupt driven routines will be completely different.

I really like to see examples on accessing the SSP data FIFO directly too. There is very little information about it in the datasheet. I cannot even find out the size of the FIFO!

0 Kudos
Reply