Facing issue while configuring goodix gt928 on imx6solo custom som board

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Facing issue while configuring goodix gt928 on imx6solo custom som board

2,185 次查看
vijay125
Contributor I

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 ? 

标签 (1)
0 项奖励
回复
11 回复数

1,983 次查看
pengyong_zhang
NXP Employee
NXP Employee

Hi @vijay125 

You need to confirm the  pinctrl_cap_touch GPIO pins are not be reused by another PIN.

B.R

0 项奖励
回复

2,067 次查看
pengyong_zhang
NXP Employee
NXP Employee

Hi @vijay125 

Please refer the below link set your dts file.

https://github.com/nxp-imx/linux-imx/blob/724ba6751532055db75992fc6ae21c3e322e94a7/arch/arm/boot/dts...

&i2c4 {
    touchscreen@5d {
        compatible = "goodix,gt928";
        reg = <0x5d>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_cap_touch>;
        interrupt-parent = <&gpio5>;
        interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
        reset-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
        irq-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
    };
};
    pinctrl_cap_touch: captouchgrp {
        fsl,pins = <
            MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06  0x1b0b0 /* Touch Interrupt */
            MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07  0x1b0b0 /* Touch Reset */
            MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08  0x1b0b0 /* Touch Wake */
        >;
    };

B.R

0 项奖励
回复

2,060 次查看
vijay125
Contributor I

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

0 项奖励
回复

2,068 次查看
pengyong_zhang
NXP Employee
NXP Employee

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>;
};
};

 

0 项奖励
回复

2,088 次查看
pengyong_zhang
NXP Employee
NXP Employee

Hi @vijay125 

Did you modify your .dts file follow the link that i have send to you? If yes, please share the new .dts file.

B.R

0 项奖励
回复

2,079 次查看
vijay125
Contributor I

Hi @pengyong_zhang 

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.

0 项奖励
回复

2,118 次查看
pengyong_zhang
NXP Employee
NXP Employee

Hi @vijay125 

Please refer the below link file modify your .dts file. 

https://github.com/nxp-imx/linux-imx/blob/b34e75bc8589730355abaed241728b93cabde571/arch/arm/boot/dts...

You connect the gt928 device at I2C3, right? 

B.R

 

 

0 项奖励
回复

2,112 次查看
vijay125
Contributor I

Hi @pengyong_zhang 

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

0 项奖励
回复

2,149 次查看
pengyong_zhang
NXP Employee
NXP Employee

Hi @vijay125 

Please share the dts file and the full boot log file.

B.R

0 项奖励
回复

2,141 次查看
vijay125
Contributor I

These are  my boot.log and dts files

0 项奖励
回复

2,138 次查看
vijay125
Contributor I

Hi @pengyong_zhang 

I shared my boot log and dts.

0 项奖励
回复