Dear all,

I recently acquired  5" LCD display DSN50602-PCT with capacitive touch 
panel, thus my intention was to use it with Beaglebone Black board. 
The image which I chose for this project is:

debian@beaglebone:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2016-01-10
debian@beaglebone:~$ uname -r
4.1.33-bone24


There was no problem in writing appropriate dts for the display and it 
works flawlessly. The challenge was to expand dts to support capacitive 
touch panel with its controller Goodix GT911. The controller communicates 
with BBB via i2c1 bus and furthermore uses two additional gpios, one for 
the interrupt and another for reset.  
So, finally, I had expanded my lcd dts with the following fragments:

    fragment@0 {        
        target = <&am33xx_pinmux>;
        __overlay__ {
            bb_i2c1_pins: pinmux_bb_i2c1_pins {
                pinctrl-single,pins = <
                    BONE_P9_18 (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2
)    
                    BONE_P9_17 (SLEWCTRL_SLOW | PIN_INPUT_PULLUP | MUX_MODE2
)    
                >;
            };

            gt911_ts: pinmux_gt911_ts {
                pinctrl-single,pins = <
                BONE_P8_14 (PIN_OUTPUT_PULLUP | MUX_MODE7)        
                BONE_P8_13 (PIN_INPUT_PULLUP | MUX_MODE7)         
                >;
            };
        };
    };
    
    fragment@1 {
        target = <&i2c1>;    
        __overlay__ {
            pinctrl-names = "default";
            pinctrl-0 = <&bb_i2c1_pins>;
            status = "okay";
            clock-frequency = <100000>;
            
            /* shut up DTC warnings */
            #address-cells = <1>;
            #size-cells = <0>;
            
            ctp@5d {
                status = "okay";
                pinctrl-names = "default";
                pinctrl-0 = <&gt911_ts>;
                compatible = "goodix,gt911";
                                
                reg = <0x5d>;
                interrupt-parent = <&gt911_ts>;
                interrupts = <8 13 2>;                 
                irq-gpios = <8 13>;
                reset-gpios = <8 14>;
                touchscreen-swapped-x-y;                
            };           
        };
    };    
    

Of course, goodix modul is needed for the touchscreen, so I had it added to 
/etc/modules-load.d/modules.conf file.


When I power up the BBB, the touchscreen is not functioning.
>From dmesg I cannot see what is wrong:

debian@beaglebone:~$ dmesg | grep Goodix
[    5.574184] Goodix-TS 1-005d: IC VERSION: 39 31 31 00 60 10
[    5.596674] input: Goodix Capacitive TouchScreen as /devices/platform/ocp
/4802a000.i2c/i2c-1/1-005d/input/input1


Now comes the interesting part.
After restarting the operating system (sudo shutdown -r now), I get fully 
functional touchscreen panel which will work perfectly until I shutdown the 
board. There is no difference in dmesg log which would give me a clue why 
the touchscreen behaves differently depending whether I am powering up the 
system or resetting it.  

I am struggling with this for few days now and I thought that maybe there 
is some difference between power-up and restart which reflects on 
touchscreen functionallity.

I would gladly read your comments and ideas on how to resolve the issue 
which I am facing with.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/588214e8-574e-4293-a7e2-3038f3717ae3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to