Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3322c7bb authored by Michael Hennerich's avatar Michael Hennerich Committed by Mike Frysinger
Browse files

Blackfin: document SPI CS limitations with CPHA=0



With the Blackfin on-chip SPI peripheral, there is some logic tied to
the CPHA bit whether the Slave Select Line is controlled by hardware
(CPHA=0) or controlled by software (CPHA=1).  However, the Linux SPI
bus driver assumes that the Slave Select being asserted during the
entire SPI transfer.  So explain these small details for people who
need certain SPI modes with standard CS behavior.

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 58b0e22a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
00-INDEX
	- This file

bfin-gpio-note.txt
bfin-gpio-notes.txt
	- Notes in developing/using bfin-gpio driver.

bfin-spi-notes.txt
	- Notes for using bfin spi bus driver.
+14 −0
Original line number Diff line number Diff line
SPI Chip Select behavior:

With the Blackfin on-chip SPI peripheral, there is some logic tied to the CPHA
bit whether the Slave Select Line is controlled by hardware (CPHA=0) or
controlled by software (CPHA=1). However, the Linux SPI bus driver assumes that
the Slave Select is always under software control and being asserted during
the entire SPI transfer. - And not just bits_per_word duration.

In most cases you can utilize SPI MODE_3 instead of MODE_0 to work-around this
behavior. If your SPI slave device in question requires SPI MODE_0 or MODE_2
timing, you can utilize the GPIO controlled SPI Slave Select option instead.

You can even use the same pin whose peripheral role is a SSEL,
but use it as a GPIO instead.