Hi Stephen, On 25 February 2015 at 16:14, Stephen Warren <swar...@wwwdotorg.org> wrote: > On 02/17/2015 03:29 PM, Simon Glass wrote: >> >> At present the driver does not properly honour the requested SPI CS >> deactivation delay since the SPI bus is changed in the claim_bus() method. >> >> Everything the claim_bus() method does can be done when the device is >> probed >> (setting the speed and mode) and at the start of a new transfer (where the >> fifo_status is already cleared). So drop this method. >> >> Also, until the delay is complete, we should not touch the bus, so make >> sure >> that spi_cs_activate() is called before other things are done in the >> xfer() >> method. > > >> diff --git a/drivers/spi/tegra114_spi.c b/drivers/spi/tegra114_spi.c > > >> - setbits_le32(®s->command1, SPI_CMD1_M_S | SPI_CMD1_CS_SW_HW | >> - (priv->mode << SPI_CMD1_MODE_SHIFT)); > > ... >> >> + setbits_le32(&priv->regs->command1, SPI_CMD1_M_S | >> SPI_CMD1_CS_SW_HW | >> + (priv->mode << SPI_CMD1_MODE_SHIFT) | >> SPI_CMD1_CS_SW_VAL); > > > Is that addition of SPI_CMD1_CS_SW_VAL there relative to the old code > intended?
Yes. To me it seems that we should set CS high when probing. Otherwise the bus may sit low (enabled) until we do our first activate(). Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot