18c2ecf20Sopenharmony_ciSTMPE Touchscreen 28c2ecf20Sopenharmony_ci---------------- 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciRequired properties: 58c2ecf20Sopenharmony_ci - compatible: "st,stmpe-ts" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciOptional properties: 88c2ecf20Sopenharmony_ci- st,ave-ctrl : Sample average control 98c2ecf20Sopenharmony_ci 0 -> 1 sample 108c2ecf20Sopenharmony_ci 1 -> 2 samples 118c2ecf20Sopenharmony_ci 2 -> 4 samples 128c2ecf20Sopenharmony_ci 3 -> 8 samples 138c2ecf20Sopenharmony_ci- st,touch-det-delay : Touch detect interrupt delay (recommended is 3) 148c2ecf20Sopenharmony_ci 0 -> 10 us 158c2ecf20Sopenharmony_ci 1 -> 50 us 168c2ecf20Sopenharmony_ci 2 -> 100 us 178c2ecf20Sopenharmony_ci 3 -> 500 us 188c2ecf20Sopenharmony_ci 4 -> 1 ms 198c2ecf20Sopenharmony_ci 5 -> 5 ms 208c2ecf20Sopenharmony_ci 6 -> 10 ms 218c2ecf20Sopenharmony_ci 7 -> 50 ms 228c2ecf20Sopenharmony_ci- st,settling : Panel driver settling time (recommended is 2) 238c2ecf20Sopenharmony_ci 0 -> 10 us 248c2ecf20Sopenharmony_ci 1 -> 100 us 258c2ecf20Sopenharmony_ci 2 -> 500 us 268c2ecf20Sopenharmony_ci 3 -> 1 ms 278c2ecf20Sopenharmony_ci 4 -> 5 ms 288c2ecf20Sopenharmony_ci 5 -> 10 ms 298c2ecf20Sopenharmony_ci 6 -> 50 ms 308c2ecf20Sopenharmony_ci 7 -> 100 ms 318c2ecf20Sopenharmony_ci- st,fraction-z : Length of the fractional part in z (recommended is 7) 328c2ecf20Sopenharmony_ci (fraction-z ([0..7]) = Count of the fractional part) 338c2ecf20Sopenharmony_ci- st,i-drive : current limit value of the touchscreen drivers 348c2ecf20Sopenharmony_ci 0 -> 20 mA (typical 35mA max) 358c2ecf20Sopenharmony_ci 1 -> 50 mA (typical 80 mA max) 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciOptional properties common with MFD (deprecated): 388c2ecf20Sopenharmony_ci - st,sample-time : ADC conversion time in number of clock. 398c2ecf20Sopenharmony_ci 0 -> 36 clocks 408c2ecf20Sopenharmony_ci 1 -> 44 clocks 418c2ecf20Sopenharmony_ci 2 -> 56 clocks 428c2ecf20Sopenharmony_ci 3 -> 64 clocks 438c2ecf20Sopenharmony_ci 4 -> 80 clocks (recommended) 448c2ecf20Sopenharmony_ci 5 -> 96 clocks 458c2ecf20Sopenharmony_ci 6 -> 124 clocks 468c2ecf20Sopenharmony_ci - st,mod-12b : ADC Bit mode 478c2ecf20Sopenharmony_ci 0 -> 10bit ADC 488c2ecf20Sopenharmony_ci 1 -> 12bit ADC 498c2ecf20Sopenharmony_ci - st,ref-sel : ADC reference source 508c2ecf20Sopenharmony_ci 0 -> internal 518c2ecf20Sopenharmony_ci 1 -> external 528c2ecf20Sopenharmony_ci - st,adc-freq : ADC Clock speed 538c2ecf20Sopenharmony_ci 0 -> 1.625 MHz 548c2ecf20Sopenharmony_ci 1 -> 3.25 MHz 558c2ecf20Sopenharmony_ci 2 || 3 -> 6.5 MHz 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ciNode name must be stmpe_touchscreen and should be child node of stmpe node to 588c2ecf20Sopenharmony_ciwhich it belongs. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciNote that common ADC settings of stmpe_touchscreen (child) will take precedence 618c2ecf20Sopenharmony_ciover the settings done in MFD. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciExample: 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_cistmpe811@41 { 668c2ecf20Sopenharmony_ci compatible = "st,stmpe811"; 678c2ecf20Sopenharmony_ci pinctrl-names = "default"; 688c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_touch_int>; 698c2ecf20Sopenharmony_ci #address-cells = <1>; 708c2ecf20Sopenharmony_ci #size-cells = <0>; 718c2ecf20Sopenharmony_ci reg = <0x41>; 728c2ecf20Sopenharmony_ci interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 738c2ecf20Sopenharmony_ci interrupt-parent = <&gpio4>; 748c2ecf20Sopenharmony_ci interrupt-controller; 758c2ecf20Sopenharmony_ci id = <0>; 768c2ecf20Sopenharmony_ci blocks = <0x5>; 778c2ecf20Sopenharmony_ci irq-trigger = <0x1>; 788c2ecf20Sopenharmony_ci /* Common ADC settings */ 798c2ecf20Sopenharmony_ci /* 3.25 MHz ADC clock speed */ 808c2ecf20Sopenharmony_ci st,adc-freq = <1>; 818c2ecf20Sopenharmony_ci /* 12-bit ADC */ 828c2ecf20Sopenharmony_ci st,mod-12b = <1>; 838c2ecf20Sopenharmony_ci /* internal ADC reference */ 848c2ecf20Sopenharmony_ci st,ref-sel = <0>; 858c2ecf20Sopenharmony_ci /* ADC converstion time: 80 clocks */ 868c2ecf20Sopenharmony_ci st,sample-time = <4>; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci stmpe_touchscreen { 898c2ecf20Sopenharmony_ci compatible = "st,stmpe-ts"; 908c2ecf20Sopenharmony_ci reg = <0>; 918c2ecf20Sopenharmony_ci /* 8 sample average control */ 928c2ecf20Sopenharmony_ci st,ave-ctrl = <3>; 938c2ecf20Sopenharmony_ci /* 5 ms touch detect interrupt delay */ 948c2ecf20Sopenharmony_ci st,touch-det-delay = <5>; 958c2ecf20Sopenharmony_ci /* 1 ms panel driver settling time */ 968c2ecf20Sopenharmony_ci st,settling = <3>; 978c2ecf20Sopenharmony_ci /* 7 length fractional part in z */ 988c2ecf20Sopenharmony_ci st,fraction-z = <7>; 998c2ecf20Sopenharmony_ci /* 1008c2ecf20Sopenharmony_ci * 50 mA typical 80 mA max touchscreen drivers 1018c2ecf20Sopenharmony_ci * current limit value 1028c2ecf20Sopenharmony_ci */ 1038c2ecf20Sopenharmony_ci st,i-drive = <1>; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci stmpe_adc { 1068c2ecf20Sopenharmony_ci compatible = "st,stmpe-adc"; 1078c2ecf20Sopenharmony_ci st,norequest-mask = <0x0F>; 1088c2ecf20Sopenharmony_ci }; 1098c2ecf20Sopenharmony_ci}; 110