Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander

432 次查看
DharmikVelamala
Contributor I

Hello NXP Team,

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 I/O expander PCAL6524HEAZ (I2C address 0x22, connected on I2C1).

System Details:

  • Board: i.MX93 EVK

  • Processor: i.MX9352

  • Linux Version: 6.6.36-lts-next (Yocto Scarthgap 6.6)

  • Display Interface: MIPI-DSI

  • Touch Controller: Goodix GT9271 (I2C addr: 0x5D)

  • I/O Expander: NXP PCAL6524HEAZ (I2C addr: 0x22)

  • GT9xx Driver Version: V2.8.0.2 (custom driver integration)

Hardware Pin Mapping (from EVK schematic):

  • MIPI-DSI connector (P7):

    • Pin 17 → CTP_RST → U725.P2_1 (GPIO17 on PCAL6524)

    • Pin 18 → DSI_CTP_nINT → U725.P0_7 (GPIO7 on PCAL6524)




Debug messages from nxp board:

gpiochip4: GPIOs 640-663, parent: i2c/1-0022, 1-0022, can sleep:



[ 9475.945028] Gt9xx driver exited
[ 9477.986387] Gt9xx driver installing..
[ 9477.986597] goodix-custom 2-005d: GTP Driver Version: V2.8.0.2<2017/12/14>
[ 9477.986609] goodix-custom 2-005d: GTP I2C Address: 0x5d
[ 9477.986636] goodix-custom 2-005d: vdd_ana regulator not found, using dummy
[ 9477.986642] goodix-custom 2-005d: vcc_i2c regulator not found, using dummy
[ 9477.986646] goodix-custom 2-005d: Guitar reset
[ 9478.016950] goodix-custom 2-005d: I2C Addr is 5d
[ 9478.017220] goodix-custom 2-005d: IC Version: 9271_1020
[ 9478.017498] goodix-custom 2-005d: Driver set not send config
[ 9478.023312] goodix-custom 2-005d: Use slot report protocol
[ 9478.023488] input: goodix-ts as /devices/virtual/input/input7
[ 9478.024381] goodix-custom 2-005d: INT num -22, trigger type:0
[ 9478.024400] goodix-custom 2-005d: Failed to request irq -22
[ 9478.024404] goodix-custom 2-005d: Failed create work thread
[ 9478.042299] goodix-custom: probe of 2-005d failed with error -22

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

0 项奖励
回复
3 回复数

330 次查看
DharmikVelamala
Contributor I

Hello NXP Community,

I am currently working on integrating a Goodix touchscreen (GT9271) with the i.MX93FRDM BOARD. The touchscreen uses I2C address 0x5D, and both the interrupt (INT) and reset (RST) lines are routed through an I/O expander PCAL6524HEAZ (U725), which is located at I2C address 0x22.

According to the hardware schematic:

  • CTP_INT (Interrupt) is connected to P0_7 on U725.

  • CTP_RST (Reset) is connected to P2_1 on U725.

  • These pins are exposed via the 22-pin MIPI DSI FPC connector as:

    • Pin 18: DSI_CTP_nINT (P0_7)

    • Pin 17: CTP_RST (P2_1)

When I inspect the GPIO base via /sys/kernel/debug/gpio, I get:

gpiochip4: GPIOs 640-663, parent: i2c/1-0022, 1-0022, can sleep:

 

This confirms that the base GPIO number for PCAL6524 is 640.

Based on this, I mapped the pins as:

  • P0_7 = 640 + 7 = GPIO 647

  • P2_1 = 640 + 16 (P2 base offset) + 1 = GPIO 657

I hardcoded these values in my Goodix driver as:

#define GTP_INT_PORT 647 #define GTP_RST_PORT 657
 

The driver loads and probes the I2C address correctly. However, when it attempts to request an IRQ, I get the following error:

2385.431060goodix-custom 2-005d: INT num -22, trigger type:0
2385.431080goodix-custom 2-005d: Failed to request irq -22
 

This indicates that gpio_to_irq() is returning an invalid IRQ number (-22 = EINVAL).

My questions are:

  1. Are GPIOs 647 and 657 the correct numbers for P0_7 and P2_1 of the PCAL6524 expander on i.MX93?

  2. Do I need to configure anything specific in the device tree, pinctrl, or elsewhere to properly export these expander GPIOs for interrupt usage?

  3. Is there a recommended method by NXP to use GPIO interrupts from PCAL6524 in custom drivers such as this touchscreen driver?

Any clarification or examples on using PCAL6524 GPIOs as interrupt lines on the i.MX93 platform would be very helpful.

Thank you in advance for your support.

0 项奖励
回复

423 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

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.

 

Regards

0 项奖励
回复

377 次查看
DharmikVelamala
Contributor I

 

Hello NXP Community,

I am currently working on integrating a Goodix touchscreen (GT9xx series) with the i.MX93 platform. The touchscreen uses I2C address 0x5D, and both the interrupt (INT) and reset (RST) lines are routed through an I/O expander PCAL6524HEAZ (U725), which is located at I2C address 0x22.

According to the hardware schematic:

  • CTP_INT (Interrupt) is connected to P0_7 on U725.

  • CTP_RST (Reset) is connected to P2_1 on U725.

  • These pins are exposed via the 22-pin MIPI DSI FPC connector as:

    • Pin 18: DSI_CTP_nINT (P0_7)

    • Pin 17: CTP_RST (P2_1)

When I inspect the GPIO base via /sys/kernel/debug/gpio, I get:

gpiochip4: GPIOs 640-663, parent: i2c/1-0022, 1-0022, can sleep:

 

This confirms that the base GPIO number for PCAL6524 is 640.

Based on this, I mapped the pins as:

  • P0_7 = 640 + 7 = GPIO 647

  • P2_1 = 640 + 16 (P2 base offset) + 1 = GPIO 657

I hardcoded these values in my Goodix driver as:

#define GTP_INT_PORT 647 #define GTP_RST_PORT 657
 

The driver loads and probes the I2C address correctly. However, when it attempts to request an IRQ, I get the following error:

[ 2385.431060] goodix-custom 2-005d: INT num -22, trigger type:0
[ 2385.431080] goodix-custom 2-005d: Failed to request irq -22
 

This indicates that gpio_to_irq() is returning an invalid IRQ number (-22 = EINVAL).

My questions are:

  1. Are GPIOs 647 and 657 the correct numbers for P0_7 and P2_1 of the PCAL6524 expander on i.MX93?

  2. Do I need to configure anything specific in the device tree, pinctrl, or elsewhere to properly export these expander GPIOs for interrupt usage?

  3. Is there a recommended method by NXP to use GPIO interrupts from PCAL6524 in custom drivers such as this touchscreen driver?

Any clarification or examples on using PCAL6524 GPIOs as interrupt lines on the i.MX93 platform would be very helpful.

Thank you in advance for your support.

0 项奖励
回复