1# Copyright 2024 Google LLC
2# SPDX-License-Identifier: Apache-2.0
3
4description: PMW3610 Low Power Laser Mouse Sensor
5
6compatible: "pixart,pmw3610"
7
8include: spi-device.yaml
9
10properties:
11  motion-gpios:
12    type: phandle-array
13    required: true
14    description:
15      GPIO connected to the motion pin, active low.
16
17  reset-gpios:
18    type: phandle-array
19    description:
20      GPIO connected to the reset pin, active low.
21
22  zephyr,axis-x:
23    type: int
24    required: true
25    description: |
26      The input code for the X axis to report for the device, typically any of
27      INPUT_REL_*. No report produced for the device X axis if unspecified.
28
29  zephyr,axis-y:
30    type: int
31    required: true
32    description: |
33      The input code for the Y axis to report for the device, typically any of
34      INPUT_REL_*. No report produced for the device Y axis if unspecified.
35
36  res-cpi:
37    type: int
38    description: |
39      CPI resolution for the sensor, range from 200 to 3200, rounded down to
40      the closest supported value in increments of 200. This can also be
41      changed in runtime using the pmw3610_set_resolution() API.
42
43  invert-x:
44    type: boolean
45    description: |
46      Invert X axis values.
47
48  invert-y:
49    type: boolean
50    description: |
51      Invert Y axis values.
52
53  force-awake:
54    type: boolean
55    description: |
56      Initialize the sensor in "force awake" mode. This can also be enabled or
57      disabled in runtime by the application using the pmw3610_force_awake()
58      API.
59
60  smart-mode:
61    type: boolean
62    description: |
63      Enable the "smart mode" algorithm as described in the device datasheet.
64      This should improve sensor tracking across a wider range of surfaces.
65