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