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 ...