443 lines
12 KiB
Text
443 lines
12 KiB
Text
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/*
|
|
* Copyright (C) 2020 MediaTek Inc.
|
|
*/
|
|
|
|
/* TOUCH start */
|
|
&i2c0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
pinctrl-names = "default", "ts_int_active",
|
|
"ts_reset_active", "ts_int_suspend",
|
|
"ts_reset_suspend", "ts_i2c_mode",
|
|
"synaptics_default", "pmx_ts_active",
|
|
"pmx_ts_suspend", "pmx_ts_i2c_mode";
|
|
pinctrl-0 = <&ctp_pins_default>;
|
|
pinctrl-1 = <&ctp_ts_int_active>;
|
|
pinctrl-2 = <&ctp_ts_reset_active>;
|
|
pinctrl-3 = <&ctp_ts_int_suspend>;
|
|
pinctrl-4 = <&ctp_ts_reset_suspend>;
|
|
pinctrl-5 = <&ctp_ts_i2c_mode>;
|
|
pinctrl-6 = <&ctp_synaptics_pins_default>;
|
|
pinctrl-7 = <&ts_active>;
|
|
pinctrl-8 = <&ts_suspend>;
|
|
pinctrl-9 = <&ts_i2c_mode>;
|
|
|
|
gt9886@5d {
|
|
compatible = "goodix,gt9886";
|
|
reg = <0x5d>;
|
|
status = "ok";
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <8 IRQ_TYPE_EDGE_FALLING 8 0>;
|
|
vtouch-supply = <&mt6373_vtp>;
|
|
goodix,reset-gpio = <&pio 3 0x0>;
|
|
goodix,irq-gpio = <&pio 8 0x0>;
|
|
goodix,irq-flags = <2>; /* 1:rising, 2:falling;*/
|
|
goodix,panel-max-id = <10>;
|
|
goodix,panel-max-x = <1080>;
|
|
goodix,panel-max-y = <2340>;
|
|
goodix,panel-max-w = <256>;
|
|
goodix,panel-max-p = <256>;
|
|
goodix,input-max-x = <1080>;
|
|
goodix,input-max-y = <2340>;
|
|
goodix,panel-key-map = <158 172 217>; /*BACK,HOMEPAGE,SEARCH*/
|
|
goodix,power-on-delay-us = <10000>; /*10ms*/
|
|
goodix,power-off-delay-us = <5000>;
|
|
goodix,firmware-version = "6885af";
|
|
goodix,config-version = "90hz6885";
|
|
/*goodix,swap-axis;*/
|
|
/*goodix,x2x;*/
|
|
/*goodix,y2y;*/
|
|
goodix,pen-enable;
|
|
goodix,key-of-pen = <331 332>;/*BTN_STYLUS, BTN_STYLUS2*/
|
|
tpd-filter-enable = <0>;
|
|
tpd-filter-pixel-density = <161>;
|
|
tpd-filter-custom-prameters = <0 0 0 0 0 0 0 0 0 0 0 0>;
|
|
tpd-filter-custom-speed = <0 0 0>;
|
|
};
|
|
|
|
synaptics_tcm@4b {
|
|
compatible = "synaptics,tcm-i2c";
|
|
status = "ok";
|
|
reg = <0x4b>;
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <8 IRQ_TYPE_EDGE_FALLING 8 0>;
|
|
//synaptics,bus-reg-name = "vdd";
|
|
//vdd-supply = <&mt6373_vtp>;
|
|
synaptics,pwr-reg-name = "vtouch";
|
|
vtouch-supply = <&mt6373_vtp>;
|
|
synaptics,irq-gpio = <&pio 8 0x2008>;
|
|
synaptics,reset-gpio = <&pio 3 0x0>;
|
|
synaptics,irq-on-state = <0>;
|
|
synaptics,reset-on-state = <0>;
|
|
synaptics,reset-active-ms = <20>;
|
|
synaptics,reset-delay-ms = <200>;
|
|
synaptics,power-delay-ms = <200>;
|
|
synaptics,ubl-i2c-addr = <0x4b>;
|
|
/* tp-io reset is only used for specific tddi devices */
|
|
/* synaptics,tpio-reset-gpio = <&msm_gpio 102 0>; */
|
|
};
|
|
|
|
};
|
|
|
|
&spi6 {
|
|
status = "okay";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default", "gt9896s_int_active",
|
|
"gt9896s_reset_active", "gt9896s_int_suspend",
|
|
"gt9896s_reset_suspend", "gt9896s_spi_mode",
|
|
"pmx_ts_int_active", "pmx_ts_rst_active",
|
|
"pmx_ts_int_suspend", "pmx_ts_rst_suspend",
|
|
"pmx_ts_release", "ft3518u_spi_mode";
|
|
pinctrl-0 = <&ctp_gt9896s_pins_default>;
|
|
pinctrl-1 = <&ctp_gt9896s_int_active>;
|
|
pinctrl-2 = <&ctp_gt9896s_reset_active>;
|
|
pinctrl-3 = <&ctp_gt9896s_int_suspend>;
|
|
pinctrl-4 = <&ctp_gt9896s_reset_suspend>;
|
|
pinctrl-5 = <&ctp_gt9896s_spi_mode>;
|
|
pinctrl-6 = <&ts_int_active>;
|
|
pinctrl-7 = <&ts_reset_active>;
|
|
pinctrl-8 = <&ts_int_suspend>;
|
|
pinctrl-9 = <&ts_reset_suspend>;
|
|
pinctrl-10 = <&ts_release>;
|
|
pinctrl-11 = <&ts_spi_mode>;
|
|
|
|
goodix@0 {
|
|
compatible = "novatek,NVT-ts-spi",
|
|
"goodix,gt9896s",
|
|
"goodix,nottingham",
|
|
"focaltech,fts",
|
|
"st,spi";
|
|
reg = <0>; //Same as CS ID
|
|
spi-max-frequency = <1000000>;
|
|
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend", "pmx_ts_spi_mode",
|
|
"pmx_ts_dvdd_enable", "pmx_ts_dvdd_disable";
|
|
pinctrl-0 = <&ts_st_reset_active &ts_st_int_active>;
|
|
pinctrl-1 = <&ts_st_int_suspend &ts_st_reset_suspend>;
|
|
pinctrl-2 = <&ts_st_spi_mode>;
|
|
pinctrl-3 = <&ts_dvdd_enable>;
|
|
pinctrl-4 = <&ts_dvdd_disable>;
|
|
|
|
goodix,avdd-name = "vtouch";
|
|
vtouch-supply = <&mt6373_vtp>;
|
|
goodix,reset-gpio = <&pio 3 0x0>;
|
|
goodix,irq-gpio = <&pio 8 0x0>;
|
|
|
|
novatek,reset-gpio = <&pio 3 0x00>;
|
|
novatek,irq-gpio = <&pio 8 0x00>;
|
|
// 525
|
|
//novatek,swrst-n8-addr = <0x01f01a>;
|
|
// 672a, 525b, 675, 526
|
|
novatek,swrst-n8-addr = <0x03f0fe>;
|
|
novatek,spi-rd-fast-addr = <0x03f310>;
|
|
|
|
goodix,irq-flags = <2>; /* 1:rising, 2:falling;*/
|
|
goodix,panel-max-id = <10>;
|
|
goodix,panel-max-x = <1080>;
|
|
goodix,panel-max-y = <2400>;
|
|
goodix,panel-max-w = <256>;
|
|
goodix,panel-max-p = <256>;
|
|
goodix,input-max-x = <1080>;
|
|
goodix,input-max-y = <2400>;
|
|
gt9895,power-voltage = <2800000>;
|
|
goodix,panel-key-map = <158 172 217>; /*BACK,HOMEPAGE,SEARCH*/
|
|
goodix,power-on-delay-us = <10000>; /*10ms*/
|
|
goodix,power-off-delay-us = <5000>;
|
|
gt9895,firmware-name = "gt9895_firmware_6985v01.bin";
|
|
gt9895,config-name = "gt9895_cfg_6985v01.bin";
|
|
goodix,firmware-version = "6983v04";
|
|
goodix,config-version = "6983v04";
|
|
/*goodix,swap-axis;*/
|
|
/*gt9895,x2x;*/
|
|
/*gt9895,y2y;*/
|
|
/*goodix,x2x;*/
|
|
/*goodix,y2y;*/
|
|
goodix,pen-enable;
|
|
tpd-filter-enable = <0>;
|
|
tpd-filter-pixel-density = <161>;
|
|
tpd-filter-custom-prameters = <0 0 0 0 0 0 0 0 0 0 0 0>;
|
|
tpd-filter-custom-speed = <0 0 0>;
|
|
|
|
focaltech,reset-gpio = <&pio 3 0x0>;
|
|
focaltech,irq-gpio = <&pio 8 0x0>;
|
|
focaltech,max-touch-number = <10>;
|
|
focaltech,display-coords = <0 0 1080 2400>;
|
|
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <8 0x2008>;
|
|
avdd-supply = <&mt6373_vtp>;
|
|
fts,config-array-size = <1>;
|
|
fts,pwr-reg-name = "avdd";
|
|
//fts,bus-reg-name = "vdd";
|
|
fts,irq-gpio = <&pio 8 0x0>;
|
|
fts,irq-gpio-name = "fts_irq";
|
|
fts,reset-gpio-enable;
|
|
fts,reset-gpio = <&pio 3 0x0>;
|
|
fts,reset-gpio-name = "fts_rst";
|
|
fts,irq-flags = <0x2008>;/* 1:rising, 2:falling;*/
|
|
fts,x-max = <14400>;/*Super resolution*/
|
|
fts,y-max = <32000>;/*Super resolution*/
|
|
fts,screen-x = <1440>;
|
|
fts,screen-y = <3200>;
|
|
//fts,fod-lx = <4180>;
|
|
//fts,fod-ly = <16810>;
|
|
fts,support-super-resolution = <1>;
|
|
//spi-max-frequency = <12000000>;
|
|
fts,default-fw-name = "st_fts_L11a.ftb";
|
|
fts,old-fw-name = "st_fts_L11.ftb";
|
|
fts,thp-fw-name = "st_fts_L11a_thp.ftb";
|
|
/* fts,touch-up-threshold-min = <40>; */
|
|
/* fts,touch-up-threshold-max = <120>; */
|
|
/* fts,touch-up-threshold-def = <80>; */
|
|
/* fts,touch-tolerance-min = <5>; */
|
|
/* fts,touch-tolerance-max = <35>; */
|
|
/* fts,touch-tolerance-def = <25>;*/
|
|
fts,touch-follow-performance-def = <3>;
|
|
fts,touch-tap-sensitivity-def = <4>;
|
|
fts,touch-aim-sensitivity-def = <3>;
|
|
fts,touch-tap-stability-def = <3>;
|
|
fts,cornerfilter-area-step1 = <100>;
|
|
fts,cornerfilter-area-step2 = <170>;
|
|
fts,cornerfilter-area-step3 = <250>;
|
|
fts,touch-deadzone-filter-ver = <2 0 0 0 0 0 0 0
|
|
2 1 0 0 0 0 0 0
|
|
2 2 0 0 0 2399 0 0
|
|
2 3 1079 0 1079 2399 0 0>;
|
|
fts,touch-deadzone-filter-hor = <2 0 0 0 1079 0 0 0
|
|
2 1 0 2399 1079 2399 0 0
|
|
2 2 0 0 0 2399 0 0
|
|
2 3 1079 0 1079 2399 0 0>;
|
|
fts,touch-edgezone-filter-ver = <1 0 0 0 0 0 0 0
|
|
1 1 0 0 0 0 0 0
|
|
1 2 0 0 40 2339 0 0
|
|
1 3 1039 0 1079 2339 0 0>;
|
|
fts,touch-edgezone-filter-hor = <1 0 0 0 1079 40 0 0
|
|
1 1 0 2359 1079 2399 0 0
|
|
1 2 0 0 40 2399 0 0
|
|
1 3 1039 0 1079 2399 0 0>;
|
|
fts,touch-cornerzone-filter-ver = <0 0 0 0 0 0 0 0
|
|
0 1 0 0 0 0 0 0
|
|
0 2 0 2099 150 2399 0 0
|
|
0 3 929 2099 1079 2399 0 0>;
|
|
fts,touch-cornerzone-filter-hor1 = <0 0 0 0 170 170 0 0
|
|
0 1 0 0 0 0 0 0
|
|
0 2 0 2229 170 2399 0 0
|
|
0 3 0 0 0 0 0 0>;
|
|
fts,touch-cornerzone-filter-hor2 = <0 0 0 0 0 0 0 0
|
|
0 1 909 0 1079 170 0 0
|
|
0 2 0 0 0 0 0 0
|
|
0 3 909 2229 1079 2399 0 0>;
|
|
fts,touch-follow-performance = <10 15 1
|
|
8 15 1
|
|
6 15 1
|
|
4 15 1
|
|
2 15 1>;
|
|
fts,touch-tap-sensitivity = <150 140 130 120 110>;
|
|
fts,touch-aim-sensitivity = <8 6 5 3 2>;
|
|
fts,touch-tap-stability = <8 12 15 18 25>;
|
|
fts,touch-expert-array = <2 15 1 120 3 15
|
|
4 15 1 120 2 15
|
|
6 15 1 120 5 15>;
|
|
fts,cfg {
|
|
fts,tp-vendor = <0x38>;
|
|
fts,tp-color = <0x32>;
|
|
fts,fw-name = "st_fts_L11a.ftb";
|
|
fts,old-fw-name = "st_fts_L11.ftb";
|
|
fts,limit-name = "stm_fts_production_limits.csv";
|
|
};
|
|
};
|
|
};
|
|
|
|
&mt6373_vtp {
|
|
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
&pio {
|
|
ctp_pins_default: eint-default {
|
|
};
|
|
ctp_gt9896s_pins_default: pins-default {
|
|
};
|
|
ctp_ts_int_active: int-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
input-enable;
|
|
};
|
|
};
|
|
ctp_ts_reset_active: reset-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-high;
|
|
};
|
|
};
|
|
ctp_ts_int_suspend: int-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
output-low;
|
|
};
|
|
};
|
|
ctp_ts_reset_suspend: reset-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-low;
|
|
};
|
|
};
|
|
ctp_ts_i2c_mode: i2cmode-default {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO78__FUNC_SCL0>,
|
|
<PINMUX_GPIO79__FUNC_SDA0>;
|
|
};
|
|
};
|
|
ctp_gt9896s_int_active: int1-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
input-enable;
|
|
};
|
|
};
|
|
ctp_gt9896s_reset_active: reset1-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-high;
|
|
};
|
|
};
|
|
ctp_gt9896s_int_suspend: int1-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
output-low;
|
|
};
|
|
};
|
|
ctp_gt9896s_reset_suspend: reset1-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-low;
|
|
};
|
|
};
|
|
ctp_gt9896s_spi_mode: spimode-default {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO164__FUNC_SPI6_B_MI>,
|
|
<PINMUX_GPIO165__FUNC_SPI6_B_CSB>,
|
|
<PINMUX_GPIO166__FUNC_SPI6_B_MO>,
|
|
<PINMUX_GPIO167__FUNC_SPI6_B_CLK>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
ts_int_active: ts-int-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
input-enable;
|
|
};
|
|
};
|
|
ts_reset_active: ts-reset-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-high;
|
|
};
|
|
};
|
|
ts_int_suspend: ts-int-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
output-low;
|
|
};
|
|
};
|
|
ts_reset_suspend: ts-reset-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-low;
|
|
};
|
|
};
|
|
ts_release: ts-release {
|
|
};
|
|
ts_spi_mode: spimode-ftdefault {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO164__FUNC_SPI6_B_MI>,
|
|
<PINMUX_GPIO165__FUNC_SPI6_B_CSB>,
|
|
<PINMUX_GPIO166__FUNC_SPI6_B_MO>,
|
|
<PINMUX_GPIO167__FUNC_SPI6_B_CLK>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
ctp_synaptics_pins_default: synapins-default {
|
|
};
|
|
ts_active: ts-active1 {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
ts_suspend: ts-suspend1 {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
slew-rate = <1>;
|
|
output-low;
|
|
};
|
|
};
|
|
ts_i2c_mode: synai2cmode-default {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO78__FUNC_SCL0>,
|
|
<PINMUX_GPIO79__FUNC_SDA0>;
|
|
};
|
|
};
|
|
|
|
ts_st_reset_active: ts-st-reset-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
output-high;
|
|
};
|
|
};
|
|
ts_st_int_active: ts-st-int-active {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
input-enable;
|
|
};
|
|
};
|
|
ts_st_int_suspend: ts-st-int-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
|
|
slew-rate = <1>;
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
ts_st_reset_suspend: ts-st-reset-suspend {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
|
|
slew-rate = <1>;
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
ts_st_spi_mode: ts-spimode {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO164__FUNC_SPI6_B_MI>,
|
|
<PINMUX_GPIO165__FUNC_SPI6_B_CSB>,
|
|
<PINMUX_GPIO166__FUNC_SPI6_B_MO>,
|
|
<PINMUX_GPIO167__FUNC_SPI6_B_CLK>;
|
|
drive-strength = <2>;
|
|
};
|
|
};
|
|
ts_dvdd_enable: ts-dvddenable {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO118__FUNC_GPIO118>;
|
|
output-high;
|
|
};
|
|
};
|
|
ts_dvdd_disable: ts-dvdddisable {
|
|
pins-cmd-dat {
|
|
pinmux = <PINMUX_GPIO118__FUNC_GPIO118>;
|
|
output-low;
|
|
};
|
|
};
|
|
};
|
|
|
|
&odm {
|
|
tc8_touch: tc8-touch {
|
|
compatible = "tc8sp-touch";
|
|
status = "ok";
|
|
touch,name = "tc8sp-touch";
|
|
};
|
|
};
|
|
/* TOUCH end */
|
|
|