hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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>;
   };
};