Open PrabaKaran123 opened 6 years ago
you need to create dts. and use valid i2c address; sensor parameters : size-x, size-y; set cfg-group; if needed vdd_ana-supply and vcc_i2c-supply; pinctrl; reset-gpios, irq-gpios and etc. for example zb500kl working dts : https://github.com/LWJGLRobot/ZB500KL_X00AD_KERNEL/blob/cyanogen_msm8916_cm-14.1/arch/arm/boot/dts/qcom/msm8916-qrd-skuh.dtsi
this is a begin of zb500kl gt9xx dts: i2c@78b9000 { / BLSP1 QUP5 / gt9xx-i2c@5d { compatible = "goodix,gt9xx"; reg = <0x5d>; status = "okay"; interrupt-parent = <&msm_gpio>; interrupts = <13 0x2008>;
thanks for your replay how to configure my are goodix@14 { compatible = "goodix,gt970"; reg = <0x14>; pinctrl-names = "gt9xx_int_default", "gt9xx_int_suspend"; pinctrl-0 = <0xc7>; pinctrl-1 = <0xc8>; interrupt-parent = <0x77>; interrupts = <0xd 0x0>; reset-gpios = <0x77 0xc 0x0>; interrupt-gpios = <0x77 0xd 0x0>; goodix,vdd-gpio = <0xab 0x3 0x0>; goodix,panel-coords = <0x0 0x0 0x2d0 0x500>; goodix,display-coords = <0x0 0x0 0x2d0 0x500>; goodix,button-map = <0x9e 0x66 0x8b>; goodix,family-id = <0x0>; goodix,i2c-pull-up; goodix,cfg-data0 = [4b d0 02 5f 05 0a 34 d0 01 08 3c 0f 50 32 30 35 00 00 37 13 10 01 00 14 14 26 14 8c 2c 0d 30 32 9d 09 9d 09 00 ba 33 11 00 00 00 00 00 00 00 08 0a a0 22 19 5a 54 d0 03 bc 1e 06 04 c9 1c 00 9e 25 23 82 2f 00 6a 3d 00 59 4f 00 59 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 01 00 00 00 00 00 00 00 00 00 0f 50 00 00 00 00 1e 02 0c 04 0a 06 08 14 12 16 10 18 0e 1a ff 00 98 fb 28 ac 1e 1e 14 08 1e 83 00 dc 00 40 41 00 02 04 06 08 0a 0c 0f 10 12 13 14 16 18 1c 1d 1e 1f 20 21 22 24 26 28 ff ff 00 00 00 00 30 57 42 00 00 00 00 00 00 00 00 c5 24 01]; goodix,cfg-data2 = [41 d0 02 5f 05 0a 34 00 01 08 32 08 50 3c 33 35 00 00 37 13 00 00 00 14 14 26 14 8c 2c 0d 3c 3e 9a 07 d3 07 00 99 33 11 00 00 00 00 00 00 00 00 00 00 21 1e 64 94 40 02 bc 1e 00 04 d0 22 00 a9 2b 1e 89 37 00 71 46 00 5e 59 00 5e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 00 00 00 00 00 00 00 00 00 0f 50 00 00 00 00 1e 02 0c 04 0a 06 08 14 12 16 10 18 0e 1a ff 00 00 00 00 00 00 00 00 00 00 00 00 04 00 50 00 00 02 04 06 08 0a 0c 0f 10 12 13 14 16 18 1c 1d 1e 1f 20 21 22 24 26 28 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8b 01]; goodix,cfg-data3 = [43 d0 02 5f 05 0a 34 d0 01 08 3c 08 50 32 30 35 00 00 37 13 10 01 00 14 14 26 14 8c 2c 0d 30 32 9d 09 9d 09 00 ba 33 11 00 00 00 00 00 00 00 08 0a a0 22 19 5a 54 d0 03 bc 1e 06 04 c9 1c 00 9e 25 23 82 2f 00 6a 3d 00 59 4f 00 59 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f7 01 00 00 00 00 00 00 00 00 00 0f 50 00 00 00 00 1e 02 0c 04 0a 06 08 14 12 16 10 18 0e 1a ff 00 98 fb 1e ac 1e 19 14 08 1e 87 00 dc 00 40 41 00 02 04 06 08 0a 0c 0f 10 12 13 14 16 18 1c 1d 1e 1f 20 21 22 24 26 28 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 c7 01]; ts-suspend-resume = <0x0>; ts-fixed-key-type = <0x1>; ts-virt-key = "0x01:139:117:1365:130:100:0x01:251:228:1365:90:100:0x01:172:360:1365:140:100:0x01:251:491:1365:90:100:0x01:158:603:1365:130:100"; }; };
i think something like this gt9xx-i2c@14{ compatible = "goodix,gt9xx"; reg = <0x14>; status = "okay"; interrupt-parent = <0x77>; interrupts = <0xd 0x0>; // there i dont know, i use this pinctrl pinctrl-names = "default", "int-output-low", "int-output-high", "int-input"; pinctrl-0 = <>; pinctrl-1 = <>; pinctrl-2 = <>; pinctrl-3 = <>; //end pinctrl reset-gpios = <0x77 0xc 0x0>; //maybe irq-gpios interrupt-gpios = <0x77 0xd 0x0>; ...
i dont know
in the gt9xx.c there are only this things: reset-gpios irq-gpios touchscreen-key-map goodix,pen-suppress-finger goodix,power-off-sleep goodix,resume-in-workqueue goodix,type-a-report goodix,esd-protect goodix,auto-update-cfg goodix,auto-update goodix,slide-wakeup goodix,swap-x2y goodix,driver-send-cfg goodix,int-sync irq-flags touchscreen-max-id touchscreen-size-x touchscreen-size-y touchscreen-max-w touchscreen-max-p goodix,cfg-groupX (goodix,cfg-group1, goodix,cfg-group2, ...)