cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

iqs626a.yaml (27100B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/input/iqs626a.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Azoteq IQS626A Capacitive Touch Controller
      8
      9maintainers:
     10  - Jeff LaBundy <jeff@labundy.com>
     11
     12description: |
     13  The Azoteq IQS626A is a 14-channel capacitive touch controller that features
     14  additional Hall-effect and inductive sensing capabilities.
     15
     16  Link to datasheet: https://www.azoteq.com/
     17
     18allOf:
     19  - $ref: touchscreen/touchscreen.yaml#
     20
     21properties:
     22  compatible:
     23    const: azoteq,iqs626a
     24
     25  reg:
     26    maxItems: 1
     27
     28  interrupts:
     29    maxItems: 1
     30
     31  "#address-cells":
     32    const: 1
     33
     34  "#size-cells":
     35    const: 0
     36
     37  azoteq,suspend-mode:
     38    $ref: /schemas/types.yaml#/definitions/uint32
     39    enum: [0, 1, 2, 3]
     40    default: 0
     41    description: |
     42      Specifies the power mode during suspend as follows:
     43      0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
     44      1: Low power (all sensing at a reduced reporting rate)
     45      2: Ultra-low power (ULP channel proximity sensing)
     46      3: Halt (no sensing)
     47
     48  azoteq,clk-div:
     49    type: boolean
     50    description: Divides the device's core clock by a factor of 4.
     51
     52  azoteq,ulp-enable:
     53    type: boolean
     54    description:
     55      Permits the device to automatically enter ultra-low-power mode from low-
     56      power mode.
     57
     58  azoteq,ulp-update:
     59    $ref: /schemas/types.yaml#/definitions/uint32
     60    enum: [0, 1, 2, 3, 4, 5, 6, 7]
     61    default: 3
     62    description: |
     63      Specifies the rate at which the trackpad, generic and Hall channels are
     64      updated during ultra-low-power mode as follows:
     65      0: 8
     66      1: 13
     67      2: 28
     68      3: 54
     69      4: 89
     70      5: 135
     71      6: 190
     72      7: 256
     73
     74  azoteq,ati-band-disable:
     75    type: boolean
     76    description: Disables the ATI band check.
     77
     78  azoteq,ati-lp-only:
     79    type: boolean
     80    description: Limits automatic ATI to low-power mode.
     81
     82  azoteq,gpio3-select:
     83    $ref: /schemas/types.yaml#/definitions/uint32
     84    enum: [0, 1, 2, 3, 4, 5, 6, 7]
     85    default: 1
     86    description: |
     87      Selects the channel or group of channels for which the GPIO3 pin
     88      represents touch state as follows:
     89      0: None
     90      1: ULP channel
     91      2: Trackpad
     92      3: Trackpad
     93      4: Generic channel 0
     94      5: Generic channel 1
     95      6: Generic channel 2
     96      7: Hall channel
     97
     98  azoteq,reseed-select:
     99    $ref: /schemas/types.yaml#/definitions/uint32
    100    enum: [0, 1, 2, 3]
    101    default: 0
    102    description: |
    103      Specifies the event(s) that prompt the device to reseed (i.e. reset the
    104      long-term average) of an associated channel as follows:
    105      0: None
    106      1: Proximity
    107      2: Proximity or touch
    108      3: Proximity, touch or deep touch
    109
    110  azoteq,thresh-extend:
    111    type: boolean
    112    description: Multiplies all touch and deep-touch thresholds by 4.
    113
    114  azoteq,tracking-enable:
    115    type: boolean
    116    description:
    117      Enables all associated channels to track their respective reference
    118      channels.
    119
    120  azoteq,reseed-offset:
    121    type: boolean
    122    description:
    123      Applies an 8-count offset to all long-term averages upon either ATI or
    124      reseed events.
    125
    126  azoteq,rate-np-ms:
    127    minimum: 0
    128    maximum: 255
    129    default: 150
    130    description: Specifies the report rate (in ms) during normal-power mode.
    131
    132  azoteq,rate-lp-ms:
    133    minimum: 0
    134    maximum: 255
    135    default: 150
    136    description: Specifies the report rate (in ms) during low-power mode.
    137
    138  azoteq,rate-ulp-ms:
    139    multipleOf: 16
    140    minimum: 0
    141    maximum: 4080
    142    default: 0
    143    description: Specifies the report rate (in ms) during ultra-low-power mode.
    144
    145  azoteq,timeout-pwr-ms:
    146    multipleOf: 512
    147    minimum: 0
    148    maximum: 130560
    149    default: 2560
    150    description:
    151      Specifies the length of time (in ms) to wait for an event before moving
    152      from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
    153      present) from low-power mode to ultra-low-power mode.
    154
    155  azoteq,timeout-lta-ms:
    156    multipleOf: 512
    157    minimum: 0
    158    maximum: 130560
    159    default: 40960
    160    description:
    161      Specifies the length of time (in ms) to wait before resetting the long-
    162      term average of all channels. Specify the maximum timeout to disable it
    163      altogether.
    164
    165  touchscreen-inverted-x: true
    166  touchscreen-inverted-y: true
    167  touchscreen-swapped-x-y: true
    168
    169patternProperties:
    170  "^ulp-0|generic-[0-2]|hall$":
    171    type: object
    172    description:
    173      Represents a single sensing channel. A channel is active if defined and
    174      inactive otherwise.
    175
    176    properties:
    177      azoteq,ati-exclude:
    178        type: boolean
    179        description:
    180          Prevents the channel from participating in an ATI event that is
    181          manually triggered during initialization.
    182
    183      azoteq,reseed-disable:
    184        type: boolean
    185        description:
    186          Prevents the channel from being reseeded if the long-term average
    187          timeout (defined in 'azoteq,timeout-lta') expires.
    188
    189      azoteq,meas-cap-decrease:
    190        type: boolean
    191        description:
    192          Decreases the internal measurement capacitance from 60 pF to 15 pF.
    193
    194      azoteq,rx-inactive:
    195        $ref: /schemas/types.yaml#/definitions/uint32
    196        enum: [0, 1, 2]
    197        default: 0
    198        description: |
    199          Specifies how inactive CRX pins are to be terminated as follows:
    200          0: VSS
    201          1: Floating
    202          2: VREG (generic channels only)
    203
    204      azoteq,linearize:
    205        type: boolean
    206        description:
    207          Enables linearization of the channel's counts (generic and Hall
    208          channels) or inverts the polarity of the channel's proximity or
    209          touch states (ULP channel).
    210
    211      azoteq,dual-direction:
    212        type: boolean
    213        description:
    214          Specifies that the channel's long-term average is to freeze in the
    215          presence of either increasing or decreasing counts, thereby permit-
    216          ting events to be reported in either direction.
    217
    218      azoteq,filt-disable:
    219        type: boolean
    220        description: Disables raw count filtering for the channel.
    221
    222      azoteq,ati-mode:
    223        $ref: /schemas/types.yaml#/definitions/uint32
    224        enum: [0, 1, 2, 3]
    225        description: |
    226          Specifies the channel's ATI mode as follows:
    227          0: Disabled
    228          1: Semi-partial
    229          2: Partial
    230          3: Full
    231
    232          The default value is a function of the channel and the device's reset
    233          user interface (RUI); reference the datasheet for further information
    234          about the available RUI options.
    235
    236      azoteq,ati-base:
    237        $ref: /schemas/types.yaml#/definitions/uint32
    238        enum: [75, 100, 150, 200]
    239        description:
    240          Specifies the channel's ATI base. The default value is a function
    241          of the channel and the device's RUI.
    242
    243      azoteq,ati-target:
    244        $ref: /schemas/types.yaml#/definitions/uint32
    245        multipleOf: 32
    246        minimum: 0
    247        maximum: 2016
    248        description:
    249          Specifies the channel's ATI target. The default value is a function
    250          of the channel and the device's RUI.
    251
    252      azoteq,cct-increase:
    253        $ref: /schemas/types.yaml#/definitions/uint32
    254        minimum: 0
    255        maximum: 16
    256        default: 0
    257        description:
    258          Specifies the degree to which the channel's charge cycle time is to
    259          be increased, with 0 representing no increase. The maximum value is
    260          limited to 4 in the case of the ULP channel, and the property is un-
    261          available entirely in the case of the Hall channel.
    262
    263      azoteq,proj-bias:
    264        $ref: /schemas/types.yaml#/definitions/uint32
    265        enum: [0, 1, 2, 3]
    266        default: 0
    267        description: |
    268          Specifies the bias current applied during projected-capacitance
    269          sensing as follows:
    270          0: 2.5 uA
    271          1: 5 uA
    272          2: 10 uA
    273          3: 20 uA
    274
    275          This property is unavailable in the case of the Hall channel.
    276
    277      azoteq,sense-freq:
    278        $ref: /schemas/types.yaml#/definitions/uint32
    279        enum: [0, 1, 2, 3]
    280        description: |
    281          Specifies the channel's sensing frequency as follows (parenthesized
    282          numbers represent the frequency if 'azoteq,clk-div' is present):
    283          0: 4 MHz (1 MHz)
    284          1: 2 MHz (500 kHz)
    285          2: 1 MHz (250 kHz)
    286          3: 500 kHz (125 kHz)
    287
    288          This property is unavailable in the case of the Hall channel. The
    289          default value is a function of the channel and the device's RUI.
    290
    291      azoteq,ati-band-tighten:
    292        type: boolean
    293        description:
    294          Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
    295          generic channels only).
    296
    297      azoteq,proj-enable:
    298        type: boolean
    299        description: Enables projected-capacitance sensing (ULP channel only).
    300
    301      azoteq,filt-str-np-cnt:
    302        $ref: /schemas/types.yaml#/definitions/uint32
    303        enum: [0, 1, 2, 3]
    304        default: 0
    305        description:
    306          Specifies the raw count filter strength during normal-power mode (ULP
    307          and generic channels only).
    308
    309      azoteq,filt-str-lp-cnt:
    310        $ref: /schemas/types.yaml#/definitions/uint32
    311        enum: [0, 1, 2, 3]
    312        default: 0
    313        description:
    314          Specifies the raw count filter strength during low-power mode (ULP and
    315          generic channels only).
    316
    317      azoteq,filt-str-np-lta:
    318        $ref: /schemas/types.yaml#/definitions/uint32
    319        enum: [0, 1, 2, 3]
    320        default: 0
    321        description:
    322          Specifies the long-term average filter strength during normal-power
    323          mode (ULP and generic channels only).
    324
    325      azoteq,filt-str-lp-lta:
    326        $ref: /schemas/types.yaml#/definitions/uint32
    327        enum: [0, 1, 2, 3]
    328        default: 0
    329        description:
    330          Specifies the long-term average filter strength during low-power mode
    331          (ULP and generic channels only).
    332
    333      azoteq,rx-enable:
    334        $ref: /schemas/types.yaml#/definitions/uint32-array
    335        minItems: 1
    336        maxItems: 8
    337        items:
    338          minimum: 0
    339          maximum: 7
    340        description:
    341          Specifies the CRX pin(s) associated with the channel.
    342
    343          This property is unavailable in the case of the Hall channel. The
    344          default value is a function of the channel and the device's RUI.
    345
    346      azoteq,tx-enable:
    347        $ref: /schemas/types.yaml#/definitions/uint32-array
    348        minItems: 1
    349        maxItems: 8
    350        items:
    351          minimum: 0
    352          maximum: 7
    353        description:
    354          Specifies the TX pin(s) associated with the channel.
    355
    356          This property is unavailable in the case of the Hall channel. The
    357          default value is a function of the channel and the device's RUI.
    358
    359      azoteq,local-cap-size:
    360        $ref: /schemas/types.yaml#/definitions/uint32
    361        enum: [0, 1, 2, 3, 4]
    362        default: 0
    363        description: |
    364          Specifies the capacitance to be added to the channel as follows:
    365          0: 0 pF
    366          1: 0.5 pF
    367          2: 1.0 pF
    368          3: 1.5 pF
    369          4: 2.0 pF
    370
    371          This property is unavailable in the case of the ULP or Hall channels.
    372
    373      azoteq,sense-mode:
    374        $ref: /schemas/types.yaml#/definitions/uint32
    375        enum: [0, 1, 8, 9, 12, 14, 15]
    376        description: |
    377          Specifies the channel's sensing mode as follows:
    378          0:  Self capacitance
    379          1:  Projected capacitance
    380          8:  Self inductance
    381          9:  Mutual inductance
    382          12: External
    383          14: Hall effect
    384          15: Temperature
    385
    386          This property is unavailable in the case of the ULP or Hall channels.
    387          The default value is a function of the channel and the device's RUI.
    388
    389      azoteq,tx-freq:
    390        $ref: /schemas/types.yaml#/definitions/uint32
    391        enum: [0, 1, 2, 3]
    392        default: 0
    393        description: |
    394          Specifies the inductive sensing excitation frequency as follows
    395          (parenthesized numbers represent the frequency if 'azoteq,clk-div'
    396          is present):
    397          0: 16 MHz (4 MHz)
    398          1: 8 MHz (2 MHz)
    399          2: 4 MHz (1 MHz)
    400          3: 2 MHz (500 kHz)
    401
    402          This property is unavailable in the case of the ULP or Hall channels.
    403
    404      azoteq,invert-enable:
    405        type: boolean
    406        description:
    407          Inverts the polarity of the states reported for proximity, touch and
    408          deep-touch events relative to their respective thresholds (generic
    409          channels only).
    410
    411      azoteq,comp-disable:
    412        type: boolean
    413        description:
    414          Disables compensation for the channel (generic channels only).
    415
    416      azoteq,static-enable:
    417        type: boolean
    418        description:
    419          Enables the static front-end for the channel (generic channels only).
    420
    421      azoteq,assoc-select:
    422        $ref: /schemas/types.yaml#/definitions/string-array
    423        minItems: 1
    424        maxItems: 6
    425        items:
    426          enum:
    427            - ulp-0
    428            - trackpad-3x2
    429            - trackpad-3x3
    430            - generic-0
    431            - generic-1
    432            - generic-2
    433            - hall
    434        description:
    435          Specifies the associated channels for which the channel serves as a
    436          reference channel. By default, no channels are selected. This prop-
    437          erty is only available for the generic channels.
    438
    439      azoteq,assoc-weight:
    440        $ref: /schemas/types.yaml#/definitions/uint32
    441        minimum: 0
    442        maximum: 255
    443        default: 0
    444        description:
    445          Specifies the channel's impact weight if it acts as an associated
    446          channel (0 = 0% impact, 255 = 200% impact). This property is only
    447          available for the generic channels.
    448
    449    patternProperties:
    450      "^event-(prox|touch|deep)(-alt)?$":
    451        type: object
    452        description:
    453          Represents a proximity, touch or deep-touch event reported by the
    454          channel in response to a decrease in counts. Node names suffixed with
    455          '-alt' instead correspond to an increase in counts.
    456
    457          By default, the long-term average tracks an increase in counts such
    458          that only events corresponding to a decrease in counts are reported
    459          (refer to the datasheet for more information).
    460
    461          Specify 'azoteq,dual-direction' to freeze the long-term average when
    462          the counts increase or decrease such that events of either direction
    463          can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
    464          vert the polarity of the states reported by the channel.
    465
    466          Complementary events (e.g. event-touch and event-touch-alt) can both
    467          be present and specify different key or switch codes, but not differ-
    468          ent thresholds or hysteresis (if applicable).
    469
    470          Proximity events are unavailable in the case of the Hall channel, and
    471          deep-touch events are only available for the generic channels. Unless
    472          otherwise specified, default values are a function of the channel and
    473          the device's RUI.
    474
    475        properties:
    476          azoteq,thresh:
    477            $ref: /schemas/types.yaml#/definitions/uint32
    478            minimum: 0
    479            maximum: 255
    480            description: Specifies the threshold for the event.
    481
    482          azoteq,hyst:
    483            $ref: /schemas/types.yaml#/definitions/uint32
    484            minimum: 0
    485            maximum: 15
    486            description:
    487              Specifies the hysteresis for the event (touch and deep-touch
    488              events only).
    489
    490          linux,code:
    491            $ref: /schemas/types.yaml#/definitions/uint32
    492            description: Numeric key or switch code associated with the event.
    493
    494          linux,input-type:
    495            $ref: /schemas/types.yaml#/definitions/uint32
    496            enum: [1, 5]
    497            description:
    498              Specifies whether the event is to be interpreted as a key (1) or
    499              a switch (5). By default, Hall-channel events are interpreted as
    500              switches and all others are interpreted as keys.
    501
    502        dependencies:
    503          linux,input-type: ["linux,code"]
    504
    505        additionalProperties: false
    506
    507    dependencies:
    508      azoteq,assoc-weight: ["azoteq,assoc-select"]
    509
    510    additionalProperties: false
    511
    512  "^trackpad-3x[2-3]$":
    513    type: object
    514    description:
    515      Represents all channels associated with the trackpad. The channels are
    516      collectively active if the trackpad is defined and inactive otherwise.
    517
    518    properties:
    519      azoteq,ati-exclude:
    520        type: boolean
    521        description:
    522          Prevents the trackpad channels from participating in an ATI event
    523          that is manually triggered during initialization.
    524
    525      azoteq,reseed-disable:
    526        type: boolean
    527        description:
    528          Prevents the trackpad channels from being reseeded if the long-term
    529          average timeout (defined in 'azoteq,timeout-lta') expires.
    530
    531      azoteq,meas-cap-decrease:
    532        type: boolean
    533        description:
    534          Decreases the internal measurement capacitance from 60 pF to 15 pF.
    535
    536      azoteq,rx-inactive:
    537        $ref: /schemas/types.yaml#/definitions/uint32
    538        enum: [0, 1]
    539        default: 0
    540        description: |
    541          Specifies how inactive CRX pins are to be terminated as follows:
    542          0: VSS
    543          1: Floating
    544
    545      azoteq,linearize:
    546        type: boolean
    547        description: Inverts the polarity of the trackpad's touch state.
    548
    549      azoteq,dual-direction:
    550        type: boolean
    551        description:
    552          Specifies that the trackpad's long-term averages are to freeze in
    553          the presence of either increasing or decreasing counts, thereby
    554          permitting events to be reported in either direction.
    555
    556      azoteq,filt-disable:
    557        type: boolean
    558        description: Disables raw count filtering for the trackpad channels.
    559
    560      azoteq,ati-mode:
    561        $ref: /schemas/types.yaml#/definitions/uint32
    562        enum: [0, 1, 2, 3]
    563        default: 0
    564        description: |
    565          Specifies the trackpad's ATI mode as follows:
    566          0: Disabled
    567          1: Semi-partial
    568          2: Partial
    569          3: Full
    570
    571      azoteq,ati-base:
    572        $ref: /schemas/types.yaml#/definitions/uint32-array
    573        minItems: 6
    574        maxItems: 9
    575        items:
    576          minimum: 45
    577          maximum: 300
    578        default: [45, 45, 45, 45, 45, 45, 45, 45, 45]
    579        description: Specifies each individual trackpad channel's ATI base.
    580
    581      azoteq,ati-target:
    582        $ref: /schemas/types.yaml#/definitions/uint32
    583        multipleOf: 32
    584        minimum: 0
    585        maximum: 2016
    586        default: 0
    587        description: Specifies the trackpad's ATI target.
    588
    589      azoteq,cct-increase:
    590        $ref: /schemas/types.yaml#/definitions/uint32
    591        minimum: 0
    592        maximum: 4
    593        default: 0
    594        description:
    595          Specifies the degree to which the trackpad's charge cycle time is to
    596          be increased, with 0 representing no increase.
    597
    598      azoteq,proj-bias:
    599        $ref: /schemas/types.yaml#/definitions/uint32
    600        enum: [0, 1, 2, 3]
    601        default: 0
    602        description: |
    603          Specifies the bias current applied during projected-capacitance
    604          sensing as follows:
    605          0: 2.5 uA
    606          1: 5 uA
    607          2: 10 uA
    608          3: 20 uA
    609
    610      azoteq,sense-freq:
    611        $ref: /schemas/types.yaml#/definitions/uint32
    612        enum: [0, 1, 2, 3]
    613        default: 0
    614        description: |
    615          Specifies the trackpad's sensing frequency as follows (parenthesized
    616          numbers represent the frequency if 'azoteq,clk-div' is present):
    617          0: 4 MHz (1 MHz)
    618          1: 2 MHz (500 kHz)
    619          2: 1 MHz (250 kHz)
    620          3: 500 kHz (125 kHz)
    621
    622      azoteq,ati-band-tighten:
    623        type: boolean
    624        description:
    625          Tightens the ATI band from 1/8 to 1/16 of the desired target.
    626
    627      azoteq,thresh:
    628        $ref: /schemas/types.yaml#/definitions/uint32-array
    629        minItems: 6
    630        maxItems: 9
    631        items:
    632          minimum: 0
    633          maximum: 255
    634        default: [0, 0, 0, 0, 0, 0, 0, 0, 0]
    635        description:
    636          Specifies each individual trackpad channel's touch threshold.
    637
    638      azoteq,hyst:
    639        $ref: /schemas/types.yaml#/definitions/uint32
    640        minimum: 0
    641        maximum: 15
    642        default: 0
    643        description: Specifies the trackpad's touch hysteresis.
    644
    645      azoteq,lta-update:
    646        $ref: /schemas/types.yaml#/definitions/uint32
    647        enum: [0, 1, 2, 3, 4, 5, 6, 7]
    648        default: 0
    649        description: |
    650          Specifies the update rate of the trackpad's long-term average during
    651          ultra-low-power mode as follows:
    652          0: 2
    653          1: 4
    654          2: 8
    655          3: 16
    656          4: 32
    657          5: 64
    658          6: 128
    659          7: 255
    660
    661      azoteq,filt-str-trackpad:
    662        $ref: /schemas/types.yaml#/definitions/uint32
    663        enum: [0, 1, 2, 3]
    664        default: 0
    665        description: Specifies the trackpad coordinate filter strength.
    666
    667      azoteq,filt-str-np-cnt:
    668        $ref: /schemas/types.yaml#/definitions/uint32
    669        enum: [0, 1, 2, 3]
    670        default: 0
    671        description:
    672          Specifies the raw count filter strength during normal-power mode.
    673
    674      azoteq,filt-str-lp-cnt:
    675        $ref: /schemas/types.yaml#/definitions/uint32
    676        enum: [0, 1, 2, 3]
    677        default: 0
    678        description:
    679          Specifies the raw count filter strength during low-power mode.
    680
    681      linux,keycodes:
    682        $ref: /schemas/types.yaml#/definitions/uint32-array
    683        minItems: 1
    684        maxItems: 6
    685        description: |
    686          Specifies the numeric keycodes associated with each available gesture
    687          in the following order (enter 0 for unused gestures):
    688          0: Positive flick or swipe in X direction
    689          1: Negative flick or swipe in X direction
    690          2: Positive flick or swipe in Y direction
    691          3: Negative flick or swipe in Y direction
    692          4: Tap
    693          5: Hold
    694
    695      azoteq,gesture-swipe:
    696        type: boolean
    697        description:
    698          Directs the device to interpret axial gestures as a swipe (finger
    699          remains on trackpad) instead of a flick (finger leaves trackpad).
    700
    701      azoteq,timeout-tap-ms:
    702        multipleOf: 16
    703        minimum: 0
    704        maximum: 4080
    705        default: 0
    706        description:
    707          Specifies the length of time (in ms) within which a trackpad touch
    708          must be released in order to be interpreted as a tap.
    709
    710      azoteq,timeout-swipe-ms:
    711        multipleOf: 16
    712        minimum: 0
    713        maximum: 4080
    714        default: 0
    715        description:
    716          Specifies the length of time (in ms) within which an axial gesture
    717          must be completed in order to be interpreted as a flick or swipe.
    718
    719      azoteq,thresh-swipe:
    720        $ref: /schemas/types.yaml#/definitions/uint32
    721        minimum: 0
    722        maximum: 255
    723        default: 0
    724        description:
    725          Specifies the number of points across which an axial gesture must
    726          travel in order to be interpreted as a flick or swipe.
    727
    728    dependencies:
    729      azoteq,gesture-swipe: ["linux,keycodes"]
    730      azoteq,timeout-tap-ms: ["linux,keycodes"]
    731      azoteq,timeout-swipe-ms: ["linux,keycodes"]
    732      azoteq,thresh-swipe: ["linux,keycodes"]
    733
    734    additionalProperties: false
    735
    736required:
    737  - compatible
    738  - reg
    739  - interrupts
    740  - "#address-cells"
    741  - "#size-cells"
    742
    743additionalProperties: false
    744
    745examples:
    746  - |
    747    #include <dt-bindings/input/input.h>
    748    #include <dt-bindings/interrupt-controller/irq.h>
    749
    750    i2c {
    751            #address-cells = <1>;
    752            #size-cells = <0>;
    753
    754            iqs626a@44 {
    755                    #address-cells = <1>;
    756                    #size-cells = <0>;
    757
    758                    compatible = "azoteq,iqs626a";
    759                    reg = <0x44>;
    760                    interrupt-parent = <&gpio>;
    761                    interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
    762
    763                    azoteq,rate-np-ms = <16>;
    764                    azoteq,rate-lp-ms = <160>;
    765
    766                    azoteq,timeout-pwr-ms = <2560>;
    767                    azoteq,timeout-lta-ms = <32768>;
    768
    769                    ulp-0 {
    770                            azoteq,meas-cap-decrease;
    771
    772                            azoteq,ati-base = <75>;
    773                            azoteq,ati-target = <1024>;
    774
    775                            azoteq,rx-enable = <2>, <3>, <4>,
    776                                               <5>, <6>, <7>;
    777
    778                            event-prox {
    779                                    linux,code = <KEY_POWER>;
    780                            };
    781                    };
    782
    783                    trackpad-3x3 {
    784                            azoteq,filt-str-np-cnt = <1>;
    785                            azoteq,filt-str-lp-cnt = <1>;
    786
    787                            azoteq,hyst = <4>;
    788                            azoteq,thresh = <35>, <40>, <40>,
    789                                            <38>, <33>, <38>,
    790                                            <35>, <35>, <35>;
    791
    792                            azoteq,ati-mode = <3>;
    793                            azoteq,ati-base = <195>, <195>, <195>,
    794                                              <195>, <195>, <195>,
    795                                              <195>, <195>, <195>;
    796                            azoteq,ati-target = <512>;
    797
    798                            azoteq,proj-bias = <1>;
    799                            azoteq,sense-freq = <2>;
    800
    801                            linux,keycodes = <KEY_VOLUMEUP>,
    802                                             <KEY_VOLUMEDOWN>,
    803                                             <KEY_NEXTSONG>,
    804                                             <KEY_PREVIOUSSONG>,
    805                                             <KEY_PLAYPAUSE>,
    806                                             <KEY_STOPCD>;
    807
    808                            azoteq,gesture-swipe;
    809                            azoteq,timeout-swipe-ms = <800>;
    810                            azoteq,timeout-tap-ms = <400>;
    811                            azoteq,thresh-swipe = <40>;
    812                    };
    813
    814                    /*
    815                     * Preserve the default register settings for
    816                     * the temperature-tracking channel leveraged
    817                     * by reset user interface (RUI) 1.
    818                     *
    819                     * Scalar properties (e.g. ATI mode) are left
    820                     * untouched by simply omitting them; boolean
    821                     * properties must be specified explicitly as
    822                     * needed.
    823                     */
    824                    generic-2 {
    825                            azoteq,reseed-disable;
    826                            azoteq,meas-cap-decrease;
    827                            azoteq,dual-direction;
    828                            azoteq,comp-disable;
    829                            azoteq,static-enable;
    830                    };
    831
    832                    hall {
    833                            azoteq,reseed-disable;
    834                            azoteq,meas-cap-decrease;
    835
    836                            event-touch {
    837                                    linux,code = <SW_LID>;
    838                            };
    839                    };
    840            };
    841    };
    842
    843...