diff options
author | Martin Sperl <kernel@martin.sperl.org> | 2015-07-28 14:03:12 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-08-14 19:09:09 +0100 |
commit | ca861dd0c5e36c4a2cf454049a45a961c855290a (patch) | |
tree | 7d104d1dda6ecc317fac583e5491b7360530caca /drivers/net/wireless/rsi/rsi_91x_sdio_ops.c | |
parent | bc0195aad0daa2ad5b0d76cce22b167bc3435590 (diff) | |
download | blackbird-op-linux-ca861dd0c5e36c4a2cf454049a45a961c855290a.tar.gz blackbird-op-linux-ca861dd0c5e36c4a2cf454049a45a961c855290a.zip |
spi: bcm2835: set up spi-mode before asserting cs-gpio
When using reverse polarity for clock (spi-cpol) on a device
the clock line gets altered after chip-select has been asserted
resulting in an additional clock beat, which confuses hardware.
This did not show when using native-CS, as the same register
is used to control cs as well as polarity, so the changes came
into effect at the same time. Unfortunately this is not true
with gpio-cs.
To avoid this situation this patch moves the setup of polarity
(spi-cpol and spi-cpha) outside of the chip-select into
prepare_message, which is run prior to asserting chip-select.
Also fixes resetting 3-wire mode after use of rx-mode, so that
a 3-Wire sequence TX, RX, TX works as well (right now it runs
TX, RX, RX instead)
Reported-by: Noralf Tronnes <noralf@tronnes.org>
Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/net/wireless/rsi/rsi_91x_sdio_ops.c')
0 files changed, 0 insertions, 0 deletions