<?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>topic Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410324#M61419</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply Fabio, but that patch has already been applied.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 31 Aug 2015 23:24:36 GMT</pubDate>
    <dc:creator>deej</dc:creator>
    <dc:date>2015-08-31T23:24:36Z</dc:date>
    <item>
      <title>DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410321#M61416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem exactly matches &lt;A _jive_internal="true" href="https://community.nxp.com/thread/317876" rel="nofollow noopener noreferrer" target="_blank"&gt;this discussion&lt;/A&gt; which doesn't seem to come to a resolution. Additionally, there are other discussions that get started, but never seems to find a resolution. If I manage to solve the issue, I'll post the solution here as well so that others will a tleast have something to go on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm working on a IMX6SL-EVK board where I want to control a gpio pin from within linux. Currently, as a test platform I'm trying to control the LED that's connection to GPIO3:20 but haven't had much luck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm running the kernel (Linux version 3.10.53) that is shipped with android KK by freescale.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following is what I tried to perform the IO operation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. SYSFS GPIO access is enabled in the kernel&lt;/P&gt;&lt;P&gt;2. Modified iomux section in arch/arm/boot/dts/imx6sl-evk-common.dtsi to include the GPIO line in question as follows (see line 14)&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14410023335909456 jive_text_macro" data-renderedposition="302_8_1192_256" jivemacro_uid="_14410023335909456"&gt;&lt;P&gt;&amp;amp;iomuxc {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-names = "default", "sleep";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-0 = &amp;lt;&amp;amp;pinctrl_hog&amp;gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinctrl-1 = &amp;lt;&amp;amp;pinctrl_hog_sleep&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hog {&lt;/P&gt;&lt;P&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; pinctrl_hog: hoggrp {&lt;/P&gt;&lt;P&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; fsl,pins = &amp;lt;&lt;/P&gt;&lt;P&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; MX6SL_PAD_KEY_ROW7__GPIO4_IO07&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x17059&lt;/P&gt;&lt;P&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; MX6SL_PAD_KEY_COL7__GPIO4_IO06&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x17059&lt;/P&gt;&lt;P&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; MX6SL_PAD_SD2_DAT7__GPIO5_IO00&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x17059&lt;/P&gt;&lt;P&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; MX6SL_PAD_SD2_DAT6__GPIO4_IO29&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x17059&lt;/P&gt;&lt;P&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; MX6SL_PAD_HSIC_STROBE__GPIO3_IO20 0xc7030&lt;/P&gt;&lt;P&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; MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059&lt;/P&gt;&lt;P&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; MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21&amp;nbsp; 0x80000000&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Issued the following commands from within linux to control the GPIOs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14410026742011123 jive_text_macro" data-renderedposition="621_8_1192_48" jivemacro_uid="_14410026742011123"&gt;&lt;P&gt;echo 84&amp;gt;/sys/class/gpio/export&lt;/P&gt;&lt;P&gt;echo out&amp;gt;/sys/class/gpio/gpio84/direction&lt;/P&gt;&lt;P&gt;echo -n 0x01&amp;gt;/sys/class/gpio/gpio84/value&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know the above command tries to access the GPIO port because, I've added some printk messages and see the results in the kernel log (this is issued from within &lt;STRONG&gt;static void bgpio_write32(void __iomem *reg, unsigned long data)&lt;/STRONG&gt; in drivers/gpio/gpio-generic.c)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="_jivemacro_uid_14410026633434522 jive_macro_code jive_text_macro" data-renderedposition="753_8_1192_32" jivemacro_uid="_14410026633434522"&gt;&lt;P&gt;drivers/gpio/gpio-generic.c:87 a0828000=40f000&lt;/P&gt;&lt;P&gt;drivers/gpio/gpio-generic.c:87 a0828004=100000&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, the GPIO line itself doesn't change state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I feel, I'm missing something in my dts configuration, but can't figure it out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Aug 2015 06:35:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410321#M61416</guid>
      <dc:creator>deej</dc:creator>
      <dc:date>2015-08-31T06:35:30Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410322#M61417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi dee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;according to linux documentation ...bindings/pinctrl/fsl,imx-pinctrl.txt :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bits used for CONFIG:&lt;/P&gt;&lt;P&gt;NO_PAD_CTL(1 &amp;lt;&amp;lt; 31): indicate this pin does not need config.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SION(1 &amp;lt;&amp;lt; 30): Software Input On Field.&lt;/P&gt;&lt;P&gt;Force the selected mux mode input path no matter of MUX_MODE functionality.&lt;/P&gt;&lt;P&gt;By default the input path is determined by functionality of the selected&lt;/P&gt;&lt;P&gt;mux mode (regular).&lt;/P&gt;&lt;P&gt;One can try to change MX6SL_PAD_HSIC_STROBE__GPIO3_IO20 to 0x400c7030&lt;/P&gt;&lt;P&gt;Some examples can be found on&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.53_1.1.1_ga/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi#L666" title="https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.53_1.1.1_ga/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi#L666"&gt;linux-imx6/imx6qdl-nit6xlite.dtsi at boundary-imx_3.10.53_1.1.1_ga · boundarydevices/linux-imx6 · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other option to check/set GPIO register value with memtool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Aug 2015 12:38:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410322#M61417</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-08-31T12:38:29Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410323#M61418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you try applying/adapting this patch to 3.10?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/imx6sl-evk.dts?id=d2c3936ebe88ce3cc188d01be0c684884e396293" title="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/imx6sl-evk.dts?id=d2c3936ebe88ce3cc188d01be0c684884e396293"&gt;https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/imx6sl-evk.dts?id=d2c3936ebe88c…&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Aug 2015 13:34:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410323#M61418</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2015-08-31T13:34:23Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410324#M61419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply Fabio, but that patch has already been applied.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Aug 2015 23:24:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410324#M61419</guid>
      <dc:creator>deej</dc:creator>
      <dc:date>2015-08-31T23:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410325#M61420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;The change to 0x400c7030 didn't address the issue. As to the other reference you gave, I tried it once earlier, but will try it again and post my changes for comment.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Sep 2015 00:28:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410325#M61420</guid>
      <dc:creator>deej</dc:creator>
      <dc:date>2015-09-01T00:28:53Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410326#M61421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;could you check that HSIC_STROBE is not used somewhere as pwm2 ?&lt;/P&gt;&lt;P&gt;Also one can attach jtag and try to toggle this pin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~igor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Sep 2015 01:34:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410326#M61421</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-09-01T01:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: DTS tree changes to access GPIO from linux on IMX6SL-EVK Board</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410327#M61422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally figured out what was going on. My original STROBE pad setting was correct, however I didn't realise, the contents of DTS file that I was modifying was getting overridden by another file which is &lt;STRONG&gt;arch/arm/boot/dts/imx6sl-evk-csi.dts&lt;/STRONG&gt;. After adding the STROBE entry in that file, I'm able to control the GPIO line through the sysfs interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for all your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Sep 2015 02:59:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/DTS-tree-changes-to-access-GPIO-from-linux-on-IMX6SL-EVK-Board/m-p/410327#M61422</guid>
      <dc:creator>deej</dc:creator>
      <dc:date>2015-09-01T02:59:28Z</dc:date>
    </item>
  </channel>
</rss>

