844 lines
26 KiB
YAML
844 lines
26 KiB
YAML
|
# 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
|
||
|
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:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: Numeric key or switch code associated with the event.
|
||
|
|
||
|
linux,input-type:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
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.
|
||
|
|
||
|
dependencies:
|
||
|
linux,input-type: ["linux,code"]
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
dependencies:
|
||
|
azoteq,assoc-weight: ["azoteq,assoc-select"]
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
"^trackpad-3x[2-3]$":
|
||
|
type: object
|
||
|
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-base:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 6
|
||
|
maxItems: 9
|
||
|
items:
|
||
|
minimum: 45
|
||
|
maximum: 300
|
||
|
default: [45, 45, 45, 45, 45, 45, 45, 45, 45]
|
||
|
description: Specifies each individual trackpad channel's ATI base.
|
||
|
|
||
|
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,thresh:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 6
|
||
|
maxItems: 9
|
||
|
items:
|
||
|
minimum: 0
|
||
|
maximum: 255
|
||
|
default: [0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||
|
description:
|
||
|
Specifies each individual trackpad channel's touch threshold.
|
||
|
|
||
|
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:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
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.
|
||
|
|
||
|
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>;
|
||
|
|
||
|
iqs626a@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,thresh = <35>, <40>, <40>,
|
||
|
<38>, <33>, <38>,
|
||
|
<35>, <35>, <35>;
|
||
|
|
||
|
azoteq,ati-mode = <3>;
|
||
|
azoteq,ati-base = <195>, <195>, <195>,
|
||
|
<195>, <195>, <195>,
|
||
|
<195>, <195>, <195>;
|
||
|
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>;
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* 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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|