Part Number: AM6442
Hi,
My customer is trying to connect LCD panel to SPI port on AM64x SKEVM.
But when pixel data are sent by DMA, the color on LCD panel is not correct.
If the data is sent PIO (DMA disabled), the color is correct.
Below patch is used to disable DMA.
(please change *.txt to *.patch)
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index d4c9510af393..ad6351918640 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -1276,6 +1280,7 @@ static bool omap2_mcspi_can_dma(struct spi_master *master,
struct spi_device *spi,
struct spi_transfer *xfer)
{
+#if 0
struct omap2_mcspi *mcspi = spi_master_get_devdata(spi->master);
struct omap2_mcspi_dma *mcspi_dma =
&mcspi->dma_channels[spi->chip_select];
@@ -1290,6 +1295,11 @@ static bool omap2_mcspi_can_dma(struct spi_master *master,
master->dma_tx = mcspi_dma->dma_tx;
return (xfer->len >= DMA_MIN_BYTES);
+#else
+ return false;
+#endif
}
static size_t omap2_mcspi_max_xfer_size(struct spi_device *spi)
The Linux Kernel used is below
https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/?h=ti-linux-5.10.y
Customer also tried to use other processor (RasberryPI4) with the same LCD panel and it worked fine with DMA enabled.
So customer suspects something wrong in TI driver.
Thanks and regards,
Koichiro Tashiro