Re: [PATCH v5 00/15] add ecspi ERR009165 for i.mx6/7 soc family

From: Shawn Guo
Date: Sun Jun 23 2019 - 22:42:28 EST


On Fri, Jun 21, 2019 at 08:42:48AM +0000, Robin Gong wrote:
> Hello Shawn/Will,
>   Do you have comments for this V5 patch set? I got tags from Mark,
> Vinod and Rob.

I'm fine with the DTS change, but not sure how the series should be
merged.

Shawn

>
> On 2019-06-10 at 08:17 +0000, yibin.gong@xxxxxxx wrote:
> > From: Robin Gong <yibin.gong@xxxxxxx>
> >
> >   There is ecspi ERR009165 on i.mx6/7 soc family, which cause FIFO
> > transfer to be send twice in DMA mode. Please get more information
> > from:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
> > .nxp.com%2Fdocs%2Fen%2Ferrata%2FIMX6DQCE.pdf&amp;data=02%7C01%7Cyibin
> > .gong%40nxp.com%7C67d3e78fe5ef4428b3af08d6ed7beb74%7C686ea1d3bc2b4c6f
> > a92cd99c5c301635%7C0%7C1%7C636957513814970412&amp;sdata=%2F9sbrDEmIpu
> > OazcIAVpIrELZMEjO94%2Bjen7wOOlVsVk%3D&amp;reserved=0. The workaround
> > is adding
> > new sdma ram script which works in XCH  mode as PIO inside sdma
> > instead
> > of SMC mode, meanwhile, 'TX_THRESHOLD' should be 0. The issue should
> > be
> > exist on all legacy i.mx6/7 soc family before i.mx6ul.
> >   NXP fix this design issue from i.mx6ul, so newer chips including
> > i.mx6ul/
> > 6ull/6sll do not need this workaroud anymore. All other i.mx6/7/8
> > chips
> > still need this workaroud. This patch set add new 'fsl,imx6ul-ecspi'
> > for ecspi driver and 'ecspi_fixed' in sdma driver to choose if need
> > errata
> > or not.
> >   The first two reverted patches should be the same issue, though, it
> > seems 'fixed' by changing to other shp script. Hope Sean or Sascha
> > could
> > have the chance to test this patch set if could fix their issues.
> >   Besides, enable sdma support for i.mx8mm/8mq and fix ecspi1 not
> > work
> > on i.mx8mm because the event id is zero.
> >
> > PS:
> >    Please get sdma firmware from below linux-firmware and copy it to
> > your
> > local rootfs /lib/firmware/imx/sdma.
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> > .kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ffirmware%2Flinux-
> > firmware.git%2Ftree%2Fimx%2Fsdma&amp;data=02%7C01%7Cyibin.gong%40nxp.
> > com%7C67d3e78fe5ef4428b3af08d6ed7beb74%7C686ea1d3bc2b4c6fa92cd99c5c30
> > 1635%7C0%7C1%7C636957513814970412&amp;sdata=xXHBWpSaSLmMosb%2FajOAiXn
> > nkxaYV6HCt25OOzgRLbI%3D&amp;reserved=0
> >
> > v2:
> >   1.Add commit log for reverted patches.
> >   2.Add comment for 'ecspi_fixed' in sdma driver.
> >   3.Add 'fsl,imx6sll-ecspi' compatible instead of 'fsl,imx6ul-ecspi'
> >     rather than remove.
> > v3:
> >   1.Confirm with design team make sure ERR009165 fixed on
> > i.mx6ul/i.mx6ull
> >     /i.mx6sll, not fixed on i.mx8m/8mm and other i.mx6/7 legacy
> > chips.
> >     Correct dts related dts patch in v2.
> >   2.Clean eratta information in binding doc and new 'tx_glitch_fixed'
> > flag
> >     in spi-imx driver to state ERR009165 fixed or not.
> >   3.Enlarge burst size to fifo size for tx since tx_wml set to 0 in
> > the
> >     errata workaroud, thus improve performance as possible.
> > v4:
> >   1.add Ack tag from Mark and Vinod
> >   2. remove checking 'event_id1' zero as 'event_id0'.
> > v5:
> >   1.Add another patch for compatible with the current uart driver
> > which
> >     using rom script, so both uart ram script and rom script
> > supported
> >     in latest firmware, by default uart rom script used. UART driver
> >     will be broken without this patch. Latest sdma firmware has been
> >     already updated in linux-firmware. 
> >
> > Robin Gong (15):
> >   Revert "ARM: dts: imx6q: Use correct SDMA script for SPI5 core"
> >   Revert "ARM: dts: imx6: Use correct SDMA script for SPI cores"
> >   Revert "dmaengine: imx-sdma: refine to load context only once"
> >   dmaengine: imx-sdma: remove dupilicated sdma_load_context
> >   dmaengine: imx-sdma: add mcu_2_ecspi script
> >   spi: imx: fix ERR009165
> >   spi: imx: remove ERR009165 workaround on i.mx6ul
> >   spi: imx: add new i.mx6ul compatible name in binding doc
> >   dmaengine: imx-sdma: remove ERR009165 on i.mx6ul
> >   dma: imx-sdma: add i.mx6ul/6sx compatible name
> >   dmaengine: imx-sdma: fix ecspi1 rx dma not work on i.mx8mm
> >   ARM: dts: imx6ul: add dma support on ecspi
> >   ARM: dts: imx6sll: correct sdma compatible
> >   arm64: defconfig: Enable SDMA on i.mx8mq/8mm
> >   dmaengine: imx-sdma: add uart rom script
> >
> >  .../devicetree/bindings/dma/fsl-imx-sdma.txt       |  2 +
> >  .../devicetree/bindings/spi/fsl-imx-cspi.txt       |  1 +
> >  arch/arm/boot/dts/imx6q.dtsi                       |  2 +-
> >  arch/arm/boot/dts/imx6qdl.dtsi                     |  8 +-
> >  arch/arm/boot/dts/imx6sll.dtsi                     |  2 +-
> >  arch/arm/boot/dts/imx6ul.dtsi                      |  8 ++
> >  arch/arm64/configs/defconfig                       |  3 +
> >  drivers/dma/imx-sdma.c                             | 88
> > ++++++++++++++++------
> >  drivers/spi/spi-imx.c                              | 61
> > ++++++++++++---
> >  include/linux/platform_data/dma-imx-sdma.h         | 11 ++-
> >  10 files changed, 145 insertions(+), 41 deletions(-)
> >