On 10/16/2015 04:23 PM, Tom Warren wrote:
This is the normal Tegra SPI driver modified to work with the
QSPI controller in Tegra210. It does not do 2x/4x transfers
or any other QSPI protocol.

I've just realized we don't have a binding document for QSPI. I believe we need to get one into the Linux kernel's DT binding docs repo as part of the work on this driver. Presumably this controller is very similar to the other Tegra SPI controllers, so this will be a simple process.

The code looks OK at a quick glance, except for the nit below.

diff --git a/drivers/spi/tegra210_qspi.c b/drivers/spi/tegra210_qspi.c

+static int tegra210_qspi_claim_bus(struct udevice *bus)

+       /* Clear stale status here */
+       setbits_le32(&regs->fifo_status,
+                    QSPI_FIFO_STS_ERR  |
+                    QSPI_FIFO_STS_TX_FIFO_OVF  |
+                    QSPI_FIFO_STS_TX_FIFO_UNR  |
+                    QSPI_FIFO_STS_RX_FIFO_OVF  |
+                    QSPI_FIFO_STS_RX_FIFO_UNR  |
+                    QSPI_FIFO_STS_TX_FIFO_FULL |
+                    QSPI_FIFO_STS_TX_FIFO_EMPTY        |
+                    QSPI_FIFO_STS_RX_FIFO_FULL |
+                    QSPI_FIFO_STS_RX_FIFO_EMPTY);
+       debug("%s: FIFO STATUS = %08x\n", __func__, readl(&regs->fifo_status));

Isn't this redundant with the status clear at the start of tegra210_qspi_xfer()?
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to