3d21a46093
json-schema versions draft7 and earlier have a weird behavior in that any keywords combined with a '$ref' are ignored (silently). The correct form was to put a '$ref' under an 'allOf'. This behavior is now changed in the 2019-09 json-schema spec and '$ref' can be mixed with other keywords. The json-schema library doesn't yet support this, but the tooling now does a fixup for this and either way works. This has been a constant source of review comments, so let's change this treewide so everyone copies the simpler syntax. Scripted with ruamel.yaml with some manual fixups. Some minor whitespace changes from the script. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Maxime Ripard <mripard@kernel.org> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> # for I2C Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio Reviewed-by: Stephen Boyd <sboyd@kernel.org> # clock Signed-off-by: Rob Herring <robh@kernel.org>
132 lines
6.0 KiB
YAML
132 lines
6.0 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>
|
|
|
|
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:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
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
|
|
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:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: Numeric switch code associated with the event.
|
|
|
|
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
|
|
|
|
...
|