1# Copyright (c) 2024 Ilia Kharin
2# SPDX-License-Identifier: Apache-2.0
3
4description: Cirque Pinnacle 1CA027 ASIC trackpad
5
6properties:
7  data-ready-gpios:
8    type: phandle-array
9    description: |
10      Data Ready (DR) GPIO pin. The DR pin is connected to Pinnacle HW_DR
11      which is active high when SW_DR or SW_CC are asserted. If connected
12      directly, the MCU pin should be configured as active low.
13
14  sensitivity:
15    type: string
16    default: "4x"
17    description: |
18      ADC attenuation, 1x is the most sensitive and 4x is the least sensitive.
19    enum:
20      - "1x"
21      - "2x"
22      - "3x"
23      - "4x"
24
25  data-mode:
26    type: string
27    default: "relative"
28    description: |
29      Data output mode in which position is reported. In the relative mode
30      each position is reported as relative to the last position. In the
31      absolute mode absolute coordinates are reported.
32    enum:
33      - "absolute"
34      - "relative"
35
36  idle-packets-count:
37    type: int
38    default: 0
39    description: |
40      The number of empty packets where both X and Y are set to 0. They are
41      started to be sent when a finger presence is detected missing (no touch
42      detected) every 10 ms. They are stopped to be sent when a finger presence
43      it detected. An application can count these packets in order to detect
44      taps. When set to 0, no empty packets are sent. Supported values from 0
45      to 255.
46
47  clipping-enable:
48    type: boolean
49    description: |
50      In the absolute mode enable clipping of reported coordinates which are
51      outside of the active range.
52
53  active-range-x-min:
54    type: int
55    default: 128
56    description: |
57      The minimum X value which can be reported.
58
59  active-range-x-max:
60    type: int
61    default: 1920
62    description: |
63      The maximum X value which can be reported.
64
65  active-range-y-min:
66    type: int
67    default: 64
68    description: |
69      The minimum Y value which can be reported.
70
71  active-range-y-max:
72    type: int
73    default: 1472
74    description: |
75      The maximum Y value which can be reported.
76
77  scaling-enable:
78    type: boolean
79    description: |
80      In the absolute mode enable scaling of coordinates according to
81      the specified resolution for X and Y axises. The scaling is applied only
82      when the clipping is enabled.
83
84  scaling-x-resolution:
85    type: int
86    default: 1024
87    description: Resolution for the X axis.
88
89  scaling-y-resolution:
90    type: int
91    default: 1024
92    description: Resolution for the Y axis.
93
94  invert-x:
95    type: boolean
96    description: |
97      In the absolute mode invert X coordinate.
98
99  invert-y:
100    type: boolean
101    description: |
102      In the absolute mode invert Y coordinate.
103
104  primary-tap-enable:
105    type: boolean
106    description: |
107      In the relative mode enable the primary tap.
108
109  swap-xy:
110    type: boolean
111    description: |
112      In the relative mode swap X and Y coordinates. This is equivalent for
113      rotating coordinates by 90 degrees.
114