AnsweredAssumed Answered

Does i.mx6solo has limitation on GPIO INTERRUPT?

Question asked by Gary Yin on Jun 22, 2016
Latest reply on Jun 23, 2016 by Gary Yin


Our board is based on i.mx6solo, running linux 3.10.45, using atmel touch panel with an interrupt pin. If we use CSI0_DATA_EN as the interrupt pin, the touch panel driver works fine. The config is as following:

 

In the dts:

atmel_mxt_ts@4a {

        compatible = "atmel,atmel_mxt_ts";

        reg = <0x4a>;

        interrupt-parent = <&gpio5>;

        interrupts = <20 2>;

        work-mode = <1>;

        vdd-supply = <&reg_3p3v>;

        avdd-supply = <&reg_3p3v>;

};

...

iomux:

MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x80000000

 

But, if we change the interrupt pin to other gpio such as GPIO_16 as following:

atmel_mxt_ts@4a {

        compatible = "atmel,atmel_mxt_ts";

        reg = <0x4a>;

        interrupt-parent = <&gpio7>;

        interrupts = <11 2>;

        work-mode = <1>;

        vdd-supply = <&reg_3p3v>;

        avdd-supply = <&reg_3p3v>;

};

...

iomux:

MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x80000000

 

The touch panel driver doesn't work, as no interrupt generated, the GPIO_16 held LOW. The same problem found on GPIO_18(GPIO7_IO13).

 

Why?

Outcomes