Staging
v0.5.1
https://github.com/torvalds/linux
Raw File
Tip revision: 7928b2cbe55b2a410a0f5c1f154610059c57b1b2 authored by Linus Torvalds on 11 February 2018, 23:04:29 UTC
Linux 4.16-rc1
Tip revision: 7928b2c
bfin-spi-notes.txt
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.
In this case, you should use GPIO based CS for all of your slaves and not just
the ones using mode 0 or 2 in order to guarantee correct CS toggling behavior.

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