# 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 ...