root@imx6solosabresd:/# dmesg | grep Goodix
[ 2.343334] Goodix-TS 2-0014: supply AVDD28 not found, using dummy regulator
[ 2.350644] Goodix-TS 2-0014: supply VDDIO not found, using dummy regulator
[ 2.358870] Goodix-TS 2-0014: ID 928, version: 1040
[ 2.364549] Goodix-TS 2-0014: Invalid config (1023, 599, 0), using defaults
[ 2.371788] input: Goodix Capacitive TouchScreen as /devices/platform/soc/2100000.bus/21a8000.i2c/i2c-2/2-0014/input/input3
these are my log where i am facing issue ?
gt928@14 {
compatible = "goodix,gt928";
reg = <0x14>;
pinctrl-0 = <&pinctrl_gt928_ts_gpio>;
interrupt-parent = <&gpio1>;
interrupts = <25 0>;
irq-gpios = <&gpio1 25 0>;
irq-flags = <2>;
reset-gpios = <&gpio1 2 0>;
touchscreen-size-x = <1024>;
touchscreen-size-y = <600>;
touchscreen-inverted-x = <0>;
touchscreen-inverted-y = <0>;
touchscreen-swapped-x-y = <0>;
goodix,int-sync = <1>;
status = "okay";
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
>;
};
pinctrl_i2c3_gpio: i2c3_gpio_grp {
fsl,pins = <
MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b8b0
MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1b0b0
>;
};
pinctrl_gt928_ts_gpio: gt928_ts_gpiogrp {
fsl,pins = <
MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b0b0
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x130b0
>;
};
these are my device tree where i configure based on custom som schematics ?
Hi @vijay125
Please refer the below link set your dts file.
B.R
Hi @pengyong_zhang
the goodix is detected , while touching raw values also getting values on /dev/input/event0.
now i am unable use the tap-to-click
root@imx6solosabresd:/# /usr/libexec/libinput/libinput-list-devices
Device: Goodix Capacitive TouchScreen
Kernel: /dev/input/event0
Group: 1
Seat: seat0, default
Capabilities: keyboard touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
i build image based on this parameters
MACHINE ??= 'imx6solosabresd'
DISTRO ?= 'fsl-imx-xwayland'
bitbake imx-image-multimedia
how to make touchscreen to interact with wayland -terminal
Hi @vijay125
It should be that the driver did not probe successfully, Which BSP code version are you use?
Also you should config your dts file like the below code: I do not understand why you set the different I2C SCL SDA line under the same I2C bus.
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
clock-frequency = <100000>;
gt911@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&gpio2>;
interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <1024>;
touchscreen-size-y = <600>;
touchscreen-inverted-x = <0>;
touchscreen-inverted-y = <0>;
};
};
yes i modified the dts, also checked those int and reset pin using oscilloscope there i can able to see the signals ,but the issue i am facing on the driver code.
Hi @vijay125
Please refer the below link file modify your .dts file.
You connect the gt928 device at I2C3, right?
B.R
yes , i am using i2c3 for configuring goodix and also detecting that goodix
root@imx6solosabresd:/# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
still touch is not working
here is the kernel boot log
[ 2.322995] I2C Address: 0x14
[ 2.326011] Goodix-TS 2-0014: supply AVDD28 not found, using dummy regulator
[ 2.333328] Goodix-TS 2-0014: supply VDDIO not found, using dummy regulator
[ 2.340537] ts->gpiod_int :-1038026440
[ 2.344332] ts->gpiod_rst :-1038026704
[ 2.348157] goodix_get_gpio_config : 0
[ 2.348166] regulator_enable(ts->avdd28) :-1034299264
[ 2.356977] regulator_enable(ts->vddio) :-1034298880
[ 2.361982] devm_add_action_or_reset : 0
[ 2.365913] ts->reset_controller_at_probe : 1
[ 2.487630] goodix_reset :0
[ 2.490886] goodix_i2c_test : 0
[ 2.494040] goodix_firmware_check : 0
[ 2.498407] Goodix-TS 2-0014: ID 928, version: 1040
[ 2.503298] goodix_read_version : 0
[ 2.506794] ts->load_cfg_from_disk : 0 ts->id :-1035072380
[ 2.512410] ts->firmware_name : 0
[ 2.516636] goodix_i2c_read : 0
[ 2.519807] x_max = 0 y_max =0
[ 2.522968] ts->prop.max_x : 0 ts->prop.max_y : 0 ts->max_touch_num : 0
[ 2.529781] ts->reset_controller_at_probe : 1 ts->irq_pin_access_method != IRQ_PIN_ACCESS_NONE :1
[ 2.538764] Goodix-TS 2-0014: Invalid config (0, 0, 0), using defaults
[ 2.545303] Inside goodix_configure_dev
[ 2.549159] ts->prop.max_x : 4095
[ 2.549159] ts->prop.max_y : 4095
[ 2.549159] ts->max_touch_num : 10
[ 2.561009] input_mt_init_slots : 0
[ 2.564706] input: Goodix Capacitive TouchScreen as /devices/platform/soc/2100000.bus/21a8000.i2c/i2c-2/2-0014/input/input3
[ 2.576144] input_register_device : 0
[ 2.579904] goodix_create_pen_input : 0
[ 2.584017] goodix_request_irq : 0
[ 2.587431] goodix_configure_dev :0
[ 2.590984] int: -1038026440
[ 2.593874] reset: -1038026704
these are boot log where i added few print statements on the goodix driver