Hello,
I'm working on a project where a goodix gt911 touchscreen is connected to an imx6q SOM. The communication via I2C is working properly. It is found by the kernel driver and initialized. But the INT-pin connected to GPIO2_IO21 is always low. To me it is not clear witch value of MX6QDL_PAD_EIM_A17__GPIO2_IO21 (currently ) 0xb0b1 has to be set. There is no external pull-up or -down resistor in the line and it is directly connected. My set up for the device tree is:
touch: gt911@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
pinctrl-names = "default";
inctrl-0 = <&pinctrl_goodix>;
interrupt-parent = <&gpio2>;
interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
//irq-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
//reset-gpios =<&gpio0 16 GPIO_ACTIVE_LOW>;
//reset = <&lcd_reset>;
status = "okay";
};
and
pinctrl_goodix: gt911 {
fsl,pins = <
MX6QDL_PAD_EIM_A17__GPIO2_IO21 0xb0b1
>;
};
Can somebody give me a hint where to look for the solution?
Regards,
Sebastian
Solved! Go to Solution.
First of all thank you igorpadykov for your support.
At the end of the story I've used a pin set (int, rst) on the iMX6Q-Module witch is tied to GND by 10k and 3V3 by 10k. Therfore the GT911 was to weak to drive against it. At last I've switched to another set of pins and now it works like a charm.
Regards,
Sebastian
First of all thank you igorpadykov for your support.
At the end of the story I've used a pin set (int, rst) on the iMX6Q-Module witch is tied to GND by 10k and 3V3 by 10k. Therfore the GT911 was to weak to drive against it. At last I've switched to another set of pins and now it works like a charm.
Regards,
Sebastian
Hi Sebastian
settings MX6QDL_PAD_EIM_A17__GPIO2_IO21 0xb0b1 means value
of IOMUXC_SW_PAD_CTL_PAD_EIM_ADDR17 described in
sect.36.4.253 Pad Control Register (IOMUXC_SW_PAD_CTL_PAD_EIM_ADDR17)
i.MX6DQ Reference Manual. One can disconnect touch INT-pin and check if it toggles,
probably additional i2c initialization is needed for gt911.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Igor,
thank you for your reply. I've checked the pad-control according to your reference in the imx documentation. In my opinion the 0x1b0b1 should be right. Now I've attached a pull up resistor but it keeps pulling low, until I send the cpu to shutdown than again the signal of interrupt is fine. I've no idea what could cause that behaviour. If the driver is not loaded the pad is also tied down to ground.
Regards,
Sebastian
Hi Sebastian
since INT-pin is driven from gt911, seems it is configured incorrectly,
one can read its registers and check with its datasheet.
Best regards
igor
Hi Igor,
I've rolled back again, after compiling the driver as a module I've checked the behaviour if no touch is connected. When I export the Pins 53 and 60 and try to set the output values nothing happens on the pin. First I want to debug it electrically and than I can try to debug the driver. Is it possible to change the driving parameters of the port over command line?
Regards,
Sebastian
Hi Sebastian
one can try memtool for writing to registers
Best regards
igor