~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/input/syna,rmi4.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/input/syna,rmi4.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Synaptics RMI4 compliant devices
  8 
  9 maintainers:
 10   - Jason A. Donenfeld <Jason@zx2c4.com>
 11   - Matthias Schiffer <matthias.schiffer@ew.tq-group.com
 12   - Vincent Huang <vincent.huang@tw.synaptics.com>
 13 
 14 description: |
 15   The Synaptics RMI4 (Register Mapped Interface 4) core is able to support RMI4
 16   devices using different transports (I2C, SPI) and different functions (e.g.
 17   Function 1, 2D sensors using Function 11 or 12).
 18 
 19 properties:
 20   compatible:
 21     enum:
 22       - syna,rmi4-i2c
 23       - syna,rmi4-spi
 24 
 25   reg:
 26     maxItems: 1
 27 
 28   '#address-cells':
 29     const: 1
 30 
 31   '#size-cells':
 32     const: 0
 33 
 34   interrupts:
 35     maxItems: 1
 36 
 37   reset-gpios:
 38     maxItems: 1
 39     description: Active low signal
 40 
 41   spi-cpha: true
 42   spi-cpol: true
 43 
 44   syna,reset-delay-ms:
 45     description:
 46       Delay to wait after resetting the device.
 47 
 48   syna,startup-delay-ms:
 49     description:
 50       Delay to wait after powering on the device.
 51 
 52   vdd-supply: true
 53   vio-supply: true
 54 
 55   rmi4-f01@1:
 56     type: object
 57     additionalProperties: false
 58     description:
 59       Function 1
 60 
 61     properties:
 62       reg:
 63         maxItems: 1
 64 
 65       syna,nosleep-mode:
 66         $ref: /schemas/types.yaml#/definitions/uint32
 67         enum: [0, 1, 2]
 68         description:
 69           If set the device will run at full power without sleeping.  nosleep
 70           has 3 modes, 0 will not change the default setting, 1 will disable
 71           nosleep (allow sleeping), and 2 will enable nosleep (disabling
 72           sleep).
 73 
 74       syna,wakeup-threshold:
 75         $ref: /schemas/types.yaml#/definitions/uint32
 76         description:
 77           Defines the amplitude of the disturbance to the background
 78           capacitance that will cause the device to wake from dozing.
 79 
 80       syna,doze-holdoff-ms:
 81         description:
 82           The delay to wait after the last finger lift and the first doze
 83           cycle.
 84 
 85       syna,doze-interval-ms:
 86         description:
 87           The time period that the device sleeps between finger activity.
 88 
 89     required:
 90       - reg
 91 
 92 patternProperties:
 93   "^rmi4-f1[12]@1[12]$":
 94     type: object
 95     unevaluatedProperties: false
 96     $ref: /schemas/input/touchscreen/touchscreen.yaml#
 97     description:
 98       RMI4 Function 11 and Function 12 are for 2D touch position sensing.
 99 
100     properties:
101       reg:
102         maxItems: 1
103 
104       syna,clip-x-low:
105         $ref: /schemas/types.yaml#/definitions/uint32
106         description:
107           Minimum value for X.
108 
109       syna,clip-y-low:
110         $ref: /schemas/types.yaml#/definitions/uint32
111         description:
112           Minimum value for Y.
113 
114       syna,clip-x-high:
115         $ref: /schemas/types.yaml#/definitions/uint32
116         description:
117           Maximum value for X.
118 
119       syna,clip-y-high:
120         $ref: /schemas/types.yaml#/definitions/uint32
121         description:
122           Maximum value for Y.
123 
124       syna,offset-x:
125         $ref: /schemas/types.yaml#/definitions/uint32
126         description:
127           Add an offset to X.
128 
129       syna,offset-y:
130         $ref: /schemas/types.yaml#/definitions/uint32
131         description:
132           Add an offset to Y.
133 
134       syna,delta-x-threshold:
135         $ref: /schemas/types.yaml#/definitions/uint32
136         description:
137           Minimum distance on the X axis required to generate an interrupt in
138           reduced reporting mode.
139 
140       syna,delta-y-threshold:
141         $ref: /schemas/types.yaml#/definitions/uint32
142         description:
143           Minimum distance on the Y axis required to generate an interrupt in
144           reduced reporting mode.
145 
146       syna,sensor-type:
147         $ref: /schemas/types.yaml#/definitions/uint32
148         enum: [1, 2]
149         description: |
150           Sensor type: 1 for touchscreen 2 for touchpad.
151 
152       syna,disable-report-mask:
153         $ref: /schemas/types.yaml#/definitions/uint32
154         description:
155           Mask for disabling posiiton reporting. Used to disable reporing
156           absolute position data.
157 
158       syna,rezero-wait-ms:
159         description:
160           Time to wait after issuing a rezero command.
161 
162     required:
163       - reg
164 
165   "^rmi4-f[0-9a-f]+@[0-9a-f]+$":
166     type: object
167     additionalProperties: true
168 
169     description:
170       Other functions, not documented yet.
171 
172     properties:
173       reg:
174         maxItems: 1
175 
176     required:
177       - reg
178 
179 required:
180   - compatible
181   - reg
182 
183 unevaluatedProperties: false
184 
185 allOf:
186   - $ref: /schemas/spi/spi-peripheral-props.yaml#
187 
188   - if:
189       properties:
190         compatible:
191           contains:
192             const: syna,rmi4-i2c
193     then:
194       properties:
195         spi-rx-delay-us: false
196         spi-tx-delay-us: false
197     else:
198       properties:
199         syna,reset-delay-ms: false
200         syna,startup-delay-ms: false
201 
202 examples:
203   - |
204     #include <dt-bindings/interrupt-controller/irq.h>
205 
206     i2c {
207         #address-cells = <1>;
208         #size-cells = <0>;
209 
210         touchscreen@20 {
211             compatible = "syna,rmi4-i2c";
212             reg = <0x20>;
213             interrupt-parent = <&gpx1>;
214             interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
215 
216             syna,startup-delay-ms = <100>;
217             vdd-supply = <&tsp_vdd>;
218             vio-supply = <&ldo32_reg>;
219 
220             pinctrl-0 = <&touch_irq>;
221             pinctrl-names = "default";
222             #address-cells = <1>;
223             #size-cells = <0>;
224 
225             rmi4-f01@1 {
226                 reg = <0x1>;
227                 syna,nosleep-mode = <1>;
228             };
229 
230             rmi4-f12@12 {
231                 reg = <0x12>;
232                 syna,sensor-type = <1>;
233             };
234 
235             rmi4-f1a@1a {
236                 reg = <0x1a>;
237             };
238         };
239     };
240 
241   - |
242     #include <dt-bindings/interrupt-controller/irq.h>
243 
244     spi {
245         #address-cells = <1>;
246         #size-cells = <0>;
247 
248         touchscreen@0 {
249             compatible = "syna,rmi4-spi";
250             reg = <0x0>;
251             interrupt-parent = <&gpx1>;
252             interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
253 
254             spi-max-frequency = <4000000>;
255             spi-rx-delay-us = <30>;
256             spi-cpha;
257             spi-cpol;
258 
259             #address-cells = <1>;
260             #size-cells = <0>;
261 
262             rmi4-f01@1 {
263                 reg = <0x1>;
264                 syna,nosleep-mode = <1>;
265             };
266 
267             rmi4-f11@11 {
268                 reg = <0x11>;
269                 touchscreen-inverted-y;
270                 syna,sensor-type = <2>;
271             };
272         };
273     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php