Quectel EC21 not working if screen+touchscreen not connected

Started by roderick, April 27, 2019, 07:37:49 PM

Previous topic - Next topic

roderick

Hello,

I write to you so I can get some help with a really weird effect that I've observed in my A20-SOM204 device. We've got a Quectel EC21 gps device connected through USB to my A20-SOM204. This congiguration works ok, because our Quectel EC21 is accessible via /dev/ttyUSB0-3 and because it responds to AT commands.
However, if we disconnect the touchscreen by unplugging HDMI cable, then power off and finally power on, no device is present on /dev/ttyUSB0-3.
I must say that I added a user overlay under /boot/overlay_user so that we could operate with an ft5x06 touchscreen (please see dts plugin below at the end of this post). The thing is that the edt_ft5x06 node specifies PH7, PH12 and PH13 pins as wake-gpios, interrupts and reset-gpios respectively. If we attend to hardware schematics, apparently PH7, PH12 and PH13 are Camera CSI pins. But we are using those pins for the touchscreen, so my question is whether this configuration may be affecting the detection of my GPS USB Quectel EC21 device. If so, how could we fix this?

Thanks in advance.

Kind regards

------- the /boot/overlay-user/edt-ft5x06.dts-----------------
/dts-v1/;

/plugin/;

 

/ {

        compatible = "allwinner,sun4i-a10", "allwinner,sun7i-a20", "allwinner,sun8i-h3", "allwinner,sun50i-a64", "allwinner,sun50i-h5", "olimex,a20-olimex-som204-evb-mmc";

 

        fragment@2 {

                /* Set to I2C controller number touchscreen is connected to */

                target = <&i2c2>;

                __overlay__ {

                        #address-cells = <1>;

                        #size-cells = <0>;

 

                        edt_ft5x06: edt_ft5x06@38 {

                                compatible = "edt,edt-ft5x06", "edt,edt-ft5406", "edt,edt-ft5506", "edt,edt-ft5306", "edt,edt-ft5206";

                                reg = <0x38>;

                                interrupt-parent = <&pio>;

                                interrupts = <7 12 2>; /* first+second digits must correspond to an interruptible port; 2: IRQ_TYPE_EDGE_FALLING */

                                reset-gpios = <&pio 7 13 1>; /* 1: GPIO_ACTIVE_HIGH */

                                wake-gpios = <&pio 7 7 0>; /* 0: GPIO_ACTIVE_LOW */

                                touchscreen-size-y = <480>;

                                touchscreen-size-x = <800>;

                                linux,wakeup;

                        };

                };

        };

};