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 $ref: /schemas/types.yaml#/definitions/uint32-array
34 minItems: 1
35 maxItems: 16
36 description: |
37 Specifies the numeric keycodes associated with each available touch or
38 proximity event according to the following table. An 'x' indicates the
39 event is supported for a given device. Specify 0 for unused events.
40
41 -------------------------------------------------------------------------
42 | # | Event | IQS620A | IQS621 | IQS622 | IQS624 | IQS625 |
43 -------------------------------------------------------------------------
44 | 0 | CH0 Touch | x | x | x | x | x |
45 | | Antenna 1 Touch* | x | | | | |
46 -------------------------------------------------------------------------
47 | 1 | CH0 Proximity | x | x | x | x | x |
48 | | Antenna 1 Prox.* | x | | | | |
49 -------------------------------------------------------------------------
50 | 2 | CH1 Touch | x | x | x | x | x |
51 | | Ant. 1 Deep Touch* | x | | | | |
52 -------------------------------------------------------------------------
53 | 3 | CH1 Proximity | x | x | x | x | x |
54 -------------------------------------------------------------------------
55 | 4 | CH2 Touch | x | | | | |
56 -------------------------------------------------------------------------
57 | 5 | CH2 Proximity | x | | | | |
58 | | Antenna 2 Prox.* | x | | | | |
59 -------------------------------------------------------------------------
60 | 6 | Metal (+) Touch** | x | x | | | |
61 | | Ant. 2 Deep Touch* | x | | | | |
62 -------------------------------------------------------------------------
63 | 7 | Metal (+) Prox.** | x | x | | | |
64 | | Antenna 2 Touch* | x | | | | |
65 -------------------------------------------------------------------------
66 | 8 | Metal (-) Touch** | x | x | | | |
67 -------------------------------------------------------------------------
68 | 9 | Metal (-) Prox.** | x | x | | | |
69 -------------------------------------------------------------------------
70 | 10 | SAR Active*** | x | | x | | |
71 -------------------------------------------------------------------------
72 | 11 | SAR Quick Rel.*** | x | | x | | |
73 -------------------------------------------------------------------------
74 | 12 | SAR Movement*** | x | | x | | |
75 -------------------------------------------------------------------------
76 | 13 | SAR Filter Halt*** | x | | x | | |
77 -------------------------------------------------------------------------
78 | 14 | Wheel Up | | | | x | |
79 -------------------------------------------------------------------------
80 | 15 | Wheel Down | | | | x | |
81 -------------------------------------------------------------------------
82 * Two-channel SAR. Replaces CH0-2 plus metal touch and proximity events
83 if enabled via firmware.
84 ** "+" and "-" refer to the polarity of a channel's delta (LTA - counts),
85 where "LTA" is defined as the channel's long-term average.
86 *** One-channel SAR. Replaces CH0-2 touch and proximity events if enabled
87 via firmware.
88
89patternProperties:
90 "^hall-switch-(north|south)$":
91 type: object
92 description:
93 Represents north/south-field Hall-effect sensor touch or proximity
94 events. Note that north/south-field orientation is reversed on the
95 IQS620AXzCSR device due to its flip-chip package.
96
97 properties:
98 linux,code:
99 $ref: /schemas/types.yaml#/definitions/uint32
100 description: Numeric switch code associated with the event.
101
102 azoteq,use-prox:
103 $ref: /schemas/types.yaml#/definitions/flag
104 description:
105 If present, specifies that Hall-effect sensor reporting should
106 use the device's wide-range proximity threshold instead of its
107 close-range touch threshold (default).
108
109 required:
110 - linux,code
111
112 additionalProperties: false
113
114if:
115 properties:
116 compatible:
117 contains:
118 enum:
119 - azoteq,iqs624-keys
120 - azoteq,iqs625-keys
121then:
122 patternProperties:
123 "^hall-switch-(north|south)$": false
124
125required:
126 - compatible
127 - linux,keycodes
128
129additionalProperties: false
130
131...