<?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: How to use SPIDEV driver on iMX6UL EVK</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583547#M88545</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;Hi Arnaud,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;You need to populate and remove some resistors. Review in the schematic the &lt;SPAN class="GramE"&gt;resistors :&lt;/SPAN&gt; &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size:11.5pt;"&gt;R1724, R1725, R1726, R1727, R1731,R1633, R1634, R1635, R1636&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size:11.5pt;"&gt;Luis&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 18 Jul 2016 14:03:07 GMT</pubDate>
    <dc:creator>LuisCasado</dc:creator>
    <dc:date>2016-07-18T14:03:07Z</dc:date>
    <item>
      <title>How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583546#M88544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My setup is the following :&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;iMX6UL-EVK&lt;/LI&gt;&lt;LI&gt;Yocto Project 2.1.1 Krogoth based distribution&lt;/LI&gt;&lt;LI&gt;Ubuntu 16.04 development computer&lt;/LI&gt;&lt;LI&gt;Saleae Logic Analyzer&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to be able to use &lt;STRONG&gt;spidev&lt;/STRONG&gt; driver to communicate with some sensors from a user-space application.&lt;/P&gt;&lt;P&gt;I managed to get the &lt;STRONG&gt;/dev/spidev3.0&lt;/STRONG&gt; showing up (thanks to &lt;SPAN class="j-post-author"&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" data-containerid="-1" data-containertype="-1" data-content-finding="Community" data-objectid="33256" data-objecttype="3" href="https://community.nxp.com/people/almarto" rel="nofollow noopener noreferrer" target="_blank"&gt;Alvaro Martinez&lt;/A&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; answer on &lt;A _jive_internal="true" href="https://community.nxp.com/thread/380304#comment-608922" rel="nofollow noopener noreferrer" target="_blank"&gt;this topic&lt;/A&gt;), but I can't write anything on the bus.&lt;/P&gt;&lt;P&gt;I am using the following command :&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_1468849686361339" data-renderedposition="357_50_798_16" jivemacro_uid="_1468849686361339"&gt;&lt;P&gt;echo hello &amp;gt; /dev/spidev3.0&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I then verified with my logic analyzer (on Arduino header &lt;STRONG&gt;J1704&lt;/STRONG&gt;), nothing happens...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also tested with &lt;A href="https://www.google.fr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwj_o-DKlv3NAhWGtxoKHRz7BCQQFggjMAE&amp;amp;url=https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux%2Fblob%2Fmaster%2Ftools%2Fspi%2Fspidev_test.c&amp;amp;usg=AFQjCNF1Zlko6sZyam96aqLcXAG_jL6zEw&amp;amp;sig2=CVqF-iUYjsJXGD-tM0beBg" rel="nofollow noopener noreferrer" target="_blank"&gt;spidev_test.c&lt;/A&gt;, and even by shorting MISO and MOSI pins I do not get the desired output :&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14688501732543287 jive_text_macro" data-renderedposition="477_50_798_64" jivemacro_uid="_14688501732543287"&gt;&lt;P&gt;spi mode: 0x0&lt;/P&gt;&lt;P&gt;bits per word: 8&lt;/P&gt;&lt;P&gt;max speed: 500000 Hz (500 KHz)&lt;/P&gt;&lt;P&gt;RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&amp;nbsp; | ............................&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone help me ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arnaud&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jul 2016 13:50:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583546#M88544</guid>
      <dc:creator>arnaudne</dc:creator>
      <dc:date>2016-07-18T13:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583547#M88545</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;Hi Arnaud,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;You need to populate and remove some resistors. Review in the schematic the &lt;SPAN class="GramE"&gt;resistors :&lt;/SPAN&gt; &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size:11.5pt;"&gt;R1724, R1725, R1726, R1727, R1731,R1633, R1634, R1635, R1636&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size:11.5pt;"&gt;Luis&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jul 2016 14:03:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583547#M88545</guid>
      <dc:creator>LuisCasado</dc:creator>
      <dc:date>2016-07-18T14:03:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583548#M88546</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Luis,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your quick answer !&lt;/P&gt;&lt;P&gt;I moved resistors &lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;R1633&lt;/STRONG&gt;, &lt;STRONG&gt;R1634&lt;/STRONG&gt;, &lt;STRONG&gt;R1635&lt;/STRONG&gt;, &lt;STRONG&gt;R1636&lt;/STRONG&gt; to &lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;R1724&lt;/STRONG&gt;, &lt;STRONG&gt;R1725&lt;/STRONG&gt;, &lt;STRONG&gt;R1726&lt;/STRONG&gt;, &lt;STRONG&gt;R1727&lt;/STRONG&gt; and it works like a charm.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt;"&gt;I did not change &lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;R1731&lt;/STRONG&gt; though.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt;"&gt;I still have to handle the CS line as it does not toggle but I think it is due to a misconfiguration in my device tree :&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_1468855145262639" data-renderedposition="190_8_1192_256" jivemacro_uid="_1468855145262639"&gt;&lt;P&gt;&amp;amp;ecspi4 {&lt;/P&gt;&lt;P&gt;&amp;nbsp; #address-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; #size-cells = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cs-gpios = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi4&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spidev@0x00 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "spidev";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi-max-frequency = &amp;lt;20000000&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am pretty new to Embedded Linux development, and device-trees, but I think that the variable &lt;STRONG&gt;cs-gpios&lt;/STRONG&gt; is wrong ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;SUP&gt;&lt;STRONG style="color: #3c773e;"&gt;Updated: Following Luis answer permitted me to get the CS pin to work, I put the updated device tree right below.&lt;/STRONG&gt;&lt;/SUP&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If anyone is interested in the modifications I had to make to make the spidev work on iMX6UL-EVK :&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1 -&lt;/STRONG&gt; Device tree (I used Yocto Project)&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;I disabled fec2, which is Ethernet PHY 2 as it cannot be used anymore in this configuration&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14688553234197996" data-renderedposition="710_8_1192_592" jivemacro_uid="_14688553234197996" modifiedtitle="true"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include "imx6ul-14x14-evk.dts"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/ {&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi3 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;fec2 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = "disabled";&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi4 {&lt;/P&gt;&lt;P&gt;&amp;nbsp; #address-cells = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; #size-cells = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cs-gpios = &amp;lt;&amp;amp;gpio2 15 0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi4&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; status = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spidev@0x00 {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; compatible = "spidev";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi-max-frequency = &amp;lt;80000000&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;iomuxc {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_hog_1&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; imx6ul-evk {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl_ecspi4: ecspi4grp {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsl,pins = &amp;lt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x100b1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MXUL_PAD_ENET2_TX_EN__ECSPI4_MOSI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x100b1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK&amp;nbsp;&amp;nbsp; 0x100b1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x10b0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2 -&lt;/STRONG&gt; Move&amp;nbsp; resistors &lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;R1633&lt;/STRONG&gt;, &lt;STRONG&gt;R1634&lt;/STRONG&gt;, &lt;STRONG&gt;R1635&lt;/STRONG&gt;, &lt;STRONG&gt;R1636&lt;/STRONG&gt; to &lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;R1724&lt;/STRONG&gt;, &lt;STRONG&gt;R1725&lt;/STRONG&gt;, &lt;STRONG&gt;R1726&lt;/STRONG&gt;, &lt;STRONG&gt;R1727&lt;/STRONG&gt;. These resistors are near J1703 and on the back of the board (in the middle).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt;"&gt;&lt;STRONG&gt;3 -&lt;/STRONG&gt; Compile &lt;A href="https://github.com/torvalds/linux/blob/master/tools/spi/spidev_test.c" rel="nofollow noopener noreferrer" target="_blank"&gt;spidev_test.c&lt;/A&gt; for the iMX6UL and use it as following (remember to short MISO and MOSI pins) :&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14688554788656686 jive_text_macro" data-renderedposition="1406_8_1192_16" jivemacro_uid="_14688554788656686"&gt;&lt;P&gt; ./a.out -s 1000000 -v&lt;/P&gt;&lt;/PRE&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;-s&lt;/STRONG&gt; indicates the speed in Hz, here 1MHz.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-v&lt;/STRONG&gt; is verbose mode (use -h to see all options)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you &lt;SPAN class="j-post-author"&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" data-avatarid="-1" data-content-finding="Community" data-userid="20289" data-username="LuisCasado" href="https://community.nxp.com/people/LuisCasado" rel="nofollow noopener noreferrer" target="_blank"&gt;Luis Casado&lt;/A&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;, and &lt;SPAN class="j-post-author"&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" data-containerid="-1" data-containertype="-1" data-content-finding="Community" data-objectid="33256" data-objecttype="3" href="https://community.nxp.com/people/almarto" rel="nofollow noopener noreferrer" target="_blank"&gt;Alvaro Martinez&lt;/A&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; (cf. on &lt;A _jive_internal="true" data-containerid="2004" data-containertype="14" data-content-finding="Community" data-objectid="380304" data-objecttype="1" href="https://community.nxp.com/thread/380304#comment-608922" rel="nofollow noopener noreferrer" target="_blank"&gt;this topic&lt;/A&gt;) again. I will have a look into CS pin handling tomorrow.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arnaud&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jul 2016 15:27:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583548#M88546</guid>
      <dc:creator>arnaudne</dc:creator>
      <dc:date>2016-07-18T15:27:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583549#M88547</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;Hello&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt; Arnaud,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="GramE"&gt;Try :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;ecspi4 {&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;fsl,&lt;/SPAN&gt;spi-num-chipselects&lt;/SPAN&gt; = &amp;lt;1&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;cs-gpios&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt; = &amp;lt;&amp;amp;gpio2 15 0&amp;gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;pinctrl-names&lt;/SPAN&gt;&lt;/SPAN&gt; = "default";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count: 1; mso-ansi-language: ES-TRAD;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="GramE"&gt;pinctrl-0&lt;/SPAN&gt; = &amp;lt;&amp;amp;pinctrl_ecspi4&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="GramE"&gt;status&lt;/SPAN&gt; = "okay";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;spidev0: spi@0 {&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;reg&lt;/SPAN&gt;&lt;/SPAN&gt; = &amp;lt;0&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="GramE"&gt;compatible&lt;/SPAN&gt; = "&lt;SPAN&gt;spidev&lt;/SPAN&gt;";&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;spi&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="GramE"&gt;-max-frequency&lt;/SPAN&gt; = &amp;lt;1000000&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;….&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count: 2; mso-ansi-language: ES-TRAD;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;pinctrl_ecspi4: ecspi4grp {&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN class="GramE"&gt;fsl,&lt;/SPAN&gt;pins&lt;/SPAN&gt; = &amp;lt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x10b0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;SPAN style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x100b1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count: 4; mso-ansi-language: ES-TRAD;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x100b1&lt;/P&gt;&lt;P&gt;&lt;SPAN style="mso-tab-count:4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO&lt;SPAN style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x100b1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;SPAN style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;SPAN style="mso-tab-count:2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;Luis&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2016 06:57:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583549#M88547</guid>
      <dc:creator>LuisCasado</dc:creator>
      <dc:date>2016-07-19T06:57:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583550#M88548</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Luis for your answer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works like a charm ! CS Pin is now properly toggled.&lt;/P&gt;&lt;P&gt;However, I still have a problem with the CS handling in the &lt;STRONG&gt;spidev&lt;/STRONG&gt; driver. This is my method (SPI interface is configured elsewhere) :&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14690174329288026 jive_text_macro" data-renderedposition="112_8_1192_416" jivemacro_uid="_14690174329288026"&gt;&lt;P&gt;IOBus_Error SPI::message(const unsigned char *txBuffer, unsigned char *rxBuffer, ssize_t &amp;amp;length, long flags) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOBus_Error error = IOBus_Error_None;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int status;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (handle &amp;lt;= 0) openHandle();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Build transfer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct spi_ioc_transfer&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;transfer, 0, sizeof(spi_ioc_transfer));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.tx_buf = (unsigned long)&amp;amp;txBuffer[0];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.rx_buf = (unsigned long)&amp;amp;rxBuffer[0];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.len = length;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.delay_usecs = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.speed_hz = configuration.speed;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.bits_per_word = configuration.bits;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer.cs_change = flags &amp;amp; SPI_Flag_CSChange;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Execute transfers&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = ioctl(handle, SPI_IOC_MESSAGE(1), &amp;amp;transfer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check for errors&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( status &amp;lt; 0) return IOBus_Error_Write;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return IOBus_Error_None;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example, I want to read one byte at the address &lt;STRONG&gt;0x24&lt;/STRONG&gt; of my device, so my buffers are the following :&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14690176275682021 jive_text_macro" data-renderedposition="580_8_1192_32" jivemacro_uid="_14690176275682021"&gt;&lt;P&gt;txBuffer = {0x24, 0x00}&lt;/P&gt;&lt;P&gt;rxBuffer = {0x00, 0x00}&lt;/P&gt;&lt;/PRE&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;cs_change&lt;/STRONG&gt; is set to 0 and &lt;STRONG&gt;length&lt;/STRONG&gt; to 2&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;When I use my logic analyzer, I can see that the CS line is &lt;STRONG&gt;pulled up&lt;/STRONG&gt; between the 0x24 and 0x00 bytes causing my device not to answer.&lt;/P&gt;&lt;P&gt;I then tried to use 16 bits per word in the SPI configuration to keep the CS line low, and it worked. But it is certainly not the way it has to be handled...&lt;/P&gt;&lt;P&gt;I also tried to set &lt;STRONG&gt;cs_change&lt;/STRONG&gt; to 1 but it did not change anything on the CS line. And as I am aware of, &lt;STRONG&gt;cs_change&lt;/STRONG&gt; must be 0 to let the CS line unselected between transfers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a capture of the wrong output on my logic analyzer :&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="wrong_cs.png"&gt;&lt;IMG alt="wrong_cs.png" src="https://community.nxp.com/t5/image/serverpage/image-id/38173i58F9DC76A3F458B5/image-size/large?v=v2&amp;amp;px=999" title="wrong_cs.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And this is a capture of the wanted output using 16 bits per word, we can see that in this case my device correctly answers (0x05 is the value I was waiting for) :&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="right_cs.png"&gt;&lt;IMG alt="right_cs.png" src="https://community.nxp.com/t5/image/serverpage/image-id/38198iA8FC54BBB45542E9/image-size/large?v=v2&amp;amp;px=999" title="right_cs.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What am I doing wrong ?&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Luis for your help with the device-tree, I will update my previous comment to reflect the configuration you just gave to me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I still have another questions about the device-tree configuration:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;You are using &lt;STRONG&gt;MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15&lt;/STRONG&gt;, is it different from &lt;STRONG&gt;MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0 &lt;/STRONG&gt;? From what I see in the pinfunc file, their &lt;STRONG&gt; input_reg&lt;/STRONG&gt; and &lt;STRONG&gt;mux_mode&lt;/STRONG&gt; are not the same, will it impact the&lt;/LI&gt;&lt;LI&gt;Can I use any (free) GPIO as CS pin do I have to use one labeled as ECSPI4_SSx ?&lt;/LI&gt;&lt;LI&gt;What does the hexadecimal number after pin declaration means, and how can I determine the right value to use ? (0x10b0, 0x100b1)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arnaud&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:46:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583550#M88548</guid>
      <dc:creator>arnaudne</dc:creator>
      <dc:date>2020-11-02T13:46:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583551#M88549</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;Hello&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="ES-TRAD" style="mso-ansi-language:ES-TRAD;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Each PAD has a BALL number, Canonical name and NET name in the schematic.&lt;UL&gt;&lt;LI&gt;ECSPI4_SS0 = ENET2_RXER = ENET2_RX_ER (Canonical) = D16 (BALL)&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;And that pin can have the GPIO function GPIO2.IO15 (Check Reference Manual)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Check the SPIDEV binding documentation: &lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:1.0in;mso-list:l0 level2 lfo1;"&gt;&lt;SPAN style="mso-list: Ignore; mso-fareast-font-family: Courier New; font-family: Courier New;"&gt;o&lt;SPAN style="font:7.0pt  Times New Roman;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-bus.txt"&gt;https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-bus.txt&lt;/A&gt;&lt;/P&gt;&lt;P style="margin-left:1.0in;mso-list:l0 level2 lfo1;"&gt;&lt;SPAN style="mso-list: Ignore; mso-fareast-font-family: Courier New; font-family: Courier New;"&gt;o&lt;SPAN style="font:7.0pt  Times New Roman;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;You can select GPIO or native CS.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The value is the PIN configuration value. In this case, the value in the register SW_PAD_CTL_PAD_ENET2_RX_ER SW PAD Control Register.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Luis&lt;/P&gt;&lt;P style="margin-left:1.0in;"&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Jul 2016 22:30:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583551#M88549</guid>
      <dc:creator>LuisCasado</dc:creator>
      <dc:date>2016-07-20T22:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583552#M88550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your answer, it makes sense to me now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used &lt;STRONG&gt;MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15&lt;/STRONG&gt; instead of &lt;STRONG&gt;MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0&lt;/STRONG&gt; in my device tree, and the CS pin behavior is now perfect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arnaud&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jul 2016 08:06:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583552#M88550</guid>
      <dc:creator>arnaudne</dc:creator>
      <dc:date>2016-07-21T08:06:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to use SPIDEV driver on iMX6UL EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583553#M88551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Arnaud,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting your example device tree file, it helped me to get up and running :-)&lt;/P&gt;&lt;P&gt;A minor point and fairly easy to spot but line 39 is missing a '6', it should be:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x100b1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Neil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jul 2016 15:53:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-SPIDEV-driver-on-iMX6UL-EVK/m-p/583553#M88551</guid>
      <dc:creator>neil3</dc:creator>
      <dc:date>2016-07-21T15:53:02Z</dc:date>
    </item>
  </channel>
</rss>

