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