<?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: SPI: CS GPIO not working</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754563#M117403</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I observe similiar problem on i.mx6ul.&lt;/P&gt;&lt;P&gt;When I am using pin from GPIO4 group as CS it is working fine, however pin from GPIO2 group is broken.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My traces are showing that during &lt;EM&gt;spi_bitbang_start &lt;/EM&gt;CS pin is set as output and toggled and later it is acquired from pinmux with &lt;EM&gt;devm_gpio_request.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other driver from NXP: spi-fsl-lpspi.c have this sequence correct (allocate pin and then toggling).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How you can check if this is the same problem for you:&lt;/P&gt;&lt;P&gt;Add following printk in &lt;EM&gt;bgpio_set_set&lt;/EM&gt; in your kernel code in &lt;EM&gt;gpio-mimo.c:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printk("%s called: base: %08x, gpio: %d, gc-&amp;gt;reg_dir: %08x, gc-&amp;gt;bgpio_dir: %08x\n", __func__, gc-&amp;gt;base, gpio, gc-&amp;gt;read_reg(gc-&amp;gt;reg_dir), gc-&amp;gt;bgpio_dir);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in case you will see mismatch between gc-&amp;gt;reg_dir and gc-&amp;gt;bgpio_dir it means you have similiar issue.&lt;/P&gt;&lt;P&gt;Here is my log:&lt;/P&gt;&lt;P&gt;bgpio_set_set called: base: 00000020, gpio: 15, gc-&amp;gt;reg_dir: 00000000, gc-&amp;gt;bgpio_dir: 00008000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Łukasz Płachno&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Nov 2018 13:59:16 GMT</pubDate>
    <dc:creator>lukasz_plachno</dc:creator>
    <dc:date>2018-11-08T13:59:16Z</dc:date>
    <item>
      <title>SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754558#M117398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using board with freescale SOC and kernel. I have SPI having three slaves and all of them are controlled by CS GPIOs. The CS GPIOs are configured in DTS with cs-gpios=&amp;lt;&amp;gt;, &amp;lt;&amp;gt;, &amp;lt;&amp;gt;. In my driver source, I am properly using "chipslect to use". Device is getting created and spi_setup succeeds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But when I call spi_write() I don't see the chipselect being toggled. I believe the CS-GPIO should be automatically toggled when we call spi_write(). Please give me pointers to troubleshoot this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2018 14:48:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754558#M117398</guid>
      <dc:creator>santoshvoonna</dc:creator>
      <dc:date>2018-06-05T14:48:49Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754559#M117399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Santosh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please specify what MCU are you using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jun 2018 10:18:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754559#M117399</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2018-06-07T10:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754560#M117400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is IMX6SX running freescale kernel with version 4.1.15&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jun 2018 10:34:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754560#M117400</guid>
      <dc:creator>santoshvoonna</dc:creator>
      <dc:date>2018-06-07T10:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754561#M117401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Santosh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can debug it in linux/drivers/spi/spi-imx.c&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/spi/spi-imx.c?h=imx_4.1.15_2.0.0_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/spi/spi-imx.c?h=imx_4.1.15_2.0.0_ga"&gt;spi-imx.c\spi\drivers - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/336020"&gt;spidev on wandboard dual lite&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/323547"&gt;spidev on sabrelite&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jun 2018 00:26:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754561#M117401</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-06-12T00:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754562#M117402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Santosh —&lt;/P&gt;&lt;P&gt;Did you find a solution to this problem?&amp;nbsp; I just ran into the same thing on the 4.9 kernel.&amp;nbsp; Same hardware works fine on v4.1 kernel.&lt;/P&gt;&lt;P&gt;I checked the pinmux.&amp;nbsp; It seemed fine.&amp;nbsp; I traced through the code, but couldn't see a bug.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Aug 2018 21:05:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754562#M117402</guid>
      <dc:creator>skrap</dc:creator>
      <dc:date>2018-08-10T21:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754563#M117403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I observe similiar problem on i.mx6ul.&lt;/P&gt;&lt;P&gt;When I am using pin from GPIO4 group as CS it is working fine, however pin from GPIO2 group is broken.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My traces are showing that during &lt;EM&gt;spi_bitbang_start &lt;/EM&gt;CS pin is set as output and toggled and later it is acquired from pinmux with &lt;EM&gt;devm_gpio_request.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other driver from NXP: spi-fsl-lpspi.c have this sequence correct (allocate pin and then toggling).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How you can check if this is the same problem for you:&lt;/P&gt;&lt;P&gt;Add following printk in &lt;EM&gt;bgpio_set_set&lt;/EM&gt; in your kernel code in &lt;EM&gt;gpio-mimo.c:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printk("%s called: base: %08x, gpio: %d, gc-&amp;gt;reg_dir: %08x, gc-&amp;gt;bgpio_dir: %08x\n", __func__, gc-&amp;gt;base, gpio, gc-&amp;gt;read_reg(gc-&amp;gt;reg_dir), gc-&amp;gt;bgpio_dir);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in case you will see mismatch between gc-&amp;gt;reg_dir and gc-&amp;gt;bgpio_dir it means you have similiar issue.&lt;/P&gt;&lt;P&gt;Here is my log:&lt;/P&gt;&lt;P&gt;bgpio_set_set called: base: 00000020, gpio: 15, gc-&amp;gt;reg_dir: 00000000, gc-&amp;gt;bgpio_dir: 00008000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Łukasz Płachno&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Nov 2018 13:59:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754563#M117403</guid>
      <dc:creator>lukasz_plachno</dc:creator>
      <dc:date>2018-11-08T13:59:16Z</dc:date>
    </item>
    <item>
      <title>Re: SPI: CS GPIO not working</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754564#M117404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I came to a similar conclusion, although I forgot to reply to the thread.&amp;nbsp; I ended up moving the gpio-requesting block of code in spi_imx_probe to a spot before the bitbang_master initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;nb &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;of_gpio_named_count&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;np&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"cs-gpios"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; nb&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; gpio &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;of_get_named_gpio&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;np&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"cs-gpios"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; i&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;gpio_is_valid&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;gpio&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&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; &lt;SPAN class="keyword token"&gt;continue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;devm_gpio_request&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pdev&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;dev&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; gpio&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; DRIVER_NAME&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ret&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&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; &lt;SPAN class="token function"&gt;dev_err&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;pdev&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;dev&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Can't get CS GPIO %i\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; gpio&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&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; &lt;SPAN class="keyword token"&gt;goto&lt;/SPAN&gt; out_master_put&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I reported this issue to the kernel spi list.&amp;nbsp; Seems like a lot of drivers may be in a similar situation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for circling back on this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Nov 2018 16:43:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-CS-GPIO-not-working/m-p/754564#M117404</guid>
      <dc:creator>skrap</dc:creator>
      <dc:date>2018-11-08T16:43:05Z</dc:date>
    </item>
  </channel>
</rss>

