xref: /freebsd/sys/contrib/device-tree/Bindings/input/iqs626a.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/input/iqs626a.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
72eb4d8dcSEmmanuel Vadottitle: Azoteq IQS626A Capacitive Touch Controller
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Jeff LaBundy <jeff@labundy.com>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription: |
132eb4d8dcSEmmanuel Vadot  The Azoteq IQS626A is a 14-channel capacitive touch controller that features
142eb4d8dcSEmmanuel Vadot  additional Hall-effect and inductive sensing capabilities.
152eb4d8dcSEmmanuel Vadot
162eb4d8dcSEmmanuel Vadot  Link to datasheet: https://www.azoteq.com/
172eb4d8dcSEmmanuel Vadot
182eb4d8dcSEmmanuel VadotallOf:
192eb4d8dcSEmmanuel Vadot  - $ref: touchscreen/touchscreen.yaml#
202eb4d8dcSEmmanuel Vadot
212eb4d8dcSEmmanuel Vadotproperties:
222eb4d8dcSEmmanuel Vadot  compatible:
232eb4d8dcSEmmanuel Vadot    const: azoteq,iqs626a
242eb4d8dcSEmmanuel Vadot
252eb4d8dcSEmmanuel Vadot  reg:
262eb4d8dcSEmmanuel Vadot    maxItems: 1
272eb4d8dcSEmmanuel Vadot
282eb4d8dcSEmmanuel Vadot  interrupts:
292eb4d8dcSEmmanuel Vadot    maxItems: 1
302eb4d8dcSEmmanuel Vadot
312eb4d8dcSEmmanuel Vadot  "#address-cells":
322eb4d8dcSEmmanuel Vadot    const: 1
332eb4d8dcSEmmanuel Vadot
342eb4d8dcSEmmanuel Vadot  "#size-cells":
352eb4d8dcSEmmanuel Vadot    const: 0
362eb4d8dcSEmmanuel Vadot
372eb4d8dcSEmmanuel Vadot  azoteq,suspend-mode:
382eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
392eb4d8dcSEmmanuel Vadot    enum: [0, 1, 2, 3]
402eb4d8dcSEmmanuel Vadot    default: 0
412eb4d8dcSEmmanuel Vadot    description: |
422eb4d8dcSEmmanuel Vadot      Specifies the power mode during suspend as follows:
432eb4d8dcSEmmanuel Vadot      0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
442eb4d8dcSEmmanuel Vadot      1: Low power (all sensing at a reduced reporting rate)
452eb4d8dcSEmmanuel Vadot      2: Ultra-low power (ULP channel proximity sensing)
462eb4d8dcSEmmanuel Vadot      3: Halt (no sensing)
472eb4d8dcSEmmanuel Vadot
482eb4d8dcSEmmanuel Vadot  azoteq,clk-div:
492eb4d8dcSEmmanuel Vadot    type: boolean
502eb4d8dcSEmmanuel Vadot    description: Divides the device's core clock by a factor of 4.
512eb4d8dcSEmmanuel Vadot
522eb4d8dcSEmmanuel Vadot  azoteq,ulp-enable:
532eb4d8dcSEmmanuel Vadot    type: boolean
542eb4d8dcSEmmanuel Vadot    description:
552eb4d8dcSEmmanuel Vadot      Permits the device to automatically enter ultra-low-power mode from low-
562eb4d8dcSEmmanuel Vadot      power mode.
572eb4d8dcSEmmanuel Vadot
582eb4d8dcSEmmanuel Vadot  azoteq,ulp-update:
592eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
602eb4d8dcSEmmanuel Vadot    enum: [0, 1, 2, 3, 4, 5, 6, 7]
612eb4d8dcSEmmanuel Vadot    default: 3
622eb4d8dcSEmmanuel Vadot    description: |
632eb4d8dcSEmmanuel Vadot      Specifies the rate at which the trackpad, generic and Hall channels are
642eb4d8dcSEmmanuel Vadot      updated during ultra-low-power mode as follows:
652eb4d8dcSEmmanuel Vadot      0: 8
662eb4d8dcSEmmanuel Vadot      1: 13
672eb4d8dcSEmmanuel Vadot      2: 28
682eb4d8dcSEmmanuel Vadot      3: 54
692eb4d8dcSEmmanuel Vadot      4: 89
702eb4d8dcSEmmanuel Vadot      5: 135
712eb4d8dcSEmmanuel Vadot      6: 190
722eb4d8dcSEmmanuel Vadot      7: 256
732eb4d8dcSEmmanuel Vadot
742eb4d8dcSEmmanuel Vadot  azoteq,ati-band-disable:
752eb4d8dcSEmmanuel Vadot    type: boolean
762eb4d8dcSEmmanuel Vadot    description: Disables the ATI band check.
772eb4d8dcSEmmanuel Vadot
782eb4d8dcSEmmanuel Vadot  azoteq,ati-lp-only:
792eb4d8dcSEmmanuel Vadot    type: boolean
802eb4d8dcSEmmanuel Vadot    description: Limits automatic ATI to low-power mode.
812eb4d8dcSEmmanuel Vadot
822eb4d8dcSEmmanuel Vadot  azoteq,gpio3-select:
832eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
842eb4d8dcSEmmanuel Vadot    enum: [0, 1, 2, 3, 4, 5, 6, 7]
852eb4d8dcSEmmanuel Vadot    default: 1
862eb4d8dcSEmmanuel Vadot    description: |
872eb4d8dcSEmmanuel Vadot      Selects the channel or group of channels for which the GPIO3 pin
882eb4d8dcSEmmanuel Vadot      represents touch state as follows:
892eb4d8dcSEmmanuel Vadot      0: None
902eb4d8dcSEmmanuel Vadot      1: ULP channel
912eb4d8dcSEmmanuel Vadot      2: Trackpad
922eb4d8dcSEmmanuel Vadot      3: Trackpad
932eb4d8dcSEmmanuel Vadot      4: Generic channel 0
942eb4d8dcSEmmanuel Vadot      5: Generic channel 1
952eb4d8dcSEmmanuel Vadot      6: Generic channel 2
962eb4d8dcSEmmanuel Vadot      7: Hall channel
972eb4d8dcSEmmanuel Vadot
982eb4d8dcSEmmanuel Vadot  azoteq,reseed-select:
992eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
1002eb4d8dcSEmmanuel Vadot    enum: [0, 1, 2, 3]
1012eb4d8dcSEmmanuel Vadot    default: 0
1022eb4d8dcSEmmanuel Vadot    description: |
1032eb4d8dcSEmmanuel Vadot      Specifies the event(s) that prompt the device to reseed (i.e. reset the
1042eb4d8dcSEmmanuel Vadot      long-term average) of an associated channel as follows:
1052eb4d8dcSEmmanuel Vadot      0: None
1062eb4d8dcSEmmanuel Vadot      1: Proximity
1072eb4d8dcSEmmanuel Vadot      2: Proximity or touch
1082eb4d8dcSEmmanuel Vadot      3: Proximity, touch or deep touch
1092eb4d8dcSEmmanuel Vadot
1102eb4d8dcSEmmanuel Vadot  azoteq,thresh-extend:
1112eb4d8dcSEmmanuel Vadot    type: boolean
1122eb4d8dcSEmmanuel Vadot    description: Multiplies all touch and deep-touch thresholds by 4.
1132eb4d8dcSEmmanuel Vadot
1142eb4d8dcSEmmanuel Vadot  azoteq,tracking-enable:
1152eb4d8dcSEmmanuel Vadot    type: boolean
1162eb4d8dcSEmmanuel Vadot    description:
1172eb4d8dcSEmmanuel Vadot      Enables all associated channels to track their respective reference
1182eb4d8dcSEmmanuel Vadot      channels.
1192eb4d8dcSEmmanuel Vadot
1202eb4d8dcSEmmanuel Vadot  azoteq,reseed-offset:
1212eb4d8dcSEmmanuel Vadot    type: boolean
1222eb4d8dcSEmmanuel Vadot    description:
1232eb4d8dcSEmmanuel Vadot      Applies an 8-count offset to all long-term averages upon either ATI or
1242eb4d8dcSEmmanuel Vadot      reseed events.
1252eb4d8dcSEmmanuel Vadot
1262eb4d8dcSEmmanuel Vadot  azoteq,rate-np-ms:
1272eb4d8dcSEmmanuel Vadot    minimum: 0
1282eb4d8dcSEmmanuel Vadot    maximum: 255
1292eb4d8dcSEmmanuel Vadot    default: 150
1302eb4d8dcSEmmanuel Vadot    description: Specifies the report rate (in ms) during normal-power mode.
1312eb4d8dcSEmmanuel Vadot
1322eb4d8dcSEmmanuel Vadot  azoteq,rate-lp-ms:
1332eb4d8dcSEmmanuel Vadot    minimum: 0
1342eb4d8dcSEmmanuel Vadot    maximum: 255
1352eb4d8dcSEmmanuel Vadot    default: 150
1362eb4d8dcSEmmanuel Vadot    description: Specifies the report rate (in ms) during low-power mode.
1372eb4d8dcSEmmanuel Vadot
1382eb4d8dcSEmmanuel Vadot  azoteq,rate-ulp-ms:
1392eb4d8dcSEmmanuel Vadot    multipleOf: 16
1402eb4d8dcSEmmanuel Vadot    minimum: 0
1412eb4d8dcSEmmanuel Vadot    maximum: 4080
1422eb4d8dcSEmmanuel Vadot    default: 0
1432eb4d8dcSEmmanuel Vadot    description: Specifies the report rate (in ms) during ultra-low-power mode.
1442eb4d8dcSEmmanuel Vadot
1452eb4d8dcSEmmanuel Vadot  azoteq,timeout-pwr-ms:
1462eb4d8dcSEmmanuel Vadot    multipleOf: 512
1472eb4d8dcSEmmanuel Vadot    minimum: 0
1482eb4d8dcSEmmanuel Vadot    maximum: 130560
1492eb4d8dcSEmmanuel Vadot    default: 2560
1502eb4d8dcSEmmanuel Vadot    description:
1512eb4d8dcSEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
1522eb4d8dcSEmmanuel Vadot      from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
1532eb4d8dcSEmmanuel Vadot      present) from low-power mode to ultra-low-power mode.
1542eb4d8dcSEmmanuel Vadot
1552eb4d8dcSEmmanuel Vadot  azoteq,timeout-lta-ms:
1562eb4d8dcSEmmanuel Vadot    multipleOf: 512
1572eb4d8dcSEmmanuel Vadot    minimum: 0
1582eb4d8dcSEmmanuel Vadot    maximum: 130560
1592eb4d8dcSEmmanuel Vadot    default: 40960
1602eb4d8dcSEmmanuel Vadot    description:
1612eb4d8dcSEmmanuel Vadot      Specifies the length of time (in ms) to wait before resetting the long-
1622eb4d8dcSEmmanuel Vadot      term average of all channels. Specify the maximum timeout to disable it
1632eb4d8dcSEmmanuel Vadot      altogether.
1642eb4d8dcSEmmanuel Vadot
1652eb4d8dcSEmmanuel Vadot  touchscreen-inverted-x: true
1662eb4d8dcSEmmanuel Vadot  touchscreen-inverted-y: true
1672eb4d8dcSEmmanuel Vadot  touchscreen-swapped-x-y: true
1682eb4d8dcSEmmanuel Vadot
1692eb4d8dcSEmmanuel VadotpatternProperties:
1702eb4d8dcSEmmanuel Vadot  "^ulp-0|generic-[0-2]|hall$":
1712eb4d8dcSEmmanuel Vadot    type: object
1722eb4d8dcSEmmanuel Vadot    description:
1732eb4d8dcSEmmanuel Vadot      Represents a single sensing channel. A channel is active if defined and
1742eb4d8dcSEmmanuel Vadot      inactive otherwise.
1752eb4d8dcSEmmanuel Vadot
1762eb4d8dcSEmmanuel Vadot    properties:
1772eb4d8dcSEmmanuel Vadot      azoteq,ati-exclude:
1782eb4d8dcSEmmanuel Vadot        type: boolean
1792eb4d8dcSEmmanuel Vadot        description:
1802eb4d8dcSEmmanuel Vadot          Prevents the channel from participating in an ATI event that is
1812eb4d8dcSEmmanuel Vadot          manually triggered during initialization.
1822eb4d8dcSEmmanuel Vadot
1832eb4d8dcSEmmanuel Vadot      azoteq,reseed-disable:
1842eb4d8dcSEmmanuel Vadot        type: boolean
1852eb4d8dcSEmmanuel Vadot        description:
1862eb4d8dcSEmmanuel Vadot          Prevents the channel from being reseeded if the long-term average
1872eb4d8dcSEmmanuel Vadot          timeout (defined in 'azoteq,timeout-lta') expires.
1882eb4d8dcSEmmanuel Vadot
1892eb4d8dcSEmmanuel Vadot      azoteq,meas-cap-decrease:
1902eb4d8dcSEmmanuel Vadot        type: boolean
1912eb4d8dcSEmmanuel Vadot        description:
1922eb4d8dcSEmmanuel Vadot          Decreases the internal measurement capacitance from 60 pF to 15 pF.
1932eb4d8dcSEmmanuel Vadot
1942eb4d8dcSEmmanuel Vadot      azoteq,rx-inactive:
1952eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
1962eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2]
1972eb4d8dcSEmmanuel Vadot        default: 0
1982eb4d8dcSEmmanuel Vadot        description: |
1992eb4d8dcSEmmanuel Vadot          Specifies how inactive CRX pins are to be terminated as follows:
2002eb4d8dcSEmmanuel Vadot          0: VSS
2012eb4d8dcSEmmanuel Vadot          1: Floating
2022eb4d8dcSEmmanuel Vadot          2: VREG (generic channels only)
2032eb4d8dcSEmmanuel Vadot
2042eb4d8dcSEmmanuel Vadot      azoteq,linearize:
2052eb4d8dcSEmmanuel Vadot        type: boolean
2062eb4d8dcSEmmanuel Vadot        description:
2072eb4d8dcSEmmanuel Vadot          Enables linearization of the channel's counts (generic and Hall
2082eb4d8dcSEmmanuel Vadot          channels) or inverts the polarity of the channel's proximity or
2092eb4d8dcSEmmanuel Vadot          touch states (ULP channel).
2102eb4d8dcSEmmanuel Vadot
2112eb4d8dcSEmmanuel Vadot      azoteq,dual-direction:
2122eb4d8dcSEmmanuel Vadot        type: boolean
2132eb4d8dcSEmmanuel Vadot        description:
2142eb4d8dcSEmmanuel Vadot          Specifies that the channel's long-term average is to freeze in the
2152eb4d8dcSEmmanuel Vadot          presence of either increasing or decreasing counts, thereby permit-
2162eb4d8dcSEmmanuel Vadot          ting events to be reported in either direction.
2172eb4d8dcSEmmanuel Vadot
2182eb4d8dcSEmmanuel Vadot      azoteq,filt-disable:
2192eb4d8dcSEmmanuel Vadot        type: boolean
2202eb4d8dcSEmmanuel Vadot        description: Disables raw count filtering for the channel.
2212eb4d8dcSEmmanuel Vadot
2222eb4d8dcSEmmanuel Vadot      azoteq,ati-mode:
2232eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2242eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
2252eb4d8dcSEmmanuel Vadot        description: |
2262eb4d8dcSEmmanuel Vadot          Specifies the channel's ATI mode as follows:
2272eb4d8dcSEmmanuel Vadot          0: Disabled
2282eb4d8dcSEmmanuel Vadot          1: Semi-partial
2292eb4d8dcSEmmanuel Vadot          2: Partial
2302eb4d8dcSEmmanuel Vadot          3: Full
2312eb4d8dcSEmmanuel Vadot
2322eb4d8dcSEmmanuel Vadot          The default value is a function of the channel and the device's reset
2332eb4d8dcSEmmanuel Vadot          user interface (RUI); reference the datasheet for further information
2342eb4d8dcSEmmanuel Vadot          about the available RUI options.
2352eb4d8dcSEmmanuel Vadot
2362eb4d8dcSEmmanuel Vadot      azoteq,ati-base:
2372eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2382eb4d8dcSEmmanuel Vadot        enum: [75, 100, 150, 200]
2392eb4d8dcSEmmanuel Vadot        description:
2402eb4d8dcSEmmanuel Vadot          Specifies the channel's ATI base. The default value is a function
2412eb4d8dcSEmmanuel Vadot          of the channel and the device's RUI.
2422eb4d8dcSEmmanuel Vadot
2432eb4d8dcSEmmanuel Vadot      azoteq,ati-target:
2442eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2452eb4d8dcSEmmanuel Vadot        multipleOf: 32
2462eb4d8dcSEmmanuel Vadot        minimum: 0
2472eb4d8dcSEmmanuel Vadot        maximum: 2016
2482eb4d8dcSEmmanuel Vadot        description:
2492eb4d8dcSEmmanuel Vadot          Specifies the channel's ATI target. The default value is a function
2502eb4d8dcSEmmanuel Vadot          of the channel and the device's RUI.
2512eb4d8dcSEmmanuel Vadot
2522eb4d8dcSEmmanuel Vadot      azoteq,cct-increase:
2532eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2542eb4d8dcSEmmanuel Vadot        minimum: 0
2552eb4d8dcSEmmanuel Vadot        maximum: 16
2562eb4d8dcSEmmanuel Vadot        default: 0
2572eb4d8dcSEmmanuel Vadot        description:
2582eb4d8dcSEmmanuel Vadot          Specifies the degree to which the channel's charge cycle time is to
2592eb4d8dcSEmmanuel Vadot          be increased, with 0 representing no increase. The maximum value is
2602eb4d8dcSEmmanuel Vadot          limited to 4 in the case of the ULP channel, and the property is un-
2612eb4d8dcSEmmanuel Vadot          available entirely in the case of the Hall channel.
2622eb4d8dcSEmmanuel Vadot
2632eb4d8dcSEmmanuel Vadot      azoteq,proj-bias:
2642eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2652eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
2662eb4d8dcSEmmanuel Vadot        default: 0
2672eb4d8dcSEmmanuel Vadot        description: |
2682eb4d8dcSEmmanuel Vadot          Specifies the bias current applied during projected-capacitance
2692eb4d8dcSEmmanuel Vadot          sensing as follows:
2702eb4d8dcSEmmanuel Vadot          0: 2.5 uA
2712eb4d8dcSEmmanuel Vadot          1: 5 uA
2722eb4d8dcSEmmanuel Vadot          2: 10 uA
2732eb4d8dcSEmmanuel Vadot          3: 20 uA
2742eb4d8dcSEmmanuel Vadot
2752eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the Hall channel.
2762eb4d8dcSEmmanuel Vadot
2772eb4d8dcSEmmanuel Vadot      azoteq,sense-freq:
2782eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
2792eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
2802eb4d8dcSEmmanuel Vadot        description: |
2812eb4d8dcSEmmanuel Vadot          Specifies the channel's sensing frequency as follows (parenthesized
2822eb4d8dcSEmmanuel Vadot          numbers represent the frequency if 'azoteq,clk-div' is present):
2832eb4d8dcSEmmanuel Vadot          0: 4 MHz (1 MHz)
2842eb4d8dcSEmmanuel Vadot          1: 2 MHz (500 kHz)
2852eb4d8dcSEmmanuel Vadot          2: 1 MHz (250 kHz)
2862eb4d8dcSEmmanuel Vadot          3: 500 kHz (125 kHz)
2872eb4d8dcSEmmanuel Vadot
2882eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the Hall channel. The
2892eb4d8dcSEmmanuel Vadot          default value is a function of the channel and the device's RUI.
2902eb4d8dcSEmmanuel Vadot
2912eb4d8dcSEmmanuel Vadot      azoteq,ati-band-tighten:
2922eb4d8dcSEmmanuel Vadot        type: boolean
2932eb4d8dcSEmmanuel Vadot        description:
2942eb4d8dcSEmmanuel Vadot          Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
2952eb4d8dcSEmmanuel Vadot          generic channels only).
2962eb4d8dcSEmmanuel Vadot
2972eb4d8dcSEmmanuel Vadot      azoteq,proj-enable:
2982eb4d8dcSEmmanuel Vadot        type: boolean
2992eb4d8dcSEmmanuel Vadot        description: Enables projected-capacitance sensing (ULP channel only).
3002eb4d8dcSEmmanuel Vadot
3012eb4d8dcSEmmanuel Vadot      azoteq,filt-str-np-cnt:
3022eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3032eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
3042eb4d8dcSEmmanuel Vadot        default: 0
3052eb4d8dcSEmmanuel Vadot        description:
3062eb4d8dcSEmmanuel Vadot          Specifies the raw count filter strength during normal-power mode (ULP
3072eb4d8dcSEmmanuel Vadot          and generic channels only).
3082eb4d8dcSEmmanuel Vadot
3092eb4d8dcSEmmanuel Vadot      azoteq,filt-str-lp-cnt:
3102eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3112eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
3122eb4d8dcSEmmanuel Vadot        default: 0
3132eb4d8dcSEmmanuel Vadot        description:
3142eb4d8dcSEmmanuel Vadot          Specifies the raw count filter strength during low-power mode (ULP and
3152eb4d8dcSEmmanuel Vadot          generic channels only).
3162eb4d8dcSEmmanuel Vadot
3172eb4d8dcSEmmanuel Vadot      azoteq,filt-str-np-lta:
3182eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3192eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
3202eb4d8dcSEmmanuel Vadot        default: 0
3212eb4d8dcSEmmanuel Vadot        description:
3222eb4d8dcSEmmanuel Vadot          Specifies the long-term average filter strength during normal-power
3232eb4d8dcSEmmanuel Vadot          mode (ULP and generic channels only).
3242eb4d8dcSEmmanuel Vadot
3252eb4d8dcSEmmanuel Vadot      azoteq,filt-str-lp-lta:
3262eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3272eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
3282eb4d8dcSEmmanuel Vadot        default: 0
3292eb4d8dcSEmmanuel Vadot        description:
3302eb4d8dcSEmmanuel Vadot          Specifies the long-term average filter strength during low-power mode
3312eb4d8dcSEmmanuel Vadot          (ULP and generic channels only).
3322eb4d8dcSEmmanuel Vadot
3332eb4d8dcSEmmanuel Vadot      azoteq,rx-enable:
3342eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
3352eb4d8dcSEmmanuel Vadot        minItems: 1
3362eb4d8dcSEmmanuel Vadot        maxItems: 8
3372eb4d8dcSEmmanuel Vadot        items:
3382eb4d8dcSEmmanuel Vadot          minimum: 0
3392eb4d8dcSEmmanuel Vadot          maximum: 7
3402eb4d8dcSEmmanuel Vadot        description:
3412eb4d8dcSEmmanuel Vadot          Specifies the CRX pin(s) associated with the channel.
3422eb4d8dcSEmmanuel Vadot
3432eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the Hall channel. The
3442eb4d8dcSEmmanuel Vadot          default value is a function of the channel and the device's RUI.
3452eb4d8dcSEmmanuel Vadot
3462eb4d8dcSEmmanuel Vadot      azoteq,tx-enable:
3472eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
3482eb4d8dcSEmmanuel Vadot        minItems: 1
3492eb4d8dcSEmmanuel Vadot        maxItems: 8
3502eb4d8dcSEmmanuel Vadot        items:
3512eb4d8dcSEmmanuel Vadot          minimum: 0
3522eb4d8dcSEmmanuel Vadot          maximum: 7
3532eb4d8dcSEmmanuel Vadot        description:
3542eb4d8dcSEmmanuel Vadot          Specifies the TX pin(s) associated with the channel.
3552eb4d8dcSEmmanuel Vadot
3562eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the Hall channel. The
3572eb4d8dcSEmmanuel Vadot          default value is a function of the channel and the device's RUI.
3582eb4d8dcSEmmanuel Vadot
3592eb4d8dcSEmmanuel Vadot      azoteq,local-cap-size:
3602eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3612eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3, 4]
3622eb4d8dcSEmmanuel Vadot        default: 0
3632eb4d8dcSEmmanuel Vadot        description: |
3642eb4d8dcSEmmanuel Vadot          Specifies the capacitance to be added to the channel as follows:
3652eb4d8dcSEmmanuel Vadot          0: 0 pF
3662eb4d8dcSEmmanuel Vadot          1: 0.5 pF
3672eb4d8dcSEmmanuel Vadot          2: 1.0 pF
3682eb4d8dcSEmmanuel Vadot          3: 1.5 pF
3692eb4d8dcSEmmanuel Vadot          4: 2.0 pF
3702eb4d8dcSEmmanuel Vadot
3712eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the ULP or Hall channels.
3722eb4d8dcSEmmanuel Vadot
3732eb4d8dcSEmmanuel Vadot      azoteq,sense-mode:
3742eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3752eb4d8dcSEmmanuel Vadot        enum: [0, 1, 8, 9, 12, 14, 15]
3762eb4d8dcSEmmanuel Vadot        description: |
3772eb4d8dcSEmmanuel Vadot          Specifies the channel's sensing mode as follows:
3782eb4d8dcSEmmanuel Vadot          0:  Self capacitance
3792eb4d8dcSEmmanuel Vadot          1:  Projected capacitance
3802eb4d8dcSEmmanuel Vadot          8:  Self inductance
3812eb4d8dcSEmmanuel Vadot          9:  Mutual inductance
3822eb4d8dcSEmmanuel Vadot          12: External
3832eb4d8dcSEmmanuel Vadot          14: Hall effect
3842eb4d8dcSEmmanuel Vadot          15: Temperature
3852eb4d8dcSEmmanuel Vadot
3862eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the ULP or Hall channels.
3872eb4d8dcSEmmanuel Vadot          The default value is a function of the channel and the device's RUI.
3882eb4d8dcSEmmanuel Vadot
3892eb4d8dcSEmmanuel Vadot      azoteq,tx-freq:
3902eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
3912eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
3922eb4d8dcSEmmanuel Vadot        default: 0
3932eb4d8dcSEmmanuel Vadot        description: |
3942eb4d8dcSEmmanuel Vadot          Specifies the inductive sensing excitation frequency as follows
3952eb4d8dcSEmmanuel Vadot          (parenthesized numbers represent the frequency if 'azoteq,clk-div'
3962eb4d8dcSEmmanuel Vadot          is present):
3972eb4d8dcSEmmanuel Vadot          0: 16 MHz (4 MHz)
3982eb4d8dcSEmmanuel Vadot          1: 8 MHz (2 MHz)
3992eb4d8dcSEmmanuel Vadot          2: 4 MHz (1 MHz)
4002eb4d8dcSEmmanuel Vadot          3: 2 MHz (500 kHz)
4012eb4d8dcSEmmanuel Vadot
4022eb4d8dcSEmmanuel Vadot          This property is unavailable in the case of the ULP or Hall channels.
4032eb4d8dcSEmmanuel Vadot
4042eb4d8dcSEmmanuel Vadot      azoteq,invert-enable:
4052eb4d8dcSEmmanuel Vadot        type: boolean
4062eb4d8dcSEmmanuel Vadot        description:
4072eb4d8dcSEmmanuel Vadot          Inverts the polarity of the states reported for proximity, touch and
4082eb4d8dcSEmmanuel Vadot          deep-touch events relative to their respective thresholds (generic
4092eb4d8dcSEmmanuel Vadot          channels only).
4102eb4d8dcSEmmanuel Vadot
4112eb4d8dcSEmmanuel Vadot      azoteq,comp-disable:
4122eb4d8dcSEmmanuel Vadot        type: boolean
4132eb4d8dcSEmmanuel Vadot        description:
4142eb4d8dcSEmmanuel Vadot          Disables compensation for the channel (generic channels only).
4152eb4d8dcSEmmanuel Vadot
4162eb4d8dcSEmmanuel Vadot      azoteq,static-enable:
4172eb4d8dcSEmmanuel Vadot        type: boolean
4182eb4d8dcSEmmanuel Vadot        description:
4192eb4d8dcSEmmanuel Vadot          Enables the static front-end for the channel (generic channels only).
4202eb4d8dcSEmmanuel Vadot
4212eb4d8dcSEmmanuel Vadot      azoteq,assoc-select:
4222eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string-array
4232eb4d8dcSEmmanuel Vadot        minItems: 1
4242eb4d8dcSEmmanuel Vadot        maxItems: 6
4252eb4d8dcSEmmanuel Vadot        items:
4262eb4d8dcSEmmanuel Vadot          enum:
4272eb4d8dcSEmmanuel Vadot            - ulp-0
4282eb4d8dcSEmmanuel Vadot            - trackpad-3x2
4292eb4d8dcSEmmanuel Vadot            - trackpad-3x3
4302eb4d8dcSEmmanuel Vadot            - generic-0
4312eb4d8dcSEmmanuel Vadot            - generic-1
4322eb4d8dcSEmmanuel Vadot            - generic-2
4332eb4d8dcSEmmanuel Vadot            - hall
4342eb4d8dcSEmmanuel Vadot        description:
4352eb4d8dcSEmmanuel Vadot          Specifies the associated channels for which the channel serves as a
4362eb4d8dcSEmmanuel Vadot          reference channel. By default, no channels are selected. This prop-
4372eb4d8dcSEmmanuel Vadot          erty is only available for the generic channels.
4382eb4d8dcSEmmanuel Vadot
4392eb4d8dcSEmmanuel Vadot      azoteq,assoc-weight:
4402eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
4412eb4d8dcSEmmanuel Vadot        minimum: 0
4422eb4d8dcSEmmanuel Vadot        maximum: 255
4432eb4d8dcSEmmanuel Vadot        default: 0
4442eb4d8dcSEmmanuel Vadot        description:
4452eb4d8dcSEmmanuel Vadot          Specifies the channel's impact weight if it acts as an associated
4462eb4d8dcSEmmanuel Vadot          channel (0 = 0% impact, 255 = 200% impact). This property is only
4472eb4d8dcSEmmanuel Vadot          available for the generic channels.
4482eb4d8dcSEmmanuel Vadot
4492eb4d8dcSEmmanuel Vadot    patternProperties:
4502eb4d8dcSEmmanuel Vadot      "^event-(prox|touch|deep)(-alt)?$":
4512eb4d8dcSEmmanuel Vadot        type: object
452*b97ee269SEmmanuel Vadot        $ref: input.yaml#
4532eb4d8dcSEmmanuel Vadot        description:
4542eb4d8dcSEmmanuel Vadot          Represents a proximity, touch or deep-touch event reported by the
4552eb4d8dcSEmmanuel Vadot          channel in response to a decrease in counts. Node names suffixed with
4562eb4d8dcSEmmanuel Vadot          '-alt' instead correspond to an increase in counts.
4572eb4d8dcSEmmanuel Vadot
4582eb4d8dcSEmmanuel Vadot          By default, the long-term average tracks an increase in counts such
4592eb4d8dcSEmmanuel Vadot          that only events corresponding to a decrease in counts are reported
4602eb4d8dcSEmmanuel Vadot          (refer to the datasheet for more information).
4612eb4d8dcSEmmanuel Vadot
4622eb4d8dcSEmmanuel Vadot          Specify 'azoteq,dual-direction' to freeze the long-term average when
4632eb4d8dcSEmmanuel Vadot          the counts increase or decrease such that events of either direction
4642eb4d8dcSEmmanuel Vadot          can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
4652eb4d8dcSEmmanuel Vadot          vert the polarity of the states reported by the channel.
4662eb4d8dcSEmmanuel Vadot
4672eb4d8dcSEmmanuel Vadot          Complementary events (e.g. event-touch and event-touch-alt) can both
4682eb4d8dcSEmmanuel Vadot          be present and specify different key or switch codes, but not differ-
4692eb4d8dcSEmmanuel Vadot          ent thresholds or hysteresis (if applicable).
4702eb4d8dcSEmmanuel Vadot
4712eb4d8dcSEmmanuel Vadot          Proximity events are unavailable in the case of the Hall channel, and
4722eb4d8dcSEmmanuel Vadot          deep-touch events are only available for the generic channels. Unless
4732eb4d8dcSEmmanuel Vadot          otherwise specified, default values are a function of the channel and
4742eb4d8dcSEmmanuel Vadot          the device's RUI.
4752eb4d8dcSEmmanuel Vadot
4762eb4d8dcSEmmanuel Vadot        properties:
4772eb4d8dcSEmmanuel Vadot          azoteq,thresh:
4782eb4d8dcSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
4792eb4d8dcSEmmanuel Vadot            minimum: 0
4802eb4d8dcSEmmanuel Vadot            maximum: 255
4812eb4d8dcSEmmanuel Vadot            description: Specifies the threshold for the event.
4822eb4d8dcSEmmanuel Vadot
4832eb4d8dcSEmmanuel Vadot          azoteq,hyst:
4842eb4d8dcSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
4852eb4d8dcSEmmanuel Vadot            minimum: 0
4862eb4d8dcSEmmanuel Vadot            maximum: 15
4872eb4d8dcSEmmanuel Vadot            description:
4882eb4d8dcSEmmanuel Vadot              Specifies the hysteresis for the event (touch and deep-touch
4892eb4d8dcSEmmanuel Vadot              events only).
4902eb4d8dcSEmmanuel Vadot
491*b97ee269SEmmanuel Vadot          linux,code: true
4922eb4d8dcSEmmanuel Vadot
4932eb4d8dcSEmmanuel Vadot          linux,input-type:
4942eb4d8dcSEmmanuel Vadot            enum: [1, 5]
4952eb4d8dcSEmmanuel Vadot            description:
4962eb4d8dcSEmmanuel Vadot              Specifies whether the event is to be interpreted as a key (1) or
4972eb4d8dcSEmmanuel Vadot              a switch (5). By default, Hall-channel events are interpreted as
4982eb4d8dcSEmmanuel Vadot              switches and all others are interpreted as keys.
4992eb4d8dcSEmmanuel Vadot
5002eb4d8dcSEmmanuel Vadot        additionalProperties: false
5012eb4d8dcSEmmanuel Vadot
5022eb4d8dcSEmmanuel Vadot    dependencies:
5032eb4d8dcSEmmanuel Vadot      azoteq,assoc-weight: ["azoteq,assoc-select"]
5042eb4d8dcSEmmanuel Vadot
5052eb4d8dcSEmmanuel Vadot    additionalProperties: false
5062eb4d8dcSEmmanuel Vadot
5072eb4d8dcSEmmanuel Vadot  "^trackpad-3x[2-3]$":
5082eb4d8dcSEmmanuel Vadot    type: object
509*b97ee269SEmmanuel Vadot    $ref: input.yaml#
5102eb4d8dcSEmmanuel Vadot    description:
5112eb4d8dcSEmmanuel Vadot      Represents all channels associated with the trackpad. The channels are
5122eb4d8dcSEmmanuel Vadot      collectively active if the trackpad is defined and inactive otherwise.
5132eb4d8dcSEmmanuel Vadot
5142eb4d8dcSEmmanuel Vadot    properties:
5152eb4d8dcSEmmanuel Vadot      azoteq,ati-exclude:
5162eb4d8dcSEmmanuel Vadot        type: boolean
5172eb4d8dcSEmmanuel Vadot        description:
5182eb4d8dcSEmmanuel Vadot          Prevents the trackpad channels from participating in an ATI event
5192eb4d8dcSEmmanuel Vadot          that is manually triggered during initialization.
5202eb4d8dcSEmmanuel Vadot
5212eb4d8dcSEmmanuel Vadot      azoteq,reseed-disable:
5222eb4d8dcSEmmanuel Vadot        type: boolean
5232eb4d8dcSEmmanuel Vadot        description:
5242eb4d8dcSEmmanuel Vadot          Prevents the trackpad channels from being reseeded if the long-term
5252eb4d8dcSEmmanuel Vadot          average timeout (defined in 'azoteq,timeout-lta') expires.
5262eb4d8dcSEmmanuel Vadot
5272eb4d8dcSEmmanuel Vadot      azoteq,meas-cap-decrease:
5282eb4d8dcSEmmanuel Vadot        type: boolean
5292eb4d8dcSEmmanuel Vadot        description:
5302eb4d8dcSEmmanuel Vadot          Decreases the internal measurement capacitance from 60 pF to 15 pF.
5312eb4d8dcSEmmanuel Vadot
5322eb4d8dcSEmmanuel Vadot      azoteq,rx-inactive:
5332eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
5342eb4d8dcSEmmanuel Vadot        enum: [0, 1]
5352eb4d8dcSEmmanuel Vadot        default: 0
5362eb4d8dcSEmmanuel Vadot        description: |
5372eb4d8dcSEmmanuel Vadot          Specifies how inactive CRX pins are to be terminated as follows:
5382eb4d8dcSEmmanuel Vadot          0: VSS
5392eb4d8dcSEmmanuel Vadot          1: Floating
5402eb4d8dcSEmmanuel Vadot
5412eb4d8dcSEmmanuel Vadot      azoteq,linearize:
5422eb4d8dcSEmmanuel Vadot        type: boolean
5432eb4d8dcSEmmanuel Vadot        description: Inverts the polarity of the trackpad's touch state.
5442eb4d8dcSEmmanuel Vadot
5452eb4d8dcSEmmanuel Vadot      azoteq,dual-direction:
5462eb4d8dcSEmmanuel Vadot        type: boolean
5472eb4d8dcSEmmanuel Vadot        description:
5482eb4d8dcSEmmanuel Vadot          Specifies that the trackpad's long-term averages are to freeze in
5492eb4d8dcSEmmanuel Vadot          the presence of either increasing or decreasing counts, thereby
5502eb4d8dcSEmmanuel Vadot          permitting events to be reported in either direction.
5512eb4d8dcSEmmanuel Vadot
5522eb4d8dcSEmmanuel Vadot      azoteq,filt-disable:
5532eb4d8dcSEmmanuel Vadot        type: boolean
5542eb4d8dcSEmmanuel Vadot        description: Disables raw count filtering for the trackpad channels.
5552eb4d8dcSEmmanuel Vadot
5562eb4d8dcSEmmanuel Vadot      azoteq,ati-mode:
5572eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
5582eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
5592eb4d8dcSEmmanuel Vadot        default: 0
5602eb4d8dcSEmmanuel Vadot        description: |
5612eb4d8dcSEmmanuel Vadot          Specifies the trackpad's ATI mode as follows:
5622eb4d8dcSEmmanuel Vadot          0: Disabled
5632eb4d8dcSEmmanuel Vadot          1: Semi-partial
5642eb4d8dcSEmmanuel Vadot          2: Partial
5652eb4d8dcSEmmanuel Vadot          3: Full
5662eb4d8dcSEmmanuel Vadot
5672eb4d8dcSEmmanuel Vadot      azoteq,ati-base:
5682eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
5692eb4d8dcSEmmanuel Vadot        minItems: 6
5702eb4d8dcSEmmanuel Vadot        maxItems: 9
5712eb4d8dcSEmmanuel Vadot        items:
5722eb4d8dcSEmmanuel Vadot          minimum: 45
5732eb4d8dcSEmmanuel Vadot          maximum: 300
5742eb4d8dcSEmmanuel Vadot        default: [45, 45, 45, 45, 45, 45, 45, 45, 45]
5752eb4d8dcSEmmanuel Vadot        description: Specifies each individual trackpad channel's ATI base.
5762eb4d8dcSEmmanuel Vadot
5772eb4d8dcSEmmanuel Vadot      azoteq,ati-target:
5782eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
5792eb4d8dcSEmmanuel Vadot        multipleOf: 32
5802eb4d8dcSEmmanuel Vadot        minimum: 0
5812eb4d8dcSEmmanuel Vadot        maximum: 2016
5822eb4d8dcSEmmanuel Vadot        default: 0
5832eb4d8dcSEmmanuel Vadot        description: Specifies the trackpad's ATI target.
5842eb4d8dcSEmmanuel Vadot
5852eb4d8dcSEmmanuel Vadot      azoteq,cct-increase:
5862eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
5872eb4d8dcSEmmanuel Vadot        minimum: 0
5882eb4d8dcSEmmanuel Vadot        maximum: 4
5892eb4d8dcSEmmanuel Vadot        default: 0
5902eb4d8dcSEmmanuel Vadot        description:
5912eb4d8dcSEmmanuel Vadot          Specifies the degree to which the trackpad's charge cycle time is to
5922eb4d8dcSEmmanuel Vadot          be increased, with 0 representing no increase.
5932eb4d8dcSEmmanuel Vadot
5942eb4d8dcSEmmanuel Vadot      azoteq,proj-bias:
5952eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
5962eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
5972eb4d8dcSEmmanuel Vadot        default: 0
5982eb4d8dcSEmmanuel Vadot        description: |
5992eb4d8dcSEmmanuel Vadot          Specifies the bias current applied during projected-capacitance
6002eb4d8dcSEmmanuel Vadot          sensing as follows:
6012eb4d8dcSEmmanuel Vadot          0: 2.5 uA
6022eb4d8dcSEmmanuel Vadot          1: 5 uA
6032eb4d8dcSEmmanuel Vadot          2: 10 uA
6042eb4d8dcSEmmanuel Vadot          3: 20 uA
6052eb4d8dcSEmmanuel Vadot
6062eb4d8dcSEmmanuel Vadot      azoteq,sense-freq:
6072eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6082eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
6092eb4d8dcSEmmanuel Vadot        default: 0
6102eb4d8dcSEmmanuel Vadot        description: |
6112eb4d8dcSEmmanuel Vadot          Specifies the trackpad's sensing frequency as follows (parenthesized
6122eb4d8dcSEmmanuel Vadot          numbers represent the frequency if 'azoteq,clk-div' is present):
6132eb4d8dcSEmmanuel Vadot          0: 4 MHz (1 MHz)
6142eb4d8dcSEmmanuel Vadot          1: 2 MHz (500 kHz)
6152eb4d8dcSEmmanuel Vadot          2: 1 MHz (250 kHz)
6162eb4d8dcSEmmanuel Vadot          3: 500 kHz (125 kHz)
6172eb4d8dcSEmmanuel Vadot
6182eb4d8dcSEmmanuel Vadot      azoteq,ati-band-tighten:
6192eb4d8dcSEmmanuel Vadot        type: boolean
6202eb4d8dcSEmmanuel Vadot        description:
6212eb4d8dcSEmmanuel Vadot          Tightens the ATI band from 1/8 to 1/16 of the desired target.
6222eb4d8dcSEmmanuel Vadot
6232eb4d8dcSEmmanuel Vadot      azoteq,thresh:
6242eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
6252eb4d8dcSEmmanuel Vadot        minItems: 6
6262eb4d8dcSEmmanuel Vadot        maxItems: 9
6272eb4d8dcSEmmanuel Vadot        items:
6282eb4d8dcSEmmanuel Vadot          minimum: 0
6292eb4d8dcSEmmanuel Vadot          maximum: 255
6302eb4d8dcSEmmanuel Vadot        default: [0, 0, 0, 0, 0, 0, 0, 0, 0]
6312eb4d8dcSEmmanuel Vadot        description:
6322eb4d8dcSEmmanuel Vadot          Specifies each individual trackpad channel's touch threshold.
6332eb4d8dcSEmmanuel Vadot
6342eb4d8dcSEmmanuel Vadot      azoteq,hyst:
6352eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6362eb4d8dcSEmmanuel Vadot        minimum: 0
6372eb4d8dcSEmmanuel Vadot        maximum: 15
6382eb4d8dcSEmmanuel Vadot        default: 0
6392eb4d8dcSEmmanuel Vadot        description: Specifies the trackpad's touch hysteresis.
6402eb4d8dcSEmmanuel Vadot
6412eb4d8dcSEmmanuel Vadot      azoteq,lta-update:
6422eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6432eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3, 4, 5, 6, 7]
6442eb4d8dcSEmmanuel Vadot        default: 0
6452eb4d8dcSEmmanuel Vadot        description: |
6462eb4d8dcSEmmanuel Vadot          Specifies the update rate of the trackpad's long-term average during
6472eb4d8dcSEmmanuel Vadot          ultra-low-power mode as follows:
6482eb4d8dcSEmmanuel Vadot          0: 2
6492eb4d8dcSEmmanuel Vadot          1: 4
6502eb4d8dcSEmmanuel Vadot          2: 8
6512eb4d8dcSEmmanuel Vadot          3: 16
6522eb4d8dcSEmmanuel Vadot          4: 32
6532eb4d8dcSEmmanuel Vadot          5: 64
6542eb4d8dcSEmmanuel Vadot          6: 128
6552eb4d8dcSEmmanuel Vadot          7: 255
6562eb4d8dcSEmmanuel Vadot
6572eb4d8dcSEmmanuel Vadot      azoteq,filt-str-trackpad:
6582eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6592eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
6602eb4d8dcSEmmanuel Vadot        default: 0
6612eb4d8dcSEmmanuel Vadot        description: Specifies the trackpad coordinate filter strength.
6622eb4d8dcSEmmanuel Vadot
6632eb4d8dcSEmmanuel Vadot      azoteq,filt-str-np-cnt:
6642eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6652eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
6662eb4d8dcSEmmanuel Vadot        default: 0
6672eb4d8dcSEmmanuel Vadot        description:
6682eb4d8dcSEmmanuel Vadot          Specifies the raw count filter strength during normal-power mode.
6692eb4d8dcSEmmanuel Vadot
6702eb4d8dcSEmmanuel Vadot      azoteq,filt-str-lp-cnt:
6712eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
6722eb4d8dcSEmmanuel Vadot        enum: [0, 1, 2, 3]
6732eb4d8dcSEmmanuel Vadot        default: 0
6742eb4d8dcSEmmanuel Vadot        description:
6752eb4d8dcSEmmanuel Vadot          Specifies the raw count filter strength during low-power mode.
6762eb4d8dcSEmmanuel Vadot
6772eb4d8dcSEmmanuel Vadot      linux,keycodes:
6782eb4d8dcSEmmanuel Vadot        minItems: 1
6792eb4d8dcSEmmanuel Vadot        maxItems: 6
6802eb4d8dcSEmmanuel Vadot        description: |
6812eb4d8dcSEmmanuel Vadot          Specifies the numeric keycodes associated with each available gesture
6822eb4d8dcSEmmanuel Vadot          in the following order (enter 0 for unused gestures):
6832eb4d8dcSEmmanuel Vadot          0: Positive flick or swipe in X direction
6842eb4d8dcSEmmanuel Vadot          1: Negative flick or swipe in X direction
6852eb4d8dcSEmmanuel Vadot          2: Positive flick or swipe in Y direction
6862eb4d8dcSEmmanuel Vadot          3: Negative flick or swipe in Y direction
6872eb4d8dcSEmmanuel Vadot          4: Tap
6882eb4d8dcSEmmanuel Vadot          5: Hold
6892eb4d8dcSEmmanuel Vadot
6902eb4d8dcSEmmanuel Vadot      azoteq,gesture-swipe:
6912eb4d8dcSEmmanuel Vadot        type: boolean
6922eb4d8dcSEmmanuel Vadot        description:
6932eb4d8dcSEmmanuel Vadot          Directs the device to interpret axial gestures as a swipe (finger
6942eb4d8dcSEmmanuel Vadot          remains on trackpad) instead of a flick (finger leaves trackpad).
6952eb4d8dcSEmmanuel Vadot
6962eb4d8dcSEmmanuel Vadot      azoteq,timeout-tap-ms:
6972eb4d8dcSEmmanuel Vadot        multipleOf: 16
6982eb4d8dcSEmmanuel Vadot        minimum: 0
6992eb4d8dcSEmmanuel Vadot        maximum: 4080
7002eb4d8dcSEmmanuel Vadot        default: 0
7012eb4d8dcSEmmanuel Vadot        description:
7022eb4d8dcSEmmanuel Vadot          Specifies the length of time (in ms) within which a trackpad touch
7032eb4d8dcSEmmanuel Vadot          must be released in order to be interpreted as a tap.
7042eb4d8dcSEmmanuel Vadot
7052eb4d8dcSEmmanuel Vadot      azoteq,timeout-swipe-ms:
7062eb4d8dcSEmmanuel Vadot        multipleOf: 16
7072eb4d8dcSEmmanuel Vadot        minimum: 0
7082eb4d8dcSEmmanuel Vadot        maximum: 4080
7092eb4d8dcSEmmanuel Vadot        default: 0
7102eb4d8dcSEmmanuel Vadot        description:
7112eb4d8dcSEmmanuel Vadot          Specifies the length of time (in ms) within which an axial gesture
7122eb4d8dcSEmmanuel Vadot          must be completed in order to be interpreted as a flick or swipe.
7132eb4d8dcSEmmanuel Vadot
7142eb4d8dcSEmmanuel Vadot      azoteq,thresh-swipe:
7152eb4d8dcSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
7162eb4d8dcSEmmanuel Vadot        minimum: 0
7172eb4d8dcSEmmanuel Vadot        maximum: 255
7182eb4d8dcSEmmanuel Vadot        default: 0
7192eb4d8dcSEmmanuel Vadot        description:
7202eb4d8dcSEmmanuel Vadot          Specifies the number of points across which an axial gesture must
7212eb4d8dcSEmmanuel Vadot          travel in order to be interpreted as a flick or swipe.
7222eb4d8dcSEmmanuel Vadot
7232eb4d8dcSEmmanuel Vadot    dependencies:
7242eb4d8dcSEmmanuel Vadot      azoteq,gesture-swipe: ["linux,keycodes"]
7252eb4d8dcSEmmanuel Vadot      azoteq,timeout-tap-ms: ["linux,keycodes"]
7262eb4d8dcSEmmanuel Vadot      azoteq,timeout-swipe-ms: ["linux,keycodes"]
7272eb4d8dcSEmmanuel Vadot      azoteq,thresh-swipe: ["linux,keycodes"]
7282eb4d8dcSEmmanuel Vadot
7292eb4d8dcSEmmanuel Vadot    additionalProperties: false
7302eb4d8dcSEmmanuel Vadot
7312eb4d8dcSEmmanuel Vadotrequired:
7322eb4d8dcSEmmanuel Vadot  - compatible
7332eb4d8dcSEmmanuel Vadot  - reg
7342eb4d8dcSEmmanuel Vadot  - interrupts
7352eb4d8dcSEmmanuel Vadot  - "#address-cells"
7362eb4d8dcSEmmanuel Vadot  - "#size-cells"
7372eb4d8dcSEmmanuel Vadot
7382eb4d8dcSEmmanuel VadotadditionalProperties: false
7392eb4d8dcSEmmanuel Vadot
7402eb4d8dcSEmmanuel Vadotexamples:
7412eb4d8dcSEmmanuel Vadot  - |
7422eb4d8dcSEmmanuel Vadot    #include <dt-bindings/input/input.h>
7432eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
7442eb4d8dcSEmmanuel Vadot
7452eb4d8dcSEmmanuel Vadot    i2c {
7462eb4d8dcSEmmanuel Vadot            #address-cells = <1>;
7472eb4d8dcSEmmanuel Vadot            #size-cells = <0>;
7482eb4d8dcSEmmanuel Vadot
749*b97ee269SEmmanuel Vadot            touch@44 {
7502eb4d8dcSEmmanuel Vadot                    #address-cells = <1>;
7512eb4d8dcSEmmanuel Vadot                    #size-cells = <0>;
7522eb4d8dcSEmmanuel Vadot
7532eb4d8dcSEmmanuel Vadot                    compatible = "azoteq,iqs626a";
7542eb4d8dcSEmmanuel Vadot                    reg = <0x44>;
7552eb4d8dcSEmmanuel Vadot                    interrupt-parent = <&gpio>;
7562eb4d8dcSEmmanuel Vadot                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
7572eb4d8dcSEmmanuel Vadot
7582eb4d8dcSEmmanuel Vadot                    azoteq,rate-np-ms = <16>;
7592eb4d8dcSEmmanuel Vadot                    azoteq,rate-lp-ms = <160>;
7602eb4d8dcSEmmanuel Vadot
7612eb4d8dcSEmmanuel Vadot                    azoteq,timeout-pwr-ms = <2560>;
7622eb4d8dcSEmmanuel Vadot                    azoteq,timeout-lta-ms = <32768>;
7632eb4d8dcSEmmanuel Vadot
7642eb4d8dcSEmmanuel Vadot                    ulp-0 {
7652eb4d8dcSEmmanuel Vadot                            azoteq,meas-cap-decrease;
7662eb4d8dcSEmmanuel Vadot
7672eb4d8dcSEmmanuel Vadot                            azoteq,ati-base = <75>;
7682eb4d8dcSEmmanuel Vadot                            azoteq,ati-target = <1024>;
7692eb4d8dcSEmmanuel Vadot
7702eb4d8dcSEmmanuel Vadot                            azoteq,rx-enable = <2>, <3>, <4>,
7712eb4d8dcSEmmanuel Vadot                                               <5>, <6>, <7>;
7722eb4d8dcSEmmanuel Vadot
7732eb4d8dcSEmmanuel Vadot                            event-prox {
7742eb4d8dcSEmmanuel Vadot                                    linux,code = <KEY_POWER>;
7752eb4d8dcSEmmanuel Vadot                            };
7762eb4d8dcSEmmanuel Vadot                    };
7772eb4d8dcSEmmanuel Vadot
7782eb4d8dcSEmmanuel Vadot                    trackpad-3x3 {
7792eb4d8dcSEmmanuel Vadot                            azoteq,filt-str-np-cnt = <1>;
7802eb4d8dcSEmmanuel Vadot                            azoteq,filt-str-lp-cnt = <1>;
7812eb4d8dcSEmmanuel Vadot
7822eb4d8dcSEmmanuel Vadot                            azoteq,hyst = <4>;
7832eb4d8dcSEmmanuel Vadot                            azoteq,thresh = <35>, <40>, <40>,
7842eb4d8dcSEmmanuel Vadot                                            <38>, <33>, <38>,
7852eb4d8dcSEmmanuel Vadot                                            <35>, <35>, <35>;
7862eb4d8dcSEmmanuel Vadot
7872eb4d8dcSEmmanuel Vadot                            azoteq,ati-mode = <3>;
7882eb4d8dcSEmmanuel Vadot                            azoteq,ati-base = <195>, <195>, <195>,
7892eb4d8dcSEmmanuel Vadot                                              <195>, <195>, <195>,
7902eb4d8dcSEmmanuel Vadot                                              <195>, <195>, <195>;
7912eb4d8dcSEmmanuel Vadot                            azoteq,ati-target = <512>;
7922eb4d8dcSEmmanuel Vadot
7932eb4d8dcSEmmanuel Vadot                            azoteq,proj-bias = <1>;
7942eb4d8dcSEmmanuel Vadot                            azoteq,sense-freq = <2>;
7952eb4d8dcSEmmanuel Vadot
7962eb4d8dcSEmmanuel Vadot                            linux,keycodes = <KEY_VOLUMEUP>,
7972eb4d8dcSEmmanuel Vadot                                             <KEY_VOLUMEDOWN>,
7982eb4d8dcSEmmanuel Vadot                                             <KEY_NEXTSONG>,
7992eb4d8dcSEmmanuel Vadot                                             <KEY_PREVIOUSSONG>,
8002eb4d8dcSEmmanuel Vadot                                             <KEY_PLAYPAUSE>,
8012eb4d8dcSEmmanuel Vadot                                             <KEY_STOPCD>;
8022eb4d8dcSEmmanuel Vadot
8032eb4d8dcSEmmanuel Vadot                            azoteq,gesture-swipe;
8042eb4d8dcSEmmanuel Vadot                            azoteq,timeout-swipe-ms = <800>;
8052eb4d8dcSEmmanuel Vadot                            azoteq,timeout-tap-ms = <400>;
8062eb4d8dcSEmmanuel Vadot                            azoteq,thresh-swipe = <40>;
8072eb4d8dcSEmmanuel Vadot                    };
8082eb4d8dcSEmmanuel Vadot
8092eb4d8dcSEmmanuel Vadot                    /*
8102eb4d8dcSEmmanuel Vadot                     * Preserve the default register settings for
8112eb4d8dcSEmmanuel Vadot                     * the temperature-tracking channel leveraged
8122eb4d8dcSEmmanuel Vadot                     * by reset user interface (RUI) 1.
8132eb4d8dcSEmmanuel Vadot                     *
8142eb4d8dcSEmmanuel Vadot                     * Scalar properties (e.g. ATI mode) are left
8152eb4d8dcSEmmanuel Vadot                     * untouched by simply omitting them; boolean
8162eb4d8dcSEmmanuel Vadot                     * properties must be specified explicitly as
8172eb4d8dcSEmmanuel Vadot                     * needed.
8182eb4d8dcSEmmanuel Vadot                     */
8192eb4d8dcSEmmanuel Vadot                    generic-2 {
8202eb4d8dcSEmmanuel Vadot                            azoteq,reseed-disable;
8212eb4d8dcSEmmanuel Vadot                            azoteq,meas-cap-decrease;
8222eb4d8dcSEmmanuel Vadot                            azoteq,dual-direction;
8232eb4d8dcSEmmanuel Vadot                            azoteq,comp-disable;
8242eb4d8dcSEmmanuel Vadot                            azoteq,static-enable;
8252eb4d8dcSEmmanuel Vadot                    };
8262eb4d8dcSEmmanuel Vadot
8272eb4d8dcSEmmanuel Vadot                    hall {
8282eb4d8dcSEmmanuel Vadot                            azoteq,reseed-disable;
8292eb4d8dcSEmmanuel Vadot                            azoteq,meas-cap-decrease;
8302eb4d8dcSEmmanuel Vadot
8312eb4d8dcSEmmanuel Vadot                            event-touch {
8322eb4d8dcSEmmanuel Vadot                                    linux,code = <SW_LID>;
8332eb4d8dcSEmmanuel Vadot                            };
8342eb4d8dcSEmmanuel Vadot                    };
8352eb4d8dcSEmmanuel Vadot            };
8362eb4d8dcSEmmanuel Vadot    };
8372eb4d8dcSEmmanuel Vadot
8382eb4d8dcSEmmanuel Vadot...
839