144dc42d2SJeff LaBundy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 244dc42d2SJeff LaBundy%YAML 1.2 344dc42d2SJeff LaBundy--- 444dc42d2SJeff LaBundy$id: http://devicetree.org/schemas/input/azoteq,iqs7222.yaml# 544dc42d2SJeff LaBundy$schema: http://devicetree.org/meta-schemas/core.yaml# 644dc42d2SJeff LaBundy 7*823b28c5SJeff LaBundytitle: Azoteq IQS7222A/B/C/D Capacitive Touch Controller 844dc42d2SJeff LaBundy 944dc42d2SJeff LaBundymaintainers: 1044dc42d2SJeff LaBundy - Jeff LaBundy <jeff@labundy.com> 1144dc42d2SJeff LaBundy 1244dc42d2SJeff LaBundydescription: | 13*823b28c5SJeff LaBundy The Azoteq IQS7222A, IQS7222B, IQS7222C and IQS7222D are multichannel 14*823b28c5SJeff LaBundy capacitive touch controllers that feature additional sensing capabilities. 1544dc42d2SJeff LaBundy 1644dc42d2SJeff LaBundy Link to datasheets: https://www.azoteq.com/ 1744dc42d2SJeff LaBundy 1844dc42d2SJeff LaBundyproperties: 1944dc42d2SJeff LaBundy compatible: 2044dc42d2SJeff LaBundy enum: 2144dc42d2SJeff LaBundy - azoteq,iqs7222a 2244dc42d2SJeff LaBundy - azoteq,iqs7222b 2344dc42d2SJeff LaBundy - azoteq,iqs7222c 24*823b28c5SJeff LaBundy - azoteq,iqs7222d 2544dc42d2SJeff LaBundy 2644dc42d2SJeff LaBundy reg: 2744dc42d2SJeff LaBundy maxItems: 1 2844dc42d2SJeff LaBundy 2944dc42d2SJeff LaBundy irq-gpios: 3044dc42d2SJeff LaBundy maxItems: 1 3144dc42d2SJeff LaBundy description: 3244dc42d2SJeff LaBundy Specifies the GPIO connected to the device's active-low RDY output. 3344dc42d2SJeff LaBundy 3444dc42d2SJeff LaBundy reset-gpios: 3544dc42d2SJeff LaBundy maxItems: 1 3644dc42d2SJeff LaBundy description: 3744dc42d2SJeff LaBundy Specifies the GPIO connected to the device's active-low MCLR input. The 3844dc42d2SJeff LaBundy device is temporarily held in hardware reset prior to initialization if 3944dc42d2SJeff LaBundy this property is present. 4044dc42d2SJeff LaBundy 4144dc42d2SJeff LaBundy azoteq,max-counts: 4244dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 4344dc42d2SJeff LaBundy enum: [0, 1, 2, 3] 4444dc42d2SJeff LaBundy description: | 4544dc42d2SJeff LaBundy Specifies the maximum number of conversion periods (counts) that can be 4644dc42d2SJeff LaBundy reported as follows: 4744dc42d2SJeff LaBundy 0: 1023 4844dc42d2SJeff LaBundy 1: 2047 4944dc42d2SJeff LaBundy 2: 4095 5044dc42d2SJeff LaBundy 3: 16384 5144dc42d2SJeff LaBundy 5244dc42d2SJeff LaBundy azoteq,auto-mode: 5344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 5444dc42d2SJeff LaBundy enum: [0, 1, 2, 3] 5544dc42d2SJeff LaBundy description: | 5644dc42d2SJeff LaBundy Specifies the number of conversions to occur before an interrupt is 5744dc42d2SJeff LaBundy generated as follows: 5844dc42d2SJeff LaBundy 0: 4 5944dc42d2SJeff LaBundy 1: 8 6044dc42d2SJeff LaBundy 2: 16 6144dc42d2SJeff LaBundy 3: 32 6244dc42d2SJeff LaBundy 6344dc42d2SJeff LaBundy azoteq,ati-frac-div-fine: 6444dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 6544dc42d2SJeff LaBundy minimum: 0 6644dc42d2SJeff LaBundy maximum: 31 6744dc42d2SJeff LaBundy description: Specifies the preloaded ATI fine fractional divider. 6844dc42d2SJeff LaBundy 6944dc42d2SJeff LaBundy azoteq,ati-frac-div-coarse: 7044dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 7144dc42d2SJeff LaBundy minimum: 0 7244dc42d2SJeff LaBundy maximum: 31 7344dc42d2SJeff LaBundy description: Specifies the preloaded ATI coarse fractional divider. 7444dc42d2SJeff LaBundy 7544dc42d2SJeff LaBundy azoteq,ati-comp-select: 7644dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 7744dc42d2SJeff LaBundy minimum: 0 7844dc42d2SJeff LaBundy maximum: 1023 7944dc42d2SJeff LaBundy description: Specifies the preloaded ATI compensation selection. 8044dc42d2SJeff LaBundy 8144dc42d2SJeff LaBundy azoteq,lta-beta-lp: 8244dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 8344dc42d2SJeff LaBundy minimum: 0 8444dc42d2SJeff LaBundy maximum: 15 8544dc42d2SJeff LaBundy description: 8644dc42d2SJeff LaBundy Specifies the long-term average filter damping factor to be applied during 8744dc42d2SJeff LaBundy low-power mode. 8844dc42d2SJeff LaBundy 8944dc42d2SJeff LaBundy azoteq,lta-beta-np: 9044dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 9144dc42d2SJeff LaBundy minimum: 0 9244dc42d2SJeff LaBundy maximum: 15 9344dc42d2SJeff LaBundy description: 9444dc42d2SJeff LaBundy Specifies the long-term average filter damping factor to be applied during 9544dc42d2SJeff LaBundy normal-power mode. 9644dc42d2SJeff LaBundy 9744dc42d2SJeff LaBundy azoteq,counts-beta-lp: 9844dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 9944dc42d2SJeff LaBundy minimum: 0 10044dc42d2SJeff LaBundy maximum: 15 10144dc42d2SJeff LaBundy description: 10244dc42d2SJeff LaBundy Specifies the counts filter damping factor to be applied during low-power 10344dc42d2SJeff LaBundy mode. 10444dc42d2SJeff LaBundy 10544dc42d2SJeff LaBundy azoteq,counts-beta-np: 10644dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 10744dc42d2SJeff LaBundy minimum: 0 10844dc42d2SJeff LaBundy maximum: 15 10944dc42d2SJeff LaBundy description: 11044dc42d2SJeff LaBundy Specifies the counts filter damping factor to be applied during normal- 11144dc42d2SJeff LaBundy power mode. 11244dc42d2SJeff LaBundy 11344dc42d2SJeff LaBundy azoteq,lta-fast-beta-lp: 11444dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 11544dc42d2SJeff LaBundy minimum: 0 11644dc42d2SJeff LaBundy maximum: 15 11744dc42d2SJeff LaBundy description: 11844dc42d2SJeff LaBundy Specifies the long-term average filter fast damping factor to be applied 11944dc42d2SJeff LaBundy during low-power mode. 12044dc42d2SJeff LaBundy 12144dc42d2SJeff LaBundy azoteq,lta-fast-beta-np: 12244dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 12344dc42d2SJeff LaBundy minimum: 0 12444dc42d2SJeff LaBundy maximum: 15 12544dc42d2SJeff LaBundy description: 12644dc42d2SJeff LaBundy Specifies the long-term average filter fast damping factor to be applied 12744dc42d2SJeff LaBundy during normal-power mode. 12844dc42d2SJeff LaBundy 12944dc42d2SJeff LaBundy azoteq,timeout-ati-ms: 13044dc42d2SJeff LaBundy multipleOf: 500 13144dc42d2SJeff LaBundy minimum: 0 13244dc42d2SJeff LaBundy maximum: 32767500 13344dc42d2SJeff LaBundy description: 13444dc42d2SJeff LaBundy Specifies the delay (in ms) before ATI is retried following an ATI error. 13544dc42d2SJeff LaBundy 13644dc42d2SJeff LaBundy azoteq,rate-ati-ms: 13744dc42d2SJeff LaBundy minimum: 0 13844dc42d2SJeff LaBundy maximum: 65535 13944dc42d2SJeff LaBundy description: Specifies the rate (in ms) at which ATI status is evaluated. 14044dc42d2SJeff LaBundy 14144dc42d2SJeff LaBundy azoteq,timeout-np-ms: 14244dc42d2SJeff LaBundy minimum: 0 14344dc42d2SJeff LaBundy maximum: 65535 14444dc42d2SJeff LaBundy description: 14544dc42d2SJeff LaBundy Specifies the length of time (in ms) to wait for an event before moving 14644dc42d2SJeff LaBundy from normal-power mode to low-power mode. 14744dc42d2SJeff LaBundy 14844dc42d2SJeff LaBundy azoteq,rate-np-ms: 14944dc42d2SJeff LaBundy minimum: 0 15044dc42d2SJeff LaBundy maximum: 3000 15144dc42d2SJeff LaBundy description: Specifies the report rate (in ms) during normal-power mode. 15244dc42d2SJeff LaBundy 15344dc42d2SJeff LaBundy azoteq,timeout-lp-ms: 15444dc42d2SJeff LaBundy minimum: 0 15544dc42d2SJeff LaBundy maximum: 65535 15644dc42d2SJeff LaBundy description: 15744dc42d2SJeff LaBundy Specifies the length of time (in ms) to wait for an event before moving 15844dc42d2SJeff LaBundy from low-power mode to ultra-low-power mode. 15944dc42d2SJeff LaBundy 16044dc42d2SJeff LaBundy azoteq,rate-lp-ms: 16144dc42d2SJeff LaBundy minimum: 0 16244dc42d2SJeff LaBundy maximum: 3000 16344dc42d2SJeff LaBundy description: Specifies the report rate (in ms) during low-power mode. 16444dc42d2SJeff LaBundy 16544dc42d2SJeff LaBundy azoteq,timeout-ulp-ms: 16644dc42d2SJeff LaBundy minimum: 0 16744dc42d2SJeff LaBundy maximum: 65535 16844dc42d2SJeff LaBundy description: 16944dc42d2SJeff LaBundy Specifies the rate (in ms) at which channels not regularly sampled during 17044dc42d2SJeff LaBundy ultra-low-power mode are updated. 17144dc42d2SJeff LaBundy 17244dc42d2SJeff LaBundy azoteq,rate-ulp-ms: 17344dc42d2SJeff LaBundy minimum: 0 17444dc42d2SJeff LaBundy maximum: 3000 17544dc42d2SJeff LaBundy description: Specifies the report rate (in ms) during ultra-low-power mode. 17644dc42d2SJeff LaBundy 177*823b28c5SJeff LaBundy touchscreen-size-x: true 178*823b28c5SJeff LaBundy touchscreen-size-y: true 179*823b28c5SJeff LaBundy touchscreen-inverted-x: true 180*823b28c5SJeff LaBundy touchscreen-inverted-y: true 181*823b28c5SJeff LaBundy touchscreen-swapped-x-y: true 182*823b28c5SJeff LaBundy 183*823b28c5SJeff LaBundy trackpad: 184*823b28c5SJeff LaBundy type: object 185*823b28c5SJeff LaBundy description: Represents all channels associated with the trackpad. 186*823b28c5SJeff LaBundy 187*823b28c5SJeff LaBundy properties: 188*823b28c5SJeff LaBundy azoteq,channel-select: 189*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 190*823b28c5SJeff LaBundy minItems: 1 191*823b28c5SJeff LaBundy maxItems: 12 192*823b28c5SJeff LaBundy items: 193*823b28c5SJeff LaBundy minimum: 0 194*823b28c5SJeff LaBundy maximum: 13 195*823b28c5SJeff LaBundy description: 196*823b28c5SJeff LaBundy Specifies the order of the channels that participate in the trackpad. 197*823b28c5SJeff LaBundy Specify 255 to omit a given channel for the purpose of mapping a non- 198*823b28c5SJeff LaBundy rectangular trackpad. 199*823b28c5SJeff LaBundy 200*823b28c5SJeff LaBundy azoteq,num-rows: 201*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 202*823b28c5SJeff LaBundy minimum: 1 203*823b28c5SJeff LaBundy maximum: 12 204*823b28c5SJeff LaBundy description: Specifies the number of rows that comprise the trackpad. 205*823b28c5SJeff LaBundy 206*823b28c5SJeff LaBundy azoteq,num-cols: 207*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 208*823b28c5SJeff LaBundy minimum: 1 209*823b28c5SJeff LaBundy maximum: 12 210*823b28c5SJeff LaBundy description: Specifies the number of columns that comprise the trackpad. 211*823b28c5SJeff LaBundy 212*823b28c5SJeff LaBundy azoteq,top-speed: 213*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 214*823b28c5SJeff LaBundy multipleOf: 4 215*823b28c5SJeff LaBundy minimum: 0 216*823b28c5SJeff LaBundy maximum: 1020 217*823b28c5SJeff LaBundy description: 218*823b28c5SJeff LaBundy Specifies the speed (in coordinates traveled per conversion) after 219*823b28c5SJeff LaBundy which coordinate filtering is no longer applied. 220*823b28c5SJeff LaBundy 221*823b28c5SJeff LaBundy azoteq,bottom-speed: 222*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 223*823b28c5SJeff LaBundy minimum: 0 224*823b28c5SJeff LaBundy maximum: 255 225*823b28c5SJeff LaBundy description: 226*823b28c5SJeff LaBundy Specifies the speed (in coordinates traveled per conversion) after 227*823b28c5SJeff LaBundy which coordinate filtering is linearly reduced. 228*823b28c5SJeff LaBundy 229*823b28c5SJeff LaBundy azoteq,use-prox: 230*823b28c5SJeff LaBundy type: boolean 231*823b28c5SJeff LaBundy description: 232*823b28c5SJeff LaBundy Directs the trackpad to respond to the proximity states of the 233*823b28c5SJeff LaBundy selected channels instead of their corresponding touch states. 234*823b28c5SJeff LaBundy Note the trackpad cannot report granular coordinates during a 235*823b28c5SJeff LaBundy state of proximity. 236*823b28c5SJeff LaBundy 237*823b28c5SJeff LaBundy patternProperties: 238*823b28c5SJeff LaBundy "^azoteq,lower-cal-(x|y)$": 239*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 240*823b28c5SJeff LaBundy minimum: 0 241*823b28c5SJeff LaBundy maximum: 255 242*823b28c5SJeff LaBundy description: Specifies the trackpad's lower starting points. 243*823b28c5SJeff LaBundy 244*823b28c5SJeff LaBundy "^azoteq,upper-cal-(x|y)$": 245*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 246*823b28c5SJeff LaBundy minimum: 0 247*823b28c5SJeff LaBundy maximum: 255 248*823b28c5SJeff LaBundy description: Specifies the trackpad's upper starting points. 249*823b28c5SJeff LaBundy 250*823b28c5SJeff LaBundy "^event-(press|tap|(swipe|flick)-(x|y)-(pos|neg))$": 251*823b28c5SJeff LaBundy type: object 252*823b28c5SJeff LaBundy $ref: input.yaml# 253*823b28c5SJeff LaBundy description: 254*823b28c5SJeff LaBundy Represents a press or gesture event reported by the trackpad. Specify 255*823b28c5SJeff LaBundy 'linux,code' under the press event to report absolute coordinates. 256*823b28c5SJeff LaBundy 257*823b28c5SJeff LaBundy properties: 258*823b28c5SJeff LaBundy linux,code: true 259*823b28c5SJeff LaBundy 260*823b28c5SJeff LaBundy azoteq,gesture-angle-tighten: 261*823b28c5SJeff LaBundy type: boolean 262*823b28c5SJeff LaBundy description: 263*823b28c5SJeff LaBundy Limits the tangent of the gesture angle to 0.5 (axial gestures 264*823b28c5SJeff LaBundy only). If specified in one direction, the effect is applied in 265*823b28c5SJeff LaBundy either direction. 266*823b28c5SJeff LaBundy 267*823b28c5SJeff LaBundy azoteq,gesture-max-ms: 268*823b28c5SJeff LaBundy multipleOf: 16 269*823b28c5SJeff LaBundy minimum: 0 270*823b28c5SJeff LaBundy maximum: 4080 271*823b28c5SJeff LaBundy description: 272*823b28c5SJeff LaBundy Specifies the length of time (in ms) within which a tap, swipe 273*823b28c5SJeff LaBundy or flick gesture must be completed in order to be acknowledged 274*823b28c5SJeff LaBundy by the device. The number specified for any one swipe or flick 275*823b28c5SJeff LaBundy gesture applies to all other swipe or flick gestures. 276*823b28c5SJeff LaBundy 277*823b28c5SJeff LaBundy azoteq,gesture-min-ms: 278*823b28c5SJeff LaBundy multipleOf: 16 279*823b28c5SJeff LaBundy minimum: 0 280*823b28c5SJeff LaBundy maximum: 4080 281*823b28c5SJeff LaBundy description: 282*823b28c5SJeff LaBundy Specifies the length of time (in ms) for which a tap gesture must 283*823b28c5SJeff LaBundy be held in order to be acknowledged by the device. 284*823b28c5SJeff LaBundy 285*823b28c5SJeff LaBundy azoteq,gesture-dist: 286*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 287*823b28c5SJeff LaBundy minimum: 0 288*823b28c5SJeff LaBundy maximum: 65535 289*823b28c5SJeff LaBundy description: 290*823b28c5SJeff LaBundy Specifies the distance (in coordinates) across which a swipe or 291*823b28c5SJeff LaBundy flick gesture must travel in order to be acknowledged by the 292*823b28c5SJeff LaBundy device. The number specified for any one swipe or flick gesture 293*823b28c5SJeff LaBundy applies to all remaining swipe or flick gestures. 294*823b28c5SJeff LaBundy 295*823b28c5SJeff LaBundy For tap gestures, this property specifies the distance from the 296*823b28c5SJeff LaBundy original point of contact across which the contact is permitted 297*823b28c5SJeff LaBundy to travel before the gesture is rejected by the device. 298*823b28c5SJeff LaBundy 299*823b28c5SJeff LaBundy azoteq,gpio-select: 300*823b28c5SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 301*823b28c5SJeff LaBundy minItems: 1 302*823b28c5SJeff LaBundy maxItems: 3 303*823b28c5SJeff LaBundy items: 304*823b28c5SJeff LaBundy minimum: 0 305*823b28c5SJeff LaBundy maximum: 2 306*823b28c5SJeff LaBundy description: | 307*823b28c5SJeff LaBundy Specifies one or more GPIO mapped to the event as follows: 308*823b28c5SJeff LaBundy 0: GPIO0 309*823b28c5SJeff LaBundy 1: GPIO3 310*823b28c5SJeff LaBundy 2: GPIO4 311*823b28c5SJeff LaBundy 312*823b28c5SJeff LaBundy Note that although multiple events can be mapped to a single 313*823b28c5SJeff LaBundy GPIO, they must all be of the same type (proximity, touch or 314*823b28c5SJeff LaBundy trackpad gesture). 315*823b28c5SJeff LaBundy 316*823b28c5SJeff LaBundy additionalProperties: false 317*823b28c5SJeff LaBundy 318*823b28c5SJeff LaBundy required: 319*823b28c5SJeff LaBundy - azoteq,channel-select 320*823b28c5SJeff LaBundy 321*823b28c5SJeff LaBundy additionalProperties: false 322*823b28c5SJeff LaBundy 32344dc42d2SJeff LaBundypatternProperties: 32444dc42d2SJeff LaBundy "^cycle-[0-9]$": 32544dc42d2SJeff LaBundy type: object 32644dc42d2SJeff LaBundy description: Represents a conversion cycle serving two sensing channels. 32744dc42d2SJeff LaBundy 32844dc42d2SJeff LaBundy properties: 32944dc42d2SJeff LaBundy azoteq,conv-period: 33044dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 33144dc42d2SJeff LaBundy minimum: 0 33244dc42d2SJeff LaBundy maximum: 255 33344dc42d2SJeff LaBundy description: Specifies the cycle's conversion period. 33444dc42d2SJeff LaBundy 33544dc42d2SJeff LaBundy azoteq,conv-frac: 33644dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 33744dc42d2SJeff LaBundy minimum: 0 33844dc42d2SJeff LaBundy maximum: 255 33944dc42d2SJeff LaBundy description: Specifies the cycle's conversion frequency fraction. 34044dc42d2SJeff LaBundy 34144dc42d2SJeff LaBundy azoteq,tx-enable: 34244dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 34344dc42d2SJeff LaBundy minItems: 1 34444dc42d2SJeff LaBundy maxItems: 9 34544dc42d2SJeff LaBundy items: 34644dc42d2SJeff LaBundy minimum: 0 34744dc42d2SJeff LaBundy maximum: 8 34844dc42d2SJeff LaBundy description: Specifies the CTx pin(s) associated with the cycle. 34944dc42d2SJeff LaBundy 35044dc42d2SJeff LaBundy azoteq,rx-float-inactive: 35144dc42d2SJeff LaBundy type: boolean 35244dc42d2SJeff LaBundy description: Floats any inactive CRx pins instead of grounding them. 35344dc42d2SJeff LaBundy 35444dc42d2SJeff LaBundy azoteq,dead-time-enable: 35544dc42d2SJeff LaBundy type: boolean 35644dc42d2SJeff LaBundy description: 35744dc42d2SJeff LaBundy Increases the denominator of the conversion frequency formula by one. 35844dc42d2SJeff LaBundy 35944dc42d2SJeff LaBundy azoteq,tx-freq-fosc: 36044dc42d2SJeff LaBundy type: boolean 36144dc42d2SJeff LaBundy description: 36244dc42d2SJeff LaBundy Fixes the conversion frequency to that of the device's core clock. 36344dc42d2SJeff LaBundy 36444dc42d2SJeff LaBundy azoteq,vbias-enable: 36544dc42d2SJeff LaBundy type: boolean 36644dc42d2SJeff LaBundy description: Enables the bias voltage for use during inductive sensing. 36744dc42d2SJeff LaBundy 36844dc42d2SJeff LaBundy azoteq,sense-mode: 36944dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 37044dc42d2SJeff LaBundy enum: [0, 1, 2, 3] 37144dc42d2SJeff LaBundy description: | 37244dc42d2SJeff LaBundy Specifies the cycle's sensing mode as follows: 37344dc42d2SJeff LaBundy 0: None 37444dc42d2SJeff LaBundy 1: Self capacitive 37544dc42d2SJeff LaBundy 2: Mutual capacitive 37644dc42d2SJeff LaBundy 3: Inductive 37744dc42d2SJeff LaBundy 37844dc42d2SJeff LaBundy Note that in the case of IQS7222A, cycles 5 and 6 are restricted to 37944dc42d2SJeff LaBundy Hall-effect sensing. 38044dc42d2SJeff LaBundy 38144dc42d2SJeff LaBundy azoteq,iref-enable: 38244dc42d2SJeff LaBundy type: boolean 38344dc42d2SJeff LaBundy description: 38444dc42d2SJeff LaBundy Enables the current reference for use during various sensing modes. 38544dc42d2SJeff LaBundy 38644dc42d2SJeff LaBundy azoteq,iref-level: 38744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 38844dc42d2SJeff LaBundy minimum: 0 38944dc42d2SJeff LaBundy maximum: 15 39044dc42d2SJeff LaBundy description: Specifies the cycle's current reference level. 39144dc42d2SJeff LaBundy 39244dc42d2SJeff LaBundy azoteq,iref-trim: 39344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 39444dc42d2SJeff LaBundy minimum: 0 39544dc42d2SJeff LaBundy maximum: 15 39644dc42d2SJeff LaBundy description: Specifies the cycle's current reference trim. 39744dc42d2SJeff LaBundy 39844dc42d2SJeff LaBundy dependencies: 39944dc42d2SJeff LaBundy azoteq,iref-level: ["azoteq,iref-enable"] 40044dc42d2SJeff LaBundy azoteq,iref-trim: ["azoteq,iref-enable"] 40144dc42d2SJeff LaBundy 40244dc42d2SJeff LaBundy additionalProperties: false 40344dc42d2SJeff LaBundy 40444dc42d2SJeff LaBundy "^channel-([0-9]|1[0-9])$": 40544dc42d2SJeff LaBundy type: object 40644dc42d2SJeff LaBundy description: 40744dc42d2SJeff LaBundy Represents a single sensing channel. A channel is active if defined and 40844dc42d2SJeff LaBundy inactive otherwise. 40944dc42d2SJeff LaBundy 41044dc42d2SJeff LaBundy Note that in the case of IQS7222A, channels 10 and 11 are restricted to 41144dc42d2SJeff LaBundy Hall-effect sensing with events reported on channel 10 only. 41244dc42d2SJeff LaBundy 41344dc42d2SJeff LaBundy properties: 41444dc42d2SJeff LaBundy azoteq,ulp-allow: 41544dc42d2SJeff LaBundy type: boolean 41644dc42d2SJeff LaBundy description: 41744dc42d2SJeff LaBundy Permits the device to enter ultra-low-power mode while the channel 41844dc42d2SJeff LaBundy lies in a state of touch or proximity. 41944dc42d2SJeff LaBundy 42044dc42d2SJeff LaBundy azoteq,ref-select: 42144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 42244dc42d2SJeff LaBundy minimum: 0 42344dc42d2SJeff LaBundy maximum: 9 42444dc42d2SJeff LaBundy description: Specifies a separate reference channel to be followed. 42544dc42d2SJeff LaBundy 42644dc42d2SJeff LaBundy azoteq,ref-weight: 42744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 42844dc42d2SJeff LaBundy minimum: 0 42944dc42d2SJeff LaBundy maximum: 65535 43044dc42d2SJeff LaBundy description: Specifies the relative weight of the reference channel. 43144dc42d2SJeff LaBundy 43244dc42d2SJeff LaBundy azoteq,use-prox: 43344dc42d2SJeff LaBundy type: boolean 43444dc42d2SJeff LaBundy description: 43544dc42d2SJeff LaBundy Activates the reference channel in response to proximity events 43644dc42d2SJeff LaBundy instead of touch events. 43744dc42d2SJeff LaBundy 438*823b28c5SJeff LaBundy azoteq,counts-filt-enable: 439*823b28c5SJeff LaBundy type: boolean 440*823b28c5SJeff LaBundy description: Applies counts filtering to the channel. 441*823b28c5SJeff LaBundy 44244dc42d2SJeff LaBundy azoteq,ati-band: 44344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 44444dc42d2SJeff LaBundy enum: [0, 1, 2, 3] 44544dc42d2SJeff LaBundy description: | 44644dc42d2SJeff LaBundy Specifies the channel's ATI band as a fraction of its ATI target as 44744dc42d2SJeff LaBundy follows: 44844dc42d2SJeff LaBundy 0: 1/16 44944dc42d2SJeff LaBundy 1: 1/8 45044dc42d2SJeff LaBundy 2: 1/4 45144dc42d2SJeff LaBundy 3: 1/2 45244dc42d2SJeff LaBundy 45344dc42d2SJeff LaBundy azoteq,global-halt: 45444dc42d2SJeff LaBundy type: boolean 45544dc42d2SJeff LaBundy description: 45644dc42d2SJeff LaBundy Specifies that the channel's long-term average is to freeze if any 45744dc42d2SJeff LaBundy other participating channel lies in a proximity or touch state. 45844dc42d2SJeff LaBundy 45944dc42d2SJeff LaBundy azoteq,invert-enable: 46044dc42d2SJeff LaBundy type: boolean 46144dc42d2SJeff LaBundy description: 46244dc42d2SJeff LaBundy Inverts the polarity of the states reported for proximity and touch 46344dc42d2SJeff LaBundy events relative to their respective thresholds. 46444dc42d2SJeff LaBundy 46544dc42d2SJeff LaBundy azoteq,dual-direction: 46644dc42d2SJeff LaBundy type: boolean 46744dc42d2SJeff LaBundy description: 46844dc42d2SJeff LaBundy Specifies that the channel's long-term average is to freeze in the 46944dc42d2SJeff LaBundy presence of either increasing or decreasing counts, thereby permit- 47044dc42d2SJeff LaBundy ting events to be reported in either direction. 47144dc42d2SJeff LaBundy 47244dc42d2SJeff LaBundy azoteq,rx-enable: 47344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 47444dc42d2SJeff LaBundy minItems: 1 47544dc42d2SJeff LaBundy maxItems: 4 47644dc42d2SJeff LaBundy items: 47744dc42d2SJeff LaBundy minimum: 0 47844dc42d2SJeff LaBundy maximum: 7 47944dc42d2SJeff LaBundy description: Specifies the CRx pin(s) associated with the channel. 48044dc42d2SJeff LaBundy 48144dc42d2SJeff LaBundy azoteq,samp-cap-double: 48244dc42d2SJeff LaBundy type: boolean 48344dc42d2SJeff LaBundy description: Doubles the sampling capacitance from 40 pF to 80 pF. 48444dc42d2SJeff LaBundy 48544dc42d2SJeff LaBundy azoteq,vref-half: 48644dc42d2SJeff LaBundy type: boolean 48744dc42d2SJeff LaBundy description: Halves the discharge threshold from 1.0 V to 0.5 V. 48844dc42d2SJeff LaBundy 48944dc42d2SJeff LaBundy azoteq,proj-bias: 49044dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 49144dc42d2SJeff LaBundy enum: [0, 1, 2, 3] 49244dc42d2SJeff LaBundy description: | 49344dc42d2SJeff LaBundy Specifies the bias current applied during mutual (projected) 49444dc42d2SJeff LaBundy capacitive sensing as follows: 49544dc42d2SJeff LaBundy 0: 2 uA 49644dc42d2SJeff LaBundy 1: 5 uA 49744dc42d2SJeff LaBundy 2: 7 uA 49844dc42d2SJeff LaBundy 3: 10 uA 49944dc42d2SJeff LaBundy 50044dc42d2SJeff LaBundy azoteq,ati-target: 50144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 50244dc42d2SJeff LaBundy multipleOf: 8 50344dc42d2SJeff LaBundy minimum: 0 50444dc42d2SJeff LaBundy maximum: 2040 50544dc42d2SJeff LaBundy description: Specifies the channel's ATI target. 50644dc42d2SJeff LaBundy 50744dc42d2SJeff LaBundy azoteq,ati-base: 50844dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 50944dc42d2SJeff LaBundy multipleOf: 16 51044dc42d2SJeff LaBundy minimum: 0 51144dc42d2SJeff LaBundy maximum: 496 51244dc42d2SJeff LaBundy description: Specifies the channel's ATI base. 51344dc42d2SJeff LaBundy 51444dc42d2SJeff LaBundy azoteq,ati-mode: 51544dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 51644dc42d2SJeff LaBundy enum: [0, 1, 2, 3, 4, 5] 51744dc42d2SJeff LaBundy description: | 51844dc42d2SJeff LaBundy Specifies the channel's ATI mode as follows: 51944dc42d2SJeff LaBundy 0: Disabled 52044dc42d2SJeff LaBundy 1: Compensation 52144dc42d2SJeff LaBundy 2: Compensation divider 52244dc42d2SJeff LaBundy 3: Fine fractional divider 52344dc42d2SJeff LaBundy 4: Coarse fractional divider 52444dc42d2SJeff LaBundy 5: Full 52544dc42d2SJeff LaBundy 52644dc42d2SJeff LaBundy azoteq,ati-frac-div-fine: 52744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 52844dc42d2SJeff LaBundy minimum: 0 52944dc42d2SJeff LaBundy maximum: 31 53044dc42d2SJeff LaBundy description: Specifies the channel's ATI fine fractional divider. 53144dc42d2SJeff LaBundy 53244dc42d2SJeff LaBundy azoteq,ati-frac-mult-coarse: 53344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 53444dc42d2SJeff LaBundy minimum: 0 53544dc42d2SJeff LaBundy maximum: 15 53644dc42d2SJeff LaBundy description: Specifies the channel's ATI coarse fractional multiplier. 53744dc42d2SJeff LaBundy 53844dc42d2SJeff LaBundy azoteq,ati-frac-div-coarse: 53944dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 54044dc42d2SJeff LaBundy minimum: 0 54144dc42d2SJeff LaBundy maximum: 31 54244dc42d2SJeff LaBundy description: Specifies the channel's ATI coarse fractional divider. 54344dc42d2SJeff LaBundy 54444dc42d2SJeff LaBundy azoteq,ati-comp-div: 54544dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 54644dc42d2SJeff LaBundy minimum: 0 54744dc42d2SJeff LaBundy maximum: 31 54844dc42d2SJeff LaBundy description: Specifies the channel's ATI compensation divider. 54944dc42d2SJeff LaBundy 55044dc42d2SJeff LaBundy azoteq,ati-comp-select: 55144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 55244dc42d2SJeff LaBundy minimum: 0 55344dc42d2SJeff LaBundy maximum: 1023 55444dc42d2SJeff LaBundy description: Specifies the channel's ATI compensation selection. 55544dc42d2SJeff LaBundy 55644dc42d2SJeff LaBundy azoteq,debounce-enter: 55744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 55844dc42d2SJeff LaBundy minimum: 0 55944dc42d2SJeff LaBundy maximum: 15 56044dc42d2SJeff LaBundy description: Specifies the channel's debounce entrance factor. 56144dc42d2SJeff LaBundy 56244dc42d2SJeff LaBundy azoteq,debounce-exit: 56344dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 56444dc42d2SJeff LaBundy minimum: 0 56544dc42d2SJeff LaBundy maximum: 15 56644dc42d2SJeff LaBundy description: Specifies the channel's debounce exit factor. 56744dc42d2SJeff LaBundy 56844dc42d2SJeff LaBundy patternProperties: 56944dc42d2SJeff LaBundy "^event-(prox|touch)$": 57044dc42d2SJeff LaBundy type: object 5718ac14d2cSRob Herring $ref: input.yaml# 57244dc42d2SJeff LaBundy description: 57344dc42d2SJeff LaBundy Represents a proximity or touch event reported by the channel. 57444dc42d2SJeff LaBundy 57544dc42d2SJeff LaBundy properties: 57644dc42d2SJeff LaBundy azoteq,gpio-select: 57744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 57844dc42d2SJeff LaBundy minItems: 1 57944dc42d2SJeff LaBundy maxItems: 3 58044dc42d2SJeff LaBundy items: 58144dc42d2SJeff LaBundy minimum: 0 58244dc42d2SJeff LaBundy maximum: 2 58344dc42d2SJeff LaBundy description: | 58444dc42d2SJeff LaBundy Specifies one or more GPIO mapped to the event as follows: 58544dc42d2SJeff LaBundy 0: GPIO0 586*823b28c5SJeff LaBundy 1: GPIO3 587*823b28c5SJeff LaBundy 2: GPIO4 58844dc42d2SJeff LaBundy 58944dc42d2SJeff LaBundy Note that although multiple events can be mapped to a single 59044dc42d2SJeff LaBundy GPIO, they must all be of the same type (proximity, touch or 591*823b28c5SJeff LaBundy slider/trackpad gesture). 59244dc42d2SJeff LaBundy 59344dc42d2SJeff LaBundy azoteq,thresh: 59444dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 59544dc42d2SJeff LaBundy description: 59644dc42d2SJeff LaBundy Specifies the threshold for the event. Valid entries range from 59744dc42d2SJeff LaBundy 0-127 and 0-255 for proximity and touch events, respectively. 59844dc42d2SJeff LaBundy 59944dc42d2SJeff LaBundy azoteq,hyst: 60044dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 60144dc42d2SJeff LaBundy minimum: 0 60244dc42d2SJeff LaBundy maximum: 255 60344dc42d2SJeff LaBundy description: 60444dc42d2SJeff LaBundy Specifies the hysteresis for the event (touch events only). 60544dc42d2SJeff LaBundy 60644dc42d2SJeff LaBundy azoteq,timeout-press-ms: 60744dc42d2SJeff LaBundy multipleOf: 500 60844dc42d2SJeff LaBundy minimum: 0 60944dc42d2SJeff LaBundy maximum: 127500 61044dc42d2SJeff LaBundy description: 61144dc42d2SJeff LaBundy Specifies the length of time (in ms) to wait before automatically 61244dc42d2SJeff LaBundy releasing a press event. Specify zero to allow the press state to 61344dc42d2SJeff LaBundy persist indefinitely. 61444dc42d2SJeff LaBundy 61544dc42d2SJeff LaBundy The IQS7222B does not feature channel-specific timeouts; the time- 61644dc42d2SJeff LaBundy out specified for any one channel applies to all channels. 61744dc42d2SJeff LaBundy 6188ac14d2cSRob Herring linux,code: true 61944dc42d2SJeff LaBundy 62044dc42d2SJeff LaBundy linux,input-type: 62144dc42d2SJeff LaBundy enum: [1, 5] 62244dc42d2SJeff LaBundy default: 1 62344dc42d2SJeff LaBundy description: 62444dc42d2SJeff LaBundy Specifies whether the event is to be interpreted as a key (1) 62544dc42d2SJeff LaBundy or a switch (5). 62644dc42d2SJeff LaBundy 62744dc42d2SJeff LaBundy additionalProperties: false 62844dc42d2SJeff LaBundy 62944dc42d2SJeff LaBundy dependencies: 63044dc42d2SJeff LaBundy azoteq,ref-weight: ["azoteq,ref-select"] 63144dc42d2SJeff LaBundy azoteq,use-prox: ["azoteq,ref-select"] 63244dc42d2SJeff LaBundy 63344dc42d2SJeff LaBundy additionalProperties: false 63444dc42d2SJeff LaBundy 63544dc42d2SJeff LaBundy "^slider-[0-1]$": 63644dc42d2SJeff LaBundy type: object 63744dc42d2SJeff LaBundy description: Represents a slider comprising three or four channels. 63844dc42d2SJeff LaBundy 63944dc42d2SJeff LaBundy properties: 64044dc42d2SJeff LaBundy azoteq,channel-select: 64144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 64244dc42d2SJeff LaBundy minItems: 3 64344dc42d2SJeff LaBundy maxItems: 4 64444dc42d2SJeff LaBundy items: 64544dc42d2SJeff LaBundy minimum: 0 64644dc42d2SJeff LaBundy maximum: 9 64744dc42d2SJeff LaBundy description: 64844dc42d2SJeff LaBundy Specifies the order of the channels that participate in the slider. 64944dc42d2SJeff LaBundy 65044dc42d2SJeff LaBundy azoteq,slider-size: 65144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 65299d03b54SJeff LaBundy minimum: 1 65344dc42d2SJeff LaBundy maximum: 65535 65444dc42d2SJeff LaBundy description: 65544dc42d2SJeff LaBundy Specifies the slider's one-dimensional resolution, equal to the 65644dc42d2SJeff LaBundy maximum coordinate plus one. 65744dc42d2SJeff LaBundy 65844dc42d2SJeff LaBundy azoteq,lower-cal: 65944dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 66044dc42d2SJeff LaBundy minimum: 0 66144dc42d2SJeff LaBundy maximum: 255 66244dc42d2SJeff LaBundy description: Specifies the slider's lower starting point. 66344dc42d2SJeff LaBundy 66444dc42d2SJeff LaBundy azoteq,upper-cal: 66544dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 66644dc42d2SJeff LaBundy minimum: 0 66744dc42d2SJeff LaBundy maximum: 255 66844dc42d2SJeff LaBundy description: Specifies the slider's upper starting point. 66944dc42d2SJeff LaBundy 67044dc42d2SJeff LaBundy azoteq,top-speed: 67144dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 67244dc42d2SJeff LaBundy minimum: 0 67344dc42d2SJeff LaBundy maximum: 65535 67444dc42d2SJeff LaBundy description: 67592b46a7bSJeff LaBundy Specifies the speed (in coordinates traveled per conversion) after 67692b46a7bSJeff LaBundy which coordinate filtering is no longer applied. 67744dc42d2SJeff LaBundy 67844dc42d2SJeff LaBundy azoteq,bottom-speed: 67944dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 68044dc42d2SJeff LaBundy minimum: 0 6816cfb3578SJeff LaBundy maximum: 255 68244dc42d2SJeff LaBundy description: 68392b46a7bSJeff LaBundy Specifies the speed (in coordinates traveled per conversion) after 68492b46a7bSJeff LaBundy which coordinate filtering is linearly reduced. 68544dc42d2SJeff LaBundy 68644dc42d2SJeff LaBundy azoteq,bottom-beta: 68744dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 68844dc42d2SJeff LaBundy minimum: 0 68944dc42d2SJeff LaBundy maximum: 7 69044dc42d2SJeff LaBundy description: 69144dc42d2SJeff LaBundy Specifies the coordinate filter damping factor to be applied 69244dc42d2SJeff LaBundy while the speed of movement is below that which is specified 69344dc42d2SJeff LaBundy by azoteq,bottom-speed. 69444dc42d2SJeff LaBundy 69544dc42d2SJeff LaBundy azoteq,static-beta: 69644dc42d2SJeff LaBundy type: boolean 69744dc42d2SJeff LaBundy description: 69844dc42d2SJeff LaBundy Applies the coordinate filter damping factor specified by 69944dc42d2SJeff LaBundy azoteq,bottom-beta regardless of the speed of movement. 70044dc42d2SJeff LaBundy 70144dc42d2SJeff LaBundy azoteq,use-prox: 70244dc42d2SJeff LaBundy type: boolean 70344dc42d2SJeff LaBundy description: 70444dc42d2SJeff LaBundy Directs the slider to respond to the proximity states of the selected 70544dc42d2SJeff LaBundy channels instead of their corresponding touch states. Note the slider 70644dc42d2SJeff LaBundy cannot report granular coordinates during a state of proximity. 70744dc42d2SJeff LaBundy 70844dc42d2SJeff LaBundy linux,axis: 70944dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 71044dc42d2SJeff LaBundy description: 71144dc42d2SJeff LaBundy Specifies the absolute axis to which coordinates are mapped. Specify 71244dc42d2SJeff LaBundy ABS_WHEEL to operate the slider as a wheel (IQS7222C only). 71344dc42d2SJeff LaBundy 71444dc42d2SJeff LaBundy patternProperties: 71544dc42d2SJeff LaBundy "^event-(press|tap|(swipe|flick)-(pos|neg))$": 71644dc42d2SJeff LaBundy type: object 71739636805SJeff LaBundy $ref: input.yaml# 71844dc42d2SJeff LaBundy description: 71944dc42d2SJeff LaBundy Represents a press or gesture (IQS7222A only) event reported by 72044dc42d2SJeff LaBundy the slider. 72144dc42d2SJeff LaBundy 72244dc42d2SJeff LaBundy properties: 72339636805SJeff LaBundy linux,code: true 72444dc42d2SJeff LaBundy 72544dc42d2SJeff LaBundy azoteq,gesture-max-ms: 72697384a65SJeff LaBundy multipleOf: 16 72744dc42d2SJeff LaBundy minimum: 0 72897384a65SJeff LaBundy maximum: 4080 72944dc42d2SJeff LaBundy description: 73044dc42d2SJeff LaBundy Specifies the length of time (in ms) within which a tap, swipe 73144dc42d2SJeff LaBundy or flick gesture must be completed in order to be acknowledged 73244dc42d2SJeff LaBundy by the device. The number specified for any one swipe or flick 73344dc42d2SJeff LaBundy gesture applies to all remaining swipe or flick gestures. 73444dc42d2SJeff LaBundy 73544dc42d2SJeff LaBundy azoteq,gesture-min-ms: 73697384a65SJeff LaBundy multipleOf: 16 73744dc42d2SJeff LaBundy minimum: 0 73897384a65SJeff LaBundy maximum: 496 73944dc42d2SJeff LaBundy description: 74044dc42d2SJeff LaBundy Specifies the length of time (in ms) for which a tap gesture must 74144dc42d2SJeff LaBundy be held in order to be acknowledged by the device. 74244dc42d2SJeff LaBundy 74344dc42d2SJeff LaBundy azoteq,gesture-dist: 74444dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32 74544dc42d2SJeff LaBundy multipleOf: 16 74644dc42d2SJeff LaBundy minimum: 0 74744dc42d2SJeff LaBundy maximum: 4080 74844dc42d2SJeff LaBundy description: 74992b46a7bSJeff LaBundy Specifies the distance (in coordinates) across which a swipe or 75092b46a7bSJeff LaBundy flick gesture must travel in order to be acknowledged by the 75192b46a7bSJeff LaBundy device. The number specified for any one swipe or flick gesture 75292b46a7bSJeff LaBundy applies to all remaining swipe or flick gestures. 75344dc42d2SJeff LaBundy 75444dc42d2SJeff LaBundy azoteq,gpio-select: 75544dc42d2SJeff LaBundy $ref: /schemas/types.yaml#/definitions/uint32-array 75644dc42d2SJeff LaBundy minItems: 1 757f0ea4527SJeff LaBundy maxItems: 3 75844dc42d2SJeff LaBundy items: 75944dc42d2SJeff LaBundy minimum: 0 760f0ea4527SJeff LaBundy maximum: 2 76144dc42d2SJeff LaBundy description: | 762f0ea4527SJeff LaBundy Specifies one or more GPIO mapped to the event as follows: 76344dc42d2SJeff LaBundy 0: GPIO0 764*823b28c5SJeff LaBundy 1: GPIO3 765*823b28c5SJeff LaBundy 2: GPIO4 76644dc42d2SJeff LaBundy 76744dc42d2SJeff LaBundy Note that although multiple events can be mapped to a single 76844dc42d2SJeff LaBundy GPIO, they must all be of the same type (proximity, touch or 76944dc42d2SJeff LaBundy slider gesture). 77044dc42d2SJeff LaBundy 77144dc42d2SJeff LaBundy additionalProperties: false 77244dc42d2SJeff LaBundy 77344dc42d2SJeff LaBundy required: 77444dc42d2SJeff LaBundy - azoteq,channel-select 77544dc42d2SJeff LaBundy 77644dc42d2SJeff LaBundy additionalProperties: false 77744dc42d2SJeff LaBundy 77844dc42d2SJeff LaBundy "^gpio-[0-2]$": 77944dc42d2SJeff LaBundy type: object 78044dc42d2SJeff LaBundy description: | 78144dc42d2SJeff LaBundy Represents a GPIO mapped to one or more events as follows: 78244dc42d2SJeff LaBundy gpio-0: GPIO0 783*823b28c5SJeff LaBundy gpio-1: GPIO3 784*823b28c5SJeff LaBundy gpio-2: GPIO4 78544dc42d2SJeff LaBundy 78644dc42d2SJeff LaBundy allOf: 78744dc42d2SJeff LaBundy - $ref: ../pinctrl/pincfg-node.yaml# 78844dc42d2SJeff LaBundy 78944dc42d2SJeff LaBundy properties: 79044dc42d2SJeff LaBundy drive-open-drain: true 79144dc42d2SJeff LaBundy 79244dc42d2SJeff LaBundy additionalProperties: false 79344dc42d2SJeff LaBundy 79444dc42d2SJeff LaBundyallOf: 795*823b28c5SJeff LaBundy - $ref: touchscreen/touchscreen.yaml# 796*823b28c5SJeff LaBundy 79744dc42d2SJeff LaBundy - if: 79844dc42d2SJeff LaBundy properties: 79944dc42d2SJeff LaBundy compatible: 80044dc42d2SJeff LaBundy contains: 801*823b28c5SJeff LaBundy enum: 802*823b28c5SJeff LaBundy - azoteq,iqs7222a 803*823b28c5SJeff LaBundy - azoteq,iqs7222b 804*823b28c5SJeff LaBundy - azoteq,iqs7222c 805*823b28c5SJeff LaBundy 806*823b28c5SJeff LaBundy then: 807*823b28c5SJeff LaBundy properties: 808*823b28c5SJeff LaBundy touchscreen-size-x: false 809*823b28c5SJeff LaBundy touchscreen-size-y: false 810*823b28c5SJeff LaBundy touchscreen-inverted-x: false 811*823b28c5SJeff LaBundy touchscreen-inverted-y: false 812*823b28c5SJeff LaBundy touchscreen-swapped-x-y: false 813*823b28c5SJeff LaBundy 814*823b28c5SJeff LaBundy trackpad: false 815*823b28c5SJeff LaBundy 816*823b28c5SJeff LaBundy patternProperties: 817*823b28c5SJeff LaBundy "^channel-([0-9]|1[0-9])$": 818*823b28c5SJeff LaBundy properties: 819*823b28c5SJeff LaBundy azoteq,counts-filt-enable: false 820*823b28c5SJeff LaBundy 821*823b28c5SJeff LaBundy - if: 822*823b28c5SJeff LaBundy properties: 823*823b28c5SJeff LaBundy compatible: 824*823b28c5SJeff LaBundy contains: 825*823b28c5SJeff LaBundy enum: 826*823b28c5SJeff LaBundy - azoteq,iqs7222b 827*823b28c5SJeff LaBundy - azoteq,iqs7222c 828*823b28c5SJeff LaBundy 829*823b28c5SJeff LaBundy then: 830*823b28c5SJeff LaBundy patternProperties: 831*823b28c5SJeff LaBundy "^channel-([0-9]|1[0-9])$": 832*823b28c5SJeff LaBundy properties: 833*823b28c5SJeff LaBundy azoteq,ulp-allow: false 834*823b28c5SJeff LaBundy 835*823b28c5SJeff LaBundy - if: 836*823b28c5SJeff LaBundy properties: 837*823b28c5SJeff LaBundy compatible: 838*823b28c5SJeff LaBundy contains: 839*823b28c5SJeff LaBundy enum: 840*823b28c5SJeff LaBundy - azoteq,iqs7222b 841*823b28c5SJeff LaBundy - azoteq,iqs7222d 84244dc42d2SJeff LaBundy 84344dc42d2SJeff LaBundy then: 84444dc42d2SJeff LaBundy patternProperties: 84544dc42d2SJeff LaBundy "^cycle-[0-9]$": 84644dc42d2SJeff LaBundy properties: 84744dc42d2SJeff LaBundy azoteq,iref-enable: false 84844dc42d2SJeff LaBundy 84944dc42d2SJeff LaBundy "^channel-([0-9]|1[0-9])$": 85044dc42d2SJeff LaBundy properties: 85144dc42d2SJeff LaBundy azoteq,ref-select: false 85244dc42d2SJeff LaBundy 853*823b28c5SJeff LaBundy "^slider-[0-1]$": false 854*823b28c5SJeff LaBundy 855*823b28c5SJeff LaBundy - if: 856*823b28c5SJeff LaBundy properties: 857*823b28c5SJeff LaBundy compatible: 858*823b28c5SJeff LaBundy contains: 859*823b28c5SJeff LaBundy const: azoteq,iqs7222b 860*823b28c5SJeff LaBundy 861*823b28c5SJeff LaBundy then: 862*823b28c5SJeff LaBundy patternProperties: 863*823b28c5SJeff LaBundy "^channel-([0-9]|1[0-9])$": 86444dc42d2SJeff LaBundy patternProperties: 86544dc42d2SJeff LaBundy "^event-(prox|touch)$": 86644dc42d2SJeff LaBundy properties: 86744dc42d2SJeff LaBundy azoteq,gpio-select: false 86844dc42d2SJeff LaBundy 86944dc42d2SJeff LaBundy "^gpio-[0-2]$": false 87044dc42d2SJeff LaBundy 87144dc42d2SJeff LaBundy - if: 87244dc42d2SJeff LaBundy properties: 87344dc42d2SJeff LaBundy compatible: 87444dc42d2SJeff LaBundy contains: 87544dc42d2SJeff LaBundy const: azoteq,iqs7222a 87644dc42d2SJeff LaBundy 87744dc42d2SJeff LaBundy then: 87844dc42d2SJeff LaBundy patternProperties: 87944dc42d2SJeff LaBundy "^channel-([0-9]|1[0-9])$": 88044dc42d2SJeff LaBundy patternProperties: 88144dc42d2SJeff LaBundy "^event-(prox|touch)$": 88244dc42d2SJeff LaBundy properties: 88344dc42d2SJeff LaBundy azoteq,gpio-select: 88444dc42d2SJeff LaBundy maxItems: 1 88544dc42d2SJeff LaBundy items: 88644dc42d2SJeff LaBundy maximum: 0 88744dc42d2SJeff LaBundy 88844dc42d2SJeff LaBundy "^slider-[0-1]$": 88944dc42d2SJeff LaBundy properties: 89044dc42d2SJeff LaBundy azoteq,slider-size: 89144dc42d2SJeff LaBundy multipleOf: 16 89299d03b54SJeff LaBundy minimum: 16 89344dc42d2SJeff LaBundy maximum: 4080 89444dc42d2SJeff LaBundy 89544dc42d2SJeff LaBundy azoteq,top-speed: 89644dc42d2SJeff LaBundy multipleOf: 4 89744dc42d2SJeff LaBundy maximum: 1020 89844dc42d2SJeff LaBundy 899f0ea4527SJeff LaBundy patternProperties: 900f0ea4527SJeff LaBundy "^event-(press|tap|(swipe|flick)-(pos|neg))$": 901f0ea4527SJeff LaBundy properties: 902f0ea4527SJeff LaBundy azoteq,gpio-select: 903f0ea4527SJeff LaBundy maxItems: 1 904f0ea4527SJeff LaBundy items: 905f0ea4527SJeff LaBundy maximum: 0 906f0ea4527SJeff LaBundy 90744dc42d2SJeff LaBundy else: 90844dc42d2SJeff LaBundy patternProperties: 90944dc42d2SJeff LaBundy "^slider-[0-1]$": 91044dc42d2SJeff LaBundy patternProperties: 91144dc42d2SJeff LaBundy "^event-(press|tap|(swipe|flick)-(pos|neg))$": 91244dc42d2SJeff LaBundy properties: 91344dc42d2SJeff LaBundy azoteq,gesture-max-ms: false 91444dc42d2SJeff LaBundy 91544dc42d2SJeff LaBundy azoteq,gesture-min-ms: false 91644dc42d2SJeff LaBundy 91744dc42d2SJeff LaBundy azoteq,gesture-dist: false 91844dc42d2SJeff LaBundy 91944dc42d2SJeff LaBundyrequired: 92044dc42d2SJeff LaBundy - compatible 92144dc42d2SJeff LaBundy - reg 92244dc42d2SJeff LaBundy - irq-gpios 92344dc42d2SJeff LaBundy 92444dc42d2SJeff LaBundyadditionalProperties: false 92544dc42d2SJeff LaBundy 92644dc42d2SJeff LaBundyexamples: 92744dc42d2SJeff LaBundy - | 92844dc42d2SJeff LaBundy #include <dt-bindings/gpio/gpio.h> 92944dc42d2SJeff LaBundy #include <dt-bindings/input/input.h> 93044dc42d2SJeff LaBundy 93144dc42d2SJeff LaBundy i2c { 93244dc42d2SJeff LaBundy #address-cells = <1>; 93344dc42d2SJeff LaBundy #size-cells = <0>; 93444dc42d2SJeff LaBundy 93544dc42d2SJeff LaBundy iqs7222a@44 { 93644dc42d2SJeff LaBundy compatible = "azoteq,iqs7222a"; 93744dc42d2SJeff LaBundy reg = <0x44>; 93844dc42d2SJeff LaBundy irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 93944dc42d2SJeff LaBundy azoteq,lta-beta-lp = <7>; 94044dc42d2SJeff LaBundy azoteq,lta-beta-np = <8>; 94144dc42d2SJeff LaBundy azoteq,counts-beta-lp = <2>; 94244dc42d2SJeff LaBundy azoteq,counts-beta-np = <3>; 94344dc42d2SJeff LaBundy azoteq,lta-fast-beta-lp = <3>; 94444dc42d2SJeff LaBundy azoteq,lta-fast-beta-np = <4>; 94544dc42d2SJeff LaBundy 94644dc42d2SJeff LaBundy cycle-0 { 94744dc42d2SJeff LaBundy azoteq,conv-period = <5>; 94844dc42d2SJeff LaBundy azoteq,conv-frac = <127>; 94944dc42d2SJeff LaBundy azoteq,tx-enable = <1>, <2>, <4>, <5>; 95044dc42d2SJeff LaBundy azoteq,dead-time-enable; 95144dc42d2SJeff LaBundy azoteq,sense-mode = <2>; 95244dc42d2SJeff LaBundy }; 95344dc42d2SJeff LaBundy 95444dc42d2SJeff LaBundy cycle-1 { 95544dc42d2SJeff LaBundy azoteq,conv-period = <5>; 95644dc42d2SJeff LaBundy azoteq,conv-frac = <127>; 95744dc42d2SJeff LaBundy azoteq,tx-enable = <5>; 95844dc42d2SJeff LaBundy azoteq,dead-time-enable; 95944dc42d2SJeff LaBundy azoteq,sense-mode = <2>; 96044dc42d2SJeff LaBundy }; 96144dc42d2SJeff LaBundy 96244dc42d2SJeff LaBundy cycle-2 { 96344dc42d2SJeff LaBundy azoteq,conv-period = <5>; 96444dc42d2SJeff LaBundy azoteq,conv-frac = <127>; 96544dc42d2SJeff LaBundy azoteq,tx-enable = <4>; 96644dc42d2SJeff LaBundy azoteq,dead-time-enable; 96744dc42d2SJeff LaBundy azoteq,sense-mode = <2>; 96844dc42d2SJeff LaBundy }; 96944dc42d2SJeff LaBundy 97044dc42d2SJeff LaBundy cycle-3 { 97144dc42d2SJeff LaBundy azoteq,conv-period = <5>; 97244dc42d2SJeff LaBundy azoteq,conv-frac = <127>; 97344dc42d2SJeff LaBundy azoteq,tx-enable = <2>; 97444dc42d2SJeff LaBundy azoteq,dead-time-enable; 97544dc42d2SJeff LaBundy azoteq,sense-mode = <2>; 97644dc42d2SJeff LaBundy }; 97744dc42d2SJeff LaBundy 97844dc42d2SJeff LaBundy cycle-4 { 97944dc42d2SJeff LaBundy azoteq,conv-period = <5>; 98044dc42d2SJeff LaBundy azoteq,conv-frac = <127>; 98144dc42d2SJeff LaBundy azoteq,tx-enable = <1>; 98244dc42d2SJeff LaBundy azoteq,dead-time-enable; 98344dc42d2SJeff LaBundy azoteq,sense-mode = <2>; 98444dc42d2SJeff LaBundy }; 98544dc42d2SJeff LaBundy 98644dc42d2SJeff LaBundy cycle-5 { 98744dc42d2SJeff LaBundy azoteq,conv-period = <2>; 98844dc42d2SJeff LaBundy azoteq,conv-frac = <0>; 98944dc42d2SJeff LaBundy }; 99044dc42d2SJeff LaBundy 99144dc42d2SJeff LaBundy cycle-6 { 99244dc42d2SJeff LaBundy azoteq,conv-period = <2>; 99344dc42d2SJeff LaBundy azoteq,conv-frac = <0>; 99444dc42d2SJeff LaBundy }; 99544dc42d2SJeff LaBundy 99644dc42d2SJeff LaBundy channel-0 { 99744dc42d2SJeff LaBundy azoteq,ulp-allow; 99844dc42d2SJeff LaBundy azoteq,global-halt; 99944dc42d2SJeff LaBundy azoteq,invert-enable; 100044dc42d2SJeff LaBundy azoteq,rx-enable = <3>; 100144dc42d2SJeff LaBundy azoteq,ati-target = <800>; 100244dc42d2SJeff LaBundy azoteq,ati-base = <208>; 100344dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 100444dc42d2SJeff LaBundy }; 100544dc42d2SJeff LaBundy 100644dc42d2SJeff LaBundy channel-1 { 100744dc42d2SJeff LaBundy azoteq,global-halt; 100844dc42d2SJeff LaBundy azoteq,invert-enable; 100944dc42d2SJeff LaBundy azoteq,rx-enable = <3>; 101044dc42d2SJeff LaBundy azoteq,ati-target = <496>; 101144dc42d2SJeff LaBundy azoteq,ati-base = <208>; 101244dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 101344dc42d2SJeff LaBundy }; 101444dc42d2SJeff LaBundy 101544dc42d2SJeff LaBundy channel-2 { 101644dc42d2SJeff LaBundy azoteq,global-halt; 101744dc42d2SJeff LaBundy azoteq,invert-enable; 101844dc42d2SJeff LaBundy azoteq,rx-enable = <3>; 101944dc42d2SJeff LaBundy azoteq,ati-target = <496>; 102044dc42d2SJeff LaBundy azoteq,ati-base = <208>; 102144dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 102244dc42d2SJeff LaBundy }; 102344dc42d2SJeff LaBundy 102444dc42d2SJeff LaBundy channel-3 { 102544dc42d2SJeff LaBundy azoteq,global-halt; 102644dc42d2SJeff LaBundy azoteq,invert-enable; 102744dc42d2SJeff LaBundy azoteq,rx-enable = <3>; 102844dc42d2SJeff LaBundy azoteq,ati-target = <496>; 102944dc42d2SJeff LaBundy azoteq,ati-base = <208>; 103044dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 103144dc42d2SJeff LaBundy }; 103244dc42d2SJeff LaBundy 103344dc42d2SJeff LaBundy channel-4 { 103444dc42d2SJeff LaBundy azoteq,global-halt; 103544dc42d2SJeff LaBundy azoteq,invert-enable; 103644dc42d2SJeff LaBundy azoteq,rx-enable = <3>; 103744dc42d2SJeff LaBundy azoteq,ati-target = <496>; 103844dc42d2SJeff LaBundy azoteq,ati-base = <208>; 103944dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 104044dc42d2SJeff LaBundy }; 104144dc42d2SJeff LaBundy 104244dc42d2SJeff LaBundy channel-5 { 104344dc42d2SJeff LaBundy azoteq,ulp-allow; 104444dc42d2SJeff LaBundy azoteq,global-halt; 104544dc42d2SJeff LaBundy azoteq,invert-enable; 104644dc42d2SJeff LaBundy azoteq,rx-enable = <6>; 104744dc42d2SJeff LaBundy azoteq,ati-target = <800>; 104844dc42d2SJeff LaBundy azoteq,ati-base = <144>; 104944dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 105044dc42d2SJeff LaBundy }; 105144dc42d2SJeff LaBundy 105244dc42d2SJeff LaBundy channel-6 { 105344dc42d2SJeff LaBundy azoteq,global-halt; 105444dc42d2SJeff LaBundy azoteq,invert-enable; 105544dc42d2SJeff LaBundy azoteq,rx-enable = <6>; 105644dc42d2SJeff LaBundy azoteq,ati-target = <496>; 105744dc42d2SJeff LaBundy azoteq,ati-base = <160>; 105844dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 105944dc42d2SJeff LaBundy 106044dc42d2SJeff LaBundy event-touch { 106144dc42d2SJeff LaBundy linux,code = <KEY_MUTE>; 106244dc42d2SJeff LaBundy }; 106344dc42d2SJeff LaBundy }; 106444dc42d2SJeff LaBundy 106544dc42d2SJeff LaBundy channel-7 { 106644dc42d2SJeff LaBundy azoteq,global-halt; 106744dc42d2SJeff LaBundy azoteq,invert-enable; 106844dc42d2SJeff LaBundy azoteq,rx-enable = <6>; 106944dc42d2SJeff LaBundy azoteq,ati-target = <496>; 107044dc42d2SJeff LaBundy azoteq,ati-base = <160>; 107144dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 107244dc42d2SJeff LaBundy 107344dc42d2SJeff LaBundy event-touch { 107444dc42d2SJeff LaBundy linux,code = <KEY_VOLUMEDOWN>; 107544dc42d2SJeff LaBundy }; 107644dc42d2SJeff LaBundy }; 107744dc42d2SJeff LaBundy 107844dc42d2SJeff LaBundy channel-8 { 107944dc42d2SJeff LaBundy azoteq,global-halt; 108044dc42d2SJeff LaBundy azoteq,invert-enable; 108144dc42d2SJeff LaBundy azoteq,rx-enable = <6>; 108244dc42d2SJeff LaBundy azoteq,ati-target = <496>; 108344dc42d2SJeff LaBundy azoteq,ati-base = <160>; 108444dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 108544dc42d2SJeff LaBundy 108644dc42d2SJeff LaBundy event-touch { 108744dc42d2SJeff LaBundy linux,code = <KEY_VOLUMEUP>; 108844dc42d2SJeff LaBundy }; 108944dc42d2SJeff LaBundy }; 109044dc42d2SJeff LaBundy 109144dc42d2SJeff LaBundy channel-9 { 109244dc42d2SJeff LaBundy azoteq,global-halt; 109344dc42d2SJeff LaBundy azoteq,invert-enable; 109444dc42d2SJeff LaBundy azoteq,rx-enable = <6>; 109544dc42d2SJeff LaBundy azoteq,ati-target = <496>; 109644dc42d2SJeff LaBundy azoteq,ati-base = <160>; 109744dc42d2SJeff LaBundy azoteq,ati-mode = <5>; 109844dc42d2SJeff LaBundy 109944dc42d2SJeff LaBundy event-touch { 110044dc42d2SJeff LaBundy linux,code = <KEY_POWER>; 110144dc42d2SJeff LaBundy }; 110244dc42d2SJeff LaBundy }; 110344dc42d2SJeff LaBundy 110444dc42d2SJeff LaBundy channel-10 { 110544dc42d2SJeff LaBundy azoteq,ulp-allow; 110644dc42d2SJeff LaBundy azoteq,ati-target = <496>; 110744dc42d2SJeff LaBundy azoteq,ati-base = <112>; 110844dc42d2SJeff LaBundy 110944dc42d2SJeff LaBundy event-touch { 111044dc42d2SJeff LaBundy linux,code = <SW_LID>; 111144dc42d2SJeff LaBundy linux,input-type = <EV_SW>; 111244dc42d2SJeff LaBundy }; 111344dc42d2SJeff LaBundy }; 111444dc42d2SJeff LaBundy 111544dc42d2SJeff LaBundy channel-11 { 111644dc42d2SJeff LaBundy azoteq,ati-target = <496>; 111744dc42d2SJeff LaBundy azoteq,ati-base = <112>; 111844dc42d2SJeff LaBundy }; 111944dc42d2SJeff LaBundy 112044dc42d2SJeff LaBundy slider-0 { 112144dc42d2SJeff LaBundy azoteq,channel-select = <1>, <2>, <3>, <4>; 112244dc42d2SJeff LaBundy azoteq,slider-size = <4080>; 112344dc42d2SJeff LaBundy azoteq,upper-cal = <50>; 112444dc42d2SJeff LaBundy azoteq,lower-cal = <30>; 112544dc42d2SJeff LaBundy azoteq,top-speed = <200>; 112644dc42d2SJeff LaBundy azoteq,bottom-speed = <1>; 112744dc42d2SJeff LaBundy azoteq,bottom-beta = <3>; 112844dc42d2SJeff LaBundy 112944dc42d2SJeff LaBundy event-tap { 113044dc42d2SJeff LaBundy linux,code = <KEY_PLAYPAUSE>; 113197384a65SJeff LaBundy azoteq,gesture-max-ms = <400>; 113297384a65SJeff LaBundy azoteq,gesture-min-ms = <32>; 113344dc42d2SJeff LaBundy }; 113444dc42d2SJeff LaBundy 113544dc42d2SJeff LaBundy event-flick-pos { 113644dc42d2SJeff LaBundy linux,code = <KEY_NEXTSONG>; 113797384a65SJeff LaBundy azoteq,gesture-max-ms = <800>; 113897384a65SJeff LaBundy azoteq,gesture-dist = <800>; 113944dc42d2SJeff LaBundy }; 114044dc42d2SJeff LaBundy 114144dc42d2SJeff LaBundy event-flick-neg { 114244dc42d2SJeff LaBundy linux,code = <KEY_PREVIOUSSONG>; 114344dc42d2SJeff LaBundy }; 114444dc42d2SJeff LaBundy }; 114544dc42d2SJeff LaBundy }; 114644dc42d2SJeff LaBundy }; 114744dc42d2SJeff LaBundy 114844dc42d2SJeff LaBundy... 1149