Skip to content

Commit

Permalink
Goodix gt9xx series touch controller driver
Browse files Browse the repository at this point in the history
Signed-off-by: wangyafei <wangyafei@goodix.com>
  • Loading branch information
Charles-Wang-GOODIX committed Nov 2, 2017
0 parents commit bcea65f
Show file tree
Hide file tree
Showing 14 changed files with 8,141 additions and 0 deletions.
31 changes: 31 additions & 0 deletions README.txt
@@ -0,0 +1,31 @@
Step 1. Modify Makefile:
Modify drivers/input/touchscreen/Makefile,add a new line into it :
obj-$(CONFIG_TOUCHSCREEN_GT9XX) += gt9xx/

Step 2. Modify Kconfig
Modify drivers/input/touchscreen/Kconfig, include our kconfig under TOUCHSCREEN
source "drivers/input/touchscreen/gt9xx/Kconfig"

Step 3. Port dtsi:
Port kernel/arch/arm/boot/dts/goodix-gt9xx-i2c.dtsi into platform dts
During the porting, please set right value into below fields
interrupt-parent = <&msm_gpio>;
interrupts = <13 0x2800>;
reset-gpios = <&msm_gpio 12 0x0>;
irq-gpios = <&msm_gpio 13 0x2800>;
touchscreen-size-x = <1080>;
touchscreen-size-y = <1920>;

Step 4. Implement Pinctrl
Goodix dts declared 4 pinctrl:
<&ts_int_default>; <&ts_int_output_low>;<&ts_int_output_high>;<&ts_int_input>;
Please implement them in pinctrl dts.
kernel/arch/arm/boot/dts/msm8916-pinctrl.dtsi is an example.

Step 5. Modify defconfig
Please refer kernel/arch/arm/configs/msm_defconfig .
CONFIG_TOUCHSCREEN_GT9XX=y
CONFIG_TOUCHSCREEN_GT9XX_UPDATE=y
CONFIG_TOUCHSCREEN_GT9XX_DEBUG=y

Step 6. The porting is done, please compile.
62 changes: 62 additions & 0 deletions ReleaseNote.txt
@@ -0,0 +1,62 @@
// Goodix GT9xx series Driver - Android Platform //

Revision Information
--------------------
V2.8 2017/11/01, wangyafei@gooix.com
- Reconstruction the driver.
- Remove GT9F series controller support
- Remove file firmware update
- Add request firmware update method
- Do coding style check

V2.4 2014/11/28, caiyulong@goodix.com
- device tree support, gpio and cfg can be parsed form either dts
or the header file.
- new wake-up method, support frame buffer(CONFIG_FB),
i2c pm(CONFIG_PM), and earlysuspend.
- modify input_dev->phys.
- revise config group num to 0-5.
- move esd switch to the front of firmware update in goodix_ts_probe.
- check update status at the beginning of gtp_esd_check_func.
- check update status at the beginning of goodix_ts_resume.
- new method for checking config version when init panel, delete
ts->fixed_cfg.
- add put_path in gup_check_fs_mounted.
- correct calculating of firmware checksum in gup_check_update_file_fl.

V2.2 2014/01/14, meta@goodix.com
- gt9xx_config for debug
- gesture wakeup
- pen separate input device, active-pen button support
- coordinates & keys optimization
- multi-system supported
- flashless update no pid vid compare

V2.0 2013/08/06, meta@goodix.com
- compatible with GT9XXF
- send config after resume

V1.8 2013/06/08, meta@goodix.com
- pen/stylus identification
- read double check & fixed config support
- new esd & slide wakeup optimization

V1.6 2013/03/11, meta@goodix.com
- new heartbeat/esd_protect mechanism(add external watchdog)
- doze mode, sliding wakeup
- 3 more cfg_group(GT9 Sensor_ID: 0~5)
- config length verification
- names & comments
- replace guitar_client with i2c_connect_client;
- support firmware header array update.

V1.4 2012/12/12, andrew@goodix.com
- add config auto update function;
- modify enter_update_mode;
- add update file cal checksum.

V1.2 2012/10/1, andrew@goodix.com
- modify gtp_reset_guitar,slot report,tracking_id & 0x0F.
- add force update,GT9110P pid map
V1.0 2012/08/31, andrew@goodix.com
- first release.

0 comments on commit bcea65f

Please sign in to comment.