Dear all,
I recently acquired 7" Waveshare capacitive touch LCD type G, 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-06-15
debian@beaglebone:~$ uname -r
3.8.13-xenomai-r84
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(P9_19, P9_20) bus and furthermore uses two additional gpios(P9_17, P9_18), one for the interrupt and another for reset.
When I load gt911 touch controller driver(.ko), I see some error kernel message.(dmesg)
please help me.
- error message
- device tree(modify am335x-boneblack.dts)
pinmux@44e10800 {
compatible = “pinctrl-single”;
reg = <0x44e10800 0x238>;
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-single,register-width = <0x20>;
pinctrl-single,function-mask = <0x7f>;
pinctrl-names = “default”;
pinctrl-0 = <0x3>;
linux,phandle = <0x14>;
phandle = <0x14>;
/* …*/
ts_int_default: ts_int_defalut {
drive-strength = <16>;
/bias-pull-up;/
input-enable;
bias-disable;
};
ts_int_output_high: ts_int_output_high {
output-high;
};
ts_int_output_low: ts_int_output_low {
output-low;
};
ts_int_input: ts_int_input {
input-enable;
bias-disable;
};
};
i2c@4819c000 {
compatible = “ti,omap4-i2c”;
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = “i2c3”;
reg = <0x4819c000 0x1000>;
interrupts = <0x1e>;
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <0x7>;
clock-frequency = <0x186a0>;
linux,phandle = <0x27>;
phandle = <0x27>;
/* … */
gt9xx-i2c@5d {
compatible = “goodix,gt9xx”;
reg = <0x5d>;
status = “okay”;
interrupt-parent = <0xa>;
interrupts = <4 1>;
pinctrl-names = “default”, “int-output-low”, “int-output-high”, “int-input”;
pinctrl-0 = <&ts_int_default>;
pinctrl-1 = <&ts_int_output_low>;
pinctrl-2 = <&ts_int_output_high>;
pinctrl-3 = <&ts_int_input>;
reset-gpios = <0xa 5 1>;
irq-gpios = <0xa 4 1>;
irq-flags = <2>;
touchscreen-max-id = <11>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
touchscreen-max-w = <1024>;
touchscreen-max-p = <1024>;
/touchscreen-key-map = <172>, <158>;/ /KEY_HOMEPAGE, KEY_BACK/
goodix,type-a-report = <0>;
goodix,driver-send-cfg = <1>;
goodix,create-wr-node = <1>;
goodix,wakeup-with-reset = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,swap-x2y = <0>;
goodix,esd-protect = <1>;
goodix,pen-suppress-finger = <0>;
goodix,auto-update = <0>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <0>;
goodix.cfg-group0 = [
00 38 04 80 07 0A 3D 00 01 CA 28 0A 5A 3C 0A 04 00 00 00 00 11 11 00 17 19 1E 14 95 35 FF
2E 30 09 19 00 00 00 01 04 1C 00 00 00 00 00 00 00 00 00 00 00 19 41 94 45 02 07 00 00 04
9A 1B 00 85 21 FF 74 28 00 66 31 00 5B 3B 00 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 2A 29 28 27 26 25 24 23
22 21 20 1F 1E 1D 1C 1B 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04
03 02 01 00 89 01
];
};
};
- device driver (gt911) → use https://github.com/goodix/goodix_gt9xx_public