1*4882a593SmuzhiyunSTMPE Touchscreen 2*4882a593Smuzhiyun---------------- 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunRequired properties: 5*4882a593Smuzhiyun - compatible: "st,stmpe-ts" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunOptional properties: 8*4882a593Smuzhiyun- st,ave-ctrl : Sample average control 9*4882a593Smuzhiyun 0 -> 1 sample 10*4882a593Smuzhiyun 1 -> 2 samples 11*4882a593Smuzhiyun 2 -> 4 samples 12*4882a593Smuzhiyun 3 -> 8 samples 13*4882a593Smuzhiyun- st,touch-det-delay : Touch detect interrupt delay (recommended is 3) 14*4882a593Smuzhiyun 0 -> 10 us 15*4882a593Smuzhiyun 1 -> 50 us 16*4882a593Smuzhiyun 2 -> 100 us 17*4882a593Smuzhiyun 3 -> 500 us 18*4882a593Smuzhiyun 4 -> 1 ms 19*4882a593Smuzhiyun 5 -> 5 ms 20*4882a593Smuzhiyun 6 -> 10 ms 21*4882a593Smuzhiyun 7 -> 50 ms 22*4882a593Smuzhiyun- st,settling : Panel driver settling time (recommended is 2) 23*4882a593Smuzhiyun 0 -> 10 us 24*4882a593Smuzhiyun 1 -> 100 us 25*4882a593Smuzhiyun 2 -> 500 us 26*4882a593Smuzhiyun 3 -> 1 ms 27*4882a593Smuzhiyun 4 -> 5 ms 28*4882a593Smuzhiyun 5 -> 10 ms 29*4882a593Smuzhiyun 6 -> 50 ms 30*4882a593Smuzhiyun 7 -> 100 ms 31*4882a593Smuzhiyun- st,fraction-z : Length of the fractional part in z (recommended is 7) 32*4882a593Smuzhiyun (fraction-z ([0..7]) = Count of the fractional part) 33*4882a593Smuzhiyun- st,i-drive : current limit value of the touchscreen drivers 34*4882a593Smuzhiyun 0 -> 20 mA (typical 35mA max) 35*4882a593Smuzhiyun 1 -> 50 mA (typical 80 mA max) 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunOptional properties common with MFD (deprecated): 38*4882a593Smuzhiyun - st,sample-time : ADC conversion time in number of clock. 39*4882a593Smuzhiyun 0 -> 36 clocks 40*4882a593Smuzhiyun 1 -> 44 clocks 41*4882a593Smuzhiyun 2 -> 56 clocks 42*4882a593Smuzhiyun 3 -> 64 clocks 43*4882a593Smuzhiyun 4 -> 80 clocks (recommended) 44*4882a593Smuzhiyun 5 -> 96 clocks 45*4882a593Smuzhiyun 6 -> 124 clocks 46*4882a593Smuzhiyun - st,mod-12b : ADC Bit mode 47*4882a593Smuzhiyun 0 -> 10bit ADC 48*4882a593Smuzhiyun 1 -> 12bit ADC 49*4882a593Smuzhiyun - st,ref-sel : ADC reference source 50*4882a593Smuzhiyun 0 -> internal 51*4882a593Smuzhiyun 1 -> external 52*4882a593Smuzhiyun - st,adc-freq : ADC Clock speed 53*4882a593Smuzhiyun 0 -> 1.625 MHz 54*4882a593Smuzhiyun 1 -> 3.25 MHz 55*4882a593Smuzhiyun 2 || 3 -> 6.5 MHz 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunNode name must be stmpe_touchscreen and should be child node of stmpe node to 58*4882a593Smuzhiyunwhich it belongs. 59*4882a593Smuzhiyun 60*4882a593SmuzhiyunNote that common ADC settings of stmpe_touchscreen (child) will take precedence 61*4882a593Smuzhiyunover the settings done in MFD. 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunExample: 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunstmpe811@41 { 66*4882a593Smuzhiyun compatible = "st,stmpe811"; 67*4882a593Smuzhiyun pinctrl-names = "default"; 68*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_touch_int>; 69*4882a593Smuzhiyun #address-cells = <1>; 70*4882a593Smuzhiyun #size-cells = <0>; 71*4882a593Smuzhiyun reg = <0x41>; 72*4882a593Smuzhiyun interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 73*4882a593Smuzhiyun interrupt-parent = <&gpio4>; 74*4882a593Smuzhiyun interrupt-controller; 75*4882a593Smuzhiyun id = <0>; 76*4882a593Smuzhiyun blocks = <0x5>; 77*4882a593Smuzhiyun irq-trigger = <0x1>; 78*4882a593Smuzhiyun /* Common ADC settings */ 79*4882a593Smuzhiyun /* 3.25 MHz ADC clock speed */ 80*4882a593Smuzhiyun st,adc-freq = <1>; 81*4882a593Smuzhiyun /* 12-bit ADC */ 82*4882a593Smuzhiyun st,mod-12b = <1>; 83*4882a593Smuzhiyun /* internal ADC reference */ 84*4882a593Smuzhiyun st,ref-sel = <0>; 85*4882a593Smuzhiyun /* ADC converstion time: 80 clocks */ 86*4882a593Smuzhiyun st,sample-time = <4>; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun stmpe_touchscreen { 89*4882a593Smuzhiyun compatible = "st,stmpe-ts"; 90*4882a593Smuzhiyun reg = <0>; 91*4882a593Smuzhiyun /* 8 sample average control */ 92*4882a593Smuzhiyun st,ave-ctrl = <3>; 93*4882a593Smuzhiyun /* 5 ms touch detect interrupt delay */ 94*4882a593Smuzhiyun st,touch-det-delay = <5>; 95*4882a593Smuzhiyun /* 1 ms panel driver settling time */ 96*4882a593Smuzhiyun st,settling = <3>; 97*4882a593Smuzhiyun /* 7 length fractional part in z */ 98*4882a593Smuzhiyun st,fraction-z = <7>; 99*4882a593Smuzhiyun /* 100*4882a593Smuzhiyun * 50 mA typical 80 mA max touchscreen drivers 101*4882a593Smuzhiyun * current limit value 102*4882a593Smuzhiyun */ 103*4882a593Smuzhiyun st,i-drive = <1>; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun stmpe_adc { 106*4882a593Smuzhiyun compatible = "st,stmpe-adc"; 107*4882a593Smuzhiyun st,norequest-mask = <0x0F>; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun}; 110