Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/input/iqs626a.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Azoteq IQS626A Capacitive Touch Controller
0008 
0009 maintainers:
0010   - Jeff LaBundy <jeff@labundy.com>
0011 
0012 description: |
0013   The Azoteq IQS626A is a 14-channel capacitive touch controller that features
0014   additional Hall-effect and inductive sensing capabilities.
0015 
0016   Link to datasheet: https://www.azoteq.com/
0017 
0018 allOf:
0019   - $ref: touchscreen/touchscreen.yaml#
0020 
0021 properties:
0022   compatible:
0023     const: azoteq,iqs626a
0024 
0025   reg:
0026     maxItems: 1
0027 
0028   interrupts:
0029     maxItems: 1
0030 
0031   "#address-cells":
0032     const: 1
0033 
0034   "#size-cells":
0035     const: 0
0036 
0037   azoteq,suspend-mode:
0038     $ref: /schemas/types.yaml#/definitions/uint32
0039     enum: [0, 1, 2, 3]
0040     default: 0
0041     description: |
0042       Specifies the power mode during suspend as follows:
0043       0: Automatic (same as normal runtime, i.e. suspend/resume disabled)
0044       1: Low power (all sensing at a reduced reporting rate)
0045       2: Ultra-low power (ULP channel proximity sensing)
0046       3: Halt (no sensing)
0047 
0048   azoteq,clk-div:
0049     type: boolean
0050     description: Divides the device's core clock by a factor of 4.
0051 
0052   azoteq,ulp-enable:
0053     type: boolean
0054     description:
0055       Permits the device to automatically enter ultra-low-power mode from low-
0056       power mode.
0057 
0058   azoteq,ulp-update:
0059     $ref: /schemas/types.yaml#/definitions/uint32
0060     enum: [0, 1, 2, 3, 4, 5, 6, 7]
0061     default: 3
0062     description: |
0063       Specifies the rate at which the trackpad, generic and Hall channels are
0064       updated during ultra-low-power mode as follows:
0065       0: 8
0066       1: 13
0067       2: 28
0068       3: 54
0069       4: 89
0070       5: 135
0071       6: 190
0072       7: 256
0073 
0074   azoteq,ati-band-disable:
0075     type: boolean
0076     description: Disables the ATI band check.
0077 
0078   azoteq,ati-lp-only:
0079     type: boolean
0080     description: Limits automatic ATI to low-power mode.
0081 
0082   azoteq,gpio3-select:
0083     $ref: /schemas/types.yaml#/definitions/uint32
0084     enum: [0, 1, 2, 3, 4, 5, 6, 7]
0085     default: 1
0086     description: |
0087       Selects the channel or group of channels for which the GPIO3 pin
0088       represents touch state as follows:
0089       0: None
0090       1: ULP channel
0091       2: Trackpad
0092       3: Trackpad
0093       4: Generic channel 0
0094       5: Generic channel 1
0095       6: Generic channel 2
0096       7: Hall channel
0097 
0098   azoteq,reseed-select:
0099     $ref: /schemas/types.yaml#/definitions/uint32
0100     enum: [0, 1, 2, 3]
0101     default: 0
0102     description: |
0103       Specifies the event(s) that prompt the device to reseed (i.e. reset the
0104       long-term average) of an associated channel as follows:
0105       0: None
0106       1: Proximity
0107       2: Proximity or touch
0108       3: Proximity, touch or deep touch
0109 
0110   azoteq,thresh-extend:
0111     type: boolean
0112     description: Multiplies all touch and deep-touch thresholds by 4.
0113 
0114   azoteq,tracking-enable:
0115     type: boolean
0116     description:
0117       Enables all associated channels to track their respective reference
0118       channels.
0119 
0120   azoteq,reseed-offset:
0121     type: boolean
0122     description:
0123       Applies an 8-count offset to all long-term averages upon either ATI or
0124       reseed events.
0125 
0126   azoteq,rate-np-ms:
0127     minimum: 0
0128     maximum: 255
0129     default: 150
0130     description: Specifies the report rate (in ms) during normal-power mode.
0131 
0132   azoteq,rate-lp-ms:
0133     minimum: 0
0134     maximum: 255
0135     default: 150
0136     description: Specifies the report rate (in ms) during low-power mode.
0137 
0138   azoteq,rate-ulp-ms:
0139     multipleOf: 16
0140     minimum: 0
0141     maximum: 4080
0142     default: 0
0143     description: Specifies the report rate (in ms) during ultra-low-power mode.
0144 
0145   azoteq,timeout-pwr-ms:
0146     multipleOf: 512
0147     minimum: 0
0148     maximum: 130560
0149     default: 2560
0150     description:
0151       Specifies the length of time (in ms) to wait for an event before moving
0152       from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
0153       present) from low-power mode to ultra-low-power mode.
0154 
0155   azoteq,timeout-lta-ms:
0156     multipleOf: 512
0157     minimum: 0
0158     maximum: 130560
0159     default: 40960
0160     description:
0161       Specifies the length of time (in ms) to wait before resetting the long-
0162       term average of all channels. Specify the maximum timeout to disable it
0163       altogether.
0164 
0165   touchscreen-inverted-x: true
0166   touchscreen-inverted-y: true
0167   touchscreen-swapped-x-y: true
0168 
0169 patternProperties:
0170   "^ulp-0|generic-[0-2]|hall$":
0171     type: object
0172     description:
0173       Represents a single sensing channel. A channel is active if defined and
0174       inactive otherwise.
0175 
0176     properties:
0177       azoteq,ati-exclude:
0178         type: boolean
0179         description:
0180           Prevents the channel from participating in an ATI event that is
0181           manually triggered during initialization.
0182 
0183       azoteq,reseed-disable:
0184         type: boolean
0185         description:
0186           Prevents the channel from being reseeded if the long-term average
0187           timeout (defined in 'azoteq,timeout-lta') expires.
0188 
0189       azoteq,meas-cap-decrease:
0190         type: boolean
0191         description:
0192           Decreases the internal measurement capacitance from 60 pF to 15 pF.
0193 
0194       azoteq,rx-inactive:
0195         $ref: /schemas/types.yaml#/definitions/uint32
0196         enum: [0, 1, 2]
0197         default: 0
0198         description: |
0199           Specifies how inactive CRX pins are to be terminated as follows:
0200           0: VSS
0201           1: Floating
0202           2: VREG (generic channels only)
0203 
0204       azoteq,linearize:
0205         type: boolean
0206         description:
0207           Enables linearization of the channel's counts (generic and Hall
0208           channels) or inverts the polarity of the channel's proximity or
0209           touch states (ULP channel).
0210 
0211       azoteq,dual-direction:
0212         type: boolean
0213         description:
0214           Specifies that the channel's long-term average is to freeze in the
0215           presence of either increasing or decreasing counts, thereby permit-
0216           ting events to be reported in either direction.
0217 
0218       azoteq,filt-disable:
0219         type: boolean
0220         description: Disables raw count filtering for the channel.
0221 
0222       azoteq,ati-mode:
0223         $ref: /schemas/types.yaml#/definitions/uint32
0224         enum: [0, 1, 2, 3]
0225         description: |
0226           Specifies the channel's ATI mode as follows:
0227           0: Disabled
0228           1: Semi-partial
0229           2: Partial
0230           3: Full
0231 
0232           The default value is a function of the channel and the device's reset
0233           user interface (RUI); reference the datasheet for further information
0234           about the available RUI options.
0235 
0236       azoteq,ati-base:
0237         $ref: /schemas/types.yaml#/definitions/uint32
0238         enum: [75, 100, 150, 200]
0239         description:
0240           Specifies the channel's ATI base. The default value is a function
0241           of the channel and the device's RUI.
0242 
0243       azoteq,ati-target:
0244         $ref: /schemas/types.yaml#/definitions/uint32
0245         multipleOf: 32
0246         minimum: 0
0247         maximum: 2016
0248         description:
0249           Specifies the channel's ATI target. The default value is a function
0250           of the channel and the device's RUI.
0251 
0252       azoteq,cct-increase:
0253         $ref: /schemas/types.yaml#/definitions/uint32
0254         minimum: 0
0255         maximum: 16
0256         default: 0
0257         description:
0258           Specifies the degree to which the channel's charge cycle time is to
0259           be increased, with 0 representing no increase. The maximum value is
0260           limited to 4 in the case of the ULP channel, and the property is un-
0261           available entirely in the case of the Hall channel.
0262 
0263       azoteq,proj-bias:
0264         $ref: /schemas/types.yaml#/definitions/uint32
0265         enum: [0, 1, 2, 3]
0266         default: 0
0267         description: |
0268           Specifies the bias current applied during projected-capacitance
0269           sensing as follows:
0270           0: 2.5 uA
0271           1: 5 uA
0272           2: 10 uA
0273           3: 20 uA
0274 
0275           This property is unavailable in the case of the Hall channel.
0276 
0277       azoteq,sense-freq:
0278         $ref: /schemas/types.yaml#/definitions/uint32
0279         enum: [0, 1, 2, 3]
0280         description: |
0281           Specifies the channel's sensing frequency as follows (parenthesized
0282           numbers represent the frequency if 'azoteq,clk-div' is present):
0283           0: 4 MHz (1 MHz)
0284           1: 2 MHz (500 kHz)
0285           2: 1 MHz (250 kHz)
0286           3: 500 kHz (125 kHz)
0287 
0288           This property is unavailable in the case of the Hall channel. The
0289           default value is a function of the channel and the device's RUI.
0290 
0291       azoteq,ati-band-tighten:
0292         type: boolean
0293         description:
0294           Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
0295           generic channels only).
0296 
0297       azoteq,proj-enable:
0298         type: boolean
0299         description: Enables projected-capacitance sensing (ULP channel only).
0300 
0301       azoteq,filt-str-np-cnt:
0302         $ref: /schemas/types.yaml#/definitions/uint32
0303         enum: [0, 1, 2, 3]
0304         default: 0
0305         description:
0306           Specifies the raw count filter strength during normal-power mode (ULP
0307           and generic channels only).
0308 
0309       azoteq,filt-str-lp-cnt:
0310         $ref: /schemas/types.yaml#/definitions/uint32
0311         enum: [0, 1, 2, 3]
0312         default: 0
0313         description:
0314           Specifies the raw count filter strength during low-power mode (ULP and
0315           generic channels only).
0316 
0317       azoteq,filt-str-np-lta:
0318         $ref: /schemas/types.yaml#/definitions/uint32
0319         enum: [0, 1, 2, 3]
0320         default: 0
0321         description:
0322           Specifies the long-term average filter strength during normal-power
0323           mode (ULP and generic channels only).
0324 
0325       azoteq,filt-str-lp-lta:
0326         $ref: /schemas/types.yaml#/definitions/uint32
0327         enum: [0, 1, 2, 3]
0328         default: 0
0329         description:
0330           Specifies the long-term average filter strength during low-power mode
0331           (ULP and generic channels only).
0332 
0333       azoteq,rx-enable:
0334         $ref: /schemas/types.yaml#/definitions/uint32-array
0335         minItems: 1
0336         maxItems: 8
0337         items:
0338           minimum: 0
0339           maximum: 7
0340         description:
0341           Specifies the CRX pin(s) associated with the channel.
0342 
0343           This property is unavailable in the case of the Hall channel. The
0344           default value is a function of the channel and the device's RUI.
0345 
0346       azoteq,tx-enable:
0347         $ref: /schemas/types.yaml#/definitions/uint32-array
0348         minItems: 1
0349         maxItems: 8
0350         items:
0351           minimum: 0
0352           maximum: 7
0353         description:
0354           Specifies the TX pin(s) associated with the channel.
0355 
0356           This property is unavailable in the case of the Hall channel. The
0357           default value is a function of the channel and the device's RUI.
0358 
0359       azoteq,local-cap-size:
0360         $ref: /schemas/types.yaml#/definitions/uint32
0361         enum: [0, 1, 2, 3, 4]
0362         default: 0
0363         description: |
0364           Specifies the capacitance to be added to the channel as follows:
0365           0: 0 pF
0366           1: 0.5 pF
0367           2: 1.0 pF
0368           3: 1.5 pF
0369           4: 2.0 pF
0370 
0371           This property is unavailable in the case of the ULP or Hall channels.
0372 
0373       azoteq,sense-mode:
0374         $ref: /schemas/types.yaml#/definitions/uint32
0375         enum: [0, 1, 8, 9, 12, 14, 15]
0376         description: |
0377           Specifies the channel's sensing mode as follows:
0378           0:  Self capacitance
0379           1:  Projected capacitance
0380           8:  Self inductance
0381           9:  Mutual inductance
0382           12: External
0383           14: Hall effect
0384           15: Temperature
0385 
0386           This property is unavailable in the case of the ULP or Hall channels.
0387           The default value is a function of the channel and the device's RUI.
0388 
0389       azoteq,tx-freq:
0390         $ref: /schemas/types.yaml#/definitions/uint32
0391         enum: [0, 1, 2, 3]
0392         default: 0
0393         description: |
0394           Specifies the inductive sensing excitation frequency as follows
0395           (parenthesized numbers represent the frequency if 'azoteq,clk-div'
0396           is present):
0397           0: 16 MHz (4 MHz)
0398           1: 8 MHz (2 MHz)
0399           2: 4 MHz (1 MHz)
0400           3: 2 MHz (500 kHz)
0401 
0402           This property is unavailable in the case of the ULP or Hall channels.
0403 
0404       azoteq,invert-enable:
0405         type: boolean
0406         description:
0407           Inverts the polarity of the states reported for proximity, touch and
0408           deep-touch events relative to their respective thresholds (generic
0409           channels only).
0410 
0411       azoteq,comp-disable:
0412         type: boolean
0413         description:
0414           Disables compensation for the channel (generic channels only).
0415 
0416       azoteq,static-enable:
0417         type: boolean
0418         description:
0419           Enables the static front-end for the channel (generic channels only).
0420 
0421       azoteq,assoc-select:
0422         $ref: /schemas/types.yaml#/definitions/string-array
0423         minItems: 1
0424         maxItems: 6
0425         items:
0426           enum:
0427             - ulp-0
0428             - trackpad-3x2
0429             - trackpad-3x3
0430             - generic-0
0431             - generic-1
0432             - generic-2
0433             - hall
0434         description:
0435           Specifies the associated channels for which the channel serves as a
0436           reference channel. By default, no channels are selected. This prop-
0437           erty is only available for the generic channels.
0438 
0439       azoteq,assoc-weight:
0440         $ref: /schemas/types.yaml#/definitions/uint32
0441         minimum: 0
0442         maximum: 255
0443         default: 0
0444         description:
0445           Specifies the channel's impact weight if it acts as an associated
0446           channel (0 = 0% impact, 255 = 200% impact). This property is only
0447           available for the generic channels.
0448 
0449     patternProperties:
0450       "^event-(prox|touch|deep)(-alt)?$":
0451         type: object
0452         $ref: input.yaml#
0453         description:
0454           Represents a proximity, touch or deep-touch event reported by the
0455           channel in response to a decrease in counts. Node names suffixed with
0456           '-alt' instead correspond to an increase in counts.
0457 
0458           By default, the long-term average tracks an increase in counts such
0459           that only events corresponding to a decrease in counts are reported
0460           (refer to the datasheet for more information).
0461 
0462           Specify 'azoteq,dual-direction' to freeze the long-term average when
0463           the counts increase or decrease such that events of either direction
0464           can be reported. Alternatively, specify 'azoteq,invert-enable' to in-
0465           vert the polarity of the states reported by the channel.
0466 
0467           Complementary events (e.g. event-touch and event-touch-alt) can both
0468           be present and specify different key or switch codes, but not differ-
0469           ent thresholds or hysteresis (if applicable).
0470 
0471           Proximity events are unavailable in the case of the Hall channel, and
0472           deep-touch events are only available for the generic channels. Unless
0473           otherwise specified, default values are a function of the channel and
0474           the device's RUI.
0475 
0476         properties:
0477           azoteq,thresh:
0478             $ref: /schemas/types.yaml#/definitions/uint32
0479             minimum: 0
0480             maximum: 255
0481             description: Specifies the threshold for the event.
0482 
0483           azoteq,hyst:
0484             $ref: /schemas/types.yaml#/definitions/uint32
0485             minimum: 0
0486             maximum: 15
0487             description:
0488               Specifies the hysteresis for the event (touch and deep-touch
0489               events only).
0490 
0491           linux,code: true
0492 
0493           linux,input-type:
0494             enum: [1, 5]
0495             description:
0496               Specifies whether the event is to be interpreted as a key (1) or
0497               a switch (5). By default, Hall-channel events are interpreted as
0498               switches and all others are interpreted as keys.
0499 
0500         additionalProperties: false
0501 
0502     dependencies:
0503       azoteq,assoc-weight: ["azoteq,assoc-select"]
0504 
0505     additionalProperties: false
0506 
0507   "^trackpad-3x[2-3]$":
0508     type: object
0509     $ref: input.yaml#
0510     description:
0511       Represents all channels associated with the trackpad. The channels are
0512       collectively active if the trackpad is defined and inactive otherwise.
0513 
0514     properties:
0515       azoteq,ati-exclude:
0516         type: boolean
0517         description:
0518           Prevents the trackpad channels from participating in an ATI event
0519           that is manually triggered during initialization.
0520 
0521       azoteq,reseed-disable:
0522         type: boolean
0523         description:
0524           Prevents the trackpad channels from being reseeded if the long-term
0525           average timeout (defined in 'azoteq,timeout-lta') expires.
0526 
0527       azoteq,meas-cap-decrease:
0528         type: boolean
0529         description:
0530           Decreases the internal measurement capacitance from 60 pF to 15 pF.
0531 
0532       azoteq,rx-inactive:
0533         $ref: /schemas/types.yaml#/definitions/uint32
0534         enum: [0, 1]
0535         default: 0
0536         description: |
0537           Specifies how inactive CRX pins are to be terminated as follows:
0538           0: VSS
0539           1: Floating
0540 
0541       azoteq,linearize:
0542         type: boolean
0543         description: Inverts the polarity of the trackpad's touch state.
0544 
0545       azoteq,dual-direction:
0546         type: boolean
0547         description:
0548           Specifies that the trackpad's long-term averages are to freeze in
0549           the presence of either increasing or decreasing counts, thereby
0550           permitting events to be reported in either direction.
0551 
0552       azoteq,filt-disable:
0553         type: boolean
0554         description: Disables raw count filtering for the trackpad channels.
0555 
0556       azoteq,ati-mode:
0557         $ref: /schemas/types.yaml#/definitions/uint32
0558         enum: [0, 1, 2, 3]
0559         default: 0
0560         description: |
0561           Specifies the trackpad's ATI mode as follows:
0562           0: Disabled
0563           1: Semi-partial
0564           2: Partial
0565           3: Full
0566 
0567       azoteq,ati-base:
0568         $ref: /schemas/types.yaml#/definitions/uint32-array
0569         minItems: 6
0570         maxItems: 9
0571         items:
0572           minimum: 45
0573           maximum: 300
0574         default: [45, 45, 45, 45, 45, 45, 45, 45, 45]
0575         description: Specifies each individual trackpad channel's ATI base.
0576 
0577       azoteq,ati-target:
0578         $ref: /schemas/types.yaml#/definitions/uint32
0579         multipleOf: 32
0580         minimum: 0
0581         maximum: 2016
0582         default: 0
0583         description: Specifies the trackpad's ATI target.
0584 
0585       azoteq,cct-increase:
0586         $ref: /schemas/types.yaml#/definitions/uint32
0587         minimum: 0
0588         maximum: 4
0589         default: 0
0590         description:
0591           Specifies the degree to which the trackpad's charge cycle time is to
0592           be increased, with 0 representing no increase.
0593 
0594       azoteq,proj-bias:
0595         $ref: /schemas/types.yaml#/definitions/uint32
0596         enum: [0, 1, 2, 3]
0597         default: 0
0598         description: |
0599           Specifies the bias current applied during projected-capacitance
0600           sensing as follows:
0601           0: 2.5 uA
0602           1: 5 uA
0603           2: 10 uA
0604           3: 20 uA
0605 
0606       azoteq,sense-freq:
0607         $ref: /schemas/types.yaml#/definitions/uint32
0608         enum: [0, 1, 2, 3]
0609         default: 0
0610         description: |
0611           Specifies the trackpad's sensing frequency as follows (parenthesized
0612           numbers represent the frequency if 'azoteq,clk-div' is present):
0613           0: 4 MHz (1 MHz)
0614           1: 2 MHz (500 kHz)
0615           2: 1 MHz (250 kHz)
0616           3: 500 kHz (125 kHz)
0617 
0618       azoteq,ati-band-tighten:
0619         type: boolean
0620         description:
0621           Tightens the ATI band from 1/8 to 1/16 of the desired target.
0622 
0623       azoteq,thresh:
0624         $ref: /schemas/types.yaml#/definitions/uint32-array
0625         minItems: 6
0626         maxItems: 9
0627         items:
0628           minimum: 0
0629           maximum: 255
0630         default: [0, 0, 0, 0, 0, 0, 0, 0, 0]
0631         description:
0632           Specifies each individual trackpad channel's touch threshold.
0633 
0634       azoteq,hyst:
0635         $ref: /schemas/types.yaml#/definitions/uint32
0636         minimum: 0
0637         maximum: 15
0638         default: 0
0639         description: Specifies the trackpad's touch hysteresis.
0640 
0641       azoteq,lta-update:
0642         $ref: /schemas/types.yaml#/definitions/uint32
0643         enum: [0, 1, 2, 3, 4, 5, 6, 7]
0644         default: 0
0645         description: |
0646           Specifies the update rate of the trackpad's long-term average during
0647           ultra-low-power mode as follows:
0648           0: 2
0649           1: 4
0650           2: 8
0651           3: 16
0652           4: 32
0653           5: 64
0654           6: 128
0655           7: 255
0656 
0657       azoteq,filt-str-trackpad:
0658         $ref: /schemas/types.yaml#/definitions/uint32
0659         enum: [0, 1, 2, 3]
0660         default: 0
0661         description: Specifies the trackpad coordinate filter strength.
0662 
0663       azoteq,filt-str-np-cnt:
0664         $ref: /schemas/types.yaml#/definitions/uint32
0665         enum: [0, 1, 2, 3]
0666         default: 0
0667         description:
0668           Specifies the raw count filter strength during normal-power mode.
0669 
0670       azoteq,filt-str-lp-cnt:
0671         $ref: /schemas/types.yaml#/definitions/uint32
0672         enum: [0, 1, 2, 3]
0673         default: 0
0674         description:
0675           Specifies the raw count filter strength during low-power mode.
0676 
0677       linux,keycodes:
0678         minItems: 1
0679         maxItems: 6
0680         description: |
0681           Specifies the numeric keycodes associated with each available gesture
0682           in the following order (enter 0 for unused gestures):
0683           0: Positive flick or swipe in X direction
0684           1: Negative flick or swipe in X direction
0685           2: Positive flick or swipe in Y direction
0686           3: Negative flick or swipe in Y direction
0687           4: Tap
0688           5: Hold
0689 
0690       azoteq,gesture-swipe:
0691         type: boolean
0692         description:
0693           Directs the device to interpret axial gestures as a swipe (finger
0694           remains on trackpad) instead of a flick (finger leaves trackpad).
0695 
0696       azoteq,timeout-tap-ms:
0697         multipleOf: 16
0698         minimum: 0
0699         maximum: 4080
0700         default: 0
0701         description:
0702           Specifies the length of time (in ms) within which a trackpad touch
0703           must be released in order to be interpreted as a tap.
0704 
0705       azoteq,timeout-swipe-ms:
0706         multipleOf: 16
0707         minimum: 0
0708         maximum: 4080
0709         default: 0
0710         description:
0711           Specifies the length of time (in ms) within which an axial gesture
0712           must be completed in order to be interpreted as a flick or swipe.
0713 
0714       azoteq,thresh-swipe:
0715         $ref: /schemas/types.yaml#/definitions/uint32
0716         minimum: 0
0717         maximum: 255
0718         default: 0
0719         description:
0720           Specifies the number of points across which an axial gesture must
0721           travel in order to be interpreted as a flick or swipe.
0722 
0723     dependencies:
0724       azoteq,gesture-swipe: ["linux,keycodes"]
0725       azoteq,timeout-tap-ms: ["linux,keycodes"]
0726       azoteq,timeout-swipe-ms: ["linux,keycodes"]
0727       azoteq,thresh-swipe: ["linux,keycodes"]
0728 
0729     additionalProperties: false
0730 
0731 required:
0732   - compatible
0733   - reg
0734   - interrupts
0735   - "#address-cells"
0736   - "#size-cells"
0737 
0738 additionalProperties: false
0739 
0740 examples:
0741   - |
0742     #include <dt-bindings/input/input.h>
0743     #include <dt-bindings/interrupt-controller/irq.h>
0744 
0745     i2c {
0746             #address-cells = <1>;
0747             #size-cells = <0>;
0748 
0749             touch@44 {
0750                     #address-cells = <1>;
0751                     #size-cells = <0>;
0752 
0753                     compatible = "azoteq,iqs626a";
0754                     reg = <0x44>;
0755                     interrupt-parent = <&gpio>;
0756                     interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
0757 
0758                     azoteq,rate-np-ms = <16>;
0759                     azoteq,rate-lp-ms = <160>;
0760 
0761                     azoteq,timeout-pwr-ms = <2560>;
0762                     azoteq,timeout-lta-ms = <32768>;
0763 
0764                     ulp-0 {
0765                             azoteq,meas-cap-decrease;
0766 
0767                             azoteq,ati-base = <75>;
0768                             azoteq,ati-target = <1024>;
0769 
0770                             azoteq,rx-enable = <2>, <3>, <4>,
0771                                                <5>, <6>, <7>;
0772 
0773                             event-prox {
0774                                     linux,code = <KEY_POWER>;
0775                             };
0776                     };
0777 
0778                     trackpad-3x3 {
0779                             azoteq,filt-str-np-cnt = <1>;
0780                             azoteq,filt-str-lp-cnt = <1>;
0781 
0782                             azoteq,hyst = <4>;
0783                             azoteq,thresh = <35>, <40>, <40>,
0784                                             <38>, <33>, <38>,
0785                                             <35>, <35>, <35>;
0786 
0787                             azoteq,ati-mode = <3>;
0788                             azoteq,ati-base = <195>, <195>, <195>,
0789                                               <195>, <195>, <195>,
0790                                               <195>, <195>, <195>;
0791                             azoteq,ati-target = <512>;
0792 
0793                             azoteq,proj-bias = <1>;
0794                             azoteq,sense-freq = <2>;
0795 
0796                             linux,keycodes = <KEY_VOLUMEUP>,
0797                                              <KEY_VOLUMEDOWN>,
0798                                              <KEY_NEXTSONG>,
0799                                              <KEY_PREVIOUSSONG>,
0800                                              <KEY_PLAYPAUSE>,
0801                                              <KEY_STOPCD>;
0802 
0803                             azoteq,gesture-swipe;
0804                             azoteq,timeout-swipe-ms = <800>;
0805                             azoteq,timeout-tap-ms = <400>;
0806                             azoteq,thresh-swipe = <40>;
0807                     };
0808 
0809                     /*
0810                      * Preserve the default register settings for
0811                      * the temperature-tracking channel leveraged
0812                      * by reset user interface (RUI) 1.
0813                      *
0814                      * Scalar properties (e.g. ATI mode) are left
0815                      * untouched by simply omitting them; boolean
0816                      * properties must be specified explicitly as
0817                      * needed.
0818                      */
0819                     generic-2 {
0820                             azoteq,reseed-disable;
0821                             azoteq,meas-cap-decrease;
0822                             azoteq,dual-direction;
0823                             azoteq,comp-disable;
0824                             azoteq,static-enable;
0825                     };
0826 
0827                     hall {
0828                             azoteq,reseed-disable;
0829                             azoteq,meas-cap-decrease;
0830 
0831                             event-touch {
0832                                     linux,code = <SW_LID>;
0833                             };
0834                     };
0835             };
0836     };
0837 
0838 ...