133 lines
5.9 KiB
YAML
133 lines
5.9 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/input/iqs62x-keys.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Azoteq IQS620A/621/622/624/625 Keys and Switches
|
||
|
|
||
|
maintainers:
|
||
|
- Jeff LaBundy <jeff@labundy.com>
|
||
|
|
||
|
allOf:
|
||
|
- $ref: input.yaml#
|
||
|
|
||
|
description: |
|
||
|
The Azoteq IQS620A, IQS621, IQS622, IQS624 and IQS625 multi-function sensors
|
||
|
feature a variety of self-capacitive, mutual-inductive and Hall-effect sens-
|
||
|
ing capabilities that can facilitate a variety of contactless key and switch
|
||
|
applications.
|
||
|
|
||
|
These functions are collectively represented by a "keys" child node from the
|
||
|
parent MFD driver. See Documentation/devicetree/bindings/mfd/iqs62x.yaml for
|
||
|
further details and examples. Sensor hardware configuration (self-capacitive
|
||
|
vs. mutual-inductive, etc.) is selected based on the device's firmware.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- azoteq,iqs620a-keys
|
||
|
- azoteq,iqs621-keys
|
||
|
- azoteq,iqs622-keys
|
||
|
- azoteq,iqs624-keys
|
||
|
- azoteq,iqs625-keys
|
||
|
|
||
|
linux,keycodes:
|
||
|
minItems: 1
|
||
|
maxItems: 16
|
||
|
description: |
|
||
|
Specifies the numeric keycodes associated with each available touch or
|
||
|
proximity event according to the following table. An 'x' indicates the
|
||
|
event is supported for a given device. Specify 0 for unused events.
|
||
|
|
||
|
-------------------------------------------------------------------------
|
||
|
| # | Event | IQS620A | IQS621 | IQS622 | IQS624 | IQS625 |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 0 | CH0 Touch | x | x | x | x | x |
|
||
|
| | Antenna 1 Touch* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 1 | CH0 Proximity | x | x | x | x | x |
|
||
|
| | Antenna 1 Prox.* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 2 | CH1 Touch | x | x | x | x | x |
|
||
|
| | Ant. 1 Deep Touch* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 3 | CH1 Proximity | x | x | x | x | x |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 4 | CH2 Touch | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 5 | CH2 Proximity | x | | | | |
|
||
|
| | Antenna 2 Prox.* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 6 | Metal (+) Touch** | x | x | | | |
|
||
|
| | Ant. 2 Deep Touch* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 7 | Metal (+) Prox.** | x | x | | | |
|
||
|
| | Antenna 2 Touch* | x | | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 8 | Metal (-) Touch** | x | x | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 9 | Metal (-) Prox.** | x | x | | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 10 | SAR Active*** | x | | x | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 11 | SAR Quick Rel.*** | x | | x | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 12 | SAR Movement*** | x | | x | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 13 | SAR Filter Halt*** | x | | x | | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 14 | Wheel Up | | | | x | |
|
||
|
-------------------------------------------------------------------------
|
||
|
| 15 | Wheel Down | | | | x | |
|
||
|
-------------------------------------------------------------------------
|
||
|
* Two-channel SAR. Replaces CH0-2 plus metal touch and proximity events
|
||
|
if enabled via firmware.
|
||
|
** "+" and "-" refer to the polarity of a channel's delta (LTA - counts),
|
||
|
where "LTA" is defined as the channel's long-term average.
|
||
|
*** One-channel SAR. Replaces CH0-2 touch and proximity events if enabled
|
||
|
via firmware.
|
||
|
|
||
|
patternProperties:
|
||
|
"^hall-switch-(north|south)$":
|
||
|
type: object
|
||
|
$ref: input.yaml#
|
||
|
description:
|
||
|
Represents north/south-field Hall-effect sensor touch or proximity
|
||
|
events. Note that north/south-field orientation is reversed on the
|
||
|
IQS620AXzCSR device due to its flip-chip package.
|
||
|
|
||
|
properties:
|
||
|
linux,code: true
|
||
|
|
||
|
azoteq,use-prox:
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
description:
|
||
|
If present, specifies that Hall-effect sensor reporting should
|
||
|
use the device's wide-range proximity threshold instead of its
|
||
|
close-range touch threshold (default).
|
||
|
|
||
|
required:
|
||
|
- linux,code
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- azoteq,iqs624-keys
|
||
|
- azoteq,iqs625-keys
|
||
|
then:
|
||
|
patternProperties:
|
||
|
"^hall-switch-(north|south)$": false
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- linux,keycodes
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
...
|