<?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: PWM - IRQ - Handler not get called</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755816#M117568</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think this is not the one i m looking for.&lt;/P&gt;&lt;P&gt;I just want the guidance for PWM IRQ interrupt call.&lt;/P&gt;&lt;P&gt;I have verified with some irq request calls, i didnt find any difference.&lt;/P&gt;&lt;P&gt;Is anything i need to follow specifically for the PWM ?&lt;/P&gt;&lt;P&gt;Please provide the guidance based on this code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Jun 2018 06:45:34 GMT</pubDate>
    <dc:creator>karthikeyanraju</dc:creator>
    <dc:date>2018-06-07T06:45:34Z</dc:date>
    <item>
      <title>PWM - IRQ - Handler not get called</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755814#M117566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;My Driver Code :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;* ISR for PWM Counter&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;static irqreturn_t pwm_cnt_interrupt(int irq, void *data)&lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk("==&amp;gt; %s\r\n", __func__);&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; //ecap_configure(globle_dev);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ecap_intr_event(globle_dev);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return IRQ_HANDLED;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;static int ecap_cnt_probe(struct platform_device *pdev)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk("KARTHIK ==&amp;gt; %s\r\n", __func__);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct device_node *np = pdev-&amp;gt;dev.of_node;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int ret, ecapirq;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct resource *r;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct clk *clk;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct ecap_device *pc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pc = devm_kzalloc(&amp;amp;pdev-&amp;gt;dev, sizeof(*pc), GFP_KERNEL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (!pc)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return -ENOMEM;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clk = devm_clk_get(&amp;amp;pdev-&amp;gt;dev, "fck");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (IS_ERR(clk)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (of_device_is_compatible(np, "ti,counter-ecap")) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_warn(&amp;amp;pdev-&amp;gt;dev, "Binding is obsolete.\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;clk = devm_clk_get(pdev-&amp;gt;dev.parent, "fck");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (IS_ERR(clk)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(&amp;amp;pdev-&amp;gt;dev, "failed to get clock\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return PTR_ERR(clk);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pc-&amp;gt;clk_rate = clk_get_rate(clk);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (!pc-&amp;gt;clk_rate) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev_err(&amp;amp;pdev-&amp;gt;dev, "failed to get clock rate\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return -EINVAL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r = platform_get_resource(pdev, IORESOURCE_MEM, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pc-&amp;gt;mmio_base = devm_ioremap_resource(&amp;amp;pdev-&amp;gt;dev, r);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (IS_ERR(pc-&amp;gt;mmio_base))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return PTR_ERR(pc-&amp;gt;mmio_base);&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; globle_dev = pc;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get PWM IRQ number */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecapirq = platform_get_irq(pdev, 0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ecapirq &amp;lt; 0) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk(KERN_ERR "Could not get IRQ"); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -EINVAL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk(KERN_DEBUG "irq =&amp;nbsp; %d\n", ecapirq);&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; oreore_dentry = debugfs_create_file("counter", 0666, NULL, &amp;amp;value, &amp;amp;fops);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(request_irq(ecapirq, pwm_cnt_interrupt, IRQF_SHARED,&lt;BR /&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; "counter", (void *)&amp;amp;counter)) {&lt;BR /&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; printk(KERN_ERR "pwm counter: Can't allocate irq %d\n", &lt;BR /&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;ecapirq);&lt;BR /&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; return -EBUSY;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;INIT_DELAYED_WORK(&amp;amp;pc-&amp;gt;work, capture_polling);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mutex_init(&amp;amp;pc-&amp;gt;counter);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;platform_set_drvdata(pdev, pc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk("TP7 ==&amp;gt; %s\r\n", __func__);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Interrupt got registed in /proc/interrupts But, Its not get triggered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Kernel Log:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;#cat /proc/interrupts&lt;/P&gt;&lt;P&gt;190:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC&amp;nbsp; 37 Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SGX ISR&lt;BR /&gt;191:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC&amp;nbsp;&amp;nbsp; 7 Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txsky button&lt;BR /&gt;&lt;STRONG&gt;192:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC&amp;nbsp; 31 Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter&lt;/STRONG&gt;&lt;BR /&gt;194:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC&amp;nbsp; 18 Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; musb-hdrc.0&lt;BR /&gt;195:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC&amp;nbsp; 19 Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; musb-hdrc.1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have connected UART with my pwm interrupt pin. I m sending data using uart port. my irq handler is not get called at that time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone help me resolve this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2018 13:43:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755814#M117566</guid>
      <dc:creator>karthikeyanraju</dc:creator>
      <dc:date>2018-06-06T13:43:24Z</dc:date>
    </item>
    <item>
      <title>Re: PWM - IRQ - Handler not get called</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755815#M117567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Karthikeyan&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;issue may be debugged with AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors&lt;BR /&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN4553.pdf"&gt;https://www.nxp.com/docs/en/application-note/AN4553.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;examples of gpt capture can be found in sdk (please check zip on &lt;A href="https://community.nxp.com/thread/432859"&gt;https://community.nxp.com/thread/432859&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>Wed, 06 Jun 2018 23:06:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755815#M117567</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-06-06T23:06:56Z</dc:date>
    </item>
    <item>
      <title>Re: PWM - IRQ - Handler not get called</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755816#M117568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think this is not the one i m looking for.&lt;/P&gt;&lt;P&gt;I just want the guidance for PWM IRQ interrupt call.&lt;/P&gt;&lt;P&gt;I have verified with some irq request calls, i didnt find any difference.&lt;/P&gt;&lt;P&gt;Is anything i need to follow specifically for the PWM ?&lt;/P&gt;&lt;P&gt;Please provide the guidance based on this code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jun 2018 06:45:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PWM-IRQ-Handler-not-get-called/m-p/755816#M117568</guid>
      <dc:creator>karthikeyanraju</dc:creator>
      <dc:date>2018-06-07T06:45:34Z</dc:date>
    </item>
  </channel>
</rss>

