[U-Boot] [PATCH 06/20] tegra: spi: Drop the claim_bus() method to correct delays

Stephen Warren
2015-02-25T23:14:05Z

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(&regs->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?