xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/input/iqs62x-keys.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/input/iqs62x-keys.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Azoteq IQS620A/621/622/624/625 Keys and Switches
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Jeff LaBundy <jeff@labundy.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  The Azoteq IQS620A, IQS621, IQS622, IQS624 and IQS625 multi-function sensors
14*4882a593Smuzhiyun  feature a variety of self-capacitive, mutual-inductive and Hall-effect sens-
15*4882a593Smuzhiyun  ing capabilities that can facilitate a variety of contactless key and switch
16*4882a593Smuzhiyun  applications.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun  These functions are collectively represented by a "keys" child node from the
19*4882a593Smuzhiyun  parent MFD driver. See Documentation/devicetree/bindings/mfd/iqs62x.yaml for
20*4882a593Smuzhiyun  further details and examples. Sensor hardware configuration (self-capacitive
21*4882a593Smuzhiyun  vs. mutual-inductive, etc.) is selected based on the device's firmware.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunproperties:
24*4882a593Smuzhiyun  compatible:
25*4882a593Smuzhiyun    enum:
26*4882a593Smuzhiyun      - azoteq,iqs620a-keys
27*4882a593Smuzhiyun      - azoteq,iqs621-keys
28*4882a593Smuzhiyun      - azoteq,iqs622-keys
29*4882a593Smuzhiyun      - azoteq,iqs624-keys
30*4882a593Smuzhiyun      - azoteq,iqs625-keys
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun  linux,keycodes:
33*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32-array
34*4882a593Smuzhiyun    minItems: 1
35*4882a593Smuzhiyun    maxItems: 16
36*4882a593Smuzhiyun    description: |
37*4882a593Smuzhiyun      Specifies the numeric keycodes associated with each available touch or
38*4882a593Smuzhiyun      proximity event according to the following table. An 'x' indicates the
39*4882a593Smuzhiyun      event is supported for a given device. Specify 0 for unused events.
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun      -------------------------------------------------------------------------
42*4882a593Smuzhiyun      | #  | Event              | IQS620A | IQS621 | IQS622 | IQS624 | IQS625 |
43*4882a593Smuzhiyun      -------------------------------------------------------------------------
44*4882a593Smuzhiyun      | 0  | CH0 Touch          |    x    |    x   |    x   |    x   |    x   |
45*4882a593Smuzhiyun      |    | Antenna 1 Touch*   |    x    |        |        |        |        |
46*4882a593Smuzhiyun      -------------------------------------------------------------------------
47*4882a593Smuzhiyun      | 1  | CH0 Proximity      |    x    |    x   |    x   |    x   |    x   |
48*4882a593Smuzhiyun      |    | Antenna 1 Prox.*   |    x    |        |        |        |        |
49*4882a593Smuzhiyun      -------------------------------------------------------------------------
50*4882a593Smuzhiyun      | 2  | CH1 Touch          |    x    |    x   |    x   |    x   |    x   |
51*4882a593Smuzhiyun      |    | Ant. 1 Deep Touch* |    x    |        |        |        |        |
52*4882a593Smuzhiyun      -------------------------------------------------------------------------
53*4882a593Smuzhiyun      | 3  | CH1 Proximity      |    x    |    x   |    x   |    x   |    x   |
54*4882a593Smuzhiyun      -------------------------------------------------------------------------
55*4882a593Smuzhiyun      | 4  | CH2 Touch          |    x    |        |        |        |        |
56*4882a593Smuzhiyun      -------------------------------------------------------------------------
57*4882a593Smuzhiyun      | 5  | CH2 Proximity      |    x    |        |        |        |        |
58*4882a593Smuzhiyun      |    | Antenna 2 Prox.*   |    x    |        |        |        |        |
59*4882a593Smuzhiyun      -------------------------------------------------------------------------
60*4882a593Smuzhiyun      | 6  | Metal (+) Touch**  |    x    |    x   |        |        |        |
61*4882a593Smuzhiyun      |    | Ant. 2 Deep Touch* |    x    |        |        |        |        |
62*4882a593Smuzhiyun      -------------------------------------------------------------------------
63*4882a593Smuzhiyun      | 7  | Metal (+) Prox.**  |    x    |    x   |        |        |        |
64*4882a593Smuzhiyun      |    | Antenna 2 Touch*   |    x    |        |        |        |        |
65*4882a593Smuzhiyun      -------------------------------------------------------------------------
66*4882a593Smuzhiyun      | 8  | Metal (-) Touch**  |    x    |    x   |        |        |        |
67*4882a593Smuzhiyun      -------------------------------------------------------------------------
68*4882a593Smuzhiyun      | 9  | Metal (-) Prox.**  |    x    |    x   |        |        |        |
69*4882a593Smuzhiyun      -------------------------------------------------------------------------
70*4882a593Smuzhiyun      | 10 | SAR Active***      |    x    |        |    x   |        |        |
71*4882a593Smuzhiyun      -------------------------------------------------------------------------
72*4882a593Smuzhiyun      | 11 | SAR Quick Rel.***  |    x    |        |    x   |        |        |
73*4882a593Smuzhiyun      -------------------------------------------------------------------------
74*4882a593Smuzhiyun      | 12 | SAR Movement***    |    x    |        |    x   |        |        |
75*4882a593Smuzhiyun      -------------------------------------------------------------------------
76*4882a593Smuzhiyun      | 13 | SAR Filter Halt*** |    x    |        |    x   |        |        |
77*4882a593Smuzhiyun      -------------------------------------------------------------------------
78*4882a593Smuzhiyun      | 14 | Wheel Up           |         |        |        |    x   |        |
79*4882a593Smuzhiyun      -------------------------------------------------------------------------
80*4882a593Smuzhiyun      | 15 | Wheel Down         |         |        |        |    x   |        |
81*4882a593Smuzhiyun      -------------------------------------------------------------------------
82*4882a593Smuzhiyun      *   Two-channel SAR. Replaces CH0-2 plus metal touch and proximity events
83*4882a593Smuzhiyun          if enabled via firmware.
84*4882a593Smuzhiyun      **  "+" and "-" refer to the polarity of a channel's delta (LTA - counts),
85*4882a593Smuzhiyun          where "LTA" is defined as the channel's long-term average.
86*4882a593Smuzhiyun      *** One-channel SAR. Replaces CH0-2 touch and proximity events if enabled
87*4882a593Smuzhiyun          via firmware.
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunpatternProperties:
90*4882a593Smuzhiyun  "^hall-switch-(north|south)$":
91*4882a593Smuzhiyun    type: object
92*4882a593Smuzhiyun    description:
93*4882a593Smuzhiyun      Represents north/south-field Hall-effect sensor touch or proximity
94*4882a593Smuzhiyun      events. Note that north/south-field orientation is reversed on the
95*4882a593Smuzhiyun      IQS620AXzCSR device due to its flip-chip package.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun    properties:
98*4882a593Smuzhiyun      linux,code:
99*4882a593Smuzhiyun        $ref: /schemas/types.yaml#/definitions/uint32
100*4882a593Smuzhiyun        description: Numeric switch code associated with the event.
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun      azoteq,use-prox:
103*4882a593Smuzhiyun        $ref: /schemas/types.yaml#/definitions/flag
104*4882a593Smuzhiyun        description:
105*4882a593Smuzhiyun          If present, specifies that Hall-effect sensor reporting should
106*4882a593Smuzhiyun          use the device's wide-range proximity threshold instead of its
107*4882a593Smuzhiyun          close-range touch threshold (default).
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun    required:
110*4882a593Smuzhiyun      - linux,code
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun    additionalProperties: false
113*4882a593Smuzhiyun
114*4882a593Smuzhiyunif:
115*4882a593Smuzhiyun  properties:
116*4882a593Smuzhiyun    compatible:
117*4882a593Smuzhiyun      contains:
118*4882a593Smuzhiyun        enum:
119*4882a593Smuzhiyun          - azoteq,iqs624-keys
120*4882a593Smuzhiyun          - azoteq,iqs625-keys
121*4882a593Smuzhiyunthen:
122*4882a593Smuzhiyun  patternProperties:
123*4882a593Smuzhiyun    "^hall-switch-(north|south)$": false
124*4882a593Smuzhiyun
125*4882a593Smuzhiyunrequired:
126*4882a593Smuzhiyun  - compatible
127*4882a593Smuzhiyun  - linux,keycodes
128*4882a593Smuzhiyun
129*4882a593SmuzhiyunadditionalProperties: false
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun...
132