Spracherkennung für: .yaml vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
# SPDX-License-Identifier: (GPL-
2.
0 OR BSD-
2-Clause)
%YAML
1.
2
---
$id:
http://devicetree.org/schemas/input/iqs626a.yaml#
$schema:
http://devicetree.org/meta-schemas/core.yaml#
title: Azoteq IQS626A Capacitive Touch Controller
maintainers:
- Jeff LaBundy <jeff@labundy.com>
description: |
The Azoteq IQS626A is a
14-channel capacitive touch controller that features
additional Hall-effect and inductive sensing capabilities.
Link to datasheet:
https://www.azoteq.com/
allOf:
- $ref: touchscreen/touchscreen.yaml#
properties:
compatible:
const: azoteq,iqs626a
reg:
maxItems:
1
interrupts:
maxItems:
1
"#address-cells":
const:
1
"#size-cells":
const:
0
azoteq,suspend-mode:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the power mode during suspend as follows:
0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
1: Low power (all sensing at a reduced reporting rate)
2: Ultra-low power (ULP channel proximity sensing)
3: Halt (no sensing)
azoteq,clk-div:
type: boolean
description: Divides the device's core clock by a factor of
4.
azoteq,ulp-enable:
type: boolean
description:
Permits the device to automatically enter ultra-low-power mode from low-
power mode.
azoteq,ulp-update:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3,
4,
5,
6,
7]
default:
3
description: |
Specifies the rate at which the trackpad, generic and Hall channels are
updated during ultra-low-power mode as follows:
0:
8
1:
13
2:
28
3:
54
4:
89
5:
135
6:
190
7:
256
azoteq,ati-band-disable:
type: boolean
description: Disables the ATI band check.
azoteq,ati-lp-only:
type: boolean
description: Limits automatic ATI to low-power mode.
azoteq,gpio3-select:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3,
4,
5,
6,
7]
default:
1
description: |
Selects the channel or group of channels for which the GPIO3 pin
represents touch state as follows:
0: None
1: ULP channel
2: Trackpad
3: Trackpad
4: Generic channel
0
5: Generic channel
1
6: Generic channel
2
7: Hall channel
azoteq,reseed-select:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the event(s) that prompt the device to reseed (i.e. reset the
long-term average) of an associated channel as follows:
0: None
1: Proximity
2: Proximity or touch
3: Proximity, touch or deep touch
azoteq,thresh-extend:
type: boolean
description: Multiplies all touch and deep-touch thresholds by
4.
azoteq,tracking-enable:
type: boolean
description:
Enables all associated channels to track their respective reference
channels.
azoteq,reseed-offset:
type: boolean
description:
Applies an
8-count offset to all long-term averages upon either ATI or
reseed events.
azoteq,rate-np-ms:
minimum:
0
maximum:
255
default:
150
description: Specifies the report rate (in ms) during normal-power mode.
azoteq,rate-lp-ms:
minimum:
0
maximum:
255
default:
150
description: Specifies the report rate (in ms) during low-power mode.
azoteq,rate-ulp-ms:
multipleOf:
16
minimum:
0
maximum:
4080
default:
0
description: Specifies the report rate (in ms) during ultra-low-power mode.
azoteq,timeout-pwr-ms:
multipleOf:
512
minimum:
0
maximum:
130560
default:
2560
description:
Specifies the length of time (in ms) to wait for an event before moving
from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
present) from low-power mode to ultra-low-power mode.
azoteq,timeout-lta-ms:
multipleOf:
512
minimum:
0
maximum:
130560
default:
40960
description:
Specifies the length of time (in ms) to wait before resetting the long-
term average of all channels. Specify the maximum timeout to disable it
altogether.
touchscreen-inverted-x: true
touchscreen-inverted-y: true
touchscreen-swapped-x-y: true
patternProperties:
"^ulp-
0|generic-[
0-
2]|hall$":
type: object
description:
Represents a single sensing channel. A channel is active if defined and
inactive otherwise.
properties:
azoteq,ati-exclude:
type: boolean
description:
Prevents the channel from participating in an ATI event that is
manually triggered during initialization.
azoteq,reseed-disable:
type: boolean
description:
Prevents the channel from being reseeded if the long-term average
timeout (defined in 'azoteq,timeout-lta') expires.
azoteq,meas-cap-decrease:
type: boolean
description:
Decreases the internal measurement capacitance from
60 pF to
15 pF.
azoteq,rx-inactive:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2]
default:
0
description: |
Specifies how inactive CRX pins are to be terminated as follows:
0: VSS
1: Floating
2: VREG (generic channels only)
azoteq,linearize:
type: boolean
description:
Enables linearization of the channel's counts (generic and Hall
channels) or inverts the polarity of the channel's proximity or
touch states (ULP channel).
azoteq,dual-direction:
type: boolean
description:
Specifies that the channel's long-term average is to freeze in the
presence of either increasing or decreasing counts, thereby permit-
ting events to be reported in either direction.
azoteq,filt-disable:
type: boolean
description: Disables raw count filtering for the channel.
azoteq,ati-mode:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
description: |
Specifies the channel's ATI mode as follows:
0: Disabled
1: Semi-partial
2: Partial
3: Full
The default value is a function of the channel and the device's reset
user interface (RUI); reference the datasheet for further information
about the available RUI options.
azoteq,ati-base:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
75,
100,
150,
200]
description:
Specifies the channel's ATI base. The default value is a function
of the channel and the device's RUI.
azoteq,ati-target:
$ref: /schemas/types.yaml#/definitions/uint32
multipleOf:
32
minimum:
0
maximum:
2016
description:
Specifies the channel's ATI target. The default value is a function
of the channel and the device's RUI.
azoteq,cct-increase:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
16
default:
0
description:
Specifies the degree to which the channel's charge cycle time is to
be increased, with
0 representing no increase. The maximum value is
limited to
4 in the case of the ULP channel, and the property is un-
available entirely in the case of the Hall channel.
azoteq,proj-bias:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the bias current applied during projected-capacitance
sensing as follows:
0:
2.
5 uA
1:
5 uA
2:
10 uA
3:
20 uA
This property is unavailable in the case of the Hall channel.
azoteq,sense-freq:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
description: |
Specifies the channel's sensing frequency as follows (parenthesized
numbers represent the frequency if 'azoteq,clk-div' is present):
0:
4 MHz (
1 MHz)
1:
2 MHz (
500 kHz)
2:
1 MHz (
250 kHz)
3:
500 kHz (
125 kHz)
This property is unavailable in the case of the Hall channel. The
default value is a function of the channel and the device's RUI.
azoteq,ati-band-tighten:
type: boolean
description:
Tightens the ATI band from
1/
8 to
1/
16 of the desired target (ULP and
generic channels only).
azoteq,proj-enable:
type: boolean
description: Enables projected-capacitance sensing (ULP channel only).
azoteq,filt-str-np-cnt:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the raw count filter strength during normal-power mode (ULP
and generic channels only).
azoteq,filt-str-lp-cnt:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the raw count filter strength during low-power mode (ULP and
generic channels only).
azoteq,filt-str-np-lta:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the long-term average filter strength during normal-power
mode (ULP and generic channels only).
azoteq,filt-str-lp-lta:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the long-term average filter strength during low-power mode
(ULP and generic channels only).
azoteq,rx-enable:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems:
1
maxItems:
8
items:
minimum:
0
maximum:
7
description:
Specifies the CRX pin(s) associated with the channel.
This property is unavailable in the case of the Hall channel. The
default value is a function of the channel and the device's RUI.
azoteq,tx-enable:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems:
1
maxItems:
8
items:
minimum:
0
maximum:
7
description:
Specifies the TX pin(s) associated with the channel.
This property is unavailable in the case of the Hall channel. The
default value is a function of the channel and the device's RUI.
azoteq,local-cap-size:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3,
4]
default:
0
description: |
Specifies the capacitance to be added to the channel as follows:
0:
0 pF
1:
0.
5 pF
2:
1.
0 pF
3:
1.
5 pF
4:
2.
0 pF
This property is unavailable in the case of the ULP or Hall channels.
azoteq,sense-mode:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
8,
9,
12,
14,
15]
description: |
Specifies the channel's sensing mode as follows:
0: Self capacitance
1: Projected capacitance
8: Self inductance
9: Mutual inductance
12: External
14: Hall effect
15: Temperature
This property is unavailable in the case of the ULP or Hall channels.
The default value is a function of the channel and the device's RUI.
azoteq,tx-freq:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the inductive sensing excitation frequency as follows
(parenthesized numbers represent the frequency if 'azoteq,clk-div'
is present):
0:
16 MHz (
4 MHz)
1:
8 MHz (
2 MHz)
2:
4 MHz (
1 MHz)
3:
2 MHz (
500 kHz)
This property is unavailable in the case of the ULP or Hall channels.
azoteq,invert-enable:
type: boolean
description:
Inverts the polarity of the states reported for proximity, touch and
deep-touch events relative to their respective thresholds (generic
channels only).
azoteq,comp-disable:
type: boolean
description:
Disables compensation for the channel (generic channels only).
azoteq,static-enable:
type: boolean
description:
Enables the static front-end for the channel (generic channels only).
azoteq,assoc-select:
$ref: /schemas/types.yaml#/definitions/string-array
minItems:
1
maxItems:
6
items:
enum:
- ulp-
0
- trackpad-
3x2
- trackpad-
3x3
- generic-
0
- generic-
1
- generic-
2
- hall
description:
Specifies the associated channels for which the channel serves as a
reference channel. By default, no channels are selected. This prop-
erty is only available for the generic channels.
azoteq,assoc-weight:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
255
default:
0
description:
Specifies the channel's impact weight if it acts as an associated
channel (
0 =
0% impact,
255 =
200% impact). This property is only
available for the generic channels.
patternProperties:
"^event-(prox|touch|deep)(-alt)?$":
type: object
$ref: input.yaml#
description:
Represents a proximity, touch or deep-touch event reported by the
channel in response to a decrease in counts. Node names suffixed with
'-alt' instead correspond to an increase in counts.
By default, the long-term average tracks an increase in counts such
that only events corresponding to a decrease in counts are reported
(refer to the datasheet for more information).
Specify 'azoteq,dual-direction' to freeze the long-term average when
the counts increase or decrease such that events of either direction
can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
vert the polarity of the states reported by the channel.
Complementary events (e.g. event-touch and event-touch-alt) can both
be present and specify different key or switch codes, but not differ-
ent thresholds or hysteresis (if applicable).
Proximity events are unavailable in the case of the Hall channel, and
deep-touch events are only available for the generic channels. Unless
otherwise specified, default values are a function of the channel and
the device's RUI.
properties:
azoteq,thresh:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
255
description: Specifies the threshold for the event.
azoteq,hyst:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
15
description:
Specifies the hysteresis for the event (touch and deep-touch
events only).
linux,code: true
linux,input-type:
enum: [
1,
5]
description:
Specifies whether the event is to be interpreted as a key (
1) or
a switch (
5). By default, Hall-channel events are interpreted as
switches and all others are interpreted as keys.
additionalProperties: false
dependencies:
azoteq,assoc-weight: ["azoteq,assoc-select"]
additionalProperties: false
"^trackpad-
3x[
2-
3]$":
type: object
$ref: input.yaml#
description:
Represents all channels associated with the trackpad. The channels are
collectively active if the trackpad is defined and inactive otherwise.
properties:
azoteq,ati-exclude:
type: boolean
description:
Prevents the trackpad channels from participating in an ATI event
that is manually triggered during initialization.
azoteq,reseed-disable:
type: boolean
description:
Prevents the trackpad channels from being reseeded if the long-term
average timeout (defined in 'azoteq,timeout-lta') expires.
azoteq,meas-cap-decrease:
type: boolean
description:
Decreases the internal measurement capacitance from
60 pF to
15 pF.
azoteq,rx-inactive:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1]
default:
0
description: |
Specifies how inactive CRX pins are to be terminated as follows:
0: VSS
1: Floating
azoteq,linearize:
type: boolean
description: Inverts the polarity of the trackpad's touch state.
azoteq,dual-direction:
type: boolean
description:
Specifies that the trackpad's long-term averages are to freeze in
the presence of either increasing or decreasing counts, thereby
permitting events to be reported in either direction.
azoteq,filt-disable:
type: boolean
description: Disables raw count filtering for the trackpad channels.
azoteq,ati-mode:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the trackpad's ATI mode as follows:
0: Disabled
1: Semi-partial
2: Partial
3: Full
azoteq,ati-target:
$ref: /schemas/types.yaml#/definitions/uint32
multipleOf:
32
minimum:
0
maximum:
2016
default:
0
description: Specifies the trackpad's ATI target.
azoteq,cct-increase:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
4
default:
0
description:
Specifies the degree to which the trackpad's charge cycle time is to
be increased, with
0 representing no increase.
azoteq,proj-bias:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the bias current applied during projected-capacitance
sensing as follows:
0:
2.
5 uA
1:
5 uA
2:
10 uA
3:
20 uA
azoteq,sense-freq:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: |
Specifies the trackpad's sensing frequency as follows (parenthesized
numbers represent the frequency if 'azoteq,clk-div' is present):
0:
4 MHz (
1 MHz)
1:
2 MHz (
500 kHz)
2:
1 MHz (
250 kHz)
3:
500 kHz (
125 kHz)
azoteq,ati-band-tighten:
type: boolean
description:
Tightens the ATI band from
1/
8 to
1/
16 of the desired target.
azoteq,hyst:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
15
default:
0
description: Specifies the trackpad's touch hysteresis.
azoteq,lta-update:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3,
4,
5,
6,
7]
default:
0
description: |
Specifies the update rate of the trackpad's long-term average during
ultra-low-power mode as follows:
0:
2
1:
4
2:
8
3:
16
4:
32
5:
64
6:
128
7:
255
azoteq,filt-str-trackpad:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description: Specifies the trackpad coordinate filter strength.
azoteq,filt-str-np-cnt:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the raw count filter strength during normal-power mode.
azoteq,filt-str-lp-cnt:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [
0,
1,
2,
3]
default:
0
description:
Specifies the raw count filter strength during low-power mode.
linux,keycodes:
minItems:
1
maxItems:
6
description: |
Specifies the numeric keycodes associated with each available gesture
in the following order (enter
0 for unused gestures):
0: Positive flick or swipe in X direction
1: Negative flick or swipe in X direction
2: Positive flick or swipe in Y direction
3: Negative flick or swipe in Y direction
4: Tap
5: Hold
azoteq,gesture-swipe:
type: boolean
description:
Directs the device to interpret axial gestures as a swipe (finger
remains on trackpad) instead of a flick (finger leaves trackpad).
azoteq,timeout-tap-ms:
multipleOf:
16
minimum:
0
maximum:
4080
default:
0
description:
Specifies the length of time (in ms) within which a trackpad touch
must be released in order to be interpreted as a tap.
azoteq,timeout-swipe-ms:
multipleOf:
16
minimum:
0
maximum:
4080
default:
0
description:
Specifies the length of time (in ms) within which an axial gesture
must be completed in order to be interpreted as a flick or swipe.
azoteq,thresh-swipe:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
255
default:
0
description:
Specifies the number of points across which an axial gesture must
travel in order to be interpreted as a flick or swipe.
patternProperties:
"^channel-[
0-
8]$":
type: object
description: Represents a single trackpad channel.
properties:
azoteq,thresh:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
0
maximum:
255
default:
0
description: Specifies the threshold for the channel.
azoteq,ati-base:
$ref: /schemas/types.yaml#/definitions/uint32
minimum:
45
maximum:
300
default:
45
description: Specifies the channel's ATI base.
additionalProperties: false
dependencies:
azoteq,gesture-swipe: ["linux,keycodes"]
azoteq,timeout-tap-ms: ["linux,keycodes"]
azoteq,timeout-swipe-ms: ["linux,keycodes"]
azoteq,thresh-swipe: ["linux,keycodes"]
additionalProperties: false
required:
- compatible
- reg
- interrupts
- "#address-cells"
- "#size-cells"
additionalProperties: false
examples:
- |
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <
1>;
#size-cells = <
0>;
touch@
44 {
#address-cells = <
1>;
#size-cells = <
0>;
compatible = "azoteq,iqs626a";
reg = <
0x44>;
interrupt-parent = <&gpio>;
interrupts = <
17 IRQ_TYPE_LEVEL_LOW>;
azoteq,rate-np-ms = <
16>;
azoteq,rate-lp-ms = <
160>;
azoteq,timeout-pwr-ms = <
2560>;
azoteq,timeout-lta-ms = <
32768>;
ulp-
0 {
azoteq,meas-cap-decrease;
azoteq,ati-base = <
75>;
azoteq,ati-target = <
1024>;
azoteq,rx-enable = <
2>, <
3>, <
4>,
<
5>, <
6>, <
7>;
event-prox {
linux,code = <KEY_POWER>;
};
};
trackpad-
3x3 {
azoteq,filt-str-np-cnt = <
1>;
azoteq,filt-str-lp-cnt = <
1>;
azoteq,hyst = <
4>;
azoteq,ati-mode = <
3>;
azoteq,ati-target = <
512>;
azoteq,proj-bias = <
1>;
azoteq,sense-freq = <
2>;
linux,keycodes = <KEY_VOLUMEUP>,
<KEY_VOLUMEDOWN>,
<KEY_NEXTSONG>,
<KEY_PREVIOUSSONG>,
<KEY_PLAYPAUSE>,
<KEY_STOPCD>;
azoteq,gesture-swipe;
azoteq,timeout-swipe-ms = <
800>;
azoteq,timeout-tap-ms = <
400>;
azoteq,thresh-swipe = <
40>;
channel-
0 {
azoteq,thresh = <
35>;
azoteq,ati-base = <
195>;
};
channel-
1 {
azoteq,thresh = <
40>;
azoteq,ati-base = <
195>;
};
channel-
2 {
azoteq,thresh = <
40>;
azoteq,ati-base = <
195>;
};
channel-
3 {
azoteq,thresh = <
38>;
azoteq,ati-base = <
195>;
};
channel-
4 {
azoteq,thresh = <
33>;
azoteq,ati-base = <
195>;
};
channel-
5 {
azoteq,thresh = <
38>;
azoteq,ati-base = <
195>;
};
channel-
6 {
azoteq,thresh = <
35>;
azoteq,ati-base = <
195>;
};
channel-
7 {
azoteq,thresh = <
35>;
azoteq,ati-base = <
195>;
};
channel-
8 {
azoteq,thresh = <
35>;
azoteq,ati-base = <
195>;
};
};
/*
* Preserve the default register settings for
* the temperature-tracking channel leveraged
* by reset user interface (RUI)
1.
*
* Scalar properties (e.g. ATI mode) are left
* untouched by simply omitting them; boolean
* properties must be specified explicitly as
* needed.
*/
generic-
2 {
azoteq,reseed-disable;
azoteq,meas-cap-decrease;
azoteq,dual-direction;
azoteq,comp-disable;
azoteq,static-enable;
};
hall {
azoteq,reseed-disable;
azoteq,meas-cap-decrease;
event-touch {
linux,code = <SW_LID>;
};
};
};
};
...