<?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: IMX93 M33 core GPIO interrupts</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX93-M33-core-GPIO-interrupts/m-p/1909383#M226208</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/228298"&gt;@Vitus&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please change the:&lt;/P&gt;
&lt;PRE&gt;GPIO1-&amp;gt;ICNS = 0x03; &lt;/PRE&gt;
&lt;P&gt;to:&lt;/P&gt;
&lt;PRE&gt;GPIO1-&amp;gt;ICNS = 0x00; &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, please add to your IRQ:&lt;/P&gt;
&lt;PRE&gt;SDK_ISR_EXIT_BARRIER;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I made a little example using the GPIO2_IO02 as output connected to GPIO2_IO03 configured as an Input with Rising edge IRQ.&lt;/P&gt;
&lt;P&gt;In this program, an IRQ will be detected on each rising edge of GPIO2_IO02, Please check the attached.&lt;/P&gt;
&lt;P&gt;Also, my IOMUX:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;void BOARD_InitPins(void) {                               
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO03__GPIO2_IO03, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 0U);

    IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 
                        IOMUXC_PAD_DSE(15U) |
                        IOMUXC_PAD_FSEL1(2U) |
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO03__GPIO2_IO03, 
                        //IOMUXC_PAD_DSE(15U) |
                        //IOMUXC_PAD_FSEL1(2U) |
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 
                        IOMUXC_PAD_DSE(15U));
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the output of the example:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_0-1721107024583.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/288686i93E89165F0A9A22A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_0-1721107024583.png" alt="Alejandro_Salas_0-1721107024583.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this example can helps to you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;--... ...--&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
    <pubDate>Tue, 16 Jul 2024 05:17:41 GMT</pubDate>
    <dc:creator>Manuel_Salas</dc:creator>
    <dc:date>2024-07-16T05:17:41Z</dc:date>
    <item>
      <title>IMX93 M33 core GPIO interrupts</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX93-M33-core-GPIO-interrupts/m-p/1908633#M226176</link>
      <description>&lt;P&gt;playing/debugging&amp;nbsp; the imx93. I have a simple problem, maybe someone can point to what I do wrong here. I want to create&amp;nbsp;an interrupt with a GPIO state change. I use the drivers from NXP, fsl_rpgio.c/h provided with the SDK for the i.MX93)&lt;/P&gt;&lt;P&gt;First I set the MUX:&lt;/P&gt;&lt;PRE&gt;    IOMUXC_SetPinMux    (IOMUXC_PAD_I2C1_SDA__GPIO1_IO01, 0U);
    IOMUXC_SetPinConfig (IOMUXC_PAD_I2C1_SDA__GPIO1_IO01, 
                         IOMUXC_PAD_DSE(15U) |
                         IOMUXC_PAD_FSEL1(2U) |
                         IOMUXC_PAD_PD_MASK);  &lt;/PRE&gt;&lt;P&gt;Then I set up the port&lt;/P&gt;&lt;PRE&gt;rgpio_pin_config_t pin_config = {
      kRGPIO_DigitalInput,
      0,
  };
  GPIO1-&amp;gt;PCNS = 0x0;      /* Set PCNS register value to 0x0 to prepare the RGPIO initialization */
  GPIO1-&amp;gt;ICNS = 0x03; 
  RGPIO_PinInit(GPIO1, 1, &amp;amp;pin_config);  //sets PDDR
  RGPIO_SetPinInterruptConfig(GPIO1, 1, kRGPIO_InterruptOutput0, kRGPIO_InterruptRisingEdge); //rising edge interrupt
  NVIC_SetPriority(GPIO1_0_IRQn, 3 /*25*/ /*HAL_GPIO_ISR_PRIORITY*/);
  NVIC_EnableIRQ(GPIO1_0_IRQn);&lt;/PRE&gt;&lt;P&gt;for the interrupt handler I define (Reserved26 seems to be the General Purpose Input/Output 1 interrupt 0. This may be my mistake, as I just guessed this, finding no example/docu )&lt;/P&gt;&lt;PRE&gt;void Reserved26_IRQHandler()
{
  RGPIO_ClearPinsInterruptFlags(GPIO1, 0, (1&amp;lt;&amp;lt;1));
}&lt;/PRE&gt;&lt;P&gt;But the interrupt never comes. Did I overlook sth. obvious?&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jul 2024 09:51:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX93-M33-core-GPIO-interrupts/m-p/1908633#M226176</guid>
      <dc:creator>Vitus</dc:creator>
      <dc:date>2024-07-15T09:51:16Z</dc:date>
    </item>
    <item>
      <title>Re: IMX93 M33 core GPIO interrupts</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX93-M33-core-GPIO-interrupts/m-p/1909383#M226208</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/228298"&gt;@Vitus&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please change the:&lt;/P&gt;
&lt;PRE&gt;GPIO1-&amp;gt;ICNS = 0x03; &lt;/PRE&gt;
&lt;P&gt;to:&lt;/P&gt;
&lt;PRE&gt;GPIO1-&amp;gt;ICNS = 0x00; &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, please add to your IRQ:&lt;/P&gt;
&lt;PRE&gt;SDK_ISR_EXIT_BARRIER;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I made a little example using the GPIO2_IO02 as output connected to GPIO2_IO03 configured as an Input with Rising edge IRQ.&lt;/P&gt;
&lt;P&gt;In this program, an IRQ will be detected on each rising edge of GPIO2_IO02, Please check the attached.&lt;/P&gt;
&lt;P&gt;Also, my IOMUX:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;void BOARD_InitPins(void) {                               
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO03__GPIO2_IO03, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 0U);

    IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO02__GPIO2_IO02, 
                        IOMUXC_PAD_DSE(15U) |
                        IOMUXC_PAD_FSEL1(2U) |
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO03__GPIO2_IO03, 
                        //IOMUXC_PAD_DSE(15U) |
                        //IOMUXC_PAD_FSEL1(2U) |
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 
                        IOMUXC_PAD_DSE(15U));
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the output of the example:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_0-1721107024583.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/288686i93E89165F0A9A22A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_0-1721107024583.png" alt="Alejandro_Salas_0-1721107024583.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this example can helps to you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;--... ...--&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jul 2024 05:17:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX93-M33-core-GPIO-interrupts/m-p/1909383#M226208</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2024-07-16T05:17:41Z</dc:date>
    </item>
  </channel>
</rss>

