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