summaryrefslogtreecommitdiffstats
path: root/src/drivers/bitbash
diff options
context:
space:
mode:
authorMichael Brown2007-07-28 17:05:41 +0200
committerMichael Brown2007-07-28 17:05:41 +0200
commitca41159f577ba787d52005af850380259690f933 (patch)
tree8d46a1543c1aacfb41506cc26215cd925d97b223 /src/drivers/bitbash
parentPrepare for iBFT merge when possible. iscsiboot.c contains a really, (diff)
downloadipxe-ca41159f577ba787d52005af850380259690f933.tar.gz
ipxe-ca41159f577ba787d52005af850380259690f933.tar.xz
ipxe-ca41159f577ba787d52005af850380259690f933.zip
Ensure clock line is in the idle state before asserting chip select.
Diffstat (limited to 'src/drivers/bitbash')
-rw-r--r--src/drivers/bitbash/spi_bit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/bitbash/spi_bit.c b/src/drivers/bitbash/spi_bit.c
index e2175d60..a4e7136f 100644
--- a/src/drivers/bitbash/spi_bit.c
+++ b/src/drivers/bitbash/spi_bit.c
@@ -153,6 +153,10 @@ static int spi_bit_rw ( struct spi_bus *bus, struct spi_device *device,
= container_of ( bus, struct spi_bit_basher, bus );
uint32_t tmp;
+ /* Set clock line to idle state */
+ write_bit ( &spibit->basher, SPI_BIT_SCLK,
+ ( bus->mode & SPI_MODE_CPOL ) );
+
/* Assert chip select on specified slave */
spi_bit_set_slave_select ( spibit, device->slave, SELECT_SLAVE );