<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: imx6 SPI errors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732123#M113923</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for your reply !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using&amp;nbsp;#include "imx6dl.dtsi" in the dts file, and so everything added by that is&amp;nbsp;unchanged. Below are all our SPI related dts changes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pin control:&lt;/P&gt;&lt;P&gt;pinctrl_ecspi1: ecspi1grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT22__ECSPI1_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT21__ECSPI1_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT20__ECSPI1_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17 0x1b0b0&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x1b0b0&lt;BR /&gt; &amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;pinctrl_ecspi2: ecspi2grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12 0x1b0b0&lt;BR /&gt; MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x1b0b0&lt;BR /&gt; &amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;pinctrl_ecspi3: ecspi3grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x1b0b0&lt;/P&gt;&lt;P&gt;&amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPI devices:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio5 17 0&amp;gt;, &amp;lt;&amp;amp;gpio5 9 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev0: spi@0 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "company,SPIdevice";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev1: spi@1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi2 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio5 12 0&amp;gt;, &amp;lt;&amp;amp;gpio3 25 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev2: spi@0 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev3: spi@1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi3 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio4 24 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi3&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev4: spi@0 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Jun 2018 08:47:08 GMT</pubDate>
    <dc:creator>stasgil</dc:creator>
    <dc:date>2018-06-13T08:47:08Z</dc:date>
    <item>
      <title>imx6 SPI errors</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732121#M113921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using a custom board with the imx6qdl processor, with our image based on freescale community bsp for yocto krogoth release.&lt;/P&gt;&lt;P&gt;Kernel version: 4.1.15&lt;/P&gt;&lt;P&gt;Yocto branch: krogoth, 2.0ga&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are extensively using SPI to communicate with several devices(texas istruments microcontrollers) on the SPI bus. Please find our spi-imx.c driver attached.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are encountering several different errors:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1) Below are the results of attempting SPI transactions of every length from 0 to 200 16-bit words. The following ranges of message lengths are affected, in bytes:&lt;/P&gt;&lt;P&gt;96-126, 160-190, 224-254, 288-318, 352-382 (decimal).&lt;/P&gt;&lt;P&gt;Transactions with lengths falling in these ranges always fail. This is completely consistent and reproducible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:60&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:62&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:64&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:66&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:68&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:6a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:6c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:6e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:70&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:72&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:74&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:76&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:78&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:7a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:7c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:7e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:a0&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:a2&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:a4&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:a6&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:a8&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:aa&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ac&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ae&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:b0&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:b2&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:b4&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:b6&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:b8&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ba&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:bc&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:be&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:e0&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:e2&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:e4&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:e6&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:e8&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ea&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ec&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:ee&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:f0&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:f2&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:f4&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:f6&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:f8&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:fa&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:fc&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:fe&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:120&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:122&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:124&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:126&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:128&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:12a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:12c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:12e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:130&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:132&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:134&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:136&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:138&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:13a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:13c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:13e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:160&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:162&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:164&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:166&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:168&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:16a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:16c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:16e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:170&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:172&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:174&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:176&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:178&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:17a&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:17c&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;spi_master spi1: I/O Error in DMA RX:17e&lt;/P&gt;&lt;P&gt;spi_master spi1: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2) &amp;nbsp;Additionally, there is the very rare intermittent fault, that shows up like this:&lt;/P&gt;&lt;P&gt;May 24 16:15:08 imx6dl-ctems kernel: spi_master spi2: I/O Error in RX tail&lt;/P&gt;&lt;P&gt;May 24 16:15:08 imx6dl-ctems kernel: spi_master spi2: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;May 24 16:15:11 imx6dl-ctems kernel: spi_master spi2: I/O Error in DMA RX:8c&lt;/P&gt;&lt;P&gt;May 24 16:15:11 imx6dl-ctems kernel: spi_master spi2: failed to transfer one message from queue&lt;/P&gt;&lt;P&gt;The second error here is caused by attempting to retry the transaction.&lt;/P&gt;&lt;P&gt;This intermittent fault shows up very roughly once in 100000 transactions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried the fix from this question :&amp;nbsp;&lt;A href="https://community.nxp.com/thread/339957"&gt;imx6 SPI in DMA mode sometime throws "I/O Error in DMA RX"&lt;/A&gt;&amp;nbsp; but that didn't work&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to this question:&amp;nbsp;&lt;A href="https://community.nxp.com/thread/452083"&gt;SPI DMA support in imx6&lt;/A&gt;&amp;nbsp; and documentation, DMA is not supported in SPI by default. So, how come that all the errors come from the DMA handling code ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have not yet tried the patchset from&amp;nbsp;&lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/message/888805?commentID=888805#comment-888805" title="https://community.nxp.com/message/888805?commentID=888805#comment-888805"&gt;https://community.nxp.com/message/888805?commentID=888805#comment-888805&lt;/A&gt;&amp;nbsp; , but i would like to ask, if there is anywhere i can find an up to date spi-imx.c driver that is compatible with kernel 4.1.15 ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 May 2018 11:09:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732121#M113921</guid>
      <dc:creator>stasgil</dc:creator>
      <dc:date>2018-05-29T11:09:49Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 SPI errors</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732122#M113922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can you show me your spi setting in the device tree file?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jun 2018 04:08:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732122#M113922</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2018-06-12T04:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 SPI errors</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732123#M113923</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for your reply !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using&amp;nbsp;#include "imx6dl.dtsi" in the dts file, and so everything added by that is&amp;nbsp;unchanged. Below are all our SPI related dts changes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pin control:&lt;/P&gt;&lt;P&gt;pinctrl_ecspi1: ecspi1grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT22__ECSPI1_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT21__ECSPI1_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT20__ECSPI1_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17 0x1b0b0&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x1b0b0&lt;BR /&gt; &amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;pinctrl_ecspi2: ecspi2grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12 0x1b0b0&lt;BR /&gt; MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x1b0b0&lt;BR /&gt; &amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;pinctrl_ecspi3: ecspi3grp {&lt;BR /&gt; fsl,pins = &amp;lt;&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1&lt;BR /&gt; MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x1b0b0&lt;/P&gt;&lt;P&gt;&amp;gt;;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPI devices:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio5 17 0&amp;gt;, &amp;lt;&amp;amp;gpio5 9 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev0: spi@0 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "company,SPIdevice";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev1: spi@1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi2 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio5 12 0&amp;gt;, &amp;lt;&amp;amp;gpio3 25 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi2&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev2: spi@0 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev3: spi@1 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi3 {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio4 24 0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names = "default";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi3&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spidev4: spi@0 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible = "&lt;SPAN&gt;company,SPIdevice&lt;/SPAN&gt;";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spi-max-frequency = &amp;lt;5000000&amp;gt;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;BR /&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2018 08:47:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732123#M113923</guid>
      <dc:creator>stasgil</dc:creator>
      <dc:date>2018-06-13T08:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 SPI errors</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732124#M113924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I could not find the root cause, but the I/O Error in DMA RX seem to have been fixed by updating the spi-imx.c driver to a version from the Boundary Devices github page:&amp;nbsp;&lt;A class="link-titled" href="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.1.15_2.0.0_ga" title="https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_4.1.15_2.0.0_ga"&gt;GitHub - boundarydevices/linux-imx6 at boundary-imx_4.1.15_2.0.0_ga&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Compared to the .c file from krogoth branch, the new one seems to be a lot reliable, with DMA transfer function restructured and workarounds for several silicon ERRATAS added.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was unable to do anything about the I/O Error in RX tail, so if anyone has any input on this, i would greatly appreciate it :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2018 07:47:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-SPI-errors/m-p/732124#M113924</guid>
      <dc:creator>stasgil</dc:creator>
      <dc:date>2018-07-04T07:47:34Z</dc:date>
    </item>
  </channel>
</rss>

