STMPE Touchscreen ---------------- Required properties: - compatible: "st,stmpe-ts" Optional properties: - st,ave-ctrl : Sample average control 0 -> 1 sample 1 -> 2 samples 2 -> 4 samples 3 -> 8 samples - st,touch-det-delay : Touch detect interrupt delay (recommended is 3) 0 -> 10 us 1 -> 50 us 2 -> 100 us 3 -> 500 us 4 -> 1 ms 5 -> 5 ms 6 -> 10 ms 7 -> 50 ms - st,settling : Panel driver settling time (recommended is 2) 0 -> 10 us 1 -> 100 us 2 -> 500 us 3 -> 1 ms 4 -> 5 ms 5 -> 10 ms 6 -> 50 ms 7 -> 100 ms - st,fraction-z : Length of the fractional part in z (recommended is 7) (fraction-z ([0..7]) = Count of the fractional part) - st,i-drive : current limit value of the touchscreen drivers 0 -> 20 mA (typical 35mA max) 1 -> 50 mA (typical 80 mA max) Optional properties common with MFD (deprecated): - st,sample-time : ADC conversion time in number of clock. 0 -> 36 clocks 1 -> 44 clocks 2 -> 56 clocks 3 -> 64 clocks 4 -> 80 clocks (recommended) 5 -> 96 clocks 6 -> 124 clocks - st,mod-12b : ADC Bit mode 0 -> 10bit ADC 1 -> 12bit ADC - st,ref-sel : ADC reference source 0 -> internal 1 -> external - st,adc-freq : ADC Clock speed 0 -> 1.625 MHz 1 -> 3.25 MHz 2 || 3 -> 6.5 MHz Node name must be stmpe_touchscreen and should be child node of stmpe node to which it belongs. Note that common ADC settings of stmpe_touchscreen (child) will take precedence over the settings done in MFD. Example: stmpe811@41 { compatible = "st,stmpe811"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_touch_int>; #address-cells = <1>; #size-cells = <0>; reg = <0x41>; interrupts = <10 IRQ_TYPE_LEVEL_LOW>; interrupt-parent = <&gpio4>; interrupt-controller; id = <0>; blocks = <0x5>; irq-trigger = <0x1>; /* Common ADC settings */ /* 3.25 MHz ADC clock speed */ st,adc-freq = <1>; /* 12-bit ADC */ st,mod-12b = <1>; /* internal ADC reference */ st,ref-sel = <0>; /* ADC converstion time: 80 clocks */ st,sample-time = <4>; stmpe_touchscreen { compatible = "st,stmpe-ts"; reg = <0>; /* 8 sample average control */ st,ave-ctrl = <3>; /* 5 ms touch detect interrupt delay */ st,touch-det-delay = <5>; /* 1 ms panel driver settling time */ st,settling = <3>; /* 7 length fractional part in z */ st,fraction-z = <7>; /* * 50 mA typical 80 mA max touchscreen drivers * current limit value */ st,i-drive = <1>; }; stmpe_adc { compatible = "st,stmpe-adc"; st,norequest-mask = <0x0F>; }; };