<?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: Programming GPIO as IRQ input in Vybrid Processors</title>
    <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356392#M3645</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/timesyssupport"&gt;timesyssupport&lt;/A&gt; are yo available to attend this case?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 19 Jan 2015 18:24:36 GMT</pubDate>
    <dc:creator>karina_valencia</dc:creator>
    <dc:date>2015-01-19T18:24:36Z</dc:date>
    <item>
      <title>Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356391#M3644</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;I'm currently working on a Vybrid based board using the Ember SOM and now I'm trying to connect a I2C accellerometer&amp;nbsp; (ADXL34x from AD) to the board using some exposed GPIO ports.&lt;/P&gt;&lt;P&gt;The hardware team connected the ADXL this way: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SDA (SOM's I2C_1 data ) on PTE28&lt;/P&gt;&lt;P&gt;SCK (SOM's I2C_1 clk ) on PTE27&lt;/P&gt;&lt;P&gt;INT1 on PTE13&lt;/P&gt;&lt;P&gt;INT2 on PTE6&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the existing BSP code, reading the Reference Manual and posts on the forum I've been able to correctly configure &lt;/P&gt;&lt;P&gt;the GPIOs PTE28 and PTE27 as in the following:&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*I2C1*/&lt;/P&gt;&lt;P&gt;#define MVF600_PAD132_PTE27__I2C1_SCL&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUX_PAD(0x0210, 0x0210, 5, 0x0344, 3, \&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; MVF600_I2C_PAD_CTRL | PAD_CTL_ODE | PAD_CTL_OBE_IBE_ENABLE )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define MVF600_PAD133_PTE28__I2C1_SDA&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOMUX_PAD(0x0214, 0x0214, 5, 0x0348, 3, \&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; MVF600_I2C_PAD_CTRL | PAD_CTL_ODE | PAD_CTL_OBE_IBE_ENABLE )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding the correct pad declaration into the pads structure:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static iomux_v3_cfg_t mvf600_pads[] = {&lt;/P&gt;&lt;P&gt;/* other pads here */&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MVF600_PAD132_PTE27__I2C1_SCL,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MVF600_PAD133_PTE28__I2C1_SDA,&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt; /* other pads here */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and adding the ADXL driver initialization into the BSP:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C_BOARD_INFO("adxl34x", 0x53),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .irq =&amp;nbsp; gpio_to_irq(118),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way the probe works correctly and I see on the instrument the I2C bus working when the driver loads at kernel boot.&lt;/P&gt;&lt;P&gt;However I've issues trying to configure the irq to see events coming from the ADXL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to achieve that ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I made various attempts:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;added GPIO declaration to pads this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#define MVF600_PAD63_PTE13__I2C1_INT1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;IOMUX_PAD(0x01D8, 0x01D8, 0, 0x0000, 0, \&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#define MVF600_PAD56_PTE6__I2C1_INT2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;IOMUX_PAD(0x01BC, 0x01BC, 0, 0x0000, 0, \&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; MVF600_GPIO_GENERAL_CTRL | PAD_CTL_IBE_ENABLE)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This hangs the kernel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trying to export GPIO setting the RISING EDGE programmatically:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem *reg = MVF_IO_ADDRESS(MVF_GPIO4_INT_BASE_ADDR) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int edge = /* GPIO_INT_RISE_EDGE */ 0x09;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio_export(118, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = gpio_request_one(118, GPIOF_DIR_IN, "ADXL int");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status == -EBUSY) /* already requested */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio_export(118, false);&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enabling int on rising edge */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __raw_writel(edge &amp;lt;&amp;lt; 16, reg + (22 &amp;amp; 0x1f) * 4);&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __raw_writel(1 &amp;lt;&amp;lt; ( 22 &amp;amp; 0x1f ), MVF_IO_ADDRESS(MVF_GPIO4_INT_BASE_ADDR) + /*GPIO_ISR */ 0xA0); &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way nothing happens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think there's something I'm definitely missing but I'm clueless, may you help me with this matter ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thx a lot in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mdp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2015 15:45:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356391#M3644</guid>
      <dc:creator>maurodepascale</dc:creator>
      <dc:date>2015-01-19T15:45:03Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356392#M3645</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/timesyssupport"&gt;timesyssupport&lt;/A&gt; are yo available to attend this case?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2015 18:24:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356392#M3645</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2015-01-19T18:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356393#M3646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A _jive_internal="true" class="jiveTT-hover-user jive-link-profile-small" data-containerid="-1" data-containertype="-1" data-content-finding="Community" data-objectid="214905" data-objecttype="3" href="https://community.nxp.com/people/timesyssupport" style="font-size: 13.3333339691162px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #6a737b;"&gt;Timesys Support&lt;/A&gt;&lt;SPAN style="color: #000000; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13.3333339691162px;"&gt; do you have an update on this case?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Jan 2015 16:21:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356393#M3646</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2015-01-23T16:21:50Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356394#M3647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A _jive_internal="true" class="jiveTT-hover-user jive-link-profile-small" data-containerid="-1" data-containertype="-1" data-content-finding="Community" data-objectid="214905" data-objecttype="3" href="https://community.nxp.com/people/timesyssupport" style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #6a737b;"&gt;Timesys Support&lt;/A&gt;&lt;SPAN style="color: #000000; font-size: 13.3333339691162px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt; any comment?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Jan 2015 19:07:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356394#M3647</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2015-01-26T19:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356395#M3648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mauro,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You mention in your message, the "Ember SOM", do you mean Emcraft?&lt;/P&gt;&lt;P&gt;We are not in possession of Emcraft hardware, nor the associated BSP/reference manual, so are not suited to answering what may be causing issues with regards to this particular hardware and sources.&lt;/P&gt;&lt;P&gt;Can you clarify which hardware you are working with, please?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Timesys Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Jan 2015 19:35:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356395#M3648</guid>
      <dc:creator>timesyssupport</dc:creator>
      <dc:date>2015-01-26T19:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356396#M3649</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;yes, we are using the Emcraft SOM (sorry, can't say from where Ember came out and how I it get unnoticed while composing the mail ... ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.emcraft.com/som/vf6" title="http://www.emcraft.com/som/vf6"&gt;Vybrid VF6 SOM&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As told I was able to figure out how to program a couple of GPIOs to interface an I2C enabled device to them, but I'm completely clueless about how to configure a GPIO as an IRQ input to be able to process events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was hoping in getting some directions on the matter 'cause at the moment I'm stuck and I really don't know where to look further. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thx in advance for any advice you could provide and anyhow thx a lot indeed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mdp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Jan 2015 20:11:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356396#M3649</guid>
      <dc:creator>maurodepascale</dc:creator>
      <dc:date>2015-01-26T20:11:30Z</dc:date>
    </item>
    <item>
      <title>Re: Programming GPIO as IRQ input</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356397#M3650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mauro,&lt;/P&gt;&lt;P&gt;please contact &lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif;"&gt;Emcraft directly to&amp;nbsp; get support on this case.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Feb 2015 17:39:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/Programming-GPIO-as-IRQ-input/m-p/356397#M3650</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2015-02-20T17:39:42Z</dc:date>
    </item>
  </channel>
</rss>

