<?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 Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2136568#M239387</link>
    <description>&lt;P&gt;Hello NXP Team,&lt;/P&gt;&lt;P&gt;We are integrating a Goodix GT9271 touchscreen with the i.MX93 EVK board using the MIPI-DSI interface. The touch interrupt (INT) and reset (RST) signals are routed via the &lt;STRONG&gt;I/O expander PCAL6524HEAZ&lt;/STRONG&gt; (I2C address 0x22, connected on I2C1).&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;System Details&lt;/STRONG&gt;:&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Board&lt;/STRONG&gt;: i.MX93 EVK&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Processor&lt;/STRONG&gt;: i.MX9352&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Linux Version&lt;/STRONG&gt;: 6.6.36-lts-next (Yocto Scarthgap 6.6)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Display Interface&lt;/STRONG&gt;: MIPI-DSI&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Touch Controller&lt;/STRONG&gt;: Goodix GT9271 (I2C addr: 0x5D)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;I/O Expander&lt;/STRONG&gt;: NXP PCAL6524HEAZ (I2C addr: 0x22)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;GT9xx Driver Version&lt;/STRONG&gt;: V2.8.0.2 (custom driver integration)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Hardware Pin Mapping&lt;/STRONG&gt; (from EVK schematic):&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;MIPI-DSI connector (P7)&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Pin 17 → CTP_RST → U725.P2_1 (GPIO17 on PCAL6524)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Pin 18 → DSI_CTP_nINT → U725.P0_7 (GPIO7 on PCAL6524)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Debug messages from nxp board:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;gpiochip4: GPIOs 640-663, parent: i2c/1-0022, 1-0022, can sleep:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;[ 9475.945028] Gt9xx driver exited&lt;BR /&gt;[ 9477.986387] Gt9xx driver installing..&lt;BR /&gt;[ 9477.986597] goodix-custom 2-005d: GTP Driver Version: V2.8.0.2&amp;lt;2017/12/14&amp;gt;&lt;BR /&gt;[ 9477.986609] goodix-custom 2-005d: GTP I2C Address: 0x5d&lt;BR /&gt;[ 9477.986636] goodix-custom 2-005d: vdd_ana regulator not found, using dummy&lt;BR /&gt;[ 9477.986642] goodix-custom 2-005d: vcc_i2c regulator not found, using dummy&lt;BR /&gt;[ 9477.986646] goodix-custom 2-005d: Guitar reset&lt;BR /&gt;[ 9478.016950] goodix-custom 2-005d: I2C Addr is 5d&lt;BR /&gt;[ 9478.017220] goodix-custom 2-005d: IC Version: 9271_1020&lt;BR /&gt;[ 9478.017498] goodix-custom 2-005d: Driver set not send config&lt;BR /&gt;[ 9478.023312] goodix-custom 2-005d: Use slot report protocol&lt;BR /&gt;[ 9478.023488] input: goodix-ts as /devices/virtual/input/input7&lt;BR /&gt;[ 9478.024381] goodix-custom 2-005d: INT num -22, trigger type:0&lt;BR /&gt;[ 9478.024400] goodix-custom 2-005d: Failed to request irq -22&lt;BR /&gt;[ 9478.024404] goodix-custom 2-005d: Failed create work thread&lt;BR /&gt;[ 9478.042299] goodix-custom: probe of 2-005d failed with error -22&lt;BR /&gt;&lt;BR /&gt;I am creating ".ko" file and inserting into the imx 93frdm board by using command insmod and manually assigning 0x5d i2c to goodix-custom module there is some run time error, and I can't insert the module can you help me with this&lt;/P&gt;</description>
    <pubDate>Fri, 18 Jul 2025 12:49:10 GMT</pubDate>
    <dc:creator>DharmikVelamala</dc:creator>
    <dc:date>2025-07-18T12:49:10Z</dc:date>
    <item>
      <title>Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2136568#M239387</link>
      <description>&lt;P&gt;Hello NXP Team,&lt;/P&gt;&lt;P&gt;We are integrating a Goodix GT9271 touchscreen with the i.MX93 EVK board using the MIPI-DSI interface. The touch interrupt (INT) and reset (RST) signals are routed via the &lt;STRONG&gt;I/O expander PCAL6524HEAZ&lt;/STRONG&gt; (I2C address 0x22, connected on I2C1).&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;System Details&lt;/STRONG&gt;:&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Board&lt;/STRONG&gt;: i.MX93 EVK&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Processor&lt;/STRONG&gt;: i.MX9352&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Linux Version&lt;/STRONG&gt;: 6.6.36-lts-next (Yocto Scarthgap 6.6)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Display Interface&lt;/STRONG&gt;: MIPI-DSI&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Touch Controller&lt;/STRONG&gt;: Goodix GT9271 (I2C addr: 0x5D)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;I/O Expander&lt;/STRONG&gt;: NXP PCAL6524HEAZ (I2C addr: 0x22)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;GT9xx Driver Version&lt;/STRONG&gt;: V2.8.0.2 (custom driver integration)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Hardware Pin Mapping&lt;/STRONG&gt; (from EVK schematic):&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;MIPI-DSI connector (P7)&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Pin 17 → CTP_RST → U725.P2_1 (GPIO17 on PCAL6524)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Pin 18 → DSI_CTP_nINT → U725.P0_7 (GPIO7 on PCAL6524)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Debug messages from nxp board:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;gpiochip4: GPIOs 640-663, parent: i2c/1-0022, 1-0022, can sleep:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;[ 9475.945028] Gt9xx driver exited&lt;BR /&gt;[ 9477.986387] Gt9xx driver installing..&lt;BR /&gt;[ 9477.986597] goodix-custom 2-005d: GTP Driver Version: V2.8.0.2&amp;lt;2017/12/14&amp;gt;&lt;BR /&gt;[ 9477.986609] goodix-custom 2-005d: GTP I2C Address: 0x5d&lt;BR /&gt;[ 9477.986636] goodix-custom 2-005d: vdd_ana regulator not found, using dummy&lt;BR /&gt;[ 9477.986642] goodix-custom 2-005d: vcc_i2c regulator not found, using dummy&lt;BR /&gt;[ 9477.986646] goodix-custom 2-005d: Guitar reset&lt;BR /&gt;[ 9478.016950] goodix-custom 2-005d: I2C Addr is 5d&lt;BR /&gt;[ 9478.017220] goodix-custom 2-005d: IC Version: 9271_1020&lt;BR /&gt;[ 9478.017498] goodix-custom 2-005d: Driver set not send config&lt;BR /&gt;[ 9478.023312] goodix-custom 2-005d: Use slot report protocol&lt;BR /&gt;[ 9478.023488] input: goodix-ts as /devices/virtual/input/input7&lt;BR /&gt;[ 9478.024381] goodix-custom 2-005d: INT num -22, trigger type:0&lt;BR /&gt;[ 9478.024400] goodix-custom 2-005d: Failed to request irq -22&lt;BR /&gt;[ 9478.024404] goodix-custom 2-005d: Failed create work thread&lt;BR /&gt;[ 9478.042299] goodix-custom: probe of 2-005d failed with error -22&lt;BR /&gt;&lt;BR /&gt;I am creating ".ko" file and inserting into the imx 93frdm board by using command insmod and manually assigning 0x5d i2c to goodix-custom module there is some run time error, and I can't insert the module can you help me with this&lt;/P&gt;</description>
      <pubDate>Fri, 18 Jul 2025 12:49:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2136568#M239387</guid>
      <dc:creator>DharmikVelamala</dc:creator>
      <dc:date>2025-07-18T12:49:10Z</dc:date>
    </item>
    <item>
      <title>Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2136647#M239392</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Looks like device not responding when you entered the module please check it, and check if the module is build again the kernel version you are using, and also check the device tree is possible that you don't have it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Fri, 18 Jul 2025 15:09:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2136647#M239392</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2025-07-18T15:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2137374#M239421</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello NXP Community,&lt;/P&gt;&lt;P&gt;I am currently working on integrating a Goodix touchscreen (GT9xx series) with the &lt;STRONG&gt;i.MX93&lt;/STRONG&gt; platform. The touchscreen uses &lt;STRONG&gt;I2C address 0x5D&lt;/STRONG&gt;, and both the &lt;STRONG&gt;interrupt (INT)&lt;/STRONG&gt; and &lt;STRONG&gt;reset (RST)&lt;/STRONG&gt; lines are routed through an &lt;STRONG&gt;I/O expander PCAL6524HEAZ&lt;/STRONG&gt; (U725), which is located at &lt;STRONG&gt;I2C address 0x22&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;According to the hardware schematic:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;CTP_INT (Interrupt)&lt;/STRONG&gt; is connected to &lt;STRONG&gt;P0_7&lt;/STRONG&gt; on U725.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;CTP_RST (Reset)&lt;/STRONG&gt; is connected to &lt;STRONG&gt;P2_1&lt;/STRONG&gt; on U725.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;These pins are exposed via the 22-pin MIPI DSI FPC connector as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Pin 18: DSI_CTP_nINT (P0_7)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Pin 17: CTP_RST (P2_1)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;When I inspect the GPIO base via /sys/kernel/debug/gpio, I get:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;gpiochip4:&lt;/SPAN&gt; &lt;SPAN class=""&gt;GPIOs&lt;/SPAN&gt; &lt;SPAN class=""&gt;640&lt;/SPAN&gt;&lt;SPAN class=""&gt;-663&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;parent:&lt;/SPAN&gt; &lt;SPAN class=""&gt;i2c/1-0022,&lt;/SPAN&gt; &lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;-0022&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;can sleep:&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This confirms that the &lt;STRONG&gt;base GPIO number for PCAL6524 is 640&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Based on this, I mapped the pins as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;P0_7 = 640 + 7 = GPIO 647&lt;/STRONG&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;P2_1 = 640 + 16 (P2 base offset) + 1 = GPIO 657&lt;/STRONG&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I hardcoded these values in my Goodix driver as:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;#&lt;SPAN class=""&gt;define&lt;/SPAN&gt;&lt;/SPAN&gt; GTP_INT_PORT 647 &lt;SPAN class=""&gt;#&lt;SPAN class=""&gt;define&lt;/SPAN&gt;&lt;/SPAN&gt; GTP_RST_PORT 657&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;The driver loads and probes the I2C address correctly. However, when it attempts to request an IRQ, I get the following error:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;[ &lt;SPAN class=""&gt;2385.431060&lt;/SPAN&gt;] &lt;SPAN class=""&gt;goodix-custom 2-005d:&lt;/SPAN&gt; &lt;SPAN class=""&gt;INT&lt;/SPAN&gt; &lt;SPAN class=""&gt;num&lt;/SPAN&gt; &lt;SPAN class=""&gt;-22&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;trigger&lt;/SPAN&gt; &lt;SPAN class=""&gt;type:0&lt;/SPAN&gt;&lt;BR /&gt;[ &lt;SPAN class=""&gt;2385.431080&lt;/SPAN&gt;] &lt;SPAN class=""&gt;goodix-custom 2-005d:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Failed&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt; &lt;SPAN class=""&gt;request&lt;/SPAN&gt; &lt;SPAN class=""&gt;irq&lt;/SPAN&gt; &lt;SPAN class=""&gt;-22&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;This indicates that gpio_to_irq() is returning an invalid IRQ number (-22 = EINVAL).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My questions are:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Are GPIOs &lt;STRONG&gt;647&lt;/STRONG&gt; and &lt;STRONG&gt;657&lt;/STRONG&gt; the correct numbers for &lt;STRONG&gt;P0_7&lt;/STRONG&gt; and &lt;STRONG&gt;P2_1&lt;/STRONG&gt; of the PCAL6524 expander on i.MX93?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Do I need to configure anything specific in the &lt;STRONG&gt;device tree&lt;/STRONG&gt;, &lt;STRONG&gt;pinctrl&lt;/STRONG&gt;, or elsewhere to properly export these expander GPIOs for interrupt usage?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Is there a recommended method by NXP to use &lt;STRONG&gt;GPIO interrupts from PCAL6524&lt;/STRONG&gt; in custom drivers such as this touchscreen driver?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any clarification or examples on using PCAL6524 GPIOs as interrupt lines on the i.MX93 platform would be very helpful.&lt;/P&gt;&lt;P&gt;Thank you in advance for your support.&lt;/P&gt;</description>
      <pubDate>Mon, 21 Jul 2025 11:01:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2137374#M239421</guid>
      <dc:creator>DharmikVelamala</dc:creator>
      <dc:date>2025-07-21T11:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2139287#M239505</link>
      <description>&lt;P&gt;Hello NXP Community,&lt;/P&gt;&lt;P&gt;I am currently working on integrating a Goodix touchscreen (GT9271) with the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;i.MX93FRDM BOARD&lt;/STRONG&gt;. The touchscreen uses&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;I2C address 0x5D&lt;/STRONG&gt;, and both the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;interrupt (INT)&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;reset (RST)&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;lines are routed through an&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;I/O expander PCAL6524HEAZ&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(U725), which is located at&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;I2C address 0x22&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;According to the hardware schematic:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;CTP_INT (Interrupt)&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is connected to&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;P0_7&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;on U725.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;CTP_RST (Reset)&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is connected to&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;P2_1&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;on U725.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;These pins are exposed via the 22-pin MIPI DSI FPC connector as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Pin 18: DSI_CTP_nINT (P0_7)&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Pin 17: CTP_RST (P2_1)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;When I inspect the GPIO base via /sys/kernel/debug/gpio, I get:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;gpiochip4:&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;GPIOs&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;640&lt;/SPAN&gt;&lt;SPAN class=""&gt;-663&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;parent:&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;i2c/1-0022,&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;-0022&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;can sleep:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This confirms that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;base GPIO number for PCAL6524 is 640&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Based on this, I mapped the pins as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;P0_7 = 640 + 7 = GPIO 647&lt;/STRONG&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;P2_1 = 640 + 16 (P2 base offset) + 1 = GPIO 657&lt;/STRONG&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I hardcoded these values in my Goodix driver as:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;#define&lt;/SPAN&gt;&amp;nbsp;GTP_INT_PORT 647&amp;nbsp;&lt;SPAN class=""&gt;#define&lt;/SPAN&gt;&amp;nbsp;GTP_RST_PORT 657&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;The driver loads and probes the I2C address correctly. However, when it attempts to request an IRQ, I get the following error:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;[&amp;nbsp;&lt;SPAN class=""&gt;2385.431060&lt;/SPAN&gt;]&amp;nbsp;&lt;SPAN class=""&gt;goodix-custom 2-005d:&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;INT&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;num&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;-22&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;trigger&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;type:0&lt;/SPAN&gt;&lt;BR /&gt;[&amp;nbsp;&lt;SPAN class=""&gt;2385.431080&lt;/SPAN&gt;]&amp;nbsp;&lt;SPAN class=""&gt;goodix-custom 2-005d:&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;Failed&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;to&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;request&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;irq&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN class=""&gt;-22&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;This indicates that gpio_to_irq() is returning an invalid IRQ number (-22 = EINVAL).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My questions are:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Are GPIOs&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;647&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;657&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;the correct numbers for&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;P0_7&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;P2_1&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;of the PCAL6524 expander on i.MX93?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Do I need to configure anything specific in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;device tree&lt;/STRONG&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;pinctrl&lt;/STRONG&gt;, or elsewhere to properly export these expander GPIOs for interrupt usage?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Is there a recommended method by NXP to use&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;GPIO interrupts from PCAL6524&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;in custom drivers such as this touchscreen driver?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any clarification or examples on using PCAL6524 GPIOs as interrupt lines on the i.MX93 platform would be very helpful.&lt;/P&gt;&lt;P&gt;Thank you in advance for your support.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jul 2025 09:57:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Touchscreen-Driver-not-working-GT9271-chip-connected-nxp/m-p/2139287#M239505</guid>
      <dc:creator>DharmikVelamala</dc:creator>
      <dc:date>2025-07-23T09:57:54Z</dc:date>
    </item>
  </channel>
</rss>

